YugabyteDB (2.13.0.0-b42, bfc6a6643e7399ac8a0e81d06a3ee6d6571b33ab)

Coverage Report

Created: 2022-03-09 17:30

/Users/deen/code/yugabyte-db/build/debugcov-clang-dynamic-arm64-ninja/postgres_build/src/backend/parser/gram.c
Line
Count
Source (jump to first uncovered line)
1
/* A Bison parser, made by GNU Bison 3.4.1.  */
2
3
/* Bison implementation for Yacc-like parsers in C
4
5
   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 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
/* All symbols defined below should begin with yy or YY, to avoid
38
   infringing on user name space.  This should be done even for local
39
   variables, as they might otherwise be expanded by user macros.
40
   There are some unavoidable exceptions within include files to
41
   define necessary library symbols; they are noted "INFRINGES ON
42
   USER NAME SPACE" below.  */
43
44
/* Undocumented macros, especially those whose name start with YY_,
45
   are private implementation details.  Do not rely on them.  */
46
47
/* Identify Bison output.  */
48
#define YYBISON 1
49
50
/* Bison version.  */
51
#define YYBISON_VERSION "3.4.1"
52
53
/* Skeleton name.  */
54
#define YYSKELETON_NAME "yacc.c"
55
56
/* Pure parsers.  */
57
#define YYPURE 1
58
59
/* Push parsers.  */
60
#define YYPUSH 0
61
62
/* Pull parsers.  */
63
#define YYPULL 1
64
65
66
/* Substitute the variable and function names.  */
67
#define yyparse         base_yyparse
68
5.56M
#define yylex           base_yylex
69
60
#define yyerror         base_yyerror
70
#define yydebug         base_yydebug
71
202k
#define yynerrs         base_yynerrs
72
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-2018, PostgreSQL Global Development Group
85
 * Portions Copyright (c) 1994, Regents of the University of California
86
 *
87
 *
88
 * IDENTIFICATION
89
 *    src/backend/parser/gram.y
90
 *
91
 * HISTORY
92
 *    AUTHOR      DATE      MAJOR EVENT
93
 *    Andrew Yu     Sept, 1994    POSTQUEL to SQL conversion
94
 *    Andrew Yu     Oct, 1994   lispy code conversion
95
 *
96
 * NOTES
97
 *    CAPITALS are used to represent terminal symbols.
98
 *    non-capitals are used to represent non-terminals.
99
 *
100
 *    In general, nothing in this file should initiate database accesses
101
 *    nor depend on changeable state (such as SET variables).  If you do
102
 *    database accesses, your code will fail when we have aborted the
103
 *    current transaction and are just parsing commands to find the next
104
 *    ROLLBACK or COMMIT.  If you make use of SET variables, then you
105
 *    will do the wrong thing in multi-query strings like this:
106
 *      SET constraint_exclusion TO off; SELECT * FROM foo;
107
 *    because the entire string is parsed by gram.y before the SET gets
108
 *    executed.  Anything that depends on the database or changeable state
109
 *    should be handled during parse analysis so that it happens at the
110
 *    right time not the wrong time.
111
 *
112
 * WARNINGS
113
 *    If you use a list, make sure the datum is a node so that the printing
114
 *    routines work.
115
 *
116
 *    Sometimes we assign constants to makeStrings. Make sure we don't free
117
 *    those.
118
 *
119
 *-------------------------------------------------------------------------
120
 */
121
#include "postgres.h"
122
123
#include <ctype.h>
124
#include <limits.h>
125
126
#include "catalog/index.h"
127
#include "catalog/namespace.h"
128
#include "catalog/pg_am.h"
129
#include "catalog/pg_trigger.h"
130
#include "commands/defrem.h"
131
#include "commands/trigger.h"
132
#include "miscadmin.h"
133
#include "nodes/makefuncs.h"
134
#include "nodes/nodeFuncs.h"
135
#include "parser/gramparse.h"
136
#include "parser/parser.h"
137
#include "parser/parse_expr.h"
138
#include "storage/lmgr.h"
139
#include "utils/builtins.h"
140
#include "utils/date.h"
141
#include "utils/datetime.h"
142
#include "utils/numeric.h"
143
#include "utils/xml.h"
144
145
#include "pg_yb_utils.h"
146
147
/*
148
 * Location tracking support --- simpler than bison's default, since we only
149
 * want to track the start position not the end position of each nonterminal.
150
 */
151
#define YYLLOC_DEFAULT(Current, Rhs, N) \
152
13.9M
  do { \
153
13.9M
    if ((N) > 0) \
154
12.7M
      (Current) = (Rhs)[1]; \
155
13.9M
    else \
156
1.13M
      (Current) = (-1); \
157
13.9M
  } while (0)
158
159
/*
160
 * The above macro assigns -1 (unknown) as the parse location of any
161
 * nonterminal that was reduced from an empty rule, or whose leftmost
162
 * component was reduced from an empty rule.  This is problematic
163
 * for nonterminals defined like
164
 *    OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
165
 * because we'll set -1 as the location during the first reduction and then
166
 * copy it during each subsequent reduction, leaving us with -1 for the
167
 * location even when the list is not empty.  To fix that, do this in the
168
 * action for the nonempty rule(s):
169
 *    if (@$ < 0) @$ = @2;
170
 * (Although we have many nonterminals that follow this pattern, we only
171
 * bother with fixing @$ like this when the nonterminal's parse location
172
 * is actually referenced in some rule.)
173
 *
174
 * A cleaner answer would be to make YYLLOC_DEFAULT scan all the Rhs
175
 * locations until it's found one that's not -1.  Then we'd get a correct
176
 * location for any nonterminal that isn't entirely empty.  But this way
177
 * would add overhead to every rule reduction, and so far there's not been
178
 * a compelling reason to pay that overhead.
179
 */
180
181
/*
182
 * Bison doesn't allocate anything that needs to live across parser calls,
183
 * so we can easily have it use palloc instead of malloc.  This prevents
184
 * memory leaks if we error out during parsing.  Note this only works with
185
 * bison >= 2.0.  However, in bison 1.875 the default is to use alloca()
186
 * if possible, so there's not really much problem anyhow, at least if
187
 * you're building with gcc.
188
 */
189
0
#define YYMALLOC palloc
190
0
#define YYFREE   pfree
191
192
/* Private struct for the result of privilege_target production */
193
typedef struct PrivTarget
194
{
195
  GrantTargetType targtype;
196
  ObjectType  objtype;
197
  List     *objs;
198
} PrivTarget;
199
200
/* Private struct for the result of import_qualification production */
201
typedef struct ImportQual
202
{
203
  ImportForeignSchemaType type;
204
  List     *table_names;
205
} ImportQual;
206
207
/* ConstraintAttributeSpec yields an integer bitmask of these flags: */
208
72
#define CAS_NOT_DEFERRABLE      0x01
209
498
#define CAS_DEFERRABLE        0x02
210
32
#define CAS_INITIALLY_IMMEDIATE   0x04
211
982
#define CAS_INITIALLY_DEFERRED    0x08
212
461
#define CAS_NOT_VALID       0x10
213
458
#define CAS_NO_INHERIT        0x20
214
215
216
60
#define parser_yyerror(msg)  scanner_yyerror(msg, yyscanner)
217
#define parser_errposition(pos)  scanner_errposition(pos, yyscanner)
218
219
#define parser_ybc_not_support(pos, feature) \
220
8
  ybc_not_support(pos, yyscanner, feature " not supported yet", -1)
221
222
#define parser_ybc_warn_ignored(pos, feature, issue) \
223
0
  ybc_not_support_signal(pos, yyscanner, feature " not supported yet and will be ignored", issue, WARNING)
224
225
#define parser_ybc_signal_unsupported(pos, feature, issue) \
226
77
  ybc_not_support(pos, yyscanner, feature " not supported yet", issue)
227
228
#define parser_ybc_not_support_in_templates(pos, feature) \
229
1.89k
  ybc_not_support_in_templates(pos, yyscanner, feature " is not supported in template0/template1 yet")
230
231
#define parser_ybc_beta_feature(pos, feature, has_own_flag) \
232
672
  check_beta_feature(pos, yyscanner, has_own_flag ? "FLAGS_ysql_beta_feature_" feature : NULL, feature)
233
234
static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
235
             const char *msg);
236
static void ybc_not_support_signal(int pos, core_yyscan_t yyscanner, const char *msg, int issue, int signal_level);
237
static void ybc_not_support(int pos, core_yyscan_t yyscanner, const char *msg, int issue);
238
static void ybc_not_support_in_templates(int pos, core_yyscan_t yyscanner, const char *msg);
239
static void check_beta_feature(int pos, core_yyscan_t yyscanner, const char* flag, const char* feature);
240
241
static RawStmt *makeRawStmt(Node *stmt, int stmt_location);
242
static void updateRawStmtEnd(RawStmt *rs, int end_location);
243
static Node *makeColumnRef(char *colname, List *indirection,
244
               int location, core_yyscan_t yyscanner);
245
static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
246
static Node *makeStringConst(char *str, int location);
247
static Node *makeStringConstCast(char *str, int location, TypeName *typename);
248
static Node *makeIntConst(int val, int location);
249
static Node *makeFloatConst(char *str, int location);
250
static Node *makeBitStringConst(char *str, int location);
251
static Node *makeNullAConst(int location);
252
static Node *makeAConst(Value *v, int location);
253
static Node *makeBoolAConst(bool state, int location);
254
static RoleSpec *makeRoleSpec(RoleSpecType type, int location);
255
static void check_qualified_name(List *names, core_yyscan_t yyscanner);
256
static List *check_func_name(List *names, core_yyscan_t yyscanner);
257
static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
258
static List *extractArgTypes(List *parameters);
259
static List *extractAggrArgTypes(List *aggrargs);
260
static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
261
                core_yyscan_t yyscanner);
262
static void insertSelectOptions(SelectStmt *stmt,
263
                List *sortClause, List *lockingClause,
264
                Node *limitOffset, Node *limitCount,
265
                WithClause *withClause,
266
                core_yyscan_t yyscanner);
267
static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
268
static Node *doNegate(Node *n, int location);
269
static void doNegateFloat(Value *v);
270
static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
271
static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
272
static Node *makeNotExpr(Node *expr, int location);
273
static Node *makeAArrayExpr(List *elements, int location);
274
static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
275
                  int location);
276
static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
277
             List *args, int location);
278
static List *mergeTableFuncParameters(List *func_args, List *columns);
279
static TypeName *TableFuncTypeName(List *columns);
280
static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
281
static void SplitColQualList(List *qualList,
282
               List **constraintList, CollateClause **collClause,
283
               core_yyscan_t yyscanner);
284
static void processCASbits(int cas_bits, int location, const char *constrType,
285
         bool *deferrable, bool *initdeferred, bool *not_valid,
286
         bool *no_inherit, core_yyscan_t yyscanner);
287
static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
288
289
290
#line 291 "gram.c"
291
292
# ifndef YY_NULLPTR
293
#  if defined __cplusplus
294
#   if 201103L <= __cplusplus
295
#    define YY_NULLPTR nullptr
296
#   else
297
#    define YY_NULLPTR 0
298
#   endif
299
#  else
300
#   define YY_NULLPTR ((void*)0)
301
#  endif
302
# endif
303
304
/* Enabling verbose error messages.  */
305
#ifdef YYERROR_VERBOSE
306
# undef YYERROR_VERBOSE
307
# define YYERROR_VERBOSE 1
308
#else
309
# define YYERROR_VERBOSE 0
310
#endif
311
312
/* Use api.header.include to #include this header
313
   instead of duplicating it here.  */
314
#ifndef YY_BASE_YY_GRAM_H_INCLUDED
315
# define YY_BASE_YY_GRAM_H_INCLUDED
316
/* Debug traces.  */
317
#ifndef YYDEBUG
318
# define YYDEBUG 0
319
#endif
320
#if YYDEBUG
321
extern int base_yydebug;
322
#endif
323
324
/* Token type.  */
325
#ifndef YYTOKENTYPE
326
# define YYTOKENTYPE
327
  enum yytokentype
328
  {
329
    IDENT = 258,
330
    FCONST = 259,
331
    SCONST = 260,
332
    BCONST = 261,
333
    XCONST = 262,
334
    Op = 263,
335
    ICONST = 264,
336
    PARAM = 265,
337
    TYPECAST = 266,
338
    DOT_DOT = 267,
339
    COLON_EQUALS = 268,
340
    EQUALS_GREATER = 269,
341
    LESS_EQUALS = 270,
342
    GREATER_EQUALS = 271,
343
    NOT_EQUALS = 272,
344
    ABORT_P = 273,
345
    ABSOLUTE_P = 274,
346
    ACCESS = 275,
347
    ACTION = 276,
348
    ADD_P = 277,
349
    ADMIN = 278,
350
    AFTER = 279,
351
    AGGREGATE = 280,
352
    ALL = 281,
353
    ALSO = 282,
354
    ALTER = 283,
355
    ALWAYS = 284,
356
    ANALYSE = 285,
357
    ANALYZE = 286,
358
    AND = 287,
359
    ANY = 288,
360
    ARRAY = 289,
361
    AS = 290,
362
    ASC = 291,
363
    ASSERTION = 292,
364
    ASSIGNMENT = 293,
365
    ASYMMETRIC = 294,
366
    AT = 295,
367
    ATTACH = 296,
368
    ATTRIBUTE = 297,
369
    AUTHORIZATION = 298,
370
    BACKFILL = 299,
371
    BACKWARD = 300,
372
    BEFORE = 301,
373
    BEGIN_P = 302,
374
    BETWEEN = 303,
375
    BIGINT = 304,
376
    BINARY = 305,
377
    BIT = 306,
378
    BOOLEAN_P = 307,
379
    BOTH = 308,
380
    BY = 309,
381
    CACHE = 310,
382
    CALL = 311,
383
    CALLED = 312,
384
    CASCADE = 313,
385
    CASCADED = 314,
386
    CASE = 315,
387
    CAST = 316,
388
    CATALOG_P = 317,
389
    CHAIN = 318,
390
    CHAR_P = 319,
391
    CHARACTER = 320,
392
    CHARACTERISTICS = 321,
393
    CHECK = 322,
394
    CHECKPOINT = 323,
395
    CLASS = 324,
396
    CLOSE = 325,
397
    CLUSTER = 326,
398
    COALESCE = 327,
399
    COLLATE = 328,
400
    COLLATION = 329,
401
    COLOCATED = 330,
402
    COLUMN = 331,
403
    COLUMNS = 332,
404
    COMMENT = 333,
405
    COMMENTS = 334,
406
    COMMIT = 335,
407
    COMMITTED = 336,
408
    CONCURRENTLY = 337,
409
    CONFIGURATION = 338,
410
    CONFLICT = 339,
411
    CONNECTION = 340,
412
    CONSTRAINT = 341,
413
    CONSTRAINTS = 342,
414
    CONTENT_P = 343,
415
    CONTINUE_P = 344,
416
    CONVERSION_P = 345,
417
    COPY = 346,
418
    COST = 347,
419
    CREATE = 348,
420
    CROSS = 349,
421
    CSV = 350,
422
    CUBE = 351,
423
    CURRENT_P = 352,
424
    CURRENT_CATALOG = 353,
425
    CURRENT_DATE = 354,
426
    CURRENT_ROLE = 355,
427
    CURRENT_SCHEMA = 356,
428
    CURRENT_TIME = 357,
429
    CURRENT_TIMESTAMP = 358,
430
    CURRENT_USER = 359,
431
    CURSOR = 360,
432
    CYCLE = 361,
433
    DATA_P = 362,
434
    DATABASE = 363,
435
    DAY_P = 364,
436
    DEALLOCATE = 365,
437
    DEC = 366,
438
    DECIMAL_P = 367,
439
    DECLARE = 368,
440
    DEFAULT = 369,
441
    DEFAULTS = 370,
442
    DEFERRABLE = 371,
443
    DEFERRED = 372,
444
    DEFINER = 373,
445
    DELETE_P = 374,
446
    DELIMITER = 375,
447
    DELIMITERS = 376,
448
    DEPENDS = 377,
449
    DESC = 378,
450
    DETACH = 379,
451
    DICTIONARY = 380,
452
    DISABLE_P = 381,
453
    DISCARD = 382,
454
    DISTINCT = 383,
455
    DO = 384,
456
    DOCUMENT_P = 385,
457
    DOMAIN_P = 386,
458
    DOUBLE_P = 387,
459
    DROP = 388,
460
    EACH = 389,
461
    ELSE = 390,
462
    ENABLE_P = 391,
463
    ENCODING = 392,
464
    ENCRYPTED = 393,
465
    END_P = 394,
466
    ENUM_P = 395,
467
    ESCAPE = 396,
468
    EVENT = 397,
469
    EXCEPT = 398,
470
    EXCLUDE = 399,
471
    EXCLUDING = 400,
472
    EXCLUSIVE = 401,
473
    EXECUTE = 402,
474
    EXISTS = 403,
475
    EXPLAIN = 404,
476
    EXTENSION = 405,
477
    EXTERNAL = 406,
478
    EXTRACT = 407,
479
    FALSE_P = 408,
480
    FAMILY = 409,
481
    FETCH = 410,
482
    FILTER = 411,
483
    FIRST_P = 412,
484
    FLOAT_P = 413,
485
    FOLLOWING = 414,
486
    FOR = 415,
487
    FORCE = 416,
488
    FOREIGN = 417,
489
    FORWARD = 418,
490
    FREEZE = 419,
491
    FROM = 420,
492
    FULL = 421,
493
    FUNCTION = 422,
494
    FUNCTIONS = 423,
495
    GENERATED = 424,
496
    GLOBAL = 425,
497
    GRANT = 426,
498
    GRANTED = 427,
499
    GREATEST = 428,
500
    GROUP_P = 429,
501
    GROUPING = 430,
502
    GROUPS = 431,
503
    HANDLER = 432,
504
    HASH = 433,
505
    HAVING = 434,
506
    HEADER_P = 435,
507
    HOLD = 436,
508
    HOUR_P = 437,
509
    IDENTITY_P = 438,
510
    IF_P = 439,
511
    ILIKE = 440,
512
    IMMEDIATE = 441,
513
    IMMUTABLE = 442,
514
    IMPLICIT_P = 443,
515
    IMPORT_P = 444,
516
    IN_P = 445,
517
    INCLUDE = 446,
518
    INCLUDING = 447,
519
    INCREMENT = 448,
520
    INDEX = 449,
521
    INDEXES = 450,
522
    INHERIT = 451,
523
    INHERITS = 452,
524
    INITIALLY = 453,
525
    INLINE_P = 454,
526
    INNER_P = 455,
527
    INOUT = 456,
528
    INPUT_P = 457,
529
    INSENSITIVE = 458,
530
    INSERT = 459,
531
    INSTEAD = 460,
532
    INT_P = 461,
533
    INTEGER = 462,
534
    INTERSECT = 463,
535
    INTERVAL = 464,
536
    INTO = 465,
537
    INVOKER = 466,
538
    IS = 467,
539
    ISNULL = 468,
540
    ISOLATION = 469,
541
    JOIN = 470,
542
    KEY = 471,
543
    LABEL = 472,
544
    LANGUAGE = 473,
545
    LARGE_P = 474,
546
    LAST_P = 475,
547
    LATERAL_P = 476,
548
    LEADING = 477,
549
    LEAKPROOF = 478,
550
    LEAST = 479,
551
    LEFT = 480,
552
    LEVEL = 481,
553
    LIKE = 482,
554
    LIMIT = 483,
555
    LISTEN = 484,
556
    LOAD = 485,
557
    LOCAL = 486,
558
    LOCALTIME = 487,
559
    LOCALTIMESTAMP = 488,
560
    LOCATION = 489,
561
    LOCK_P = 490,
562
    LOCKED = 491,
563
    LOGGED = 492,
564
    MAPPING = 493,
565
    MATCH = 494,
566
    MATERIALIZED = 495,
567
    MAXVALUE = 496,
568
    METHOD = 497,
569
    MINUTE_P = 498,
570
    MINVALUE = 499,
571
    MODE = 500,
572
    MONTH_P = 501,
573
    MOVE = 502,
574
    NAME_P = 503,
575
    NAMES = 504,
576
    NATIONAL = 505,
577
    NATURAL = 506,
578
    NCHAR = 507,
579
    NEW = 508,
580
    NEXT = 509,
581
    NO = 510,
582
    NONCONCURRENTLY = 511,
583
    NONE = 512,
584
    NOT = 513,
585
    NOTHING = 514,
586
    NOTIFY = 515,
587
    NOTNULL = 516,
588
    NOWAIT = 517,
589
    NULL_P = 518,
590
    NULLIF = 519,
591
    NULLS_P = 520,
592
    NUMERIC = 521,
593
    OBJECT_P = 522,
594
    OF = 523,
595
    OFF = 524,
596
    OFFSET = 525,
597
    OIDS = 526,
598
    OLD = 527,
599
    ON = 528,
600
    ONLY = 529,
601
    OPERATOR = 530,
602
    OPTION = 531,
603
    OPTIONS = 532,
604
    OR = 533,
605
    ORDER = 534,
606
    ORDINALITY = 535,
607
    OTHERS = 536,
608
    OUT_P = 537,
609
    OUTER_P = 538,
610
    OVER = 539,
611
    OVERLAPS = 540,
612
    OVERLAY = 541,
613
    OVERRIDING = 542,
614
    OWNED = 543,
615
    OWNER = 544,
616
    PARALLEL = 545,
617
    PARSER = 546,
618
    PARTIAL = 547,
619
    PARTITION = 548,
620
    PASSING = 549,
621
    PASSWORD = 550,
622
    PLACING = 551,
623
    PLANS = 552,
624
    POLICY = 553,
625
    POSITION = 554,
626
    PRECEDING = 555,
627
    PRECISION = 556,
628
    PRESERVE = 557,
629
    PREPARE = 558,
630
    PREPARED = 559,
631
    PRIMARY = 560,
632
    PRIOR = 561,
633
    PRIVILEGES = 562,
634
    PROCEDURAL = 563,
635
    PROCEDURE = 564,
636
    PROCEDURES = 565,
637
    PROGRAM = 566,
638
    PUBLICATION = 567,
639
    QUOTE = 568,
640
    RANGE = 569,
641
    READ = 570,
642
    REAL = 571,
643
    REASSIGN = 572,
644
    RECHECK = 573,
645
    RECURSIVE = 574,
646
    REF = 575,
647
    REFERENCES = 576,
648
    REFERENCING = 577,
649
    REFRESH = 578,
650
    REINDEX = 579,
651
    RELATIVE_P = 580,
652
    RELEASE = 581,
653
    RENAME = 582,
654
    REPEATABLE = 583,
655
    REPLACE = 584,
656
    REPLICA = 585,
657
    RESET = 586,
658
    RESTART = 587,
659
    RESTRICT = 588,
660
    RETURNING = 589,
661
    RETURNS = 590,
662
    REVOKE = 591,
663
    RIGHT = 592,
664
    ROLE = 593,
665
    ROLLBACK = 594,
666
    ROLLUP = 595,
667
    ROUTINE = 596,
668
    ROUTINES = 597,
669
    ROW = 598,
670
    ROWS = 599,
671
    RULE = 600,
672
    SAVEPOINT = 601,
673
    SCHEMA = 602,
674
    SCHEMAS = 603,
675
    SCROLL = 604,
676
    SEARCH = 605,
677
    SECOND_P = 606,
678
    SECURITY = 607,
679
    SELECT = 608,
680
    SEQUENCE = 609,
681
    SEQUENCES = 610,
682
    SERIALIZABLE = 611,
683
    SERVER = 612,
684
    SESSION = 613,
685
    SESSION_USER = 614,
686
    SET = 615,
687
    SETS = 616,
688
    SETOF = 617,
689
    SHARE = 618,
690
    SHOW = 619,
691
    SIMILAR = 620,
692
    SIMPLE = 621,
693
    SKIP = 622,
694
    SMALLINT = 623,
695
    SNAPSHOT = 624,
696
    SOME = 625,
697
    SPLIT = 626,
698
    SQL_P = 627,
699
    STABLE = 628,
700
    STANDALONE_P = 629,
701
    START = 630,
702
    STATEMENT = 631,
703
    STATISTICS = 632,
704
    STDIN = 633,
705
    STDOUT = 634,
706
    STORAGE = 635,
707
    STRICT_P = 636,
708
    STRIP_P = 637,
709
    SUBSCRIPTION = 638,
710
    SUBSTRING = 639,
711
    SYMMETRIC = 640,
712
    SYSID = 641,
713
    SYSTEM_P = 642,
714
    TABLE = 643,
715
    TABLEGROUP = 644,
716
    TABLEGROUPS = 645,
717
    TABLES = 646,
718
    TABLESAMPLE = 647,
719
    TABLESPACE = 648,
720
    TABLETS = 649,
721
    TEMP = 650,
722
    TEMPLATE = 651,
723
    TEMPORARY = 652,
724
    TEXT_P = 653,
725
    THEN = 654,
726
    TIES = 655,
727
    TIME = 656,
728
    TIMESTAMP = 657,
729
    TO = 658,
730
    TRAILING = 659,
731
    TRANSACTION = 660,
732
    TRANSFORM = 661,
733
    TREAT = 662,
734
    TRIGGER = 663,
735
    TRIM = 664,
736
    TRUE_P = 665,
737
    TRUNCATE = 666,
738
    TRUSTED = 667,
739
    TYPE_P = 668,
740
    TYPES_P = 669,
741
    UNBOUNDED = 670,
742
    UNCOMMITTED = 671,
743
    UNENCRYPTED = 672,
744
    UNION = 673,
745
    UNIQUE = 674,
746
    UNKNOWN = 675,
747
    UNLISTEN = 676,
748
    UNLOGGED = 677,
749
    UNTIL = 678,
750
    UPDATE = 679,
751
    USER = 680,
752
    USING = 681,
753
    VACUUM = 682,
754
    VALID = 683,
755
    VALIDATE = 684,
756
    VALIDATOR = 685,
757
    VALUE_P = 686,
758
    VALUES = 687,
759
    VARCHAR = 688,
760
    VARIADIC = 689,
761
    VARYING = 690,
762
    VERBOSE = 691,
763
    VERSION_P = 692,
764
    VIEW = 693,
765
    VIEWS = 694,
766
    VOLATILE = 695,
767
    WHEN = 696,
768
    WHERE = 697,
769
    WHITESPACE_P = 698,
770
    WINDOW = 699,
771
    WITH = 700,
772
    WITHIN = 701,
773
    WITHOUT = 702,
774
    WORK = 703,
775
    WRAPPER = 704,
776
    WRITE = 705,
777
    XML_P = 706,
778
    XMLATTRIBUTES = 707,
779
    XMLCONCAT = 708,
780
    XMLELEMENT = 709,
781
    XMLEXISTS = 710,
782
    XMLFOREST = 711,
783
    XMLNAMESPACES = 712,
784
    XMLPARSE = 713,
785
    XMLPI = 714,
786
    XMLROOT = 715,
787
    XMLSERIALIZE = 716,
788
    XMLTABLE = 717,
789
    YEAR_P = 718,
790
    YES_P = 719,
791
    ZONE = 720,
792
    NOT_LA = 721,
793
    NULLS_LA = 722,
794
    WITH_LA = 723,
795
    POSTFIXOP = 724,
796
    NO_OPCLASS = 725,
797
    EXPR_LIST = 726,
798
    UMINUS = 727
799
  };
800
#endif
801
802
/* Value type.  */
803
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
804
union YYSTYPE
805
{
806
#line 225 "gram.y"
807
808
  core_YYSTYPE    core_yystype;
809
  /* these fields must match core_YYSTYPE: */
810
  int         ival;
811
  char        *str;
812
  const char      *keyword;
813
814
  char        chr;
815
  bool        boolean;
816
  JoinType      jtype;
817
  DropBehavior    dbehavior;
818
  OnCommitAction    oncommit;
819
  List        *list;
820
  Node        *node;
821
  Value       *value;
822
  ObjectType      objtype;
823
  TypeName      *typnam;
824
  FunctionParameter   *fun_param;
825
  FunctionParameterMode fun_param_mode;
826
  ObjectWithArgs    *objwithargs;
827
  DefElem       *defelt;
828
  SortBy        *sortby;
829
  WindowDef     *windef;
830
  JoinExpr      *jexpr;
831
  IndexElem     *ielem;
832
  Alias       *alias;
833
  RangeVar      *range;
834
  IntoClause      *into;
835
  WithClause      *with;
836
  InferClause     *infer;
837
  OnConflictClause  *onconflict;
838
  A_Indices     *aind;
839
  ResTarget     *target;
840
  struct PrivTarget *privtarget;
841
  AccessPriv      *accesspriv;
842
  struct ImportQual *importqual;
843
  InsertStmt      *istmt;
844
  VariableSetStmt   *vsetstmt;
845
  PartitionElem   *partelem;
846
  PartitionSpec   *partspec;
847
  PartitionBoundSpec  *partboundspec;
848
  RoleSpec      *rolespec;
849
  OptSplit      *splitopt;
850
  OptTableGroup   *grpopt;
851
  RowBounds     *rowbounds;
852
853
#line 854 "gram.c"
854
855
};
856
typedef union YYSTYPE YYSTYPE;
857
# define YYSTYPE_IS_TRIVIAL 1
858
# define YYSTYPE_IS_DECLARED 1
859
#endif
860
861
/* Location type.  */
862
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
863
typedef struct YYLTYPE YYLTYPE;
864
struct YYLTYPE
865
{
866
  int first_line;
867
  int first_column;
868
  int last_line;
869
  int last_column;
870
};
871
# define YYLTYPE_IS_DECLARED 1
872
# define YYLTYPE_IS_TRIVIAL 1
873
#endif
874
875
876
877
int base_yyparse (core_yyscan_t yyscanner);
878
879
#endif /* !YY_BASE_YY_GRAM_H_INCLUDED  */
880
881
882
883
#ifdef short
884
# undef short
885
#endif
886
887
#ifdef YYTYPE_UINT8
888
typedef YYTYPE_UINT8 yytype_uint8;
889
#else
890
typedef unsigned char yytype_uint8;
891
#endif
892
893
#ifdef YYTYPE_INT8
894
typedef YYTYPE_INT8 yytype_int8;
895
#else
896
typedef signed char yytype_int8;
897
#endif
898
899
#ifdef YYTYPE_UINT16
900
typedef YYTYPE_UINT16 yytype_uint16;
901
#else
902
typedef unsigned short yytype_uint16;
903
#endif
904
905
#ifdef YYTYPE_INT16
906
typedef YYTYPE_INT16 yytype_int16;
907
#else
908
typedef short yytype_int16;
909
#endif
910
911
#ifndef YYSIZE_T
912
# ifdef __SIZE_TYPE__
913
202k
#  define YYSIZE_T __SIZE_TYPE__
914
# elif defined size_t
915
#  define YYSIZE_T size_t
916
# elif ! defined YYSIZE_T
917
#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
918
#  define YYSIZE_T size_t
919
# else
920
#  define YYSIZE_T unsigned
921
# endif
922
#endif
923
924
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
925
926
#ifndef YY_
927
# if defined YYENABLE_NLS && YYENABLE_NLS
928
#  if ENABLE_NLS
929
#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
930
#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
931
#  endif
932
# endif
933
# ifndef YY_
934
60
#  define YY_(Msgid) Msgid
935
# endif
936
#endif
937
938
#ifndef YY_ATTRIBUTE
939
# if (defined __GNUC__                                               \
940
      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
941
     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
942
#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
943
# else
944
#  define YY_ATTRIBUTE(Spec) /* empty */
945
# endif
946
#endif
947
948
#ifndef YY_ATTRIBUTE_PURE
949
# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
950
#endif
951
952
#ifndef YY_ATTRIBUTE_UNUSED
953
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
954
#endif
955
956
/* Suppress unused-variable warnings by "using" E.  */
957
#if ! defined lint || defined __GNUC__
958
1.61M
# define YYUSE(E) ((void) (E))
959
#else
960
# define YYUSE(E) /* empty */
961
#endif
962
963
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
964
/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
965
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
966
    _Pragma ("GCC diagnostic push") \
967
    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
968
    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
969
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
970
    _Pragma ("GCC diagnostic pop")
971
#else
972
405k
# define YY_INITIAL_VALUE(Value) Value
973
#endif
974
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
975
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
976
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
977
#endif
978
#ifndef YY_INITIAL_VALUE
979
# define YY_INITIAL_VALUE(Value) /* Nothing. */
980
#endif
981
982
983
19.6M
#define YY_ASSERT(E) ((void) (0 && (E)))
984
985
#if ! defined yyoverflow || YYERROR_VERBOSE
986
987
/* The parser invokes alloca or malloc; define the necessary symbols.  */
988
989
# ifdef YYSTACK_USE_ALLOCA
990
#  if YYSTACK_USE_ALLOCA
991
#   ifdef __GNUC__
992
#    define YYSTACK_ALLOC __builtin_alloca
993
#   elif defined __BUILTIN_VA_ARG_INCR
994
#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
995
#   elif defined _AIX
996
#    define YYSTACK_ALLOC __alloca
997
#   elif defined _MSC_VER
998
#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
999
#    define alloca _alloca
1000
#   else
1001
#    define YYSTACK_ALLOC alloca
1002
#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
1003
#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1004
      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
1005
#     ifndef EXIT_SUCCESS
1006
#      define EXIT_SUCCESS 0
1007
#     endif
1008
#    endif
1009
#   endif
1010
#  endif
1011
# endif
1012
1013
# ifdef YYSTACK_ALLOC
1014
   /* Pacify GCC's 'empty if-body' warning.  */
1015
#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1016
#  ifndef YYSTACK_ALLOC_MAXIMUM
1017
    /* The OS might guarantee only one guard page at the bottom of the stack,
1018
       and a page size can be as small as 4096 bytes.  So we cannot safely
1019
       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
1020
       to allow for a few compiler-allocated temporary stack slots.  */
1021
#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1022
#  endif
1023
# else
1024
0
#  define YYSTACK_ALLOC YYMALLOC
1025
0
#  define YYSTACK_FREE YYFREE
1026
#  ifndef YYSTACK_ALLOC_MAXIMUM
1027
#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1028
#  endif
1029
#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
1030
       && ! ((defined YYMALLOC || defined malloc) \
1031
             && (defined YYFREE || defined free)))
1032
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1033
#   ifndef EXIT_SUCCESS
1034
#    define EXIT_SUCCESS 0
1035
#   endif
1036
#  endif
1037
#  ifndef YYMALLOC
1038
#   define YYMALLOC malloc
1039
#   if ! defined malloc && ! defined EXIT_SUCCESS
1040
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1041
#   endif
1042
#  endif
1043
#  ifndef YYFREE
1044
#   define YYFREE free
1045
#   if ! defined free && ! defined EXIT_SUCCESS
1046
void free (void *); /* INFRINGES ON USER NAME SPACE */
1047
#   endif
1048
#  endif
1049
# endif
1050
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1051
1052
1053
#if (! defined yyoverflow \
1054
     && (! defined __cplusplus \
1055
         || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1056
             && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1057
1058
/* A type that is properly aligned for any stack member.  */
1059
union yyalloc
1060
{
1061
  yytype_int16 yyss_alloc;
1062
  YYSTYPE yyvs_alloc;
1063
  YYLTYPE yyls_alloc;
1064
};
1065
1066
/* The size of the maximum gap between one aligned stack and the next.  */
1067
0
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1068
1069
/* The size of an array large to enough to hold all stacks, each with
1070
   N elements.  */
1071
# define YYSTACK_BYTES(N) \
1072
0
     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1073
0
      + 2 * YYSTACK_GAP_MAXIMUM)
1074
1075
# define YYCOPY_NEEDED 1
1076
1077
/* Relocate STACK from its old location to the new one.  The
1078
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
1079
   elements in the stack, and YYPTR gives the new location of the
1080
   stack.  Advance YYPTR to a properly aligned location for the next
1081
   stack.  */
1082
# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
1083
0
    do                                                                  \
1084
0
      {                                                                 \
1085
0
        YYSIZE_T yynewbytes;                                            \
1086
0
        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
1087
0
        Stack = &yyptr->Stack_alloc;                                    \
1088
0
        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1089
0
        yyptr += yynewbytes / sizeof (*yyptr);                          \
1090
0
      }                                                                 \
1091
0
    while (0)
1092
1093
#endif
1094
1095
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1096
/* Copy COUNT objects from SRC to DST.  The source and destination do
1097
   not overlap.  */
1098
# ifndef YYCOPY
1099
#  if defined __GNUC__ && 1 < __GNUC__
1100
#   define YYCOPY(Dst, Src, Count) \
1101
0
      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1102
#  else
1103
#   define YYCOPY(Dst, Src, Count)              \
1104
      do                                        \
1105
        {                                       \
1106
          YYSIZE_T yyi;                         \
1107
          for (yyi = 0; yyi < (Count); yyi++)   \
1108
            (Dst)[yyi] = (Src)[yyi];            \
1109
        }                                       \
1110
      while (0)
1111
#  endif
1112
# endif
1113
#endif /* !YYCOPY_NEEDED */
1114
1115
/* YYFINAL -- State number of the termination state.  */
1116
19.6M
#define YYFINAL  843
1117
/* YYLAST -- Last index in YYTABLE.  */
1118
34.4M
#define YYLAST   103864
1119
1120
/* YYNTOKENS -- Number of terminals.  */
1121
13.9M
#define YYNTOKENS  490
1122
/* YYNNTS -- Number of nonterminals.  */
1123
#define YYNNTS  693
1124
/* YYNRULES -- Number of rules.  */
1125
#define YYNRULES  2791
1126
/* YYNSTATES -- Number of states.  */
1127
#define YYNSTATES  5595
1128
1129
18.4E
#define YYUNDEFTOK  2
1130
9.07M
#define YYMAXUTOK   727
1131
1132
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1133
   as returned by yylex, with out-of-bounds checking.  */
1134
#define YYTRANSLATE(YYX)                                                \
1135
18.4E
  ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1136
1137
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1138
   as returned by yylex.  */
1139
static const yytype_uint16 yytranslate[] =
1140
{
1141
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1142
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1143
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1144
       2,     2,     2,     2,     2,     2,     2,   479,     2,     2,
1145
     484,   485,   477,   475,   488,   476,   486,   478,     2,     2,
1146
       2,     2,     2,     2,     2,     2,     2,     2,   489,   487,
1147
     469,   471,   470,     2,     2,     2,     2,     2,     2,     2,
1148
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1149
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1150
       2,   482,     2,   483,   480,     2,     2,     2,     2,     2,
1151
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1152
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1153
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1154
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1155
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1156
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1157
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1158
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1159
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1160
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1161
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1162
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1163
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1164
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1165
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1166
       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
1167
       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
1168
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1169
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1170
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1171
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1172
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1173
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1174
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1175
      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1176
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1177
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1178
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1179
     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1180
     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1181
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1182
     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1183
     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1184
     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1185
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1186
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1187
     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1188
     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1189
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1190
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1191
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1192
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1193
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1194
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1195
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1196
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1197
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1198
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1199
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1200
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1201
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1202
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1203
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1204
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1205
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1206
     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1207
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1208
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1209
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1210
     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1211
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1212
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1213
     465,   466,   467,   468,   472,   473,   474,   481
1214
};
1215
1216
#if YYDEBUG
1217
  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1218
static const yytype_uint16 yyrline[] =
1219
{
1220
       0,   841,   841,   857,   869,   884,   885,   886,   887,   888,
1221
     889,   890,   891,   892,   893,   894,   895,   896,   897,   898,
1222
     899,   900,   901,   902,   903,   904,   905,   906,   907,   908,
1223
     909,   910,   911,   912,   913,   914,   915,   916,   917,   918,
1224
     919,   920,   921,   922,   923,   924,   925,   926,   927,   928,
1225
     929,   930,   931,   932,   933,   934,   935,   936,   937,   938,
1226
     939,   940,   941,   942,   943,   944,   945,   946,   947,   948,
1227
     949,   950,   951,   952,   953,   954,   955,   956,   957,   958,
1228
     959,   960,   961,   962,   963,   964,   968,   969,   970,   971,
1229
     972,   973,   974,   975,   976,   977,   978,   979,   980,   981,
1230
     982,   983,   986,   987,   988,   991,   992,   993,   994,   995,
1231
     996,   997,   998,   999,  1000,  1001,  1002,  1003,  1004,  1005,
1232
    1006,  1007,  1008,  1009,  1010,  1011,  1012,  1013,  1014,  1015,
1233
    1016,  1017,  1026,  1041,  1052,  1053,  1054,  1063,  1067,  1071,
1234
    1072,  1076,  1081,  1085,  1095,  1103,  1107,  1111,  1116,  1120,
1235
    1168,  1170,  1174,  1178,  1182,  1186,  1200,  1218,  1226,  1237,
1236
    1238,  1242,  1250,  1258,  1266,  1287,  1294,  1301,  1308,  1315,
1237
    1322,  1339,  1357,  1368,  1369,  1380,  1392,  1404,  1419,  1437,
1238
    1438,  1442,  1449,  1457,  1458,  1459,  1460,  1461,  1462,  1476,
1239
    1482,  1488,  1497,  1505,  1513,  1517,  1525,  1533,  1540,  1549,
1240
    1550,  1558,  1569,  1577,  1585,  1596,  1604,  1612,  1619,  1628,
1241
    1638,  1639,  1643,  1644,  1647,  1649,  1653,  1654,  1655,  1656,
1242
    1660,  1661,  1662,  1668,  1680,  1684,  1688,  1703,  1710,  1711,
1243
    1712,  1716,  1717,  1718,  1722,  1723,  1727,  1731,  1732,  1739,
1244
    1746,  1756,  1763,  1773,  1774,  1779,  1780,  1785,  1791,  1797,
1245
    1803,  1809,  1819,  1829,  1830,  1834,  1835,  1843,  1858,  1864,
1246
    1870,  1876,  1882,  1901,  1910,  1919,  1928,  1937,  1949,  1961,
1247
    1971,  1981,  1990,  2002,  2014,  2024,  2034,  2044,  2054,  2064,
1248
    2074,  2086,  2101,  2102,  2107,  2120,  2136,  2152,  2161,  2170,
1249
    2179,  2188,  2197,  2205,  2213,  2223,  2239,  2249,  2259,  2269,
1250
    2286,  2295,  2304,  2313,  2323,  2336,  2351,  2360,  2368,  2384,
1251
    2393,  2403,  2413,  2421,  2428,  2437,  2446,  2454,  2462,  2470,
1252
    2478,  2486,  2493,  2500,  2508,  2515,  2522,  2531,  2540,  2549,
1253
    2558,  2567,  2576,  2587,  2595,  2603,  2612,  2621,  2630,  2639,
1254
    2646,  2653,  2660,  2666,  2677,  2678,  2682,  2683,  2684,  2688,
1255
    2696,  2700,  2701,  2705,  2712,  2719,  2726,  2736,  2739,  2740,
1256
    2746,  2750,  2758,  2762,  2766,  2771,  2778,  2780,  2785,  2789,
1257
    2793,  2804,  2812,  2865,  2878,  2892,  2904,  2911,  2915,  2922,
1258
    2923,  2924,  2925,  2926,  2930,  2931,  2936,  2937,  2942,  2952,
1259
    2962,  2982,  2996,  2997,  3002,  3012,  3023,  3034,  3061,  3067,
1260
    3100,  3129,  3151,  3152,  3156,  3157,  3166,  3167,  3168,  3171,
1261
    3172,  3177,  3178,  3182,  3186,  3190,  3194,  3198,  3202,  3206,
1262
    3210,  3214,  3218,  3222,  3226,  3230,  3234,  3243,  3247,  3251,
1263
    3255,  3259,  3263,  3267,  3268,  3273,  3277,  3284,  3291,  3292,
1264
    3293,  3294,  3295,  3299,  3303,  3311,  3322,  3362,  3402,  3443,
1265
    3484,  3525,  3579,  3580,  3581,  3582,  3583,  3590,  3597,  3602,
1266
    3606,  3607,  3611,  3612,  3616,  3620,  3627,  3631,  3638,  3639,
1267
    3640,  3644,  3645,  3648,  3669,  3687,  3708,  3709,  3713,  3720,
1268
    3721,  3722,  3755,  3762,  3769,  3780,  3797,  3809,  3818,  3827,
1269
    3845,  3846,  3865,  3872,  3879,  3886,  3897,  3908,  3909,  3910,
1270
    3914,  3919,  3924,  3929,  3934,  3939,  3944,  3946,  3955,  3962,
1271
    3966,  3979,  4011,  4026,  4057,  4072,  4092,  4113,  4114,  4118,
1272
    4119,  4123,  4124,  4127,  4133,  4134,  4137,  4141,  4149,  4154,
1273
    4160,  4161,  4165,  4170,  4177,  4178,  4188,  4190,  4192,  4194,
1274
    4197,  4200,  4203,  4207,  4208,  4209,  4210,  4211,  4214,  4219,
1275
    4223,  4224,  4227,  4239,  4240,  4243,  4244,  4247,  4258,  4269,
1276
    4283,  4284,  4288,  4292,  4295,  4296,  4297,  4298,  4302,  4309,
1277
    4317,  4323,  4324,  4328,  4332,  4335,  4339,  4343,  4348,  4354,
1278
    4361,  4371,  4372,  4376,  4394,  4407,  4433,  4446,  4462,  4476,
1279
    4477,  4478,  4490,  4503,  4519,  4532,  4533,  4545,  4556,  4560,
1280
    4562,  4576,  4586,  4599,  4607,  4618,  4619,  4622,  4623,  4626,
1281
    4627,  4630,  4634,  4638,  4642,  4646,  4650,  4654,  4658,  4662,
1282
    4666,  4670,  4675,  4679,  4683,  4689,  4690,  4694,  4695,  4696,
1283
    4701,  4704,  4705,  4717,  4730,  4746,  4747,  4755,  4756,  4760,
1284
    4761,  4765,  4766,  4770,  4771,  4775,  4786,  4800,  4801,  4813,
1285
    4825,  4826,  4837,  4852,  4853,  4856,  4857,  4870,  4877,  4894,
1286
    4902,  4913,  4916,  4920,  4924,  4928,  4932,  4944,  4954,  4957,
1287
    4961,  4974,  4983,  4992,  5001,  5010,  5019,  5028,  5037,  5046,
1288
    5055,  5064,  5073,  5082,  5091,  5100,  5109,  5118,  5127,  5136,
1289
    5145,  5154,  5163,  5172,  5181,  5190,  5199,  5208,  5217,  5235,
1290
    5246,  5247,  5248,  5249,  5253,  5254,  5258,  5259,  5269,  5277,
1291
    5289,  5293,  5297,  5301,  5309,  5316,  5320,  5327,  5331,  5336,
1292
    5341,  5348,  5355,  5360,  5370,  5382,  5397,  5398,  5403,  5404,
1293
    5408,  5409,  5419,  5428,  5436,  5453,  5473,  5493,  5514,  5545,
1294
    5554,  5575,  5590,  5591,  5595,  5603,  5618,  5627,  5639,  5640,
1295
    5652,  5660,  5677,  5701,  5718,  5732,  5733,  5737,  5738,  5742,
1296
    5743,  5747,  5748,  5752,  5766,  5770,  5771,  5775,  5776,  5777,
1297
    5778,  5779,  5789,  5808,  5829,  5856,  5857,  5858,  5862,  5864,
1298
    5886,  5888,  5890,  5892,  5894,  5899,  5904,  5908,  5909,  5913,
1299
    5924,  5925,  5929,  5938,  5942,  5946,  5951,  5961,  5962,  5966,
1300
    5967,  5971,  5972,  5976,  5977,  5981,  5982,  5983,  5987,  5991,
1301
    5992,  5993,  5997,  5998,  6003,  6004,  6031,  6032,  6035,  6038,
1302
    6041,  6042,  6055,  6065,  6079,  6081,  6086,  6091,  6093,  6098,
1303
    6108,  6109,  6110,  6111,  6123,  6144,  6167,  6177,  6188,  6198,
1304
    6208,  6219,  6228,  6235,  6242,  6251,  6260,  6269,  6278,  6289,
1305
    6301,  6312,  6326,  6329,  6330,  6333,  6337,  6344,  6345,  6346,
1306
    6347,  6348,  6349,  6352,  6355,  6356,  6364,  6371,  6372,  6375,
1307
    6377,  6388,  6399,  6410,  6421,  6434,  6435,  6451,  6466,  6467,
1308
    6471,  6483,  6493,  6501,  6510,  6519,  6520,  6523,  6524,  6527,
1309
    6528,  6529,  6532,  6546,  6551,  6561,  6570,  6582,  6583,  6587,
1310
    6595,  6607,  6617,  6630,  6640,  6662,  6672,  6690,  6702,  6714,
1311
    6726,  6738,  6748,  6758,  6768,  6778,  6788,  6798,  6809,  6824,
1312
    6825,  6826,  6827,  6831,  6832,  6836,  6841,  6842,  6843,  6847,
1313
    6851,  6855,  6863,  6864,  6868,  6872,  6876,  6877,  6878,  6879,
1314
    6888,  6889,  6890,  6894,  6895,  6898,  6899,  6902,  6904,  6909,
1315
    6910,  6920,  6931,  6932,  6933,  6967,  6975,  6983,  6991,  6999,
1316
    7007,  7015,  7023,  7031,  7044,  7052,  7060,  7068,  7076,  7084,
1317
    7092,  7100,  7108,  7116,  7128,  7129,  7130,  7131,  7132,  7133,
1318
    7134,  7135,  7136,  7137,  7138,  7139,  7140,  7141,  7145,  7146,
1319
    7147,  7148,  7149,  7150,  7151,  7152,  7153,  7154,  7155,  7156,
1320
    7157,  7161,  7162,  7176,  7187,  7198,  7209,  7220,  7231,  7242,
1321
    7253,  7264,  7277,  7278,  7283,  7284,  7285,  7286,  7287,  7288,
1322
    7293,  7294,  7295,  7296,  7297,  7298,  7299,  7300,  7303,  7304,
1323
    7314,  7320,  7329,  7337,  7345,  7353,  7363,  7373,  7383,  7393,
1324
    7403,  7414,  7422,  7430,  7441,  7449,  7459,  7469,  7481,  7482,
1325
    7485,  7486,  7496,  7512,  7526,  7552,  7554,  7556,  7558,  7565,
1326
    7574,  7575,  7578,  7585,  7592,  7599,  7613,  7621,  7629,  7637,
1327
    7645,  7653,  7661,  7669,  7677,  7685,  7693,  7701,  7709,  7717,
1328
    7725,  7733,  7741,  7749,  7757,  7765,  7773,  7785,  7786,  7790,
1329
    7791,  7796,  7797,  7807,  7820,  7830,  7842,  7843,  7846,  7847,
1330
    7857,  7867,  7868,  7872,  7876,  7880,  7891,  7904,  7918,  7935,
1331
    7936,  7937,  7938,  7939,  7940,  7941,  7953,  7983,  8016,  8017,
1332
    8021,  8026,  8031,  8037,  8038,  8042,  8043,  8047,  8051,  8055,
1333
    8074,  8088,  8099,  8110,  8132,  8133,  8136,  8161,  8162,  8165,
1334
    8166,  8169,  8173,  8176,  8177,  8180,  8181,  8182,  8188,  8191,
1335
    8192,  8195,  8196,  8197,  8201,  8232,  8234,  8236,  8240,  8246,
1336
    8256,  8264,  8272,  8283,  8286,  8289,  8291,  8306,  8318,  8331,
1337
    8343,  8358,  8359,  8362,  8363,  8367,  8368,  8372,  8373,  8378,
1338
    8390,  8397,  8404,  8419,  8420,  8424,  8425,  8440,  8449,  8458,
1339
    8467,  8476,  8488,  8489,  8490,  8491,  8492,  8498,  8502,  8517,
1340
    8518,  8524,  8534,  8538,  8543,  8551,  8592,  8596,  8600,  8604,
1341
    8612,  8613,  8617,  8627,  8628,  8634,  8635,  8642,  8646,  8650,
1342
    8654,  8658,  8662,  8666,  8670,  8674,  8678,  8682,  8686,  8690,
1343
    8694,  8698,  8703,  8710,  8714,  8718,  8722,  8726,  8732,  8733,
1344
    8740,  8741,  8745,  8746,  8749,  8761,  8765,  8780,  8788,  8797,
1345
    8810,  8811,  8816,  8817,  8834,  8844,  8854,  8864,  8874,  8884,
1346
    8897,  8907,  8920,  8930,  8943,  8951,  8953,  8955,  8960,  8962,
1347
    8967,  8968,  8973,  8991,  9000,  9001,  9005,  9009,  9021,  9032,
1348
    9043,  9056,  9057,  9058,  9062,  9074,  9075,  9085,  9098,  9102,
1349
    9106,  9110,  9117,  9138,  9148,  9158,  9168,  9180,  9181,  9184,
1350
    9185,  9186,  9189,  9190,  9193,  9203,  9213,  9231,  9241,  9252,
1351
    9262,  9271,  9280,  9290,  9299,  9308,  9317,  9327,  9337,  9346,
1352
    9356,  9366,  9376,  9386,  9396,  9405,  9414,  9424,  9434,  9444,
1353
    9455,  9466,  9477,  9488,  9499,  9510,  9521,  9532,  9542,  9552,
1354
    9563,  9575,  9587,  9599,  9610,  9621,  9632,  9643,  9654,  9664,
1355
    9672,  9681,  9690,  9700,  9710,  9720,  9729,  9738,  9747,  9756,
1356
    9765,  9780,  9781,  9784,  9785,  9795,  9803,  9812,  9821,  9831,
1357
    9840,  9858,  9868,  9879,  9889,  9899,  9908,  9917,  9926,  9936,
1358
    9945,  9955,  9965,  9975,  9985,  9995, 10004, 10013, 10022, 10031,
1359
   10041, 10051, 10061, 10071, 10081, 10091, 10100, 10109, 10128, 10137,
1360
   10138, 10141, 10143, 10149, 10150, 10151, 10152, 10153, 10162, 10170,
1361
   10178, 10186, 10194, 10202, 10210, 10218, 10226, 10234, 10242, 10250,
1362
   10258, 10266, 10274, 10282, 10291, 10299, 10307, 10315, 10323, 10331,
1363
   10339, 10347, 10355, 10373, 10393, 10394, 10398, 10402, 10422, 10430,
1364
   10439, 10448, 10466, 10480, 10484, 10491, 10500, 10510, 10520, 10530,
1365
   10541, 10552, 10571, 10580, 10597, 10614, 10615, 10616, 10621, 10627,
1366
   10636, 10637, 10638, 10639, 10640, 10644, 10645, 10648, 10649, 10650,
1367
   10651, 10655, 10656, 10657, 10669, 10679, 10680, 10683, 10692, 10698,
1368
   10717, 10724, 10731, 10738, 10745, 10752, 10759, 10769, 10779, 10789,
1369
   10799, 10809, 10817, 10825, 10835, 10836, 10837, 10841, 10844, 10847,
1370
   10850, 10855, 10864, 10866, 10868, 10873, 10875, 10887, 10900, 10913,
1371
   10932, 10954, 10959, 10964, 10969, 10979, 10996, 11006, 11007, 11011,
1372
   11012, 11016, 11020, 11024, 11042, 11043, 11044, 11045, 11046, 11047,
1373
   11048, 11049, 11059, 11060, 11071, 11078, 11085, 11099, 11116, 11124,
1374
   11132, 11140, 11151, 11155, 11166, 11178, 11197, 11204, 11221, 11234,
1375
   11243, 11252, 11261, 11271, 11283, 11295, 11306, 11307, 11318, 11329,
1376
   11341, 11353, 11365, 11377, 11387, 11400, 11401, 11415, 11439, 11448,
1377
   11458, 11470, 11471, 11483, 11498, 11508, 11509, 11513, 11514, 11515,
1378
   11516, 11517, 11529, 11538, 11548, 11549, 11553, 11557, 11558, 11562,
1379
   11563, 11567, 11568, 11571, 11572, 11575, 11576, 11580, 11581, 11585,
1380
   11592, 11594, 11599, 11600, 11613, 11620, 11630, 11637, 11647, 11648,
1381
   11649, 11650, 11651, 11652, 11653, 11654, 11655, 11659, 11663, 11670,
1382
   11677, 11678, 11682, 11683, 11684, 11694, 11704, 11705, 11709, 11710,
1383
   11711, 11712, 11722, 11729, 11748, 11749, 11759, 11765, 11771, 11777,
1384
   11793, 11811, 11815, 11823, 11829, 11836, 11842, 11849, 11858, 11859,
1385
   11863, 11865, 11870, 11881, 11891, 11901, 11907, 11916, 11925, 11931,
1386
   11932, 11943, 11957, 11958, 11969, 11980, 11982, 11988, 11989, 11993,
1387
   11998, 12003, 12008, 12013, 12018, 12025, 12026, 12030, 12031, 12032,
1388
   12043, 12061, 12062, 12066, 12071, 12095, 12106, 12107, 12117, 12128,
1389
   12131, 12132, 12133, 12134, 12135, 12138, 12139, 12140, 12188, 12189,
1390
   12193, 12194, 12209, 12210, 12217, 12225, 12233, 12241, 12249, 12257,
1391
   12268, 12269, 12296, 12310, 12325, 12326, 12345, 12349, 12353, 12370,
1392
   12377, 12384, 12394, 12395, 12398, 12410, 12411, 12415, 12427, 12435,
1393
   12440, 12445, 12450, 12455, 12463, 12471, 12476, 12481, 12488, 12489,
1394
   12493, 12494, 12495, 12502, 12503, 12507, 12508, 12512, 12513, 12517,
1395
   12521, 12522, 12525, 12534, 12547, 12548, 12549, 12550, 12554, 12555,
1396
   12559, 12561, 12577, 12579, 12584, 12587, 12592, 12593, 12601, 12621,
1397
   12622, 12624, 12629, 12630, 12634, 12635, 12638, 12639, 12664, 12665,
1398
   12669, 12670, 12674, 12675, 12676, 12677, 12678, 12682, 12695, 12702,
1399
   12709, 12716, 12717, 12721, 12725, 12729, 12730, 12734, 12735, 12739,
1400
   12750, 12751, 12752, 12753, 12757, 12758, 12768, 12774, 12792, 12793,
1401
   12797, 12798, 12804, 12809, 12817, 12824, 12832, 12838, 12845, 12880,
1402
   12905, 12909, 12935, 12939, 12951, 12964, 12978, 12989, 13004, 13010,
1403
   13015, 13021, 13028, 13029, 13037, 13041, 13045, 13051, 13058, 13063,
1404
   13064, 13065, 13066, 13070, 13071, 13083, 13084, 13089, 13096, 13103,
1405
   13110, 13121, 13122, 13135, 13139, 13146, 13159, 13172, 13173, 13188,
1406
   13198, 13210, 13215, 13216, 13219, 13220, 13223, 13224, 13229, 13230,
1407
   13235, 13236, 13245, 13250, 13251, 13255, 13259, 13265, 13289, 13299,
1408
   13312, 13313, 13317, 13331, 13388, 13402, 13404, 13409, 13411, 13413,
1409
   13415, 13420, 13422, 13427, 13435, 13455, 13460, 13467, 13472, 13478,
1410
   13483, 13492, 13494, 13497, 13501, 13502, 13503, 13504, 13505, 13506,
1411
   13511, 13531, 13532, 13533, 13534, 13545, 13551, 13559, 13560, 13566,
1412
   13571, 13576, 13581, 13586, 13591, 13596, 13601, 13607, 13613, 13619,
1413
   13626, 13648, 13657, 13661, 13669, 13673, 13681, 13693, 13714, 13718,
1414
   13724, 13728, 13741, 13749, 13759, 13761, 13763, 13765, 13767, 13769,
1415
   13774, 13775, 13782, 13791, 13799, 13808, 13819, 13827, 13828, 13829,
1416
   13833, 13835, 13837, 13839, 13841, 13843, 13845, 13850, 13855, 13861,
1417
   13869, 13874, 13881, 13888, 13892, 13896, 13932, 13933, 13935, 13943,
1418
   13958, 13960, 13962, 13964, 13966, 13968, 13970, 13972, 13974, 13976,
1419
   13978, 13980, 13982, 13984, 13987, 13989, 13991, 13994, 13996, 13998,
1420
   14000, 14003, 14008, 14016, 14021, 14029, 14034, 14042, 14047, 14056,
1421
   14064, 14072, 14080, 14098, 14106, 14114, 14122, 14130, 14146, 14154,
1422
   14162, 14170, 14178, 14186, 14194, 14198, 14202, 14206, 14210, 14218,
1423
   14226, 14234, 14242, 14262, 14284, 14295, 14302, 14318, 14323, 14329,
1424
   14354, 14356, 14358, 14360, 14362, 14364, 14366, 14368, 14370, 14372,
1425
   14374, 14376, 14378, 14380, 14382, 14384, 14386, 14388, 14390, 14392,
1426
   14396, 14400, 14404, 14408, 14413, 14429, 14430, 14431, 14446, 14480,
1427
   14482, 14484, 14495, 14519, 14530, 14541, 14548, 14558, 14568, 14577,
1428
   14581, 14587, 14594, 14601, 14611, 14618, 14646, 14681, 14692, 14693,
1429
   14700, 14706, 14710, 14714, 14718, 14722, 14726, 14730, 14734, 14738,
1430
   14742, 14746, 14750, 14754, 14758, 14762, 14766, 14768, 14772, 14781,
1431
   14786, 14793, 14808, 14815, 14819, 14823, 14827, 14831, 14838, 14846,
1432
   14854, 14858, 14862, 14866, 14870, 14874, 14880, 14884, 14893, 14897,
1433
   14901, 14906, 14920, 14922, 14926, 14928, 14930, 14933, 14936, 14939,
1434
   14940, 14943, 14951, 14961, 14962, 14965, 14966, 14967, 14972, 14976,
1435
   14980, 14984, 14995, 14996, 15000, 15001, 15009, 15010, 15014, 15015,
1436
   15020, 15028, 15030, 15044, 15047, 15074, 15075, 15078, 15079, 15087,
1437
   15094, 15101, 15109, 15118, 15135, 15180, 15188, 15196, 15204, 15212,
1438
   15223, 15224, 15225, 15226, 15227, 15241, 15242, 15243, 15246, 15247,
1439
   15250, 15253, 15254, 15255, 15258, 15259, 15262, 15263, 15264, 15265,
1440
   15266, 15267, 15268, 15269, 15270, 15271, 15272, 15273, 15276, 15278,
1441
   15283, 15285, 15290, 15292, 15294, 15296, 15298, 15300, 15312, 15316,
1442
   15323, 15327, 15333, 15337, 15346, 15357, 15358, 15361, 15365, 15369,
1443
   15375, 15376, 15381, 15385, 15392, 15393, 15394, 15395, 15396, 15397,
1444
   15398, 15399, 15409, 15413, 15420, 15427, 15428, 15444, 15448, 15453,
1445
   15457, 15472, 15477, 15481, 15484, 15487, 15488, 15489, 15492, 15499,
1446
   15509, 15523, 15524, 15528, 15539, 15540, 15543, 15544, 15547, 15551,
1447
   15558, 15562, 15566, 15574, 15585, 15586, 15590, 15591, 15595, 15596,
1448
   15599, 15600, 15610, 15611, 15615, 15616, 15619, 15635, 15643, 15651,
1449
   15673, 15674, 15685, 15689, 15716, 15718, 15723, 15726, 15729, 15731,
1450
   15733, 15735, 15745, 15747, 15758, 15762, 15766, 15770, 15774, 15783,
1451
   15790, 15822, 15826, 15832, 15839, 15843, 15847, 15853, 15854, 15856,
1452
   15857, 15858, 15865, 15868, 15901, 15928, 15932, 15938, 15940, 15957,
1453
   15958, 15959, 15964, 15965, 15966, 15971, 15972, 15973, 15974, 15980,
1454
   15981, 15982, 15983, 15984, 16004, 16005, 16006, 16007, 16008, 16009,
1455
   16010, 16011, 16012, 16013, 16014, 16015, 16016, 16017, 16018, 16019,
1456
   16020, 16021, 16022, 16023, 16024, 16025, 16026, 16027, 16028, 16029,
1457
   16030, 16031, 16032, 16033, 16034, 16035, 16036, 16037, 16038, 16039,
1458
   16040, 16041, 16042, 16043, 16044, 16045, 16046, 16047, 16048, 16049,
1459
   16050, 16051, 16052, 16053, 16054, 16055, 16056, 16057, 16058, 16059,
1460
   16060, 16061, 16062, 16063, 16064, 16065, 16066, 16067, 16068, 16069,
1461
   16070, 16071, 16072, 16073, 16074, 16075, 16076, 16077, 16078, 16079,
1462
   16080, 16081, 16082, 16083, 16084, 16085, 16086, 16087, 16088, 16089,
1463
   16090, 16091, 16092, 16093, 16094, 16095, 16096, 16097, 16098, 16099,
1464
   16100, 16101, 16102, 16103, 16104, 16105, 16106, 16107, 16108, 16109,
1465
   16110, 16111, 16112, 16113, 16114, 16115, 16116, 16117, 16118, 16119,
1466
   16120, 16121, 16122, 16123, 16124, 16125, 16126, 16127, 16128, 16129,
1467
   16130, 16131, 16132, 16133, 16134, 16135, 16136, 16137, 16138, 16139,
1468
   16140, 16141, 16142, 16143, 16144, 16145, 16146, 16147, 16148, 16149,
1469
   16150, 16151, 16152, 16153, 16154, 16155, 16156, 16157, 16158, 16159,
1470
   16160, 16161, 16162, 16163, 16164, 16165, 16166, 16167, 16168, 16169,
1471
   16170, 16171, 16172, 16173, 16174, 16175, 16176, 16177, 16178, 16179,
1472
   16180, 16181, 16182, 16183, 16184, 16185, 16186, 16187, 16188, 16189,
1473
   16190, 16191, 16192, 16193, 16194, 16195, 16196, 16197, 16198, 16199,
1474
   16200, 16201, 16202, 16203, 16204, 16205, 16206, 16207, 16208, 16209,
1475
   16210, 16211, 16212, 16213, 16214, 16215, 16216, 16217, 16218, 16219,
1476
   16220, 16221, 16222, 16223, 16224, 16225, 16226, 16227, 16228, 16229,
1477
   16230, 16231, 16232, 16233, 16234, 16235, 16236, 16237, 16238, 16239,
1478
   16240, 16241, 16242, 16243, 16244, 16245, 16246, 16247, 16248, 16249,
1479
   16250, 16251, 16252, 16253, 16254, 16255, 16256, 16257, 16258, 16259,
1480
   16260, 16261, 16262, 16263, 16264, 16265, 16266, 16267, 16268, 16269,
1481
   16270, 16271, 16272, 16273, 16274, 16275, 16276, 16277, 16278, 16279,
1482
   16280, 16281, 16282, 16283, 16284, 16285, 16286, 16287, 16288, 16289,
1483
   16290, 16291, 16292, 16293, 16294, 16295, 16296, 16297, 16298, 16299,
1484
   16300, 16314, 16315, 16316, 16317, 16318, 16319, 16320, 16321, 16322,
1485
   16323, 16324, 16325, 16326, 16327, 16328, 16329, 16330, 16331, 16332,
1486
   16333, 16334, 16335, 16336, 16337, 16338, 16339, 16340, 16341, 16342,
1487
   16343, 16344, 16345, 16346, 16347, 16348, 16349, 16350, 16351, 16352,
1488
   16353, 16354, 16355, 16356, 16357, 16358, 16359, 16360, 16361, 16362,
1489
   16363, 16377, 16378, 16379, 16380, 16381, 16382, 16383, 16384, 16385,
1490
   16386, 16387, 16388, 16389, 16390, 16391, 16392, 16393, 16394, 16395,
1491
   16396, 16397, 16398, 16399, 16400, 16410, 16411, 16412, 16413, 16414,
1492
   16415, 16416, 16417, 16418, 16419, 16420, 16421, 16422, 16423, 16424,
1493
   16425, 16426, 16427, 16428, 16429, 16430, 16431, 16432, 16433, 16434,
1494
   16435, 16436, 16437, 16438, 16439, 16440, 16441, 16442, 16443, 16444,
1495
   16445, 16446, 16447, 16448, 16449, 16450, 16451, 16452, 16453, 16454,
1496
   16455, 16456, 16457, 16458, 16459, 16460, 16461, 16462, 16463, 16464,
1497
   16465, 16466, 16467, 16468, 16469, 16470, 16471, 16472, 16473, 16474,
1498
   16475, 16476, 16477, 16478, 16479, 16480, 16481, 16482, 16483, 16484,
1499
   16485, 16486
1500
};
1501
#endif
1502
1503
#if YYDEBUG || YYERROR_VERBOSE || 0
1504
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1505
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1506
static const char *const yytname[] =
1507
{
1508
  "$end", "error", "$undefined", "IDENT", "FCONST", "SCONST", "BCONST",
1509
  "XCONST", "Op", "ICONST", "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS",
1510
  "EQUALS_GREATER", "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS",
1511
  "ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER",
1512
  "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE",
1513
  "AND", "ANY", "ARRAY", "AS", "ASC", "ASSERTION", "ASSIGNMENT",
1514
  "ASYMMETRIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", "BACKFILL",
1515
  "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT",
1516
  "BOOLEAN_P", "BOTH", "BY", "CACHE", "CALL", "CALLED", "CASCADE",
1517
  "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER",
1518
  "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER",
1519
  "COALESCE", "COLLATE", "COLLATION", "COLOCATED", "COLUMN", "COLUMNS",
1520
  "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "CONCURRENTLY",
1521
  "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT", "CONSTRAINTS",
1522
  "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST", "CREATE",
1523
  "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE",
1524
  "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP",
1525
  "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P",
1526
  "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS",
1527
  "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER",
1528
  "DELIMITERS", "DEPENDS", "DESC", "DETACH", "DICTIONARY", "DISABLE_P",
1529
  "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P",
1530
  "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P",
1531
  "ENUM_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING",
1532
  "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXTENSION", "EXTERNAL",
1533
  "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FIRST_P", "FLOAT_P",
1534
  "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORWARD", "FREEZE", "FROM",
1535
  "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", "GLOBAL", "GRANT",
1536
  "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "GROUPS", "HANDLER",
1537
  "HASH", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P",
1538
  "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P",
1539
  "INCLUDE", "INCLUDING", "INCREMENT", "INDEX", "INDEXES", "INHERIT",
1540
  "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT", "INPUT_P",
1541
  "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER", "INTERSECT",
1542
  "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN",
1543
  "KEY", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LEADING",
1544
  "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD",
1545
  "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED",
1546
  "LOGGED", "MAPPING", "MATCH", "MATERIALIZED", "MAXVALUE", "METHOD",
1547
  "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES",
1548
  "NATIONAL", "NATURAL", "NCHAR", "NEW", "NEXT", "NO", "NONCONCURRENTLY",
1549
  "NONE", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P",
1550
  "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF", "OFF", "OFFSET",
1551
  "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION", "OPTIONS", "OR",
1552
  "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P", "OVER", "OVERLAPS",
1553
  "OVERLAY", "OVERRIDING", "OWNED", "OWNER", "PARALLEL", "PARSER",
1554
  "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PLACING", "PLANS",
1555
  "POLICY", "POSITION", "PRECEDING", "PRECISION", "PRESERVE", "PREPARE",
1556
  "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE",
1557
  "PROCEDURES", "PROGRAM", "PUBLICATION", "QUOTE", "RANGE", "READ", "REAL",
1558
  "REASSIGN", "RECHECK", "RECURSIVE", "REF", "REFERENCES", "REFERENCING",
1559
  "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE",
1560
  "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", "RETURNING",
1561
  "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE",
1562
  "ROUTINES", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCHEMA", "SCHEMAS",
1563
  "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE",
1564
  "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET",
1565
  "SETS", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP",
1566
  "SMALLINT", "SNAPSHOT", "SOME", "SPLIT", "SQL_P", "STABLE",
1567
  "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT",
1568
  "STORAGE", "STRICT_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING",
1569
  "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE", "TABLEGROUP", "TABLEGROUPS",
1570
  "TABLES", "TABLESAMPLE", "TABLESPACE", "TABLETS", "TEMP", "TEMPLATE",
1571
  "TEMPORARY", "TEXT_P", "THEN", "TIES", "TIME", "TIMESTAMP", "TO",
1572
  "TRAILING", "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM",
1573
  "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UNBOUNDED",
1574
  "UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN",
1575
  "UNLOGGED", "UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID",
1576
  "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR", "VARIADIC",
1577
  "VARYING", "VERBOSE", "VERSION_P", "VIEW", "VIEWS", "VOLATILE", "WHEN",
1578
  "WHERE", "WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK",
1579
  "WRAPPER", "WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT",
1580
  "XMLEXISTS", "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI",
1581
  "XMLROOT", "XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YES_P", "ZONE",
1582
  "NOT_LA", "NULLS_LA", "WITH_LA", "'<'", "'>'", "'='", "POSTFIXOP",
1583
  "NO_OPCLASS", "EXPR_LIST", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'",
1584
  "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'",
1585
  "$accept", "stmtblock", "stmtmulti", "stmt", "CallStmt",
1586
  "CreateRoleStmt", "opt_with", "OptRoleList", "AlterOptRoleList",
1587
  "AlterOptRoleElem", "CreateOptRoleElem", "CreateUserStmt",
1588
  "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt",
1589
  "CreateGroupStmt", "AlterGroupStmt", "add_drop", "CreateSchemaStmt",
1590
  "OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt",
1591
  "set_rest", "generic_set", "set_rest_more", "var_name", "var_list",
1592
  "var_value", "iso_level", "opt_boolean_or_string", "zone_value",
1593
  "opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt",
1594
  "reset_rest", "generic_reset", "SetResetClause",
1595
  "FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt",
1596
  "constraints_set_list", "constraints_set_mode", "CheckPointStmt",
1597
  "DiscardStmt", "AlterTableStmt", "alter_table_cmds", "partition_cmd",
1598
  "index_partition_cmd", "alter_table_cmd", "alter_column_default",
1599
  "opt_drop_behavior", "opt_collate_clause", "alter_using",
1600
  "replica_identity", "reloptions", "opt_reloptions", "reloption_list",
1601
  "reloption_elem", "alter_identity_column_option_list",
1602
  "alter_identity_column_option", "PartitionBoundSpec",
1603
  "hash_partbound_elem", "hash_partbound", "partbound_datum",
1604
  "partbound_datum_list", "range_datum_list", "PartitionRangeDatum",
1605
  "AlterCompositeTypeStmt", "alter_type_cmds", "alter_type_cmd",
1606
  "ClosePortalStmt", "CopyStmt", "copy_from", "opt_program",
1607
  "copy_file_name", "copy_options", "copy_opt_list", "copy_opt_item",
1608
  "opt_binary", "opt_oids", "copy_delimiter", "opt_using",
1609
  "copy_generic_opt_list", "copy_generic_opt_elem", "copy_generic_opt_arg",
1610
  "copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item",
1611
  "CreateStmt", "OptTemp", "OptTableElementList",
1612
  "OptTypedTableElementList", "TableElementList", "TypedTableElementList",
1613
  "TableElement", "TypedTableElement", "columnDef", "columnOptions",
1614
  "ColQualList", "ColConstraint", "ColConstraintElem", "generated_when",
1615
  "ConstraintAttr", "TableLikeClause", "TableLikeOptionList",
1616
  "TableLikeOption", "TableConstraint", "ConstraintElem", "opt_no_inherit",
1617
  "opt_column_list", "columnList", "columnElem", "opt_c_include",
1618
  "key_match", "ExclusionConstraintList", "ExclusionConstraintElem",
1619
  "ExclusionWhereClause", "key_actions", "key_update", "key_delete",
1620
  "key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec",
1621
  "part_strategy", "part_params", "part_elem", "OptWith", "OnCommitOption",
1622
  "OptTableGroup", "OptTableSpace", "OptConsTableSpace", "ExistingIndex",
1623
  "OptSplit", "SplitClause", "yb_split_points", "yb_split_point",
1624
  "CreateStatsStmt", "CreateAsStmt", "create_as_target", "opt_with_data",
1625
  "CreateMatViewStmt", "create_mv_target", "OptNoLog",
1626
  "RefreshMatViewStmt", "opt_concurrently_matview", "CreateSeqStmt",
1627
  "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList",
1628
  "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list",
1629
  "CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler",
1630
  "validator_clause", "opt_validator", "DropPLangStmt", "opt_procedural",
1631
  "CreateTableGroupStmt", "OptTableGroupOwner", "CreateTableSpaceStmt",
1632
  "OptTableSpaceLocation", "OptTableSpaceOwner", "DropTableSpaceStmt",
1633
  "CreateExtensionStmt", "create_extension_opt_list",
1634
  "create_extension_opt_item", "AlterExtensionStmt",
1635
  "alter_extension_opt_list", "alter_extension_opt_item",
1636
  "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
1637
  "fdw_options", "opt_fdw_options", "AlterFdwStmt",
1638
  "create_generic_options", "generic_option_list", "alter_generic_options",
1639
  "alter_generic_option_list", "alter_generic_option_elem",
1640
  "generic_option_elem", "generic_option_name", "generic_option_arg",
1641
  "CreateForeignServerStmt", "opt_type", "foreign_server_version",
1642
  "opt_foreign_server_version", "AlterForeignServerStmt",
1643
  "CreateForeignTableStmt", "AlterForeignTableStmt",
1644
  "ImportForeignSchemaStmt", "import_qualification_type",
1645
  "import_qualification", "CreateUserMappingStmt", "auth_ident",
1646
  "DropUserMappingStmt", "AlterUserMappingStmt", "CreatePolicyStmt",
1647
  "AlterPolicyStmt", "RowSecurityOptionalExpr",
1648
  "RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole",
1649
  "RowSecurityOptionalToRole", "RowSecurityDefaultPermissive",
1650
  "RowSecurityDefaultForCmd", "row_security_cmd", "CreateAmStmt",
1651
  "CreateTrigStmt", "TriggerActionTime", "TriggerEvents",
1652
  "TriggerOneEvent", "TriggerReferencing", "TriggerTransitions",
1653
  "TriggerTransition", "TransitionOldOrNew", "TransitionRowOrTable",
1654
  "TransitionRelName", "TriggerForSpec", "TriggerForOptEach",
1655
  "TriggerForType", "TriggerWhen", "FUNCTION_or_PROCEDURE",
1656
  "TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable",
1657
  "ConstraintAttributeSpec", "ConstraintAttributeElem",
1658
  "CreateEventTrigStmt", "event_trigger_when_list",
1659
  "event_trigger_when_item", "event_trigger_value_list",
1660
  "AlterEventTrigStmt", "enable_trigger", "CreateAssertStmt",
1661
  "DropAssertStmt", "DefineStmt", "definition", "def_list", "def_elem",
1662
  "def_arg", "old_aggr_definition", "old_aggr_list", "old_aggr_elem",
1663
  "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
1664
  "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
1665
  "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
1666
  "opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
1667
  "opclass_drop_list", "opclass_drop", "DropOpClassStmt",
1668
  "DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
1669
  "drop_type_any_name", "drop_type_name", "drop_type_name_on_any_name",
1670
  "any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt",
1671
  "opt_restart_seqs", "CommentStmt", "comment_type_any_name",
1672
  "comment_type_name", "comment_text", "SecLabelStmt", "opt_provider",
1673
  "security_label_type_any_name", "security_label_type_name",
1674
  "security_label", "FetchStmt", "fetch_args", "from_in", "opt_from_in",
1675
  "GrantStmt", "RevokeStmt", "privileges", "privilege_list", "privilege",
1676
  "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
1677
  "GrantRoleStmt", "RevokeRoleStmt", "opt_grant_admin_option",
1678
  "opt_granted_by", "AlterDefaultPrivilegesStmt", "DefACLOptionList",
1679
  "DefACLOption", "DefACLAction", "defacl_privilege_target", "IndexStmt",
1680
  "opt_unique", "opt_concurrently", "opt_index_name",
1681
  "access_method_clause", "yb_index_params", "index_elem", "opt_yb_hash",
1682
  "yb_index_expr_list_hash_elems", "opt_include", "index_including_params",
1683
  "opt_collate", "opt_class", "opt_asc_desc", "yb_hash",
1684
  "opt_yb_index_sort_order", "opt_nulls_order", "BackfillIndexStmt",
1685
  "opt_for_bfinstr", "oid_list", "read_time", "RowBounds", "partition_key",
1686
  "row_key_start", "row_key_end", "row_key", "CreateFunctionStmt",
1687
  "opt_or_replace", "func_args", "func_args_list",
1688
  "function_with_argtypes_list", "function_with_argtypes",
1689
  "func_args_with_defaults", "func_args_with_defaults_list", "func_arg",
1690
  "arg_class", "param_name", "func_return", "func_type",
1691
  "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list",
1692
  "aggregate_with_argtypes", "aggregate_with_argtypes_list",
1693
  "createfunc_opt_list", "common_func_opt_item", "createfunc_opt_item",
1694
  "func_as", "transform_type_list", "opt_definition", "table_func_column",
1695
  "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
1696
  "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
1697
  "oper_argtypes", "any_operator", "operator_with_argtypes_list",
1698
  "operator_with_argtypes", "DoStmt", "dostmt_opt_list", "dostmt_opt_item",
1699
  "CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists",
1700
  "CreateTransformStmt", "transform_element_list", "DropTransformStmt",
1701
  "ReindexStmt", "reindex_target_type", "reindex_target_multitable",
1702
  "reindex_option_list", "reindex_option_elem", "AlterTblSpcStmt",
1703
  "RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt",
1704
  "AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list",
1705
  "operator_def_elem", "operator_def_arg", "AlterOwnerStmt",
1706
  "CreatePublicationStmt", "opt_publication_for_tables",
1707
  "publication_for_tables", "AlterPublicationStmt",
1708
  "CreateSubscriptionStmt", "publication_name_list",
1709
  "publication_name_item", "AlterSubscriptionStmt", "DropSubscriptionStmt",
1710
  "RuleStmt", "RuleActionList", "RuleActionMulti", "RuleActionStmt",
1711
  "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
1712
  "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
1713
  "opt_transaction", "transaction_mode_item", "transaction_mode_list",
1714
  "transaction_mode_list_or_empty", "ViewStmt", "opt_check_option",
1715
  "LoadStmt", "CreatedbStmt", "createdb_opt_list", "createdb_opt_items",
1716
  "createdb_opt_item", "createdb_opt_name", "opt_equal",
1717
  "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
1718
  "drop_option_list", "drop_option", "AlterCollationStmt",
1719
  "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
1720
  "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
1721
  "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
1722
  "VacuumStmt", "vacuum_option_list", "vacuum_option_elem", "AnalyzeStmt",
1723
  "analyze_option_list", "analyze_option_elem", "analyze_keyword",
1724
  "opt_analyze", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list",
1725
  "vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list",
1726
  "ExplainStmt", "ExplainableStmt", "explain_option_list",
1727
  "explain_option_elem", "explain_option_name", "explain_option_arg",
1728
  "PrepareStmt", "prep_type_clause", "PreparableStmt", "ExecuteStmt",
1729
  "execute_param_clause", "DeallocateStmt", "InsertStmt", "insert_target",
1730
  "insert_rest", "override_kind", "insert_column_list",
1731
  "insert_column_item", "opt_on_conflict", "opt_conf_expr",
1732
  "returning_clause", "DeleteStmt", "using_clause", "LockStmt", "opt_lock",
1733
  "lock_type", "opt_nowait", "opt_nowait_or_skip", "UpdateStmt",
1734
  "set_clause_list", "set_clause", "set_target", "set_target_list",
1735
  "DeclareCursorStmt", "cursor_name", "cursor_options", "opt_hold",
1736
  "SelectStmt", "select_with_parens", "select_no_parens", "select_clause",
1737
  "simple_select", "with_clause", "cte_list", "common_table_expr",
1738
  "opt_with_clause", "into_clause", "OptTempTableName", "opt_table",
1739
  "all_or_distinct", "distinct_clause", "opt_all_clause",
1740
  "opt_sort_clause", "sort_clause", "sortby_list", "sortby",
1741
  "select_limit", "opt_select_limit", "limit_clause", "offset_clause",
1742
  "select_limit_value", "select_offset_value", "select_fetch_first_value",
1743
  "I_or_F_const", "row_or_rows", "first_or_next", "group_clause",
1744
  "group_by_list", "group_by_item", "empty_grouping_set", "rollup_clause",
1745
  "cube_clause", "grouping_sets_clause", "having_clause",
1746
  "for_locking_clause", "opt_for_locking_clause", "for_locking_items",
1747
  "for_locking_item", "for_locking_strength", "locked_rels_list",
1748
  "values_clause", "from_clause", "from_list", "table_ref", "joined_table",
1749
  "alias_clause", "opt_alias_clause", "func_alias_clause", "join_type",
1750
  "join_outer", "join_qual", "relation_expr", "relation_expr_list",
1751
  "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
1752
  "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
1753
  "opt_ordinality", "where_clause", "where_or_current_clause",
1754
  "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
1755
  "xmltable", "xmltable_column_list", "xmltable_column_el",
1756
  "xmltable_column_option_list", "xmltable_column_option_el",
1757
  "xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds",
1758
  "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
1759
  "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
1760
  "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
1761
  "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
1762
  "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
1763
  "a_expr", "b_expr", "c_expr", "func_application", "func_expr",
1764
  "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
1765
  "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
1766
  "xml_attribute_el", "document_or_content", "xml_whitespace_option",
1767
  "xmlexists_argument", "within_group_clause", "filter_clause",
1768
  "window_clause", "window_definition_list", "window_definition",
1769
  "over_clause", "window_specification", "opt_existing_window_name",
1770
  "opt_partition_clause", "opt_frame_clause", "frame_extent",
1771
  "frame_bound", "opt_window_exclusion_clause", "row", "explicit_row",
1772
  "implicit_row", "sub_type", "all_Op", "MathOp", "qual_Op", "qual_all_Op",
1773
  "subquery_Op", "expr_list", "func_arg_list", "func_arg_expr",
1774
  "type_list", "array_expr", "array_expr_list", "extract_list",
1775
  "extract_arg", "overlay_list", "overlay_placing", "position_list",
1776
  "substr_list", "substr_from", "substr_for", "trim_list", "in_expr",
1777
  "case_expr", "when_clause_list", "when_clause", "case_default",
1778
  "case_arg", "columnref", "indirection_el", "opt_slice_bound",
1779
  "indirection", "opt_indirection", "opt_asymmetric", "opt_target_list",
1780
  "target_list", "target_el", "qualified_name_list", "qualified_name",
1781
  "name_list", "name", "database_name", "access_method", "attr_name",
1782
  "index_name", "file_name", "func_name", "AexprConst", "Iconst", "Sconst",
1783
  "SignedIconst", "Oid", "RoleId", "RoleSpec", "role_list", "ColId",
1784
  "type_function_name", "NonReservedWord", "ColLabel",
1785
  "unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
1786
  "reserved_keyword", YY_NULLPTR
1787
};
1788
#endif
1789
1790
# ifdef YYPRINT
1791
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
1792
   (internal) symbol number NUM (which must be that of a token).  */
1793
static const yytype_uint16 yytoknum[] =
1794
{
1795
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1796
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1797
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1798
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1799
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1800
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1801
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1802
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1803
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1804
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1805
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1806
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1807
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1808
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1809
     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1810
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1811
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1812
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1813
     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1814
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1815
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1816
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1817
     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1818
     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1819
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1820
     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1821
     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
1822
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
1823
     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1824
     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
1825
     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
1826
     565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
1827
     575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
1828
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
1829
     595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1830
     605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
1831
     615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
1832
     625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
1833
     635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
1834
     645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
1835
     655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
1836
     665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
1837
     675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
1838
     685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
1839
     695,   696,   697,   698,   699,   700,   701,   702,   703,   704,
1840
     705,   706,   707,   708,   709,   710,   711,   712,   713,   714,
1841
     715,   716,   717,   718,   719,   720,   721,   722,   723,    60,
1842
      62,    61,   724,   725,   726,    43,    45,    42,    47,    37,
1843
      94,   727,    91,    93,    40,    41,    46,    59,    44,    58
1844
};
1845
# endif
1846
1847
#define YYPACT_NINF -4737
1848
1849
#define yypact_value_is_default(Yystate) \
1850
19.4M
  (!!((Yystate) == (-4737)))
1851
1852
#define YYTABLE_NINF -2697
1853
1854
#define yytable_value_is_error(Yytable_value) \
1855
76.4k
  (!!((Yytable_value) == (-2697)))
1856
1857
  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1858
     STATE-NUM.  */
1859
static const int yypact[] =
1860
{
1861
    5651,  1271, 18922, -4737, -4737,   799,  1271, 61883, -4737, 69754,
1862
     587,   797,  1200,   259, 18087, 70217, 77625,   223,   344, 15782,
1863
    1271, 77625,  1032, 53086, 66976,  1039, 77625,  1273,   940, 53086,
1864
   77625, 78088,  1099,  1222,   754, 78551, 70680, 65587,  1231, 77625,
1865
    1284,  1405, 79014, 71143,  1085, 71606,   940, 49406,   330,  1078,
1866
   79477, 77625,  1999,  1809,  1391, -4737, -4737, -4737, -4737, -4737,
1867
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1868
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1869
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1870
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1871
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1872
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1873
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1874
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1875
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1876
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1877
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1878
   -4737, -4737,     1, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1879
   -4737, -4737, -4737,  1556, -4737,   884,  1957,  1478,   767,  1397,
1880
   -4737, -4737, -4737, 61883, 77625, 77625, 77625,  1617, 77625,  1527,
1881
   77625,   816, 61883, 57716, 72069,  1699,  1553, 45612, 79940, -4737,
1882
   61883, 77625, 55864, 61883, 77625, 77625, 80403, 77625, 77625, 77625,
1883
    1432, 68365, 77625, 77625,  1696, 77625, 77625, 56327, 80866,  1786,
1884
     306,  1518,   229, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1885
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1886
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1887
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1888
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1889
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1890
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1891
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1892
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1893
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1894
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1895
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1896
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1897
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1898
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1899
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1900
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1901
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1902
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1903
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1904
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1905
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1906
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1907
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1908
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1909
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1910
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1911
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1912
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1913
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1914
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1915
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1916
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1917
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1918
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1919
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1920
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1921
   -4737, -4737, -4737, -4737, -4737,  1595,   -27, -4737,   250, -4737,
1922
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, 77625, 16194,
1923
    1273, -4737, -4737,  1999, 77625,  1857, 61883, 77625,  1623, 81329,
1924
    1749, 77625, -4737, 77625,  1782, 81792,   827,  1694, 57716,  1848,
1925
   46090,  1884, 77625, 77625, 57716, 82255, 82718, 83181, 77625, 77625,
1926
   77625, -4737, -4737,  1870, 77625, 77625, -4737,  1997, 58179,    65,
1927
    2007,  2170,  2075,  1817, -4737, 72532, -4737, -4737, -4737, -4737,
1928
   -4737, -4737, -4737, -4737, 60957,   344, -4737, -4737,  2068, 62346,
1929
   77625,  2106, -4737, -4737, 83644,100705,  1917, -4737,   874, 62809,
1930
   58642,  2265,  1967, 46568,  2331, -4737, 63272, -4737, 59105, 63735,
1931
   -4737, -4737, -4737, -4737, -4737, 84107, -4737, -4737, 84570,  2078,
1932
    2106, -4737,101154, 59568, -4737,  2204, 85033, 85496, 85959, -4737,
1933
    1950,  1525,  1106, 41384, -4737, -4737, -4737,   587, -4737, -4737,
1934
   -4737, -4737, -4737, -4737, -4737, -4737,   306,  1678,   227,   217,
1935
     281, -4737, -4737,   218,   220,   228,   306,  2434,  2434, -4737,
1936
   77625, -4737, -4737,  1678,    47,  1968,  1968,  1968,  2234,     2,
1937
   -4737,  1968,  2179, -4737, -4737, -4737, -4737, 71606, -4737,  2065,
1938
    1273,  2090,  2495,  2120, -4737, -4737, -4737, -4737, -4737,  2155,
1939
   77625, 77625, 77625, -4737, -4737,  2561,  2140,  2412,  2128, -4737,
1940
   -4737, -4737,  2348,  2358,  2362,   166,  1273,  2236, -4737,  2481,
1941
   -4737,  2376, 27583, 27583,  1273, 72995, 86422,   225, 60957,  1273,
1942
   73458,  2190,  1493,  2385, -4737, -4737, -4737,   770, -4737,  2620,
1943
    2210,  2462,  2128,  1518, 42785, -4737,  2212,   -27, 71606, -4737,
1944
   -4737, -4737,   329,  2517, 29511, 77625,  2207, -4737,  2217,  2207,
1945
    2221,  2227,  1478, -4737,  5651,  2281, 77625,  1437,  1437,  2671,
1946
    1437,  1878,  1900, -4737,  2654, -4737,  2568,  2516, 71606,  2250,
1947
    1327,  2286,  1978,  2256,  1585,  1484, -4737, -4737,   936, 77625,
1948
     409,  2309, 73921,  2171,  2287,   -27,  2288, -4737, -4737, -4737,
1949
    2438,   404, -4737, -4737, -4737, -4737,  2587,  2628,  7220,   318,
1950
   74384, -4737, -4737, -4737, -4737, 77625, 77625, -4737, -4737, -4737,
1951
   -4737, -4737, -4737, -4737, -4737, -4737,  2294,  1296, -4737, -4737,
1952
    2301,  2645,  2522,  3634,  1323,  2609,  2473,  1092,  6009,  2528,
1953
     782,  2660,  7341,  1265,  1822,  1445, 74847, 77625,  2622,  2665,
1954
    6897,  1325,  1953,   858,  2544,  1101,  2609,  2669,  2507,  1092,
1955
    2690,  6553, 77625,  1291, -4737, -4737, -4737,  2610,  2734,    97,
1956
   -4737,   288, -4737, 22371, 29511, 48943, -4737,   -27,  2426,  2592,
1957
     773,  2617, 61883,  2382, -4737, -4737, 77625, -4737, -4737,101603,
1958
    2483, -4737,   882, 61883, -4737,  2603,  2443, 47046, 77625, 61883,
1959
   -4737, -4737, 61883, 77625, -4737, -4737, -4737, -4737, -4737, -4737,
1960
   -4737, -4737,  2539,  2733, 77625,101603, -4737,  2681, 77625, 77625,
1961
   -4737,  2428, -4737, -4737, -4737, -4737,  1968, 77625,  2427,  2848,
1962
  101603,  2662,   141, 77625,   924,  2886, 77625,  2677,   924,  2488,
1963
   86885, -4737, -4737,   924, -4737, -4737, -4737, 77625, 77625,  2445,
1964
    1535,  2668,  2782,   924,  2693,  2903,  2920,  2706,  2556,  2712,
1965
    2217,  2890,  2682,  2694,   885,  1116,   197,  1709,   924,  2547,
1966
   87348, 87811, 77625,  2549, 77625,   313, 61883, 61883, 77625,  2817,
1967
   -4737,  2699, -4737, -4737,  1448, -4737, -4737, -4737, -4737, -4737,
1968
    2854, -4737,   177,   258,  2868,  2533,  2870,  1713, -4737, -4737,
1969
    2597, -4737,  2597,  2597,  2560,  2560,  2724,  2569,  2885, -4737,
1970
   -4737, -4737,  1681,  2597,  2560, -4737,102501, -4737,  1657,  1803,
1971
   -4737,   239, -4737,  3012, -4737, -4737, -4737, -4737, -4737, -4737,
1972
   -4737, -4737,  2581, -4737,   795,  1797, -4737, -4737,  2627, -4737,
1973
    2904,   304, -4737,  2921, -4737,  2589, 88274, -4737, 88737, 89200,
1974
    2939,   320, -4737, 57716,  2941,   304,  2947,  2589,  2954,   304,
1975
    2962,   258,  2982, -4737,  1045,  2979,  2999,   239,  3007,  1829,
1976
    2589, 61420,  3008,   331, -4737,  3027,   338, -4737,  3030,  2913,
1977
   29511, -4737,  2799, -4737,  1078, -4737,  1659, -4737, 52160, -4737,
1978
    1106,  1678, -4737, 77625,  1678, 77625,  1678, 77625,  1678, 77625,
1979
    1678, 77625, 77625, 77625,  1678, -4737, -4737, -4737, 77625,  2708,
1980
   77625, 77625, -4737, -4737, -4737, 67439, 57716, 67902, -4737, 77625,
1981
   -4737,   147,  1273, -4737, -4737,101603,  3167, 57716,   823, -4737,
1982
    1790, -4737, -4737, -4737, -4737, -4737, -4737,  2977, 77625,  3044,
1983
    3046, 67439, 57716, -4737, 89663, 60957,  2935,  2730, -4737, -4737,
1984
   -4737, -4737, -4737,  1813,  3210,   207,  3212, 29511,  2740,   207,
1985
     207,  2742,  3068, -4737, -4737, -4737,   263,  2745,  2750, -4737,
1986
     211,   211, -4737,  2751,  2752, -4737,   234,  2753,  2755,  3235,
1987
    3237,   277,  2759,  2760,  2767,  1681,   207, 29511, -4737,  2768,
1988
     211,  2772,  2773,  2776,  3256,  2780, -4737,  3260,  2783,   265,
1989
     269,  2786,  2787, -4737,  2751, -4737,   280,  2788,  2789,  2793,
1990
    2794,  2796,  2802,  2803,  2804, 29511, 29511, 29511, -4737, 26137,
1991
     -27,  1273, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
1992
     282,  4480, -4737,  2820, -4737, -4737,  3004, -4737, -4737, 29511,
1993
   -4737, -4737,   717, -4737,   283, -4737, -4737, -4737,   -27,  3080,
1994
    2805, -4737, -4737,   323,  2806, -4737,  1894, -4737, -4737, -4737,
1995
   -4737, -4737, -4737, 60031,  3257, -4737,   325,  1273,   288,  1496,
1996
    3194, 51234, 51697, -4737, -4737,  3070, -4737, 77625, -4737, -4737,
1997
     -27,   274, -4737, -4737, -4737, -4737,  1800, -4737, -4737, -4737,
1998
     587, 15409,  1844,  2207, 77625, 77625,  3264, -4737, -4737, -4737,
1999
   -4737,  1856, -4737, -4737,  2814, -4737,  2217, -4737, -4737,  1478,
2000
    1478, 29511,  1478,   270,  1534, 28065, 29993,  3141,  3034,  1293,
2001
    1568,  3145, -4737,  3042,  1878,  1900, 71606, 77625, 90126,  2951,
2002
   29511,  2910,  2915,  2969, 50332, -4737,  2916,  2884,  2923,  2976,
2003
   54012,  2841,  2925,  2926,  2983, -4737, -4737,  3104, -4737, -4737,
2004
    2930,  2932, 90589, -4737, -4737,   979, -4737, -4737, -4737,   979,
2005
   -4737,  2865,  1451,   271,  1136,  2934,   387,   993,  3252, -4737,
2006
    1279, -4737, -4737,  2993, -4737,  6505, 77625,  3193,  7696,  3071,
2007
     318,  3072,  2994, -4737, -4737,  3124,  2945, 77625,  2946,  3089,
2008
     318,   310, 91052, -4737, -4737, -4737, -4737, -4737, -4737,  5254,
2009
   25239, -4737,  1702,  2950,  2929,  2964, 77625, 64661,  1420,  3062,
2010
    3085,  3086,  1372,  1893,   215,  3021, 77625,  1597,  3095, 77625,
2011
    2881,  2966,  2967,  3184,  2887,  2003,  3290,  2891, -4737, -4737,
2012
   -4737, -4737,  2008,  2101,  3088, -4737,  3190,  3233,  6561,  2956,
2013
    2957, 99358, -4737,  2981,    56, 47524, 77625, 77625,  3114,  2989,
2014
    2990, 91515,  5254,  3006,  3013,  2997,  3000,    33,  3294,  1536,
2015
    3001, -4737, -4737, -4737,  1536,  3133,  3005,  3009, 91978,  5254,
2016
   77625,  3011,  3014, 77625,102501,   318, -4737,  3353,   318,   318,
2017
    1629,  3355,  3015,   370,  3162,  1746,   924,  2891,  2186, -4737,
2018
    3016,  3017,   312, -4737,  3134,  3018,  3019,  3069,  1273, -4737,
2019
   -4737,  3023,  3103,  3024,   599, -4737, -4737,  1153,  3038, 71606,
2020
    3130,  3139,   210,  1995,  2891, -4737,  3031,  3032,  3033,  3035,
2021
    2887,  2887, 77625, 77625, 77625, 77625, 77625,   252,  3395,  3398,
2022
    3039,   380,  3094,  2958, -4737,  1536, 56790,  3041, -4737,  1536,
2023
   77625,  3045,  2209,  2891,  1586,  3438,   306,  3132,  1530, -4737,
2024
   -4737, -4737,  1518, -4737, 29511, 29511, 29511,  2968, -4737,  2260,
2025
   15409,   705, -4737,   286,  7867,  2960, -4737, -4737, -4737, -4737,
2026
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2027
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2028
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2029
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2030
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2031
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2032
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2033
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2034
   -4737, -4737, 77625, -4737, 77625, -4737,  3239,101603,  3181,  3243,
2035
   -4737,  3010, -4737,  3244,   318, -4737, 77625, 77625,  3246,  3189,
2036
    3251,  3258,  3198,  1115,101603,  3199,  3265, -4737,  3266,  3267,
2037
    3078,  3037,  3074, 50783, -4737,  2445,  3022,  3448,  3336, 77625,
2038
   54012, -4737,  3461,   979, -4737,101603,  3215,  3344, -4737, 77625,
2039
    3245,    71, -4737,  3387,  3079, -4737, -4737,    78, 77625,   241,
2040
    3059, -4737, -4737,  3359, 57716,   337,  3360,  1273,  3073,  3361,
2041
    3240,  1273, 57716,  3067, 57716,  3280, 77625, 77625, 77625, 77625,
2042
   -4737, -4737,  3247,   805,   301, -4737, 56790,  3262, -4737, 77625,
2043
    3263,  2186,  3273,  3481,    75,  1968, 92441,  3358, -4737, -4737,
2044
   92904,  3040,  3040,  3488,101603,  3307, -4737,  1888, -4737,  3177,
2045
   -4737, 61883, -4737, -4737, 61883, -4737, -4737, -4737,101603, 77625,
2046
    3048, -4737,  3060, -4737, -4737, 29511, -4737, -4737, -4737,  2434,
2047
   -4737,101603,  2597,  2597, -4737, -4737,  3511,  3148,  3149,  2434,
2048
   -4737,  2434, -4737,101603, -4737,  3075,  3077,  2434,  3151,  3152,
2049
    3158, -4737,  3081,  3159,  2434, -4737, -4737,  1877, -4737, -4737,
2050
   61883, 61883, -4737, 57716, 57716,  3403,   331,  3415,  3143,  3419,
2051
    3153, 47524, 47524, -4737,   355, 61883, -4737, 57716, 61883, -4737,
2052
   77625, -4737, 77625, -4737, -4737, -4737, -4737,101603,101603, -4737,
2053
   57716, 56790,  3426,  3434,   258, 77625, 77625, -4737, 77625, 77625,
2054
   -4737, 77625, 77625,  1869, 93367,  1106, 60494, -4737, -4737, -4737,
2055
   -4737, -4737, -4737, -4737, -4737, 77625, -4737, 77625, -4737, 77625,
2056
   -4737, 77625, -4737, 77625, -4737, -4737, -4737, 77625, -4737, 77625,
2057
    1885, -4737, -4737,  1895,  1472, 77625, 77625,   216, 61883, 77625,
2058
    3316, 61883, 61883, 77625, 77625, 77625, 77625, 77625, 77625,  3182,
2059
    2806,  1303, -4737,  1348,  1048, 71606,  3322, -4737, -4737,  1896,
2060
    1999,    17, -4737, -4737, 77625,  1350,  2155, -4737, -4737, 67902,
2061
   66976,  3422,   356, 77625, -4737, -4737,  4625, 29511,   -27, 27101,
2062
   -4737, -4737, 15409,  3147, 29511, 29511,  3107,  2434,  2434, -4737,
2063
    1062, 29511, 29511, 29511,  2434,  2434,  7083, 29511, 47524, 29511,
2064
   34813, 23337, 29511, 29511, 26619, -4737, 29511,  3345, 36247, 29511,
2065
    1496,  3348, 29511,  1496,  7083,  3581,  3581,  2337,  6294,  3109,
2066
     -27, -4737,  2434,   835, -4737,   279,101603, 29511, 29511, 29511,
2067
   29511, 54012,  3197,   236, 77625, 29511,  3116,  1688, -4737, 29511,
2068
   -4737,  3119, 29511,  3203,   912, 29511, 29511, 29511, 29511, 29511,
2069
   29511, 29511, 29511, 29511, -4737, 37648,   454,  3433,  3456,   593,
2070
     421, 75310, 27583,  3451, 22371, -4737,   224,  3451, -4737, -4737,
2071
   -4737, 77625,  3257, -4737, -4737,  3208, -4737, -4737, -4737, -4737,
2072
   -4737,   290, -4737, -4737, -4737, -4737, -4737, -4737, -4737,  3129,
2073
   -4737, -4737, -4737, -4737,  3129, -4737,  3137,  3435,  3440,   258,
2074
   77625,   329,  2273, -4737, 29511, -4737,  1901,  3144, 77625,  2281,
2075
   77625, -4737,  3417, -4737,  3150, -4737, 12560,  3417, -4737, -4737,
2076
   35289,  3269,  3411,  3357, -4737, -4737, -4737,  3155, 15409, 30475,
2077
   30475, -4737,  2125, 15409,  2152, -4737, -4737, -4737, -4737, -4737,
2078
   -4737,  1069, -4737, 77625,   790,  3141,  1568,  3211,   755,  3594,
2079
   77625, -4737, 43252,  1930, 57716, 77625, 77625,  3362, -4737,  3585,
2080
   -4737,102501, -4737,  3156, -4737,102052, 97997, -4737, -4737,    86,
2081
   -4737,   815, 57716, -4737, 77625, 77625, -4737, 54012, 57716, 77625,
2082
   77625, -4737, 57716, 77625, 77625, -4737, -4737, -4737, -4737, -4737,
2083
   52623,  1097, 66976,  3293, 66050, -4737, -4737,  3164, 77625,  3223,
2084
    3436,  3439,    -1, -4737, -4737, 93830, -4737,  3388, 57716, 77625,
2085
   77625, 29511,  3393, 77625, 77625, -4737,   554,  3254,  3259, -4737,
2086
   77625,  3270,  3418, 61883,  3179, 77625, 77625,101603,  3253,   896,
2087
   61883,  3227, 48002, 61883, 61883, 77625, 77625, 77625, 77625,  3318,
2088
    3509,101603, 77625,  3453,   179, 71606,   181,  2559,  2891,  3409,
2089
   -4737,  3524,  1036, -4737, 57716, -4737, 77625,  3402, -4737, -4737,
2090
   -4737, 75773,  3639,  3314, -4737, -4737, 94293, -4737, -4737, -4737,
2091
    1938, -4737, 57716, 57716, 77625,  8043, 94756,  1102,  3429, -4737,
2092
   -4737,101603, -4737, 77625, 76236, 77625, 77625,  3539,  3466, 77625,
2093
   68828, 95219, 95682,   740,  1274,  3467, 77625, 69291,  3468, -4737,
2094
    3352, 77625, -4737, -4737, 54475, 57716, 77625,   865, 54012, -4737,
2095
   -4737, 77625, -4737,  3425,   328, -4737, 77625,  8639, -4737, -4737,
2096
    3295,  3304, 77625,  3428,   242,  2658,  2891, 77625, 77625,  3214,
2097
    1947, 57716, 77625, 54012, -4737,  3431,   803,  3549, 57716, 77625,
2098
   75773, -4737, 71606, 71606, 57716, 77625, 71606, -4737, 77625, 86422,
2099
   -4737, 57716,   385, -4737,  3560, 57716, 77625, 75773, -4737,  3390,
2100
   57716, 77625, 16833, -4737, -4737, -4737,   318, -4737, -4737, -4737,
2101
   -4737, -4737, 77625, 77625,   318, 77625, 77625,   318,  1290, -4737,
2102
   57716, 77625, -4737, -4737, -4737, 57716, 77625, 77625, -4737, 57716,
2103
    3059, 77625, 54012, -4737, 77625,  7975, 77625, 77625, 77625, 77625,
2104
   77625, 77625, 57716, 77625, 57716, 77625, -4737, -4737,  1128,  1077,
2105
    1512,  1529,   791, 77625,  3531, 77625, 96145, 57716, 77625, 77625,
2106
    1273, 77625,  1399, -4737, -4737,  3363, -4737, 57716,   385, -4737,
2107
    8192, 77625, 77625,  3315,  3319, -4737, -4737,  3320,   198,  3404,
2108
   -4737, -4737, -4737,   736,   736,  3444, -4737, 29511, 29511, 28547,
2109
    3272, -4737, -4737, 29511, -4737, -4737, -4737,   901,  3689, 96608,
2110
     901, -4737,   901,  3513,  3302,  3303,   901, 77625,   901,   901,
2111
   77625, -4737, -4737, -4737, -4737,  3512, 77625,   901,   901,   901,
2112
    3420,  3465,   187,  3547,  3271,  1977, -4737, -4737, 29511,101603,
2113
   77625, -4737,  2000, -4737,  3278,   805, -4737, -4737, 54012, 77625,
2114
     430,   834,  3602,  3483, 65124,  2889,  3592, 77625,  3317, 77625,
2115
    3719,  3367, 71606,  2445, -4737,  2889, 77625, -4737,  2508, 66976,
2116
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, 77625, -4737, -4737,
2117
    3599, 77625, 29511,  3452, -4737,  2887,  3370, -4737,  1273,  3067,
2118
    2445,  2445,  2445,  2445, -4737, -4737, -4737, -4737,  3498,   185,
2119
   -4737,  3283,  2445, 77625,  3413,  3620,  2889,  3287,  3624, -4737,
2120
    2186,  3627,  1310, 77625,  3508, 65124,  1969,  3067,  3520,  3744,
2121
    1968,  1273,  3522,  3510, -4737, 25688,  5654,  6233,  3515,  3568,
2122
   60957,  3608,  3609,  3631, -4737,   177, -4737,  3758,  1713,  3635,
2123
   29511,  2006,  3310,   239, -4737, -4737,  3321,  3077,  3332,  3333,
2124
    3323,  3324, -4737,  2434,   256,  3325,   891,   990,  3449,  2434,
2125
    3553,  3326, -4737,   304, -4737,  2589, -4737, 77625, -4737, 77625,
2126
   77625, 77625, 77625,   320, -4737, -4737,   304,  2589,   304,   258,
2127
   -4737,  3587,   239,  2589,  3450,  3652, 60957, -4737,   331, -4737,
2128
     338, -4737,  3540,   258, -4737,  3557,  1968, -4737, -4737, -4737,
2129
   -4737, -4737, -4737, -4737, -4737,  2024, -4737, 77625, -4737,  3626,
2130
    3628,  3633,  3636,  3637,  3329,  3337,  3375, 77625,  3341,  3329,
2131
     318,  3341,  3341,  3329,  2806,  2806,  3329,  3329,  3337, 57253,
2132
    3809,  3662, -4737,  3432,  3354,  3674,   189, -4737,   194,    80,
2133
    3595, -4737, -4737, -4737, -4737,101603, -4737, 57716,  3396, 77625,
2134
   77625, -4737,   299,  3569,  3356, 57253,  3789,   258, -4737, 61883,
2135
   -4737, -4737,101603,  3437,  3459, 61883,  3579,  3416, 61883, -4737,
2136
   -4737, 61883, -4737, -4737, -4737, -4737, -4737,101603, -4737,  3638,
2137
   77625, 77625,  2040, -4737, -4737,  1646, -4737,  1654, 29511,   451,
2138
   -4737, 13379,  2048, 29511,  3364,  3368, -4737, -4737, -4737, -4737,
2139
   -4737, -4737, -4737,  3373,  3690, -4737,  2049,  2053,  2058,  3376,
2140
    3377,  2656,  3378, 13586,  3379,  3381, 34813, 34813, 26137,  2621,
2141
   -4737, 34813,  3383,  3575,  2062, 12860,  3385,  3384, 13926, 29029,
2142
   29511, 29029, 29029, 13964,  3385,  3394,  2063, 54012,  3572, 14271,
2143
    2072, -4737, 29511, 54012,  5383, 29511, -4737, 29511,  3400, -4737,
2144
   -4737,  3020,  3020,  3020,  7083, -4737,  3421, -4737, 34813, 34813,
2145
   -4737,  2579, 26137, -4737, -4737,  3713, -4737, -4737,  1852, -4737,
2146
    3397, -4737, -4737,  3201, 47524,  5709, 29511,   245, 29511,  3116,
2147
   29511,  3477,  3020,  3020,  3020,   438,   438,   240,   240,   240,
2148
    1653,   421, -4737, -4737, -4737,  3399,  3405,  3406,  3603,  3412,
2149
   29511, -4737,  2050,  2061, 77625,  3160,  4153,  4822, -4737, -4737,
2150
   -4737, 38582,  3446,   705,  3446, -4737,  1518,  2434,   835, 52160,
2151
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, 77625, 15409, -4737,
2152
    1999, -4737, -4737, -4737, 29511, -4737, -4737,  2304,  3430,    59,
2153
    3625,  2151,  2151,  2125,  3630, -4737, -4737,  3482, -4737, 29511,
2154
    2173, -4737,  2220, -4737, -4737, -4737, -4737,  2806, -4737,  3669,
2155
   -4737, -4737, -4737, 38582,  3470,  3475,    61, 42318,  3641, -4737,
2156
   77625, -4737, 77625,   309, -4737,  3442, -4737, -4737, -4737, -4737,
2157
   -4737, -4737, 97997,  1797, -4737,102052, -4737,102052, -4737,  1797,
2158
    3854, -4737, 97997,  1675, -4737, -4737, -4737, -4737, -4737, -4737,
2159
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, 57716, 57716,  3643,
2160
   77625,  3644,  3649, 29511,   938, 77625,  3447,  3455,  1249,  3716,
2161
   77625, -4737,  3769,   258, -4737, -4737,  3523, -4737, 15409, -4737,
2162
   -4737, -4737, -4737, -4737, 57716, 77625, -4737, 60957, -4737, 77625,
2163
   -4737,101603, -4737, -4737, -4737, 77625,  3493, 77625, -4737, 77625,
2164
   77625, 77625, -4737, -4737, -4737, -4737, -4737, -4737, -4737,  1212,
2165
  101603, -4737, -4737, 77625, 77625,   149,  3527,  3529, 77625, -4737,
2166
     881,  3134,  8229, 77625, 77625, 77625,  3741, 77625, -4737, -4737,
2167
   -4737, -4737,  3683, -4737, -4737, 97997, -4737,  2589,   159,  3544,
2168
    2891,  3691, -4737,  3800,  3679, -4737,  3591,  1076, -4737, -4737,
2169
   77625,  3605, -4737, -4737, -4737, -4737,  3810,   258,  3812,   258,
2170
   77625, 77625, 77625, 77625,  3607, -4737, -4737, -4737, -4737,  3610,
2171
    3738, -4737, 54012, 54012, 54012,  2074, -4737, -4737,  1273, -4737,
2172
   -4737, -4737, -4737, -4737, -4737,  3776, -4737,  2087, -4737,   -17,
2173
   -4737, -4737, -4737, -4737, -4737, -4737, 57716, 77625,  8578,  3821,
2174
   77625, 77625, 77625,  1847, -4737,  1364,101603, -4737, 99807, -4737,
2175
   -4737,  2093, -4737,  3503, 77625,  3573, 57716,  3554, 77625, -4737,
2176
   -4737, -4737,  3487,  3487, -4737, -4737,  3487, -4737, -4737, -4737,
2177
    3751,  3694, -4737,   982,  3695, 57716,  3562, -4737, 77625, -4737,
2178
   -4737, -4737,  3584, -4737, -4737,  3588,  2701,  2891,  2186, -4737,
2179
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2180
   -4737, -4737, -4737, -4737,  1359, -4737, -4737,   871,   238,  2735,
2181
    2891, -4737,   321, -4737,  3589, -4737,  3597, -4737, -4737, -4737,
2182
   -4737, -4737,  3764,  3766,  3768,  3606,  3613,  3661,  3614,  3615,
2183
    3663, -4737,  3616,  3664,  3617,  3666,  3749,  3621,   258,101603,
2184
    3765,  1273,  3665,  3878,   258, -4737,  3629, -4737,  3642, -4737,
2185
    3985, -4737, 77625, -4737,  3645,  2736,  2891, -4737, -4737, 57716,
2186
   77625,  2151, -4737, -4737, -4737, 29511,  3543,  3545,  3546, 15409,
2187
   15409, 29511, -4737, -4737, 15409,  3550, -4737, -4737, -4737,101603,
2188
   77625,  3817, -4737, -4737,   901, 77625, 77625, -4737,  3822, -4737,
2189
   -4737,  3824, 77625,  3825, -4737, -4737, -4737, -4737,   502, -4737,
2190
   -4737, -4737,  3420,  3864, 44656, -4737,  4044,  6593,  3564,   398,
2191
   -4737, 54012, 44656,  1891,  1981,   446,   924, -4737, 60957, 77625,
2192
   60957, -4737,   834,  3679, 77625, 77625, 77625,  3565,  3563, -4737,
2193
   -4737, -4737, -4737, 57716,   719, 57716,  2434, -4737, -4737,  3647,
2194
   -4737, 77625,  1968,  4049,  3893, -4737,  3487, -4737,  4012,  2920,
2195
     337,  3727,  1621,  2556,  3951,  2217,   348, 54012, -4737, 77625,
2196
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, 77625, 77625,   805,
2197
    1273, -4737,  3576,  3574, -4737, 77625,  3903, 77625, 77625, 77625,
2198
   77625,  3396,  3580, 77625,  3582,101603,   116,  3795,  3796,  4033,
2199
    3922,  1999,  3067,  3670,  3924, 71606, -4737,  2104,   136, -4737,
2200
    1273, 60957, 98446,  3915, -4737,  6233, -4737, -4737,  6233,   957,
2201
   77625,  3899, -4737, -4737,  1999, -4737,101603,  3593, -4737,  2108,
2202
   -4737,  2112, -4737, -4737, -4737,  2434, -4737, -4737,  1550,  1550,
2203
    3596, -4737,  3598, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2204
    3600, -4737, -4737, -4737,   331,  3654,   258,  3656,   258, -4737,
2205
   -4737, -4737, -4737, 77625, -4737, 77625, 56790,   258, -4737, -4737,
2206
   77625, -4737,  3930, -4737, -4737,  3736,  3737,  3740,  3742,  3743,
2207
   77625,  3329, -4737,  3604, 57716,  1383, -4737, -4737,  3815, -4737,
2208
   -4737, 71606,  3731, -4737, -4737, -4737, -4737,  3948,  3952, -4737,
2209
   -4737, -4737,   295, -4737, -4737, -4737, 57716, 67439,   474, 57716,
2210
   -4737,  3885,  3887, -4737, -4737,  3891,   318, -4737,  3892,  3896,
2211
    3897, -4737,  3902,  3906, -4737, -4737, -4737,  3646, 14680, 29511,
2212
   -4737,  3980,101603, -4737,  7162, -4737, -4737, -4737, 29511, -4737,
2213
   -4737, -4737, -4737, -4737, 29511, -4737, 29511,  3955, -4737, 23820,
2214
    4112,  4112,  3653,101603, 34813, 34813, 34813, 34813,  1658,  2772,
2215
   34813, 34813, 34813, 34813, 34813, 34813, 34813, 34813, 34813, 35771,
2216
     557, -4737,  3844, 29511, 29511,  3973,  3955, -4737,101603,  3657,
2217
    3385,  3658,  3672, 29511, -4737, -4737,  2127, 36714,  3676, 54012,
2218
   -4737, 29511, 13360,  2133,  3710, 14836,   -27,  7808,  1273, 29511,
2219
     635,  2692, 29511,  2135, 29511,  3986, -4737, -4737, -4737,  3671,
2220
   -4737, -4737,101603, 29511,  3677,  3692, 34813, 34813,  3811, -4737,
2221
    4207, 29511, 26137, -4737,  3444,  3708, 43719, -4737, 24303,  3675,
2222
     940,   940,   940,   940, -4737, 77625, 77625, 77625, 39049,  3999,
2223
    3681, 38115, 76699,  3685,  1544, -4737, 76699, 77162, 76699, -4737,
2224
    3706, -4737,   -27, 29511,  4001,  3693,  4001,   288,  3697, -4737,
2225
   -4737, -4737,  3698, -4737,  3696, -4737,  3430,  1400, -4737, -4737,
2226
   -4737,  3910, -4737, -4737, -4737, -4737,  3685, 30957,  3843, -4737,
2227
   -4737, -4737,  3754,  2145, -4737, -4737,  4102,  3843, -4737, -4737,
2228
    2162, 43252,  3470, 29511,   -27,  2163,  1732, -4737, -4737, 97997,
2229
   -4737,  3774,  2589,  2589,  1509,  3329,  4029,  1509,  7931, -4737,
2230
   -4737, 39516, 77625, 39983, -4737, 77625,  2172,  1247, 77625, -4737,
2231
   77625, -4737, -4737, -4737, -4737,  4155, -4737, 77625, -4737, -4737,
2232
    3767,  3770, 77625, 77625, 77625, 77625,  3976, -4737, -4737,  2256,
2233
   -4737, -4737, 57716, 77625, -4737, -4737, -4737,   260,  2766,  2891,
2234
   -4737,  3788, -4737, -4737, -4737,  3993, -4737,  4148,  3816, 77625,
2235
    4055, 77625,  3721, -4737,  1247,  3833,  4042,  1300,  2887,   370,
2236
    4124, -4737,   106, -4737, -4737,  3799, -4737, -4737, 77625, -4737,
2237
   77625, -4737, -4737, -4737, -4737, -4737, -4737, -4737,  3862, -4737,
2238
   -4737, -4737, -4737, 54475, -4737, -4737, 77625, -4737, 54012, 44656,
2239
   54012, -4737,  1050,   291,  2771,  2891, 77625, -4737,  3814, -4737,
2240
    3818,  3819,  3877,   202,  1235,  3823,  3829,  3881,  3748,  3750,
2241
    3752, -4737, 54012, 45134,  3898, 77625,  2589,  3760,  3791, -4737,
2242
     306,  1273, -4737, -4737,  1273,  2589,  1273, -4737, 77625, 77625,
2243
   77625, 54012, -4737,  4180,  3849, 77625, 77625, 77625, 77625, -4737,
2244
    3813, -4737, 77625, 77625,  4088,   212,  1835, 57716, 77625, 77625,
2245
   57716, 77625, 77625, 77625, 77625, 77625, 77625,  4099, 77625, -4737,
2246
    4177,  4103,   426,  4149,  3846, 77625, -4737, 77625,  1273,  3134,
2247
   77625, 77625, -4737, -4737,  3968, -4737, -4737, -4737, -4737,  3444,
2248
   -4737,  3777,  4051,   901, -4737,  4052,  4053,   901,   901,  4054,
2249
     901, -4737, -4737,   924, -4737,   502, 77625, -4737,  3696,  2008,
2250
    2101, -4737, -4737, -4737, -4737, -4737, -4737,  3271, -4737, -4737,
2251
    2019, 77625, -4737, -4737, -4737, 77625,  3783, 77625, 77625, 34813,
2252
   -4737,  1863,   931,  1044, -4737,  4056, 77625,  3059, -4737, -4737,
2253
   -4737,  1204, 77625, -4737, -4737, -4737, -4737, -4737,   683,  3580,
2254
   -4737,  4071, 65124,  2589, 57716, 57716,  2589, -4737,101603,  3786,
2255
    3067, -4737,   824,  3870, 57716,   337,  1117, 97071,  3073,  3826,
2256
    4003, 38582,  1359, -4737,  3790,  3957, -4737,  3797,  3793, -4737,
2257
   -4737, 77625,  3679, 56790,  2177,  2186,  4239,    93,  1950, -4737,
2258
   66513,  3990,  3580,  4071, -4737, -4737, -4737,  4204,  3370,  1999,
2259
   77625,  3396,  3370,  1273, 77625,  3223, -4737, 97997, 29511, 29511,
2260
   -4737,  3804, -4737,  3801,  6233, -4737,  3886,  3806, -4737, -4737,
2261
   -4737, -4737, -4737,  3895,  3820, 77625, -4737,  3827,  3635, -4737,
2262
    3635, -4737,  3828, -4737, -4737, -4737, -4737, -4737, -4737, 77625,
2263
   -4737, 77625, -4737,   258, -4737,  3944, -4737,   258, 77625, 77625,
2264
   77625, 77625, 77625, 77625,  3329,   318, -4737,  4131, 57253, -4737,
2265
   -4737,  2189, 77625, -4737, -4737, -4737,  4196,   356,  4140, -4737,
2266
   -4737,   983,   983,   983,  4094,   983,   983,   983,   983,   983,
2267
   -4737, 29511, 15409, -4737,  3830, -4737, 15409,  8413, 15409,  3973,
2268
   -4737,  2197, 29511, -4737,  3268,  3268,  3268,  1933,  4142, -4737,
2269
    1186,  3832,  3268,  3268,  3268,   473,   473,   199,   199,   199,
2270
    4112,   557, 15409, 15409, -4737, -4737,  3834, -4737, -4737, -4737,
2271
    3385, -4737, 31439,  3989,  4256, -4737, -4737, -4737,  3871,  3879,
2272
    3836, -4737, 29511, 31921,  3835,102501,  4040, -4737,  1436, 29511,
2273
   29511,  5294, -4737, 10896, 29511,101603,  2202,  5294,   489, 29511,
2274
    2720,  3859, 29511, 29511,  4757,  9460,  3841, 29511, 98895, -4737,
2275
   -4737, -4737,  2225, 29511, 77625, 77625, 77625, 77625, -4737, -4737,
2276
   -4737, 76699, 77162, 76699,  3847, 37181, 24771,  1544,  3848, 77625,
2277
   -4737, -4737,  3856, 38582,  4126,  4062, -4737, 38582,  4062,  1640,
2278
    4062,  4132,  3954, 44186, -4737, -4737,  3865, -4737,  4070, -4737,
2279
    1702, 15409,  4297,  4173,  1273,  4173,  1273, -4737, 47524, -4737,
2280
   -4737, -4737, -4737,  4087, 15409, 27583, -4737,  1999,  2762, 77625,
2281
     -27,   822, -4737,  3882, 77625, -4737,  3843, 15409, -4737,  3945,
2282
    2226, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,  3956,
2283
   66976,  4198, -4737, 29511,  2231, -4737,  3921,  4294,   389,  2233,
2284
   29511,  2242, -4737, -4737,  1247, -4737,  4179, -4737,  1322,  4175,
2285
     445, -4737,   258, -4737,101603, -4737, 77625, 77625, -4737, -4737,
2286
   -4737, -4737, 77625,  2841, -4737, -4737, 77625, 77625, 77625, 77625,
2287
   -4737, 57716, 77625, -4737, 77625, -4737, 54012,  1981,   306,  1863,
2288
    4188,  4110, -4737,   318, -4737,  1863,  4111,   306, 77625, -4737,
2289
   -4737,  3866, -4737,101603,   258,   258, -4737, -4737, -4737, -4737,
2290
   -4737,  3904,  4324,  3987, 77625, 77625, 77625, -4737, 77625, 57716,
2291
   77625, 77625,  2434,  2434,101603,  3900, -4737,  2434,  2434,  3905,
2292
   -4737, 57716, 77625, 77625, -4737, -4737, -4737, -4737, -4737, -4737,
2293
   -4737, -4737, -4737, -4737, -4737,  3981, -4737, 29511,  4316, -4737,
2294
   -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737, 57716, 77625,
2295
    3982, -4737,  3983, -4737,   135, -4737, -4737, 77625, 77625, 77625,
2296
   77625,  4243, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -4737,
2297
   -4737, -4737, 77625, -4737, 77625, -4737, -4737,  1273,  1273,101603,
2298
     258,   258, -4737, -4737, -4737, -4737,  4380, -4737,  3909,  4183,
2299
     901, -4737,   901,   901, -4737, -4737,   901, -4737,  3912,   178,
2300
   -4737,  1247,  1542,  4231, -4737,  4236, 29511, -4737,  1088,  1933,
2301
   -4737,  4288,  4368, -4737, -4737, -4737, -4737,  3059,  1968,  3978,
2302
   -4737, -4737, 61883,   379, -4737,  4216,   430,  4145, 65124,   321,
2303
     284,  3931,  4057, -4737,  2589,  2589,  3991, 77625,  4373, -4737,
2304
   -4737, -4737, -4737, -4737, -4737, 57716,  3554, -4737,  4160,   105,
2305
    4257, 77625, 29511,  3685, -4737,  1488,  4261, -4737,  1273, -4737,
2306
   -4737,  4065,  3067, -4737,  1999, 77625,  4157, 65124,  3396,  2258,
2307
   -4737, -4737, -4737,  3984,  4376,  1969, -4737,   321,  3990,   247,
2308
   -4737,  3988,  4392, -4737, -4737,  4266,  4163,  3953, -4737, 15409,
2309
   15409,  1273,102950,  6233,101603,  4278, 77625,   193,  4240,   258,
2310
    2266, -4737, -4737,   258,   258, -4737, 77625, -4737,  3329,  3329,
2311
    3329,  3329,  3329, -4737,  4164, -4737, -4737,  4232, -4737,   258,
2312
   57253, -4737, -4737, -4737, -4737, -4737,   983, -4737, -4737, -4737,
2313
   -4737, -4737, 15409, -4737, -4737, -4737, -4737,  9772, 34813,  4276,
2314
   -4737,  3959,101603, -4737,  3960,  2272,  2274, 36247,  4125, -4737,
2315
   -4737, -4737,  9849,  4015, 15409,  4073,  3964,  3966,  5294,  5294,
2316
   10896,  2300, -4737,  5294, 29511, 29511,  5294,  5294, 29511, -4737,
2317
   -4737, 10080,  4159, -4737, -4737, 10180, -4737, -4737, -4737, -4737,
2318
   -4737, -4737, -4737, 54938,  3969,  3572, 76699,  3970, 77625,  1544,
2319
   38582, -4737, -4737,  2182, -4737, 38582,  4244, -4737, 38582, 61883,
2320
   -4737, 77625,  3971, 77625, -4737, 32403, 29511,  4014, -4737,  4014,
2321
   -4737,  3975, 77625,  2805, -4737,    61, -4737, -4737,  4375, 39983,
2322
    4333, 29511, -4737, -4737, -4737, -4737, 57253,  4191, 57253,  1247,
2323
   10574,  4179, 39516, 48480, 77625, 97534, 97534,  4147, 10574,  2322,
2324
    4179, 39983,  3992,  3059, -4737, -4737, -4737, -4737, -4737, -4737,
2325
    3995, -4737, -4737, -4737, -4737,  4063, -4737, -4737,   821,  3322,
2326
   -4737,  2339, -4737, -4737,  4434,  4323, -4737, -4737, -4737, -4737,
2327
   -4737, -4737,  4177, -4737, -4737, 44656, 57716, 77625, -4737,  4069,
2328
   -4737, -4737, -4737, -4737, -4737, 41851, 47524, -4737,   202,  3997,
2329
    4000,  1235, -4737, -4737, -4737, 77625, 10613,  4002,  1064,  3322,
2330
   77625, 77625,  4005,  4006,  4008,  1446,  1286,  1656,  3329,  4313,
2331
   -4737, -4737, -4737, -4737,  4177, -4737, -4737, -4737,  4310, -4737,
2332
     901, -4737, -4737, -4737, -4737, 54012, -4737,  3640, -4737,   924,
2333
    4356, 61883,  4450,  4450, 77625, -4737, 10745,  4235, -4737, -4737,
2334
    4311,  3978,  4267,  4306, -4737,  4021, 77625,  1204,  4023, 77625,
2335
    4026,  4151,  1440,  1440, 77625, 77625, 77625,  2355,  1999,  2589,
2336
    3791,   337,  4365, 65124,  4407,  3679,   353, -4737, -4737,  1488,
2337
   -4737,   101,  4383,  4077, -4737, 77625,  4484,  3396,  3580, 77625,
2338
    4037, -4737, -4737, 66513,  4246,  1981,103399,  3796,  3990,  1969,
2339
    4181, -4737,  4182,  1295, -4737,  1999, 77625, 71606, 39983, -4737,
2340
  102052, -4737,  2360, -4737, -4737,  4116,  3446,  4152,  4162,  4046,
2341
   77625,   121, -4737, -4737, -4737, -4737, -4737, -4737, 77625, -4737,
2342
     474, -4737, -4737,  4085, 34813,101603,  2375, 29511, -4737, 29511,
2343
   -4737,  4478, -4737, -4737, -4737,   771, -4737, -4737, -4737,  5294,
2344
    5294,  5294, -4737,  4481,  3444, -4737, -4737,  2379,  4501, 33849,
2345
    4461, -4737, 77625,  2386, -4737, 29511,  4058, -4737, -4737, 38582,
2346
    2182,  4059,  2387, 77625,  2391,101603,  4060,    45,  4061, 22854,
2347
    4064, -4737, -4737, -4737, -4737, -4737, 15409, 15409, 77625, -4737,
2348
   -4737, -4737, -4737,  4108, 77625,  2400,   893, 15409,  1383,  1509,
2349
     474,  4294,  3059, -4737,  4066, -4737, -4737, -4737,   376,   376,
2350
   77625,  4371,  3059, -4737, -4737, 77625,  3978, -4737, 77625,  4165,
2351
   -4737, -4737, 54012,  4363, -4737,  4133, -4737,  1082,  3322, 77625,
2352
  101603, -4737,   118,  4397, -4737,101603,101603, -4737, -4737, -4737,
2353
   29511,  4174, -4737, -4737, -4737,   903,   651, 64198, -4737, -4737,
2354
   77625, 77625, 77625, 77625, 77625,   258,  4561, -4737,  2402, -4737,
2355
   40917, -4737, -4737,  2886,  1273,  2886,  1727, -4737, -4737,  2886,
2356
   -4737,  2886, -4737,  3912,  1273,  4450,  1022, -4737, -4737, -4737,
2357
    2166,  4315,  4090, -4737,  1052,  4302,  4184,  4091, -4737, 61883,
2358
    4578,  3580,  4071, 77625, -4737, -4737, -4737, -4737, -4737, -4737,
2359
   -4737, -4737, -4737, -4737,  2413,  3679,  4431,  3067,  3988, -4737,
2360
   77625,  4141, -4737, 38582, -4737, -4737, -4737,  2886, -4737,  1578,
2361
    4107,  4445,  3679,  1999, -4737,  3990,  3580,  4071, -4737, -4737,
2362
   -4737,  4109, -4737,  3370,  1969,  3796, -4737, -4737,  4527,  4320,
2363
    4532,  3396, -4737,  3223,  2440, -4737,  6233,102950,101603,  4471,
2364
    4156,  4158, -4737, -4737,  4176, 77625, -4737, -4737,  3679, -4737,
2365
    4085,  2480, -4737,  2491,  2504,  4287,  4178, -4737, 29511,  1171,
2366
    3706, 54938,  4127, -4737, 34813,  2506, -4737,  3458, 77625,  2511,
2367
   -4737, 15409, 77625, -4737, -4737, 29511, -4737,  2512, -4737, 29511,
2368
    4128, 29511, -4737, 32403,  4122, -4737,  4579,  1999, -4737,  3446,
2369
   -4737,  4260, -4737,  4456, -4737, 97534,  3978, 47524, -4737, -4737,
2370
   -4737,  3430,  3430,  1968, -4737, -4737,  3978,  2513, -4737, -4737,
2371
   77625, -4737,  4090, 29511, -4737,  4230, -4737, -4737,  2526,  1257,
2372
    4307,  4307,  2527,  2541, 10968, 77625, -4737, -4737, -4737, -4737,
2373
   -4737, -4737,  2553, -4737, -4737, -4737, -4737,  2554, -4737,  2562,
2374
    2434,  3337,  1656,  3337, -4737,  3329, -4737, -4737,  4224, -4737,
2375
   -4737, 54012, -4737, 55401, -4737, -4737, -4737,  1273, -4737,  1273,
2376
    4366, 77625, 49869,  1273,  1273, -4737, -4737, -4737, -4737, -4737,
2377
    4496,  4435, -4737,  2186, -4737, -4737, -4737, -4737,   170, -4737,
2378
    4359,  4360, 77625, -4737,  4150, -4737,  2576,   321,  4279,  3679,
2379
   -4737, -4737, 77625,  4602,  4607, -4737,  1066, 77625,  3685, 77625,
2380
   -4737, -4737, -4737, 29511,  1204, -4737,  3988,  1969,   321,  3990,
2381
    1981, 40450,  4272,  3796,  3370,  4370, -4737,  4377, -4737,  4167,
2382
    4458,  6233, -4737, -4737,   343,  4485,  4487, -4737, -4737, -4737,
2383
   -4737, -4737, -4737, -4737, -4737,  3385, 32885, 32885, 32885,  4170,
2384
   -4737, -4737, 77625,  1933,  4168, 33849, 54012,  2578, -4737,100256,
2385
   -4737,  2582,  2586, -4737,  2590, 32403,  2596, -4737, 77625,  4190,
2386
   -4737, -4737, 43252, 57253,   376,  4205,  4172, -4737, -4737,  4267,
2387
   -4737, -4737,  1247,  3322, -4737, 15409, 77625, 61883,  4604, -4737,
2388
   -4737, -4737, -4737, -4737, -4737, -4737,  3322,  4258,   903, -4737,
2389
     651, -4737, 64198, -4737, 77625,  4561, -4737, -4737,  2619, -4737,
2390
   -4737, -4737, 77625,  3790, -4737,  3790, -4737, -4737,  4317, -4737,
2391
    3518,   832,   832,  4540, -4737,  4238, -4737, -4737,  4187, -4737,
2392
    4658,  4309, 77625, -4737, -4737,   202,  1999, 65124,  3679, -4737,
2393
   -4737, 11947, 61883, -4737,  3796,  3990,  1969, 29511,  2623, -4737,
2394
    4294,   389,   184,   146,  3370,  4272, -4737, -4737, 39983,  4194,
2395
    3067, -4737, -4737,  2410, 61883, 61883, 34331,  4332,   921,  9140,
2396
    4523, -4737,  4523,  4523, -4737,  2624, 36247, -4737, -4737, -4737,
2397
   77625,  4400,  1209, -4737,  4361, -4737,  2629, -4737, -4737, -4737,
2398
      -6,   474,  3430,  4206, -4737, -4737,  4302,  1247, -4737,  3322,
2399
   -4737, 77625, -4737,  4211, -4737, -4737, -4737, -4737, -4737, -4737,
2400
   -4737, 55401,  3790,  4077, -4737, -4737,  4667, -4737,   267, -4737,
2401
   -4737, -4737, -4737, 77625,  3679,  3900,  3988, -4737, -4737,  4212,
2402
    3370,  1969,  3796, 11991, -4737, 40450, 77625, 77625,  4259,  2434,
2403
     360, -4737,  4308, 77625, -4737,  4272,   146,  2631, 39516,  3370,
2404
   -4737,  2813, -4737, -4737, -4737, -4737, -4737, -4737, -4737,  4210,
2405
    4214,  4671, -4737, -4737, -4737, -4737, -4737,   977, -4737, -4737,
2406
   -4737, -4737,  3572, -4737, -4737, 34813, 34813,  4436, -4737,  1209,
2407
   -4737,  4220, -4737, -4737, -4737, -4737, -4737, 29511,  1247, -4737,
2408
   -4737, -4737,   903, -4737,  4559, -4737, -4737, -4737,  3679, -4737,
2409
   -4737, 53549,  4272,  3796,  3370,  4294, -4737, -4737, -4737,  4225,
2410
    4314,  4233, -4737, -4737,   146, -4737,  4458, -4737,  2636,  4272,
2411
    1990, -4737, -4737,  2016,  2227,  4312,  4545, 33367,  4378, -4737,
2412
    4439, -4737,  4639,  1933,  1933, -4737, -4737, 29511, 12499,  1247,
2413
    2653,  1204, -4737, -4737,  2655, -4737, -4737, -4737, -4737,   146,
2414
    3370,  4272, 77625,  4241, -4737, -4737, -4737,  3067, -4737, 39516,
2415
     146, -4737,  2813,  4351,  4352, -4737, -4737, -4737, 77625, 12534,
2416
   -4737, -4737, 61883, -4737, 53549, -4737,  4272,   146, -4737,   903,
2417
    2664, -4737,  3370, -4737,  3446, -4737,  4281,  4282,  2666, -4737,
2418
    4247, -4737,   146, -4737,  2688, -4737,  4241,  4272, -4737,  4563,
2419
    4567, -4737, 53549, -4737, -4737, -4737,   146, 61883, 61883,  2689,
2420
    3446, -4737, -4737, -4737, -4737
2421
};
2422
2423
  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2424
     Performed when YYTABLE does not specify something else to do.  Zero
2425
     means the default is an error.  */
2426
static const yytype_uint16 yydefact[] =
2427
{
2428
    1726,  1496,   648,  1588,  1587,     0,  1496,     0,   257,     0,
2429
    1592,     0,  1496,   428,  1172,     0,     0,     0,     0,   648,
2430
    1496,     0,  1726,     0,     0,     0,     0,     0,  1739,     0,
2431
       0,     0,     0,     0,     0,     0,     0,     0,  1496,     0,
2432
       0,  1746,     0,     0,     0,     0,  1739,     0,  1594,     0,
2433
       0,     0,     0,     0,     2,     4,    25,    40,    44,    21,
2434
      20,    56,    35,    14,    41,    83,    82,    84,    28,    93,
2435
      50,    23,   108,    26,    29,   104,   120,   102,    36,    70,
2436
     103,    22,   118,   123,    97,    42,    58,    33,    87,    86,
2437
      94,    88,    95,    89,    96,    90,   100,    98,    99,    91,
2438
      39,    19,   114,    43,    32,    12,   115,   122,    48,    11,
2439
      37,    38,    17,    53,    54,    55,    69,    57,    80,    27,
2440
     130,    62,    64,    76,    63,    75,     9,    65,    24,    34,
2441
      13,    72,    71,    73,    51,    30,    52,   121,   125,   129,
2442
     107,    74,   105,    15,    16,    18,   117,   109,   119,   110,
2443
     124,    77,   128,   126,   131,    79,    85,   127,    45,     8,
2444
       7,    59,     6,   106,    31,    10,   112,   111,   116,   113,
2445
     101,    92,  1592,    61,    68,    60,    46,    66,    49,    67,
2446
      81,    47,    78,  1699,  1698,  1748,  1702,  1725,     0,  1714,
2447
    1495,  1494,  1480,     0,     0,     0,     0,     0,     0,     0,
2448
       0,     0,     0,     0,     0,     0,     0,     0,     0,   647,
2449
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2450
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2451
       0,  1506,  2329,  2344,  2345,  2346,  2347,  2348,  2349,  2350,
2452
    2351,  2352,  2353,  2354,  2355,  2356,  2357,  2358,  2359,  2691,
2453
    2360,  2361,  2362,  2363,  2641,  2642,  2692,  2643,  2644,  2364,
2454
    2365,  2366,  2367,  2368,  2369,  2370,  2371,  2645,  2646,  2372,
2455
    2373,  2374,  2375,  2376,  2647,  2693,  2377,  2378,  2379,  2380,
2456
    2381,  2382,  2694,  2383,  2384,  2385,  2386,  2387,  2388,  2389,
2457
    2390,  2391,  2695,  2392,  2393,  2394,  2696,  2395,  2396,  2397,
2458
    2398,  2399,  2400,  2648,  2649,  2401,  2402,  2403,  2404,  2405,
2459
    2406,  2407,  2408,  2409,  2410,  2411,  2412,  2413,  2414,  2415,
2460
    2416,  2417,  2418,  2419,  2420,  2421,  2422,  2423,  2424,  2425,
2461
    2426,  2427,  2650,  2428,  2429,  2430,  2651,  2431,  2432,  2433,
2462
    2652,  2434,  2435,  2436,  2697,  2698,  2437,  2438,  2439,  2440,
2463
    2441,  2653,  2654,  2442,  2443,  2444,  2445,  2446,  2447,  2448,
2464
    2449,  2699,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,
2465
    2458,  2459,  2460,  2461,  2700,  2655,  2462,  2463,  2464,  2465,
2466
    2656,  2657,  2658,  2466,  2701,  2702,  2467,  2703,  2468,  2469,
2467
    2470,  2471,  2472,  2473,  2659,  2704,  2474,  2705,  2475,  2476,
2468
    2477,  2478,  2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,
2469
    2487,  2488,  2489,  2490,  2491,  2492,  2493,  2660,  2706,  2661,
2470
    2494,  2495,  2496,  2707,  2662,  2497,  2498,  2708,  2499,  2663,
2471
    2500,  2664,  2501,  2502,  2503,  2504,  2505,  2506,  2507,  2508,
2472
    2509,  2510,  2665,  2709,  2511,  2710,  2666,  2512,  2513,  2514,
2473
    2515,  2516,  2517,  2518,  2519,  2520,  2521,  2522,  2667,  2523,
2474
    2668,  2526,  2524,  2525,  2527,  2528,  2529,  2530,  2531,  2532,
2475
    2533,  2534,  2535,  2536,  2669,  2537,  2538,  2539,  2540,  2541,
2476
    2542,  2543,  2544,  2545,  2546,  2547,  2548,  2549,  2550,  2551,
2477
    2552,  2553,  2554,  2711,  2555,  2556,  2557,  2558,  2559,  2670,
2478
    2560,  2561,  2562,  2563,  2564,  2565,  2566,  2567,  2568,  2569,
2479
    2570,  2571,  2572,  2573,  2574,  2575,  2671,  2576,  2577,  2712,
2480
    2578,  2579,  2672,  2580,  2581,  2582,  2583,  2584,  2585,  2586,
2481
    2587,  2588,  2589,  2590,  2591,  2592,  2593,  2673,  2594,  2595,
2482
    2596,  2597,  2598,  2713,  2599,  2600,  2601,  2602,  2603,  2604,
2483
    2605,  2674,  2675,  2606,  2607,  2676,  2608,  2677,  2609,  2610,
2484
    2611,  2612,  2613,  2614,  2615,  2616,  2617,  2618,  2619,  2620,
2485
    2621,  2622,  2623,  2624,  2625,  2678,  2679,  2626,  2714,  2627,
2486
    2628,  2629,  2630,  2631,  2632,  2633,  2634,  2635,  2636,  2637,
2487
    2680,  2681,  2682,  2683,  2684,  2685,  2686,  2687,  2688,  2689,
2488
    2690,  2638,  2639,  2640,   132,     0,     0,  2302,  2330,  2331,
2489
    2334,  2329,   399,   398,  1689,  2296,  2330,  1591,  1569,   648,
2490
       0,  1483,   427,  1726,     0,     0,     0,     0,     0,     0,
2491
       0,     0,   885,     0,     0,     0,     0,     0,     0,     0,
2492
       0,     0,     0,     0,     0,   180,     0,     0,     0,     0,
2493
       0,   453,   452,     0,     0,     0,  1118,   458,     0,     0,
2494
       0,     0,     0,   636,  1638,  2524,  1636,  1690,   258,   261,
2495
     262,   259,   260,  2318,     0,  1273,  1274,  1276,     0,     0,
2496
       0,  1286,   925,   926,     0,     0,     0,   934,     0,     0,
2497
       0,   923,     0,     0,     0,   940,     0,   936,     0,     0,
2498
     941,   937,   920,   938,   927,     0,   919,   939,     0,     0,
2499
    1286,   942,     0,     0,   921,     0,     0,     0,     0,  1484,
2500
    1635,   459,  1726,     0,  1613,  1614,  1615,  1592,  1604,  1616,
2501
    1609,  1611,  1610,  1612,  1608,  2317,  2345,  1051,  1051,  1051,
2502
    1051,  1048,  1049,  1051,  1051,  1051,  2544,     0,     0,  1030,
2503
       0,  1032,  2319,  1051,  1056,   520,   520,   520,     0,  1055,
2504
    1060,   520,     0,  1477,  1515,  2301,  1738,     0,  1031,  1476,
2505
    2606,  1627,     0,     0,  1301,  1297,  1299,  1300,  1298,     0,
2506
       0,     0,  2562,  1488,   242,  2573,  2674,  2606,   241,   236,
2507
     237,   210,  2349,     0,     0,  1055,     0,  1485,  1486,  1013,
2508
    1745,  1743,     0,  2283,  2370,  2386,  2477,   233,  2555,  2563,
2509
    2573,  2674,  2606,  2637,   189,   199,   194,     0,   251,  2573,
2510
    2674,  2606,   247,  1506,     0,  1715,  1847,  2292,     0,  1479,
2511
    1478,  1593,     0,  1596,     0,  2539,  1719,  1722,  1598,  1720,
2512
    1711,     0,     0,     1,  1726,     0,  1603,  1742,  1742,     0,
2513
    1742,     0,  1703,  1711,  1706,  1710,     0,     0,     0,     0,
2514
       0,     0,     0,   945,     0,  1518,  2297,  1102,     0,     0,
2515
       0,     0,     0,     0,     0,  1181,  1180,  2335,  2325,  2326,
2516
       0,  2323,  2324,  2336,  2337,  2338,     0,  2449,     0,     0,
2517
       0,  2194,  2205,  2206,  2207,  2374,  2431,  2202,  2203,  2204,
2518
    2196,  2197,  2198,  2199,  2200,  2201,     0,     0,  1268,  2195,
2519
       0,  2449,     0,     0,     0,   159,     0,   136,     0,     0,
2520
       0,  2449,     0,     0,     0,     0,     0,     0,     0,  2449,
2521
       0,     0,     0,     0,     0,     0,   159,  2482,     0,   136,
2522
    2449,     0,     0,  1155,  2322,  1157,  1500,     0,     0,     0,
2523
    1502,  1505,  1481,     0,  2275,     0,  2276,  2303,  1572,     0,
2524
    2292,     0,     0,     0,   981,   974,     0,   982,   989,     0,
2525
       0,   991,     0,     0,   975,     0,     0,     0,     0,     0,
2526
     994,   995,     0,     0,   996,   976,   997,   977,   998,   978,
2527
     999,  1000,     0,     0,     0,     0,   979,     0,     0,     0,
2528
    1492,     0,  1629,  1631,  1630,  1628,   520,     0,     0,     0,
2529
       0,  2449,     0,     0,   136,  1557,     0,  2449,   136,     0,
2530
       0,   457,   456,   136,  2323,   455,   454,  2374,  2431,     0,
2531
    1171,     0,  1435,   136,  2449,     0,   182,  2449,   727,  2449,
2532
    1598,     0,   651,   656,     0,     0,   840,  2482,   136,     0,
2533
       0,     0,     0,     0,     0,  1122,     0,     0,     0,     0,
2534
     635,   648,  1639,  1637,     0,  1277,   235,   234,  1275,   932,
2535
    2449,  1213,   348,   348,     0,     0,  2449,  1538,  2332,  1922,
2536
    1951,  1929,  1951,  1951,  1918,  1918,  2415,  1931,  2449,  1919,
2537
    1920,  1956,     0,  1951,  1918,  1923,     0,  1921,  1959,  1959,
2538
    1946,   348,   949,  1903,  1904,  1905,  1906,  1932,  1933,  1907,
2539
    1938,  1939,  1943,  1908,  1973,  1918,  2333,   933,     0,   924,
2540
    2449,   348,  1177,  2449,  2327,   169,     0,   922,  2374,  2431,
2541
    2449,   348,  1270,     0,  2449,   348,  2449,   165,  2449,   348,
2542
    2449,   348,  2449,   657,     0,     0,  2449,   348,  2449,  2482,
2543
     167,     0,  2449,   348,   943,  2449,   348,  2294,  2449,     0,
2544
       0,  1632,     0,  1606,  2678,  1621,     0,  1617,  1624,  1620,
2545
    1726,  1051,  1050,     0,  1051,     0,  1051,     0,  1051,     0,
2546
    1051,     0,     0,     0,  1051,  2320,  2321,  1033,     0,  1057,
2547
       0,     0,  1064,  1063,  1062,     0,     0,     0,  1065,     0,
2548
    1851,  1666,     0,  1474,  1491,     0,     0,     0,   600,  1304,
2549
       0,  1302,  1293,  1294,  1487,   240,   238,     0,     0,     0,
2550
       0,     0,     0,  1493,     0,     0,     0,     0,  2305,  2307,
2551
    2308,  2208,  2278,     0,  2642,  2643,  2644,  2267,     0,  2645,
2552
    2646,  2647,  2693,  2104,  2091,  2100,  2105,  2092,  2094,  2101,
2553
    2648,  2649,  2039,  2650,  2651,  2315,  2652,  2653,  2654,  2656,
2554
    2657,  2658,  2659,  2096,  2098,  2660,  2661,     0,  2316,  2663,
2555
    2664,  2506,  2666,  2667,  2669,  2670,  2102,  2672,  2673,  2674,
2556
    2675,  2676,  2677,  2314,     0,  2103,  2679,  2681,  2682,  2683,
2557
    2684,  2686,  2687,  2688,  2689,     0,     0,     0,  2289,     0,
2558
    2071,     0,  1911,  1912,  1934,  1935,  1913,  1940,  1941,  1914,
2559
       0,  2288,  1976,  2153,  2070,  2087,     0,  2076,  2077,     0,
2560
    2069,  2065,  1728,  2284,     0,  2066,  2304,  2306,  2268,  1728,
2561
    2282,   202,   253,     0,   254,  2290,  2573,   190,   232,   204,
2562
     231,   205,   203,     0,  2372,   191,     0,     0,   192,     0,
2563
       0,     0,     0,   250,   248,     0,  1482,     0,  1849,  1848,
2564
    2293,   954,  1581,  1579,  1580,  1578,     0,  1575,  1577,  1595,
2565
    1592,  2218,     0,  1721,     0,     0,     0,  1701,  1700,     3,
2566
    1586,     0,  1584,  1600,  1602,  1582,  1598,  1740,  1741,     0,
2567
       0,     0,     0,     0,     0,     0,     0,  1796,  1756,  1757,
2568
    1759,  1793,  1797,  1805,     0,  1707,     0,     0,  1853,     0,
2569
       0,     0,     0,     0,     0,  1212,     0,     0,     0,     0,
2570
       0,   946,     0,     0,     0,  1524,  1531,     0,  1526,  1527,
2571
    1528,     0,     0,  1529,  1530,  1518,   244,  1537,  1535,  1517,
2572
    1519,  1533,     0,     0,     0,     0,     0,     0,     0,  1549,
2573
       0,   173,   174,     0,   669,   648,     0,  2449,     0,     0,
2574
       0,     0,     0,  1220,  1227,     0,     0,     0,     0,     0,
2575
       0,     0,     0,  1221,  1219,  1222,   246,  1231,  1250,  1253,
2576
       0,  1179,  1182,     0,     0,     0,     0,     0,  1362,     0,
2577
       0,     0,     0,  1362,     0,     0,     0,     0,     0,     0,
2578
       0,     0,     0,     0,     0,     0,     0,   269,   271,   282,
2579
     343,   627,     0,     0,     0,   630,     0,  2449,     0,     0,
2580
       0,     0,  1272,     0,     0,     0,     0,     0,     0,     0,
2581
       0,     0,  1253,     0,     0,     0,     0,     0,     0,     0,
2582
       0,   134,   135,   140,     0,     0,     0,     0,     0,  1253,
2583
       0,     0,     0,     0,     0,     0,   613,   626,     0,     0,
2584
       0,     0,     0,   623,     0,     0,   136,   274,   603,   609,
2585
       0,     0,     0,   734,   733,     0,     0,     0,     0,  1451,
2586
    1450,     0,     0,     0,     0,  1547,  1546,     0,     0,     0,
2587
       0,     0,  1362,     0,   263,   265,     0,     0,     0,     0,
2588
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2589
       0,     0,     0,   391,   392,     0,     0,     0,   140,     0,
2590
       0,     0,     0,   276,     0,     0,     0,     0,     0,  1501,
2591
    1498,  1499,     0,  1504,     0,     0,     0,     0,  2079,     0,
2592
    2222,  1748,  2220,  1197,  2274,     0,  2339,  2715,  2716,  2717,
2593
    2718,  2719,  2720,  2721,  2722,  2723,  2724,  2725,  2726,  2727,
2594
    2728,  2729,  2730,  2731,  2732,  2733,  2734,  2735,  2736,  2737,
2595
    2738,  2739,  2740,  2741,  2742,  2743,  2744,  2745,  2746,  2747,
2596
    2748,  2749,  2750,  2751,  2752,  2753,  2754,  2755,  2756,  2757,
2597
    2758,  2759,  2760,  2761,  2762,  2763,  2764,  2765,  2766,  2767,
2598
    2768,  2769,  2770,  2771,  2772,  2773,  2774,  2775,  2776,  2777,
2599
    2778,  2779,  2780,  2781,  2782,  2783,  2784,  2785,  2786,  2787,
2600
    2788,  2789,  2790,  2791,  2271,  2270,  2299,  2340,  2341,  2342,
2601
    2343,  2277,     0,  1568,     0,   988,     0,     0,     0,     0,
2602
     990,     0,   983,     0,     0,   980,  2374,  2431,     0,     0,
2603
       0,     0,     0,     0,     0,     0,     0,   993,     0,     0,
2604
       0,   430,     0,     0,   837,     0,     0,     0,     0,     0,
2605
       0,   848,     0,  1518,  1556,     0,     0,     0,   662,     0,
2606
    2449,     0,   138,   886,     0,   838,   458,     0,     0,     0,
2607
    1243,  1434,   138,     0,     0,   176,     0,     0,   731,     0,
2608
       0,     0,     0,   359,     0,   654,     0,     0,     0,     0,
2609
     776,   775,     0,     0,     0,   839,     0,     0,   138,     0,
2610
    2449,   606,  2449,     0,   520,   520,     0,     0,  1120,  1121,
2611
    1124,     0,     0,     0,     0,     0,  1693,  1695,  1694,     0,
2612
    1692,     0,   346,   347,     0,  1260,   835,  1285,     0,     0,
2613
       0,  1950,  1937,  1945,  1944,     0,  1927,  1926,  1925,     0,
2614
    1924,     0,  1951,  1951,  1949,  1928,  1903,     0,     0,     0,
2615
    1955,     0,  1953,     0,   915,  1899,  1895,     0,  1962,  1963,
2616
    1964,  1961,  1974,  1960,     0,  1909,  1965,  1918,  1915,   935,
2617
       0,     0,  1254,     0,     0,  2449,   348,  2449,     0,  2449,
2618
       0,     0,     0,  1262,   348,     0,  1256,     0,     0,  1258,
2619
       0,  1452,     0,   931,   929,   928,   930,     0,     0,   913,
2620
       0,     0,     0,  2449,   348,     0,     0,   908,     0,     0,
2621
     910,     0,     0,     0,     0,  1726,     0,   221,   222,   220,
2622
    1622,   223,  1623,  1619,  1605,     0,  1041,     0,  1045,     0,
2623
    1036,     0,  1042,     0,  1037,  1034,  1035,     0,  1040,     0,
2624
       0,   521,   523,     0,     0,  2398,  2414,     0,  2437,  2470,
2625
    2471,  2530,  2558,  2563,  2569,     0,  2596,  2599,  2611,     0,
2626
    1066,  1097,  1061,   745,     0,     0,  1676,  1475,  2225,     0,
2627
    1726,     0,   598,   599,     0,     0,     0,   239,   211,     0,
2628
       0,     0,  1099,  2562,  1490,  1012,   648,     0,  2067,     0,
2629
    2074,  2075,  2266,     0,     0,     0,     0,     0,     0,  2073,
2630
    2233,     0,     0,     0,     0,     0,  1999,     0,     0,     0,
2631
    2246,     0,  2252,     0,     0,  2036,     0,     0,     0,     0,
2632
       0,     0,     0,     0,  2000,  1980,  1981,  2071,  2218,     0,
2633
    2072,  2311,     0,  1973,  2287,  2208,     0,  2205,  2206,  2207,
2634
       0,     0,     0,  2281,     0,  2216,     0,     0,  2014,  2214,
2635
    2016,     0,     0,     0,     0,  2202,  2203,  2204,  2196,  2197,
2636
    2198,  2199,  2200,  2201,  2212,  1996,     0,     0,  2155,     0,
2637
    1995,     0,     0,  1809,     0,  2309,  2269,  1809,   255,   256,
2638
     252,     0,     0,   207,   206,     0,   225,   229,   230,   201,
2639
     228,     0,   224,   209,  2144,  2143,   208,   200,   197,   195,
2640
     212,   214,   215,   198,   196,   249,     0,     0,     0,   348,
2641
    1603,     0,  1590,  1806,     0,  1723,     0,     0,  1603,     0,
2642
       0,  1599,  1718,  1717,  1749,  1750,  1147,  1716,  1776,  1777,
2643
       0,     0,     0,     0,  1802,  1800,  1767,  1760,  1766,     0,
2644
       0,  1764,     0,  1768,  1976,  1795,  1705,  1754,  1755,  1758,
2645
    1704,     0,  1798,     0,  1679,  1796,  1759,  1663,     0,  1641,
2646
       0,  1854,     0,     0,     0,     0,     0,  1192,  1194,     0,
2647
    1193,     0,  1196,     0,  1205,     0,     0,  1191,  1210,     0,
2648
    1199,  1197,     0,  1545,     0,     0,   947,     0,     0,     0,
2649
       0,  1525,     0,     0,  2599,   243,  1528,  1534,  1520,  1532,
2650
       0,     0,     0,     0,     0,  1101,  1100,     0,     0,  1126,
2651
       0,     0,     0,  1552,   509,     0,   345,     0,     0,     0,
2652
       0,     0,     0,     0,     0,   833,   830,     0,     0,   829,
2653
       0,   667,     0,     0,     0,     0,     0,     0,     0,     0,
2654
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2655
       0,     0,     0,     0,   707,     0,  1362,     0,   739,     0,
2656
    1229,     0,     0,  1228,     0,  1232,     0,     0,  1230,  1225,
2657
    1226,  2563,  2573,  2606,   245,  1252,     0,  1251,  1247,  1174,
2658
       0,  1175,     0,     0,     0,     0,     0,  2424,  2449,   287,
2659
     307,     0,  1361,     0,     0,     0,     0,     0,     0,     0,
2660
       0,     0,     0,     0,     0,     0,     0,     0,     0,   330,
2661
       0,     0,   333,   332,     0,     0,     0,     0,     0,   337,
2662
     316,     0,   317,     0,     0,   336,     0,     0,   628,   629,
2663
       0,     0,     0,     0,  1362,     0,   278,     0,     0,     0,
2664
       0,     0,     0,     0,  1269,     0,   762,     0,     0,     0,
2665
    2563,  1248,     0,     0,     0,     0,     0,  1438,     0,     0,
2666
     162,     0,   157,   161,     0,     0,     0,  2563,  1249,     0,
2667
       0,     0,     0,   611,   612,   625,     0,   616,   617,   614,
2668
     618,   619,     0,     0,     0,     0,     0,     0,     0,   610,
2669
       0,     0,   729,   728,   732,     0,     0,     0,  1447,     0,
2670
    1243,     0,     0,  1446,     0,     0,     0,     0,     0,     0,
2671
       0,     0,     0,     0,     0,     0,  1306,  1305,     0,     0,
2672
       0,     0,     0,     0,   876,     0,     0,     0,     0,     0,
2673
       0,     0,     0,   164,   749,     0,   748,     0,   158,   163,
2674
       0,     0,     0,     0,     0,  1156,  1158,     0,     0,     0,
2675
     219,  1497,  1503,  1748,  1748,  1748,  2085,     0,     0,     0,
2676
       0,  1747,  2272,  2275,  1571,  2300,  1570,     0,     0,     0,
2677
       0,   992,     0,     0,     0,     0,     0,     0,     0,     0,
2678
       0,   984,   985,   986,   987,     0,     0,     0,     0,     0,
2679
     405,     0,     0,     0,  2332,     0,   864,   836,     0,     0,
2680
       0,   850,     0,   853,   856,     0,  1516,   477,     0,     0,
2681
     659,   707,     0,     0,   461,   171,     0,     0,     0,     0,
2682
     764,     0,     0,     0,  1433,   133,   180,   182,   459,     0,
2683
     181,   183,   185,   186,   187,   184,   188,     0,   726,   730,
2684
       0,     0,     0,     0,   650,     0,   572,   655,     0,   359,
2685
       0,     0,     0,     0,   777,   781,   780,   784,   782,     0,
2686
     778,     0,     0,  1874,     0,     0,   156,     0,     0,   601,
2687
     605,     0,     0,     0,     0,   461,   563,   359,  2449,     0,
2688
     520,     0,  2449,     0,  1123,     0,     0,     0,     0,     0,
2689
       0,     0,     0,     0,  1691,   348,  1214,     0,  1539,     0,
2690
       0,     0,     0,   348,  1948,  1947,  1900,  1896,     0,     0,
2691
       0,     0,   950,     0,     0,     0,     0,     0,     0,     0,
2692
       0,     0,  1916,   348,  1178,   170,  2328,     0,   917,     0,
2693
       0,     0,     0,   348,  1271,   905,   348,   166,   348,   348,
2694
     658,     0,   348,   168,     0,     0,     0,   645,   348,   944,
2695
     348,  2295,     0,   348,  1634,  2449,   520,  1607,  1618,  1038,
2696
    1047,  1046,  1044,  1043,  1039,     0,  1058,     0,   519,     0,
2697
       0,     0,     0,     0,  1074,  1075,     0,     0,  1071,  1076,
2698
       0,  1072,  1073,  1078,  1068,  1067,  1079,  1080,  1081,     0,
2699
       0,  1099,   743,     0,     0,     0,     0,  1673,     0,  1671,
2700
       0,  1852,  1675,  1664,  1626,     0,  1625,     0,   591,     0,
2701
       0,  1303,     0,     0,  1055,     0,     0,   348,  1489,     0,
2702
    1014,  1020,     0,     0,     0,     0,     0,     0,     0,  1023,
2703
    1024,     0,  1025,  1016,  1026,  1017,  1027,     0,  1018,     0,
2704
       0,     0,     0,  2279,  2229,     0,  2230,     0,     0,  2265,
2705
    2261,     0,     0,     0,     0,     0,  2234,  2237,  2238,  2239,
2706
    2236,  2240,  2235,     0,     0,  2241,     0,     0,     0,     0,
2707
       0,     0,     0,     0,     0,  2670,     0,     0,     0,     0,
2708
    2040,     0,     0,  2189,     0,  2218,  2251,     0,     0,     0,
2709
       0,     0,     0,  2218,  2257,     0,     0,     0,     0,  2142,
2710
       0,  2139,     0,     0,     0,     0,  2278,     0,     0,  2312,
2711
    1977,  1991,  1992,  1993,  1997,  2286,     0,  2280,     0,     0,
2712
    1978,  2005,     0,  2258,  2032,     0,  2037,  2020,     0,  2013,
2713
       0,  2018,  2022,  2001,     0,  1998,     0,  2281,  2217,     0,
2714
    2215,     0,  1988,  1989,  1990,  1982,  1983,  1984,  1985,  1986,
2715
    1987,  1994,  2193,  2191,  2192,     0,     0,     0,  2163,     0,
2716
       0,  2017,  2440,  2477,     0,  1739,  1739,  1739,  1727,  1737,
2717
    2285,     0,  1869,  1748,  1869,  2291,     0,     0,  1973,     0,
2718
    1850,   952,   953,   951,  1574,  1576,  1589,  1603,  2219,  1597,
2719
    1726,  1583,  1585,  1601,     0,  1145,  1146,     0,  1153,  2670,
2720
    2560,     0,     0,     0,     0,  1769,  1803,     0,  1794,     0,
2721
    2305,  1770,  2304,  1771,  1774,  1775,  1765,  1804,  1677,     0,
2722
    1799,  1709,  1708,     0,  1872,     0,     0,     0,  1655,  1643,
2723
       0,  1855,     0,  1809,  1681,     0,  2278,  1807,  1408,  1307,
2724
    1371,  1195,     0,  1918,  1206,     0,  1190,     0,  1189,  1918,
2725
       0,  1207,     0,  1918,  1409,  1308,  1372,   948,  1410,  1309,
2726
    1373,  1411,  1310,  1536,  1523,  1522,  1521,     0,     0,     0,
2727
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2728
       0,   814,  2449,   348,  1550,  1412,     0,  1311,   344,  1551,
2729
    1374,  1555,   832,   831,     0,     0,  1375,     0,   668,     0,
2730
     672,     0,   674,   675,   676,     0,     0,     0,   677,     0,
2731
    2374,  2431,   679,   682,   683,   684,   691,   696,   686,     0,
2732
       0,   698,   692,     0,     0,     0,     0,     0,     0,   704,
2733
     709,     0,     0,     0,     0,     0,     0,     0,  1223,  1224,
2734
    1413,  1314,     0,  1376,  1173,     0,  1315,   172,     0,     0,
2735
     270,  2449,   289,     0,   711,   814,     0,  1364,   286,   314,
2736
       0,     0,   329,   324,   325,   323,  2449,   348,  2449,   348,
2737
       0,     0,     0,     0,     0,   326,   321,   322,   318,     0,
2738
       0,   331,  2348,  2416,  2574,     0,   715,   717,     0,   722,
2739
     334,  1335,   355,   354,   353,     0,   338,     0,   360,   363,
2740
     335,   312,   315,   313,   309,   283,     0,     0,     0,     0,
2741
       0,     0,     0,     0,  2298,     0,     0,  1264,     0,  1416,
2742
    1377,     0,  1399,     0,     0,     0,     0,   756,     0,  1419,
2743
    1321,  1380,  1439,  1441,  1431,  1322,  1440,   160,  1350,   149,
2744
       0,     0,   145,     0,     0,     0,     0,   139,     0,  1420,
2745
    1323,  1381,     0,  1421,  1324,     0,     0,   275,   604,   615,
2746
     620,  1329,   624,   621,  1389,   622,  1429,  1325,  1425,  1354,
2747
    1384,  1432,  1448,  1326,  1243,  1443,  1445,     0,  1362,     0,
2748
     264,   266,     0,   285,     0,  1327,     0,  1382,  1423,  1352,
2749
    1424,  1353,     0,     0,     0,     0,     0,     0,     0,     0,
2750
       0,  1558,     0,     0,     0,     0,     0,     0,   348,     0,
2751
       0,     0,  1364,  2449,   348,  1422,     0,  1359,     0,  1397,
2752
       0,   393,     0,  1351,     0,     0,   277,  1331,  1391,     0,
2753
       0,     0,   217,   216,   218,     0,     0,     0,     0,  2223,
2754
    2224,     0,  2221,  2080,  2274,     0,  1002,   959,  1001,     0,
2755
    2414,     0,   958,   960,     0,     0,     0,   961,     0,   965,
2756
     966,     0,     0,     0,   957,   955,   956,   404,     0,   429,
2757
     402,   403,   405,     0,     0,   863,     0,     0,     0,     0,
2758
     852,     0,     0,     0,  1548,     0,   136,   666,     0,     0,
2759
       0,   661,   706,   711,     0,     0,     0,     0,   460,   464,
2760
     468,   469,   470,     0,     0,     0,     0,   150,   137,     0,
2761
     894,     0,   520,     0,   766,  1437,  1436,  1242,     0,   182,
2762
     175,     0,     0,   727,     0,  1598,     0,     0,   358,     0,
2763
     649,   653,   652,   847,   845,   844,   846,     0,     0,     0,
2764
     868,   843,     0,  1873,  1875,     0,     0,     0,     0,     0,
2765
       0,   591,   463,     0,     0,   523,     0,     0,   567,     0,
2766
       0,     0,   359,     0,     0,     0,  1184,     0,  1202,  1185,
2767
       0,     0,     0,     0,  1236,  1169,  1237,  1215,  1170,     0,
2768
       0,   633,  1696,  1697,     0,  1261,     0,     0,  1544,     0,
2769
    1542,     0,  1917,  1930,   916,     0,  1958,  1957,  1959,  1959,
2770
       0,  1901,     0,  1942,  1967,  1968,  1969,  1970,  1971,  1972,
2771
       0,  1966,  1910,  1255,   348,     0,   348,     0,   348,  1263,
2772
    1257,  1259,  1453,     0,   914,     0,     0,   348,   907,   909,
2773
       0,   911,     0,  1059,   522,     0,     0,     0,     0,     0,
2774
       0,  1070,   631,  1077,     0,  1092,  1087,  1089,     0,  1093,
2775
     742,     0,     0,  1674,  1667,  1669,  1668,     0,     0,  1665,
2776
    2226,   906,     0,   597,  1295,  1296,     0,     0,   348,     0,
2777
    1094,     0,     0,  1021,  1015,     0,     0,  1019,     0,     0,
2778
       0,  1022,     0,     0,  1744,  2227,  2228,     0,     0,     0,
2779
    2262,     0,     0,  2117,     0,  2093,  2095,  2107,     0,  2118,
2780
    2078,  2119,  2097,  2099,     0,  2209,     0,     0,  2108,     0,
2781
    2042,  2043,     0,     0,     0,     0,     0,     0,     0,     0,
2782
       0,     0,     0,     0,     0,     0,     0,     0,     0,  2058,
2783
    2057,  2109,  2188,     0,     0,  2249,  2250,  2110,     0,     0,
2784
    2256,     0,     0,     0,  2115,  2120,     0,     0,     0,     0,
2785
    2126,     0,  2147,     0,     0,     0,  2068,  2219,     0,     0,
2786
       0,     0,     0,     0,     0,     0,  2038,  2021,  2015,     0,
2787
    2019,  2023,     0,     0,     0,  2009,     0,     0,  2007,  2033,
2788
    2003,     0,     0,  2034,     0,     0,     0,  2086,     0,     0,
2789
    1739,  1739,  1739,  1739,  1736,     0,     0,     0,     0,  2560,
2790
    2690,     0,  1833,  1808,  1810,  1820,  1833,  1838,  1833,  2088,
2791
    1867,  2089,  2292,     0,  1779,     0,  1779,   193,     0,   226,
2792
     213,  1573,     0,  1751,     0,  2210,  1153,     0,  1753,  1773,
2793
    1772,     0,  1763,  1801,  1761,  1678,  1662,     0,  1660,  1647,
2794
    1649,  1648,     0,     0,  1650,  2278,     0,  1660,  1642,  1686,
2795
       0,     0,  1872,     0,  1685,     0,  1918,  1187,  1188,     0,
2796
    1211,     0,  1104,  1105,     0,  1103,     0,     0,     0,   508,
2797
    1125,     0,     0,     0,   814,     0,     0,   512,     0,  1553,
2798
       0,  1430,  1349,   670,   671,     0,   685,     0,   694,   693,
2799
       0,     0,     0,     0,     0,     0,     0,   678,   700,   637,
2800
     701,   703,     0,     0,   702,   705,   708,  1362,     0,   740,
2801
    1337,     0,  1395,  1217,  1365,     0,  1176,     0,     0,     0,
2802
       0,     0,     0,   477,   308,     0,     0,     0,     0,   368,
2803
       0,   291,   300,   366,   306,     0,  1370,   340,     0,   311,
2804
       0,   304,   327,   319,   328,   320,   339,   341,     0,   719,
2805
     720,   718,   714,     0,   721,   723,     0,   357,     0,     0,
2806
       0,  1415,     0,  1362,     0,   279,     0,  1333,     0,  1393,
2807
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2808
       0,  1398,     0,     0,     0,     0,   761,     0,   758,  1366,
2809
       0,     0,   142,   141,     0,   148,     0,  1367,     0,     0,
2810
       0,     0,  1449,     0,     0,     0,     0,     0,     0,   375,
2811
       0,   284,     0,     0,     0,     0,     0,     0,     0,     0,
2812
       0,     0,     0,     0,     0,     0,     0,     0,     0,   394,
2813
     350,     0,   871,     0,     0,     0,   396,     0,     0,     0,
2814
       0,     0,  1414,  1316,     0,  1159,  2083,  2084,  2081,  1748,
2815
    2273,     0,     0,     0,   972,     0,     0,     0,     0,     0,
2816
       0,   407,   408,   136,   406,     0,     0,   862,  2506,  2196,
2817
    2197,   860,   866,   857,   859,   861,   858,     0,   865,   814,
2818
       0,     0,   849,   854,   855,     0,     0,     0,     0,     0,
2819
     492,     0,     0,     0,   483,     0,     0,  1243,   476,   479,
2820
     480,     0,     0,   662,   665,   663,   664,   699,     0,   463,
2821
     499,   549,     0,   152,     0,     0,   153,   151,     0,     0,
2822
     359,   763,     0,   760,     0,   178,   459,     0,   731,     0,
2823
       0,     0,  1243,   571,   783,   786,   779,     0,   867,   869,
2824
     841,     0,   711,     0,     0,   606,     0,   520,  1635,   586,
2825
       0,   551,   463,   549,   561,   560,   562,     0,   572,     0,
2826
       0,   591,   572,     0,     0,  1126,  1183,     0,     0,     0,
2827
    1233,  1238,  1234,     0,     0,  1198,     0,  1235,  1216,  1469,
2828
    1470,  1467,  1468,     0,     0,     0,  1688,     0,     0,  1540,
2829
       0,  1936,     0,  1954,  1952,  1897,  1902,  1975,   918,     0,
2830
     901,     0,   903,   348,   750,     0,   646,   348,     0,     0,
2831
       0,     0,     0,     0,  1069,     0,  1090,     0,     0,  1052,
2832
    1096,     0,     0,  1672,  1670,   589,     0,  1099,     0,  1053,
2833
    1098,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2834
    2231,     0,  2264,  2260,     0,  2090,  2232,     0,  2244,  2243,
2835
    2189,     0,     0,  2041,  2053,  2054,  2055,  2245,     0,  2063,
2836
       0,     0,  2050,  2051,  2052,  2044,  2045,  2046,  2047,  2048,
2837
    2049,  2056,  2254,  2253,  2247,  2248,     0,  2112,  2113,  2114,
2838
    2255,  2121,     0,  2364,  2148,  2125,  2141,  2140,     0,     0,
2839
       0,  2128,     0,     0,  2137,     0,  2190,  2313,  1979,     0,
2840
       0,  2006,  2259,  2024,     0,     0,     0,  2002,  2209,     0,
2841
       0,     0,     0,     0,  2011,     0,     0,     0,  2166,  2161,
2842
    2162,  2186,     0,     0,     0,     0,     0,     0,  1730,  1729,
2843
    1735,  1833,  1838,  1833,     0,     0,  1711,     0,  1820,     0,
2844
    1832,  1818,  1831,     0,     0,  1844,  1842,     0,  1844,     0,
2845
    1844,     0,  1812,     0,  1834,  1814,  1831,  1816,     0,  1859,
2846
    2293,  1868,     0,  1792,  2080,  1792,     0,  1724,     0,  1752,
2847
    1151,  1152,  1762,  2394,  1870,     0,  1661,     0,     0,     0,
2848
    1652,  1658,  1640,     0,     0,  1682,  1660,  1683,  1208,     0,
2849
       0,  1200,  1110,  1111,  1115,  1112,  1113,  1109,  1114,     0,
2850
       0,     0,   814,     0,     0,   530,     0,  1142,  1142,     0,
2851
       0,     0,  1127,  1128,   514,   575,   525,   817,     0,     0,
2852
       0,   815,   348,  1312,     0,   695,     0,     0,   690,   688,
2853
     687,   689,     0,   638,  1428,  1313,     0,     0,     0,     0,
2854
    1218,     0,     0,  1336,     0,   288,     0,   473,     0,     0,
2855
     301,     0,   297,     0,  1363,     0,     0,     0,     0,   296,
2856
     370,     0,   367,     0,   348,   348,   342,   716,   356,   361,
2857
     362,   365,     0,     0,     0,     0,     0,  1369,     0,     0,
2858
       0,     0,     0,     0,     0,   895,   878,     0,     0,   896,
2859
     897,     0,     0,     0,  1266,  1267,  1265,  1400,  1401,  1406,
2860
    1403,  1402,  1405,  1407,  1404,     0,  1319,     0,     0,   754,
2861
     146,   143,   144,   147,  1347,  1330,  1390,  1444,     0,     0,
2862
       0,  1328,     0,  1383,     0,  1343,  1339,     0,     0,     0,
2863
       0,     0,  1427,  1358,  1388,  1426,  1356,  1386,  1355,  1385,
2864
    1357,  1387,     0,  1348,     0,  1877,   875,     0,     0,     0,
2865
     348,   348,   874,   752,  1332,  1392,     0,  1154,     0,     0,
2866
       0,   962,     0,     0,   964,   967,     0,   969,   412,   432,
2867
     772,   834,     0,     0,   851,   813,     0,   481,     0,   487,
2868
     490,     0,     0,   494,   495,   493,   482,  1243,   520,   574,
2869
     803,   804,     0,     0,   824,     0,   660,     0,   461,     0,
2870
     496,     0,     0,   465,   155,   154,     0,     0,     0,   767,
2871
     771,   769,   768,   770,   765,     0,   756,   182,  2449,     0,
2872
       0,     0,     0,   584,  1442,     0,   796,   842,     0,  1876,
2873
     746,     0,   359,   602,     0,     0,     0,   461,   591,     0,
2874
     466,   471,   472,   477,     0,   563,   550,     0,   551,     0,
2875
     588,  1514,     0,   592,   594,     0,     0,     0,  1186,  1203,
2876
    1204,     0,     0,  1167,     0,     0,     0,     0,   640,   348,
2877
       0,  1543,  1898,   348,   348,  1292,     0,   912,  1084,  1085,
2878
    1086,  1083,  1082,   632,     0,  1088,   744,     0,   590,   348,
2879
       0,  1029,  1007,  1028,  1006,  1008,     0,  1010,  1011,  1005,
2880
    1003,  1004,  2263,  2106,  2116,  2242,  2188,  2219,     0,     0,
2881
    2064,     0,     0,  2111,  2680,     0,     0,     0,     0,  2145,
2882
    2146,  2127,     0,  2496,  2132,     0,     0,     0,  2030,  2028,
2883
    2025,     0,  2026,  2010,     0,     0,  2008,  2004,     0,  2035,
2884
    2152,     0,  2168,  2165,  2185,  2219,  1734,  1733,  1732,  1731,
2885
    1819,  1815,  1817,     0,  2685,     0,  1822,  1829,     0,  1811,
2886
       0,  1843,  1839,     0,  1840,     0,     0,  1841,     0,     0,
2887
    1813,     0,  1829,     0,  1866,     0,     0,  2157,  2310,  2157,
2888
     227,     0,     0,  1659,  1644,     0,  1645,  1651,     0,     0,
2889
       0,     0,  1687,  1680,  1201,  1209,     0,     0,     0,   510,
2890
       0,   525,     0,     0,     0,  1144,  1144,     0,  2218,     0,
2891
     525,     0,     0,  1243,   819,   818,   821,   816,   820,  1554,
2892
       0,   680,   681,   697,  1338,     0,  1396,  1345,     0,  1676,
2893
     290,     0,   712,   295,     0,     0,   292,   369,   371,   293,
2894
     294,   298,   350,   310,   303,     0,     0,     0,  1334,     0,
2895
    1394,  1341,  1417,  1317,  1378,     0,     0,   884,     0,     0,
2896
       0,     0,  1418,  1318,  1379,     0,     0,     0,     0,  1676,
2897
       0,     0,     0,     0,     0,     0,     0,     0,  1563,     0,
2898
    1368,   349,   873,   872,   350,   395,  1360,  1163,  1160,  2082,
2899
       0,   963,   970,   971,   968,     0,   401,   409,   433,   136,
2900
       0,     0,  1283,  1283,     0,   814,     0,     0,   478,   491,
2901
       0,   574,   529,     0,   484,     0,     0,     0,     0,     0,
2902
       0,     0,     0,     0,     0,     0,     0,     0,     0,   759,
2903
     758,   177,     0,   461,     0,   711,     0,   790,   791,   785,
2904
     787,     0,   798,   802,   870,     0,     0,   591,   463,     0,
2905
       0,  1633,   462,     0,     0,   474,     0,   567,   551,   563,
2906
       0,   564,     0,     0,  1507,     0,     0,     0,     0,  1239,
2907
       0,  1245,     0,  1197,  1240,     0,  1869,     0,     0,     0,
2908
       0,   644,  1284,  1541,   902,   904,   751,  1091,     0,  1095,
2909
     348,  1009,  2190,  2059,     0,     0,     0,     0,  2122,     0,
2910
    2123,  2150,  2149,  2129,  2133,     0,  2130,  2131,  2027,  2031,
2911
    2029,  2012,  2154,     0,  1748,  2187,  1862,     0,  1865,     0,
2912
       0,  1821,     0,     0,  1823,     0,     0,  1825,  1827,     0,
2913
       0,     0,     0,     0,     0,  2296,  2393,  2654,  2557,     0,
2914
    1778,  1780,  1783,  1785,  1784,  1786,  1782,  1791,     0,  1713,
2915
    1712,  2211,  1871,     0,     0,     0,     0,  1684,  1092,     0,
2916
     348,  1142,  1243,   531,  2506,   532,  1141,  1143,  1147,  1147,
2917
       0,  1135,  1243,  1129,  1130,     0,   574,   673,     0,     0,
2918
     272,   710,     0,     0,   302,   352,   364,     0,  1676,     0,
2919
       0,   882,   891,   891,   879,     0,     0,   898,  1320,   755,
2920
       0,     0,   267,  1344,  1340,     0,     0,     0,  1565,  1566,
2921
       0,     0,     0,     0,     0,   348,     0,   973,     0,   435,
2922
     442,   413,   418,  1557,     0,  1557,     0,   415,   419,  1557,
2923
     414,  1557,   411,   412,     0,  1283,     0,  1280,  1279,   812,
2924
       0,   518,   608,   485,     0,   540,     0,     0,   825,     0,
2925
       0,   463,   549,     0,   507,   500,   501,   502,   503,   504,
2926
     505,   506,   498,   497,     0,   711,   888,   359,  1514,   753,
2927
       0,     0,   724,     0,   788,   793,   792,  1557,   797,     0,
2928
       0,     0,   711,     0,   587,   551,   463,   549,   467,   477,
2929
     553,     0,   554,   572,   563,   567,   565,   566,     0,     0,
2930
       0,   591,  1567,  1126,     0,  1244,     0,     0,     0,     0,
2931
       0,     0,  1287,   639,     0,     0,   643,   634,   711,  1054,
2932
    2060,     0,  2061,     0,     0,     0,  2135,  2134,     0,  2172,
2933
    1867,     0,     0,  1861,     0,     0,  1891,     0,     0,     0,
2934
    1830,  1846,     0,  1826,  1824,     0,  1835,     0,  1837,     0,
2935
       0,     0,  1787,     0,  2156,  2158,     0,     0,  1657,  1869,
2936
    1654,     0,  1106,     0,  1107,  1144,   574,     0,  1148,  1149,
2937
    1150,  1153,  1153,   520,  1136,  1134,   574,     0,   814,  1346,
2938
       0,   713,   608,     0,   305,     0,   280,  1342,     0,     0,
2939
     893,   893,     0,     0,     0,     0,   382,   389,   388,   383,
2940
     381,   390,     0,   386,   380,   379,   384,     0,   377,     0,
2941
       0,  1559,     0,  1560,  1561,  1564,   397,  1166,  1161,  1164,
2942
     410,     0,   440,     0,   438,   437,   439,     0,   426,     0,
2943
       0,     0,     0,     0,     0,   400,   431,  1278,  1282,  1281,
2944
       0,     0,   486,     0,   488,   526,   527,   528,     0,   489,
2945
     536,   537,     0,   822,     0,   827,     0,     0,     0,   711,
2946
     548,   735,     0,     0,     0,  1508,     0,     0,   585,     0,
2947
     799,   800,   795,     0,     0,   747,  1514,   563,     0,   551,
2948
     475,     0,   578,   567,   572,     0,  1511,     0,   593,     0,
2949
    1138,  1168,  1246,  1241,  1473,     0,     0,   642,   641,   741,
2950
    2062,  2138,  2124,  2151,  2136,  2167,     0,     0,     0,     0,
2951
    1860,  1863,     0,  1894,     0,     0,     0,     0,  1880,     0,
2952
    1828,     0,     0,  1836,     0,     0,     0,  1781,     0,     0,
2953
    1646,  1656,     0,     0,  1147,   535,     0,  1132,  1131,   529,
2954
     814,   524,   511,  1676,   299,   351,     0,     0,     0,   889,
2955
     892,   880,   881,   900,   899,   757,  1676,     0,     0,   373,
2956
       0,   372,     0,   376,     0,     0,   436,   445,     0,   443,
2957
     416,   421,     0,   425,   423,   422,   417,   420,     0,   517,
2958
       0,     0,     0,     0,   538,     0,   539,   573,     0,   826,
2959
       0,     0,     0,   737,   887,     0,     0,   461,   711,   789,
2960
     794,     0,     0,  1509,   567,   551,   563,     0,     0,   555,
2961
    1142,  1142,     0,   570,   572,   578,  1512,  1513,     0,     0,
2962
     359,  1472,  1471,  1726,     0,     0,  2641,  2394,  2613,     0,
2963
    2184,  2173,  2184,  2184,  2164,     0,     0,  1892,  1893,  1878,
2964
       0,     0,  1882,  1845,  1858,  1789,     0,  1788,  2159,  2160,
2965
    1869,   348,  1153,     0,   814,   533,   540,   513,   273,  1676,
2966
     883,     0,   268,     0,   387,   385,   378,  1562,  1162,  1165,
2967
     441,     0,   424,   802,   607,   545,     0,   544,     0,   542,
2968
     541,   823,   828,     0,   711,   877,  1514,   725,   801,     0,
2969
     572,   563,   567,     0,   552,     0,  1144,  1144,     0,     0,
2970
       0,   577,     0,     0,   448,   578,   570,     0,     0,   572,
2971
    1455,  1726,  1454,  1456,  1464,  1461,  1463,  1462,  1460,  1290,
2972
    1291,     0,  2177,  2176,  2175,  2179,  2178,     0,  2171,  2169,
2973
    2170,  1864,     0,  1881,  1884,     0,     0,     0,  1890,  1883,
2974
    1885,     0,  1856,  1790,  1653,  1108,  1133,     0,   515,   814,
2975
     281,   890,     0,   444,     0,   543,   547,   546,   711,   736,
2976
    1510,   807,   578,   567,   572,  1142,   556,   558,   557,     0,
2977
       0,     0,   569,   568,   570,   446,  1138,  1139,     0,   578,
2978
       0,  1465,  1459,  1711,  1698,     0,     0,     0,     0,  2181,
2979
       0,  2182,     0,  1887,  1888,  1889,  1886,     0,     0,   516,
2980
       0,     0,   738,   809,     0,   805,   808,   810,   811,   570,
2981
     572,   578,  1144,     0,   579,   576,   450,   359,  1137,     0,
2982
     570,  1457,  1726,     0,     0,  2174,  2180,  2183,     0,     0,
2983
     534,   374,     0,   773,     0,   449,   578,   570,   559,     0,
2984
       0,   581,   572,  1140,  1869,  1458,     0,     0,     0,  1857,
2985
       0,   806,   570,   447,     0,   580,     0,   578,  1116,     0,
2986
       0,  1879,   807,   451,   583,   582,   570,     0,     0,     0,
2987
    1869,  1288,  1289,   774,  1117
2988
};
2989
2990
  /* YYPGOTO[NTERM-NUM].  */
2991
static const yytype_int16 yypgoto[] =
2992
{
2993
   -4737, -4737, -4737,  3884, -4737, -4737,  -905,  -104,  3117, -1958,
2994
   -4737, -4737, -4737,  1199, -4737, -4737, -4737, -4737,  3855, -4737,
2995
    2192, -2465, -4737, -4737,   139,  3837, -1294,   103,  3391,  1841,
2996
   -4737, -1148, -4737, -4737,  -624,   142, -4737,  3845,   639, -4737,
2997
   -4737, -4737, -4737, -4737, -4737, -4737, -4737,  -782,  2317, -4737,
2998
    2397,  1670,  7507, -2852, -4737, -4737, -1434, -2524, -4737,   970,
2999
   -4737,   997, -4220,  -532, -4737, -4668, -4737, -3986,  -527, -4737,
3000
   -4737,  2302, -4737, -4737, -4737,  1460,   868,  -194, -4737, -4737,
3001
   -4737, -4737, -4737, -4737, -4737,  -381, -4737, -4737,  -628,   150,
3002
      37, -2487, -3799, -4737, -4737,   829,    -3, -1443, -4737, -3629,
3003
   -4737,   374, -2239, -4737, -4737, -4737,    31, -1401,  1781, -4737,
3004
    -750, -1168,  2089, -4165,  -482, -4737,   161, -4737,  -598,  -387,
3005
    -385,  -516, -3839, -4321, -4737, -4737, -4737,  -627, -4327, -4518,
3006
   -3263, -3709, -3911,  1791, -3203,  -629, -4737,  -781, -4737,   151,
3007
   -3167, -3250,   152,   818, -4737,   154, -4737,   156, -4737,   831,
3008
    -302,  -910, -1531, -4737,  -813, -4737, -4737, -4737, -2954, -4737,
3009
   -4737, -4737, -4737,    74, -4737, -4737, -4737, -4737, -4737, -4737,
3010
   -4737,   878, -4737, -4737, -4737, -4737, -4737, -4737, -2747,  2271,
3011
    2275, -4737, -3178, -4737,  -875, -4737,  1030, -3014,  1701, -4737,
3012
   -4737,  1465,  3888,   866, -4737, -4737, -4737, -4737, -4737, -4737,
3013
   -4737, -1738, -4737, -4737, -4737, -4737,   377,    66, -4737, -4737,
3014
   -4737, -4737, -4737, -4737,   157, -4737,  2290,  1458, -4737, -4737,
3015
      60, -4737, -4737, -4737, -4737, -4737, -4737,  -575, -4560,  -762,
3016
    -733, -4737, -2996, -4737, -4737, -4737,    88, -4737, -4737, -4737,
3017
   -4737, -4737, -4737,  -940, -4737,  1524, -3192, -4737, -4737,  1531,
3018
   -4737, -4737, -4737, -4737, -4737,  -489,   153,  3050, -4737,   -84,
3019
    -277, -4737, -4737, -4737,   155, -4737, -4737, -4737, -4737, -4737,
3020
   -4737, -4737, -4737, -1102,  9572,  -817,  -585, -4737, -4737, -4737,
3021
   -4737, -4737, -2188, -4737, -4737, -4737, -4737, -3711, -4737,  4808,
3022
    2054,   731,   162, -4737,   -19,    67,  3650, -1160, -2680,   801,
3023
     -38, -4737, -4737, -4737, -2609, -4737, -4737, -4737, -4737, -3564,
3024
     164, -4737, -4737, -4737, -3854, -4413, -3606, -4737,   219,  -648,
3025
   -4737, -4103, -4477,  2697,   -40, -4656, -3543, -4737, -4737, -4737,
3026
   -4737, -4737, -4737, -4737, -4737,  -436, -4737, -4737, -4737, -4737,
3027
    -538,  -142,  3025, -4737, -1416,  2657,  -912, -4737, -2099,   867,
3028
    1886,  3851, -2770,  -144,  3026, -2548,  -647, -3303, -4737, -4737,
3029
   -2315,  -171, -4737, -4737,  1283,   512, -4737, -4737, -4737, -4737,
3030
    -630,  2959,  -206, -4737, -4737,  4189, -4737, -4370, -4737,  4192,
3031
   -4737, -4737, -4737, -4737,  2867,  2871, -4737,  2874, -4737, -4737,
3032
   -1421,  1631, -4737, -4737, -4737, -4737,  1070, -4737, -4737, -4737,
3033
   -4737, -4737, -4737, -4737,  1526,  1053, -4737, -4737, -4737, -4737,
3034
   -4737,  -468,  -665, -4737, -4737,   168, -4737, -4737, -4737, -4737,
3035
    2076,  -897,  -745,  4067,   174, -4736, -4737, -4737, -1163, -4737,
3036
    3441, -4737, -4737, -4737, -4737, -4737,   870,   875, -4737, -4737,
3037
   -4737, -4737, -2492, -4737, -4737, -4435, -4737, -4737, -4737, -4737,
3038
   -4737,  2763, -4737, -4737,  2758,    40, -4737,   -52, -4737, -4737,
3039
    -977,  2744, -4737, -1948, -4737,  -603, -4737,  2955, -4737, -4737,
3040
   -4737, -4737, -1857,   175,   932, -4737,     8, -4737, -4737,   294,
3041
   -4737,   702, -4737, -4737, -3462,    13, -4737, -4737, -4737, -4737,
3042
   -4441, -4737,    16,  -349,  1233, -2836, -4737,   180,    92, -4737,
3043
   -4737,     9,   514,   -50,   -70,   -63,     4,   119,  3532, -4737,
3044
    3578, -4737,    23,  1636, -4737, -4737,  -829,  -154, -4737,  1991,
3045
    -653,  2732,  3517,  3514, -4737,  1982,  2764, -2031, -1986, -4737,
3046
    1281,  -327,  -152, -4737, -4737, -4737, -4737,   734,  -650,  2747,
3047
   -4737,  3526, -4737, -4737, -4737, -1956, -2863, -3489,  1307, -3483,
3048
   -3403,   777,   761, -1600,    81,   -42,  -772,  3530, -4737, -4737,
3049
    1314,  -116, -4737, -4737,  -111, -2841,  1269, -4737, -4378, -2344,
3050
    1326,  -605,  -415, -4737,  -511, -4737,  -283,  7988,  3087, -1053,
3051
   -4737, -4737, -1010, 13886, -4737, -4737, -4737, 14534, 14592, -4737,
3052
   -4737, 15429, 16037, -4737,  -889, 16089,  7827, -1042, -1908,  -246,
3053
   13419, -1875,  -587,    91, -4737, -3248, -1963, -4737, -4737, -4737,
3054
     137,  1390,   654, -4737, -4438, -4737, -4737,   365, -4737,  -281,
3055
   -4737,  -280, -4737, -4737, -4737, -2644, -4404, -2754,  2882, -4737,
3056
   -4737, -4737,  -149, -4737, 16889, -2781, -4737,  -443, -1342, -1549,
3057
   -3466, -1932, -4737, -4737, -4737, -4737, -4737, -4737, -4737, -1666,
3058
   -3348,  -472,  2111, -4737, -4737,  2205, -4737, -4737, -4737,  -918,
3059
    2490,  -775, -2673,  2118, -4737,  -770,  2888,  -778, 11094,  -634,
3060
    9355,  -519, -2236, -1251, -1667, -4737,  4580, -4737,  2485,  6584,
3061
      -8,  3350,  -146,  4987,  -467,    -7, 13851,  -563,  -941,  4197,
3062
   12216, 11345, -3187
3063
};
3064
3065
  /* YYDEFGOTO[NTERM-NUM].  */
3066
static const yytype_int16 yydefgoto[] =
3067
{
3068
      -1,    53,    54,    55,    56,    57,  1543,  2535,  2382,  3327,
3069
    3328,    58,    59,  1539,    60,    61,    62,    63,  1455,    64,
3070
    1035,  1795,  2550,    65,  2215,   815,   816,   817,  2119,  2120,
3071
    2471,  2121,  2109,  1339,  1941,  1476,   789,   790,  1437,  1477,
3072
      67,    68,  1333,  2100,    69,    70,    71,  1507,  1595,  1508,
3073
    1509,  1449,  1845,  4365,  5104,  3116,  2345,  2566,  3117,  3118,
3074
    3752,  3753,  3831,  5128,  5129,  5121,  5127,  5122,  5123,    72,
3075
    1613,  1614,    73,    74,  3292,  3288,  3883,  4716,  4717,  4952,
3076
     624,  2512,  4719,  4720,  4938,  4939,  5145,  5288,  5289,  2551,
3077
    1787,  3374,  3971,  3318,  4459,  3319,  4460,  3320,  4461,  3304,
3078
    3918,  3919,  4402,  3920,  3321,  4420,  4982,  3322,  2234,  5162,
3079
    2596,  1963,  1961,  4633,  4965,  4224,  4225,  5374,  5169,  5170,
3080
    5171,  5399,  4422,  4465,  4466,  5011,  5328,  5329,  3378,  3978,
3081
    5424,  3350,  4734,  3001,  5333,  5421,  5560,  5561,    76,   724,
3082
    1823,  3483,   725,  2599,   660,   726,  1994,  2552,    81,  2589,
3083
    5164,  2590,  1569,  2396,  5124,  3463,    82,  1061,  3718,  4801,
3084
    5036,  5037,    83,   229,    84,  1803,    85,  2569,  1805,    86,
3085
      87,  2530,  3311,    88,  2251,  3018,    89,    90,  3049,  3050,
3086
    3051,    91,  3743,  4651,  1510,  3105,  3106,  3107,  3108,  3774,
3087
      92,  1798,  2559,  2560,    93,    94,    95,    96,  2714,  2715,
3088
      97,  2455,    98,    99,   100,   101,  3808,  4329,  4436,  3147,
3089
    3334,  3943,  4434,   102,  2553,  1813,  2579,  2580,  4446,  4759,
3090
    4760,  4761,  4997,  5319,  4763,  4999,  5192,  5001,  4412,  5524,
3091
    5525,  4725,  3697,  4241,   104,  4413,  4414,  5176,   105,  2249,
3092
     106,   107,   108,  1771,  2522,  2523,  3892,  1764,  2515,  2516,
3093
    3957,  3958,   109,  3231,   110,  4305,  4306,   661,  5183,  5110,
3094
    5271,   111,   112,  4309,  4310,   113,   114,   115,   116,   117,
3095
     716,   717,   718,  1153,  1154,  2973,  1101,   118,  2129,   119,
3096
     998,   999,  3267,   120,  1226,  2760,  2761,  4512,   121,   749,
3097
    1172,  1173,  2554,   123,   758,  2734,   760,  1979,  3465,  3466,
3098
    4039,   124,   125,  2711,  2737,   126,  1442,  2225,  2226,  4219,
3099
    2555,   662,  1830,  2603,  2996,  4231,  4232,  5094,  4233,  5340,
3100
    5498,  4625,  4888,  5089,  5090,  5091,  3648,   128,  1627,   943,
3101
    3864,  4377,  4708,  5138,  5388,  5139,   129,   663,  1481,  2300,
3102
    1121,  1122,  2606,  3387,  2194,  2195,  2196,  3994,  2197,  3389,
3103
    2198,  1415,  2199,  1071,  1072,  3395,  3396,  3397,  3990,  3997,
3104
    2544,  4791,  4792,   130,  1479,  2298,   131,   132,   133,  1522,
3105
     906,  1131,  1132,   134,   675,   676,   135,  4957,   136,  1075,
3106
     137,  4799,   138,   139,   780,   781,  1210,  1211,   140,   141,
3107
    2314,  3755,   142,   143,   144,  3141,  3142,  4321,   145,   146,
3108
    1790,  1791,   147,   148,  3194,  3195,   149,   150,   151,  5432,
3109
    5500,  5501,  5502,  4003,  5343,  5434,  1203,   153,   154,   155,
3110
     192,   950,   951,   952,  2556,  4784,   157,   158,  1438,  1439,
3111
    1440,  1441,  2220,   159,   160,   161,  3409,  3410,   162,   163,
3112
     164,   165,  1775,   166,   167,  4930,   168,   169,  1733,   170,
3113
    1366,  1367,   171,  1381,  1382,   172,  2907,   618,   833,  1370,
3114
    1376,  1383,  1384,  1385,   173,   728,  1166,  1167,  1168,  1943,
3115
     174,  1206,  1001,   729,  1161,   176,   730,  2178,  2948,  3662,
3116
    3663,  3664,  3667,  4610,  4196,   731,  2944,   179,  1986,  2720,
3117
    2723,  2940,   732,  2953,  2954,  2955,  3670,   733,   751,  1064,
3118
    2613,   734,  1300,   184,   185,   186,   842,   836,   837,   188,
3119
    2093,  2888,   767,  1389,   802,   803,   851,  2481,  2144,  2145,
3120
    2169,  2170,  1398,  1399,  2157,  2161,  2162,  2931,  2924,  2150,
3121
    4183,  4860,  4861,  4862,  4863,  4864,  4865,  4597,  2165,  2166,
3122
    1401,  1402,  1403,  2174,   189,  2892,  3623,  3624,  3625,  4160,
3123
    4161,  4175,  4171,  4582,  4847,  3626,  1201,  1409,  4590,  5462,
3124
    3627,  4836,  4837,  5053,  4179,  3634,  3658,  3362,  3363,  3364,
3125
    3628,  5237,  5238,  5459,  5460,  5055,  5056,  2200,  1876,  1103,
3126
    1301,  1104,  1888,  1302,  1860,  1106,  1303,  1304,  1305,  1109,
3127
    1306,  1307,  1308,  1112,  1852,  1309,  1310,  1870,  1885,  1886,
3128
    1371,  5057,  1312,  1313,  1314,  3630,  1315,  4114,  4546,  4535,
3129
    2820,  2821,  2116,  4110,  3568,  2088,  2878,  4869,  5074,  5075,
3130
    3607,  4139,  4562,  4834,  5229,  5350,  5351,  5448,  1316,  1317,
3131
    1318,  2875,  2084,   909,  1319,  3894,  2086,  2814,  1641,  1642,
3132
    1989,  2011,  2767,  2783,  2784,  2794,  3527,  2802,  2807,  3555,
3133
    3556,  2815,  2844,  1320,  2769,  2770,  3511,  2013,  1321,   956,
3134
    1645,   957,  2008,  2839,  1329,  1322,  1323,  1980,   826,  4843,
3135
    1157,   865,  3133,  1725,   959,   764,  1324,  1325,  1326,  1327,
3136
    1515,   945,   880,  1124,  1125,   615,   607,   882,  3109,   616,
3137
     609,   610,  1730
3138
};
3139
3140
  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
3141
     positive, shift that token.  If negative, reduce the rule whose
3142
     number is the opposite.  If YYTABLE_NINF, syntax error.  */
3143
static const yytype_int16 yytable[] =
3144
{
3145
     606,   907,   841,   825,   187,  1192,  1193,  1194,   177,   182,
3146
    1029,  1198,  1568,   178,  1726,   753,   180,   761,   794,   763,
3147
    1940,   753,  1960,   769,  1896,  1404,   187,  1334,   783,   791,
3148
     761,   852,   798,  1330,  1618,   791,   791,  2409,   827,  1731,
3149
     830,  1639,  2233,  1866,  2309,  3352,  1421,  3317,  1573,   860,
3150
    1065,   659,  1360,  3636,  1633,  3488,  1361,  1872,   908,  3398,
3151
     873,  2001,   727,  1800,  2301,  2484,   916,  1348,   913,   828,
3152
    2339,   918,  2322,  3379,  1856,  1857,  1514,  2766,  2584,  3744,
3153
    3656,   938,  3340,  1156,  1865,  4226,  2310,  2475,  3769,  1785,
3154
    3771,   759,  3998,   715,  3724,  3998,  2966,  2968,   604,  3228,
3155
    1482,   613,  3469,  4189,   795,  3192,  1815,  3896,   667,  1773,
3156
    3904,  1067,  1014,  1778,  4267,  3896,  3669,   854,  1782,  1163,
3157
     846,  3969,  3135,  4221,   855,  4626,  4126,  1147,  1792,  2933,
3158
    4419,  4477,  4157,  2726,  4468,  3927,  3646,  4840,  4777,   788,
3159
    1567,  2894,    66,  1818,  4174,  2829,   822,  4779,  1594,  4889,
3160
      75,    77,    78,  3576,    79,  2799,    80,   103,  1135,  1623,
3161
    1169,  1139,   122,  2604,   127,  1077,  2436,  2437,   152,  2206,
3162
     839,  2430,  1850,  4467,   156,   175,  2936,  4969,  2294,   930,
3163
     181,   814,  2904,  2664,  1341,  1360,   606,   863,   863,   866,
3164
    2911,   863,  3675,  1853,  1854,   875,  4875,   827,  1397,  4741,
3165
     910,  1400,  3966,   875,  1864,  4202,   875,  4094,  4900,   827,
3166
    3533,   863, -1951,  4852,   827,  4854, -1918, -2433, -2472,   863,
3167
   -2495,   827,   944,  4172,  5418,  4177,  1478, -2361, -2527, -2303,
3168
     673,  1137,  1814,  5092, -2332,  1842,   735,  2294,  1872, -1931,
3169
    1856,  1857, -2332, -2332,  2323,  1067,  1150,  4778,  4922,   668,
3170
    3988,  2056,  5185,  1174,  2294, -2333,  1761,  2312,  5126,  5013,
3171
    1865,  4932,  4933, -2333, -2333,   735,  1478,  2541, -2696,  4470,
3172
   -1959,  1478,  2217,  4474, -1959,  2837, -2696, -2696,  5109,  3252,
3173
    2062, -2436, -1956,  3674,  2837, -1946,  2312,   673,   673,  5301,
3174
     735, -2302,  2473,  2474,  2443,   673,  2428,  1842,  1887,  -434,
3175
    4692,  3330,  3272,  3725,  3273, -2194,  1769,  1178,  3277,   622,
3176
    3279,  3280, -2194,  2064,  2312,   735,  1842,   673,  2312,  3284,
3177
    3285,  3286,  1511,  2696,  3825,  4693,  3720,   735,  2106,  1511,
3178
     673,  1222,  1362, -1774,   735,  3473,  2312,  1984,  2227,  1338,
3179
    3475,  4514,  4515,  2593,  4517,  4518,  4519,  4520,  4521,   673,
3180
    1853,  1854,  3290,  4958,  1189,  1942,  3044,  2228,  4797,     3,
3181
       4,  4455,  1842,  2127,  2533,  2970,  4780,  2312,  2594,  4302,
3182
    5341,  1630,  4348,  2593,  -136,  5024,  5034,  1864,  1842,  -136,
3183
    4781,  5476,   741,   741,  1049,   741,  4456,  3974,  3159,  1842,
3184
   -2493,  1372,   741,   741,  5419,  1828,  1842,  2538,  2594,  3122,
3185
    5418,  5422,  4045,  2362,   946,  1196,  5070,   742,   742,  2141,
3186
     742,  4736,  2915,  1842,  3436,  2229,  3438,   742,   742,  1050,
3187
    2727,  2376,  2448,  3477,  3167,  2999,  1451,  2148,  2289,  4742,
3188
    2548,  1451,  2056,  2230,  3045,  3829,  3633,   617,  3749,  2107,
3189
    2098,  2581,  1731,  4227,  4995,  4227,   741,  3737,  3660,  2056,
3190
    4367,  1633,  5015,  1051,  3779,   954,  4882,  5014,  3358,   955,
3191
    5323,  2062,  4624,  3359,  3486,  4892,  4281,  5106,  3046,  3780,
3192
    3160,   742,  4368,  2239,  2891,  5067,  4743,  4303,  2062,  1726,
3193
    2872,  3830,  3671,  3000,  3533,   845,  3661,  2873,  3307,  4996,
3194
    1197,   908,  1023,  1363,  2064,  1364,   831,  5204,  1033,  2916,
3195
    3167,  2393,   947,  1052,  3478,  1894,  3047,   673,  2549,  2099,
3196
    1843,  2064,  1048,  3951,   183, -2213,  2539,  1770,  4993,  3738,
3197
     669,  2290, -2213,  3161,  2149,  2050,  4737,  1924,  2736,  2022,
3198
    5477,  1190,  1842,  2110,  1091,  5423,   183,  1452,  2122,  2122,
3199
    2363,  4349,  1452,  3529,   908,  2324,   948,  1631,  5342,  4782,
3200
    4046,  5035,  3474,  2096,  5088,  2534,  2108,  3476,  2325,  2595,
3201
    2326,  4637,   674,  3901,  1731,  3725,   840,  1944,  3533,  1829,
3202
    5419,  2971,  1843,  2697,  2972,  2412,  2231,  4457,   670,  3721,
3203
    4694,  3162,  4304,  3012,  3053,  5157,  3509,  4290,  1067,  4753,
3204
    3291,  1843,  3896,  3921,  5302,  3308,  4798,  2377,  5372,  3123,
3205
    2338,  2005,  1521,   949,  4718,  1067,  2128,  3989,  5254,  3048,
3206
    2526,   960,  5385,  2429,  3253,  2582,  4324,   827,   671,   606,
3207
     672,  2838,   863,  2327,   866,  1770,   863,   187, -2493,  2542,
3208
    3596,  1002,  1005,   910,  5322,  1985,  1003,  1843,  1036,  1004,
3209
     863,  3826,  1851,  1231,  2423,  3130,  3533,  2280,   863, -2194,
3210
    3534,  3535,  3536,  1843,  1197,  1511,   673,  2288,  2404,  4551,
3211
     735,  2407,  1067,  4256,  1843,  1844,  1904,  4119,  5420,  4174,
3212
    5480,  1843,   606,   841,  4579,  1170,  2278,   866,  4583,  3548,
3213
    3163,  1770,   875,  2444,  5197,  5334,   910,  5203,  1843,   875,
3214
    2232, -1951,   875,   997,  4294,  1855, -2493,  5284,  4234,  2414,
3215
    1405,   853,   747,   748, -2433, -2472,   954, -2495, -2303,   863,
3216
     955, -2493,  1867, -2332, -2361, -2527,  1867,  1933,  1859,  2104,
3217
    2083,  4525,  1639,  1639,  1639,  1200,   187,  1873,  1171,  1981,
3218
    1176,  4473,  1180,  1868, -2333,  2472,  2356,  1868,  1184,  3421,
3219
    1991,  2136,  2394,   623,  4613,  2397,  2398, -2696,  4570,  1869,
3220
    4572,  2175,  2893,  1871,  2176,  2002,   747,   748,  1162,  3690,
3221
     827, -1956,  1985,  1165, -1946,  1365,  2052,  2094, -2436,  1453,
3222
   -2302,  1748,   854,   827,  2897,  1214,  1632,  3309,  5085,   855,
3223
    1067,   747,   748,  2449,  4450,  2583,  1200,  1197,  1067,  1067,
3224
    2240,  2685,  1891,  1512,  1513,  1328,  1328,  3671,   827,   791,
3225
    1512,  1513,  3164,   791,  5116,  4811,  5410,  1843,  1902,  2164,
3226
    3165,  2450,  2480,  3166,   832,  1541,  1408,   827,  1736,  1926,
3227
    4963,   827,  5378,  2668,  2874,  2517,  1929,  1328,   908,  2524,
3228
    1458,  1743,  2297,  1454,  4775,  5382,  2134,  1750,  1542,   827,
3229
    1751,  2134,  1187,  1894,  1894,  -136,  -136,  3538,   187, -1918,
3230
    4429,   827,   177,   182,  5355,  3054,  2049,   178,  3982, -2213,
3231
     180,  3966,   774,  3072,  2695,   827,  3677,  3310,  3678,  2945,
3232
    5324,   954,  1368,  4638,  3945,   955,  2708,  2642,  5326,  3822,
3233
    3881,  3882,  1770,   827,  3013,  2297,   856,  3922,   863,   863,
3234
    5395,  2933,  2768,  3934,  5484,  2364,  2078,  2079,  2080,  2081,
3235
    2082,  2083,  2297,  4391,  1878,  1992,   673,  1511,   673,  4210,
3236
    3539,  2422,   735,  3226,  5119,  2080,  2081,  2082,  2083,   791,
3237
     791,  3530,  3531,   871,  2575,  5427,  3550,  2091,  3631, -1918,
3238
    3262,  2493,  4390,  3131,  1019,  1350,  2879,  3651,  5470,  5487,
3239
    5488,  1602,  5441,  4430,  1878,  1337,  1328,  1328,   775,  1345,
3240
    3545,  3546,  3547,  3548,  1373,   606,  2977,  5311,  1443,  3641,
3241
    2857,  5552,  4038,  3580,  3581,  5530,   875,  2183,  1806,  5005,
3242
     910,   857,   875,  2624,  2625,   875,  4417,  1879,  5325,  3112,
3243
    3631,  1118,  1425,  1603,   849,  5098,    66,   673,   673,  1741,
3244
    3639,   863,  4200,   230,    75,    77,    78,  3672,    79,  5412,
3245
      80,   103,  2294,  3026,  5411,  2227,   122,  1436,   127,  2576,
3246
    1807,  3044,   152,   827,  5512,   849,  4226,  1879,   156,   175,
3247
     863,   863,  4322,   617,   181,  4893,  5046,   847,  4431,   788,
3248
    1587,  3113,  3543,  3544,  3545,  3546,  3547,  3548,  1880,  3875,
3249
    3876,  1881,  2946,   827,   827,   827, -2300,   863,  4403,   606,
3250
     606,  4488,  2938,  3642,  1426,  5558,  5116,  3935,  3044,  2409,
3251
    5158,  5120,     3,     4,  1427,  2776,  4816,   673,  2716,  1444,
3252
     619,  1551,  2985,  3424,  5508,  2597,  3999,  2880,  1880,  1993,
3253
    5443,  1881,  2229,  1770,  5483,  3090,  3874,  5396,  4443,  3045,
3254
    2763,  4844,   848,  4841, -1918,  4608,  4848,  2858,  3746,  4850,
3255
    2230,   776,  2859,  5545,  3540,  3541,  3542,  2241,    41,  1552,
3256
    3543,  3544,  3545,  3546,  3547,  3548,  1428,  4404,  3227,   863,
3257
    2835,   863,   863,  1607,  3114,   721,  1512,  1513,  1913,  1608,
3258
    3145,  3348,  1731,  5178,  3425,  1835,  3045,   183,  1866,  2860,
3259
    1810,   777,   778,    45,  5117,    16,  1882,  5118,  3091,  1604,
3260
    3212,  5509,  5080,  1328,  3058,  3906,  3213,  2939,  -706,  3823,
3261
    4405,  4000,  1811,   849,  3266,  5397,  5119,  4418,  5199,  5209,
3262
    1914,  2777,  5177,  1351,   187,  5255,  1808,  4432,  1731,    21,
3263
    3998,  4899,  1639,  1962,  1962,  5260,  1882,    49,   827,  3388,
3264
     761,   858,  5398,  2479,  2717,  3893,  2704,  2705,  2501,   721,
3265
      50,   762,  3909,  3893,   872,  2092,  3146,  5198,  4771,  3747,
3266
    5159,  1998,  5455,  1429,   827,  1020,  2577,  2004,  5165,    16,
3267
    3865,  5444,  2235,    51,  3255,  1445,  4619,  5416,  5417,  2578,
3268
    1328,  3824,  5510,  3427,  1609,  5047,   183,   840,   779,  2947,
3269
    2502,  1352,  1882,  2231,  2778,  3812,  4511,  3059,  4433,   841,
3270
    2236,  2242,  4652,    21,  1605,   954,  1218,  3911,  1883,   955,
3271
    1328,  3214,  1119,  1446,  3048,  1946,  1726,  1948,  2216,  1950,
3272
    1742,  1952,  2050,  1954,  1955,  1956,  2623,  2861,   673,  1884,
3273
    1958,  1809,  1538,  2965,  3027,  2151, -1918,   637,  1328,  1328,
3274
    1328,  3115,  1328,  3995,  2670,  3712,  1447, -1918,  1883,  1855,
3275
   -1918,  1420,   850, -1918,  5202,  2779,  4609,  4406,  2780,  1894,
3276
    4001,  3048,  1328,  5120,  4529,  5083,  4530,  5081,  2132,  2142,
3277
    2143,  1812,  2147,  5456,  2152,  4838,   855,   855,   766,   855,
3278
    2618,  2694,  2677,  2662,  4455,  2699,  1915,  3713,  4292,  2703,
3279
    2243,  1882,  2706,  2707,  5166,  1533,  4727,  5226,   639,  5041,
3280
     827,  3914,  2643,  1500,  5018,    33,   853,  2232,   183,  4456,
3281
    5063,  4227,  5019,  4237,  1408,  1448,  3218,  2656,  4612,  1541,
3282
    2658,  4410,  1433,  1169,  4227,  1434,   908,  5511,  1512,  1513,
3283
    5200,  4002,  5532,  4227,  1328,    41,  3793,   772,  1328,  1328,
3284
    1610,  2718,  1542,  3915,  2237,  2937,  2399,  3119,  2792,   827,
3285
     827,  2181,  4307,  1328,  3219,  2245,  2503,  3748,  3749,  3916,
3286
    4293,  2719,  2621,  2781,  2236,  2246,  4428,  3215,  5167, -2323,
3287
      45,  3240,  3143,  -159,  4921,   791,  2645,  1608,  1611,    33,
3288
    2698,   800,  2154,  2701,  2702,  2987,  3750,  3220,  4509,  4634,
3289
    2657,  1916,  5105,  2800,  5108,  4238,  4483,  2056,  1393,  5112,
3290
    5113,  2818,  -159,  2663,  4531,  3216,  1534,  3370,   774,    41,
3291
    2285,  1612,   773,  1387,    49,   791,  4974,  5457,   722,  1175,
3292
    1177,  1179,  5458,  4906,  1181,  1182,  1183,    50,  3896,   827,
3293
    2311,  3196,  3178,  4270,  1188,  5227,  5520,  1425,  3217,   827,
3294
     823,  2712,   863,  2155,    45,  5335,  2312,  3794,  1836,  3221,
3295
      51,   799,  4239,  3714,   620,  4240,  2313,  3917,  4635,  2064,
3296
    4308,  2504,   651,  4411,   652,  5228,   723,  5004,   910,  4975,
3297
     827,  1395,  2988,  3070,   791,  2782,  5020,  4976,  2995,  2273,
3298
    1578,  2400,  1609,   801,  2401,   796,  5268,  1541,    49,  1786,
3299
    4227,   791,  1500,   827,   775,  3434,   827,  2425,  5257,  5258,
3300
    5317,    50,  1894,  1837,  1570,  4977,  1351,  4190,  4271,  1426,
3301
    1542,  1770,   834,  2925,  2762,  1388,  2765,  1639,  2247,  1427,
3302
    1894,  1579,  2772,  5574,    51,  4060,  2713,  4992,  2786,  2787,
3303
    2788,  1580,   827,  3179,  2114,  1523, -1126,  3305,  2804,  2806,
3304
      52,  3182,  1571,  2816,  3185,   863,   863,   863,   863,   827,
3305
    3152,  3153,  4409,  3337,  3156,   190,  2248,  5269,  3715,   946,
3306
    3177,  2221,  1535,   827,  1596,  4931,  1411,  4449,   944,  3092,
3307
    4191,  1428,  2222,  4978,  1352,  5425,  2115,  1328,  1328,  1328,
3308
    3353,  3354,  3355,  3356,   946,  4979,   190,  4444,  4164,  1218,
3309
    2689,  2223,  3361,  3200,  3256,  3257,  3258,  2409,   191,  3736,
3310
    1536,  1838,  1597,  3795,  1412,  3631,  1524,  1067,  3631,  4074,
3311
    4075,  4076,  4077,    41,  2056,  4082,  4083,  4084,  4085,  4086,
3312
    4087,  4088,  4089,  4090,  4091,  2999,   190,  4212,  3246,   191,
3313
    3893,  1436,  3093,  1537,   183,  4381,  1436,  1413,  2545,  4384,
3314
    4385,  3796,  4387,  2062,  2982,   637,  2654,   776,    45, -1711,
3315
    2616,  5482,  1572,  1839,  4320,   637,  3262,   947,  4025,  4721,
3316
    4165, -1711,  3869,  3407,  2586,  2318, -1711,  2319,  1429,   191,
3317
    5499,  4130,  4131,  1393,  3797,  2485,  2064,   827,  3631,  4960,
3318
    3631,  4928,   947,  3693,  1581,  2399,  1625,   777,   778,   863,
3319
     863,  4757,    49,  4722,  4166,  1862,  1863,  2010,  2710,  2644,
3320
    2151,   948,   908,   908,  4929,    50,   639,  1436,  2330,  4167,
3321
    4758,  1436,   863,   926, -1711,  -596,   639,  2019,  1582,  4168,
3322
    3336,  5208,  1583,  1430,  1929,  5531,   948,  3827,    51,  1626,
3323
    2320,   827,  2690,  4493, -1711,  4494,  4078,  2224,  4079,  2152,
3324
    2330,  1894,   927,  2331,    52,  4169,  1395,  1840,  2035,   863,
3325
     863,   863,   863,  4838,  2543,  1584,  4165,  5181,   949,   843,
3326
    4905,  1431,   827,  2047,  2691,    36,  2845,  4980,  2846,   827,
3327
    4981,  5556,  5497,  2485,  5195,  2331, -1711,  2692,  4037,  5466,
3328
    4810,    41,  3696,   949,   606, -1711,  3067,   606,  1396,  3222,
3329
    4166,  2847,   866,   741,  1432,  2468,  5033,  3821,  1328,  2153,
3330
    3382,  4213,  4935,  5577,  -459,  4585,  3224,  4214,  2469,  3157,
3331
    5219,  4069,  1347,  2693,  4215,  4168,    45,    36,   742,  1816,
3332
    2400,  4038,  3223,  2401,  1422,  2463,  3566,  1433,   844,   908,
3333
    1434,  4170,  3573,   875,   875,   859,  2470,  3462,  5101,  3225,
3334
    4095,  4928,  4400,  1817,   910,   910,  2379,  2154,   875,  4216,
3335
    4217,   875,  1945,   853,   853,  1947,   853,  1949,  3998,  1951,
3336
      49,  1953,  1423,  2464,  4929,  1957,  4080,  4401,   863,   863,
3337
     651,  5190,   652,  4218,   867,   863,  4081,   827,  4766,  1435,
3338
     651,  4740,   652,  5563,  1929,   869,  4878,  1343,  4880,   187,
3339
    1049,  1231,  3975,  2721,  3533,  1424,  2848,   657,  3534,  3535,
3340
    3536,  2849,  1962,  5330,  5191,  5029,  2850,  1786,  2155,   863,
3341
    2102,   875,    52,  2642,   875,   875,   889,   827,   827,  2312,
3342
    4770,   863,  4751,  -459, -1711,  1050,  1165,  4170,   827,  2321,
3343
    3585,  2733,  3586,  2340,  1056,  5150,  3401,   827,  3631,  1921,
3344
    5151,   890,   761,   761,   187,  4350,  2738,  1867,  1002,  1005,
3345
    1328,  5313,  1328,  1003,   942,  3587,  1004,  1328,  1328,  3947,
3346
    4641,  4642,  2348,  1922,  1328,  1328,  1328,   735,  1868,  4351,
3347
    1328,   910,  1328,  1328,  1328,  1328,  1328,  1328,  4235,  1328,
3348
    4654,  1328,  1328,  1393,  4399,  1328,  4658,  2679,  1394,  2680,
3349
    5152,  2681,  3447,  2682,  2371,  2683,   933,  1067,  3906,  2684,
3350
    1328,  1328,  1328,  1328,  3907, -1747,  3032,   863,  1328,  1052,
3351
   -1747,  2388,  1328,  3461,  3635,  1328,  2732,  3908,  1328,  1328,
3352
    1328,  1328,  1328,  1328,  1328,  1328,  1328,   750,  1328,   953,
3353
    2759,  5218,   231,   750,   827,  1328,  2122,  1328,   621,  1021,
3354
    4227,  1022,  4731,  2406,   827,  3909,   719,  3910,  2851,  1007,
3355
   -1710,  4928,  5262,  1067,  1867,  2349,  1395,  1010,  2852,  3020,
3356
     735,  1575, -1710,   908,   797,  3588,  1544, -1710,  3028,  3346,
3357
    3589,  3033,  3034,   827,  4929,  1868,  1057,  1328, -1747,  3505,
3358
    5188,   827,  5426,   827,  2134,  1615,  3790,  3506,  1619,  2341,
3359
    5407,  1869,  3507,  1328,  1935,  3538,  3676,  1936,  1396,  1576,
3360
    3911,  3637,  1328,  1328,  3681,  3649,  3066,  1013,  1541,  1855,
3361
     735,  2207,  1058,  5495,  3905, -1710,   827,  5330,  2342,  3359,
3362
   -1747,  1368,  2906,  2951,  3791,  2956,  3726,  3411,  2380,  3912,
3363
    4227,  1542,  1577,  2383,   954, -1710, -2303,  2949,   955,  3954,
3364
    1016,  2343,  4711,  2344,  4712,  4713,  1532,  -136,  4714,  3964,
3365
    3631,  1549,  3754,  2989,  3631,  2992,   866,  3792,  3539,  2800,
3366
    2800,  4209,  2986,  1030,  2800,   761,  1855,   761,  2207,  4280,
3367
    1044,  1554,  5494,  1059,  3594,  4451,  5479, -1710,  1459,  1060,
3368
    2338,  5536,  2340,  3052,  1328,  3158, -1710,  -595,  5251,  3913,
3369
    2340,  1555,  1598,  1025,  3914,  1026,   606,  1053,   863,   863,
3370
    1867,  2800,  2800,   875,  2453,   910,   875,   875,  2459,   863,
3371
    1054,   863,  3590,  1460,  5377,   863,  5555,  1416,   827,  1055,
3372
    3729,  1868,  3591,  2477,  2478,  1995,  4164,  5564,  1996,  5529,
3373
    1599,  1855,  4237,  1420,  1600,  2130,  3915,  1871,  2131,   791,
3374
    1074,  4227,  1556,  1461,  5573,  2009,  5540,    52,  4265,  2311,
3375
    5522,  1417,  3916,     3,     4,  1418,  4257,  3077,   827,  5583,
3376
    1069,  3243,   891,  1601,  4272,  3089,  4279,  4476,  4896,   892,
3377
     893,   894,  1462,  5590,   827,  1117,  5160,  4048,  5557,  2133,
3378
    1200,  1200,  2134,  2611,  1200,  2612,  1067,  3559,  1419,  3561,
3379
    3562,  2138,  2431,  1639,  2139,   827,  3785,  1126,  4165,  1639,
3380
    3134,  3134,    41,  5572,  2674,  3532,  3685,  2134,  1463,  3902,
3381
    2524,  1855,  4295,  2207,  4238,   827,   827,  3560,  3950,   827,
3382
    2686,   866,   791,  2687,  5586, -1710,  4013,  4014,  5468,  1557,
3383
    2688,  2724,  4166,  2687,  2725,  1133,  2909,    45,  2341,  1929,
3384
    3426,  3428,  3429,  3703,  1464,   863,  2341,  4167,   863,  3583,
3385
    3917,  3923,  3540,  3541,  3542,  1127,  3196,  4168,  3543,  3544,
3386
    3545,  3546,  3547,  3548,  3376,  2957,  3377,  2342,  2134,   827,
3387
     827,  4239,  1151,  3064,  4240,  2342,  3065,  1558,  1144,  1465,
3388
    1559,    49,  3137,  4169,  1160,  3138,  3229,  3609,  3232,  3234,
3389
    2343,  2408,  2344,   735,    50,  3610,  2340,  3611,  2343,   183,
3390
    2344,  5147,  1191,  5149,  1067,  4845,  3612,  5153,  3613,  5154,
3391
    1466,  1467,  3295,  5184,  4392,  3296,  4393,    51,  2934,  2935,
3392
    1328,  1328,  1328,  5519,  1561,  5541,  1328,  5542,  5211,  2338,
3393
   -1711,  3891,   863,    52,  1390,  3300,  1392,  2338,  3301,  3891,
3394
     863,  3412, -1711,   863,  2134, -1769, -1769, -1711,  1468,   863,
3395
    1200,  1377,    36, -1699,   183,  5189,  1469,  1195,   752,  3453,
3396
    4986,  1328,  2687,   863,   752,  1470, -1773, -1773,  1563,  4170,
3397
    3682,  3683,  4937,  1471,  4229,  3504,  1199,  2311,  2134,  5464,
3398
    3134,  1472,   827,  3513,  3519,   827,  2134,  2134,  3520,  3339,
3399
    1564,  2134,   761,  3521,  1473, -1711,  2134,  3552,  3565,  1207,
3400
    2134,  2134,  1474,  1202,   863,  1328,  2462,  3570,  1208,  3772,
3401
    3571,  1566,  3773, -1772, -1772, -1711,  3893,  5086,  4584,  4462,
3402
    4587,  3388,  3777,  5371,  1205,  3778,  3229,  5096,  3801,  3644,
3403
    2843,  3802,  3940,  5352,  5353,  3342,   863,  2055,  3375,  3986,
3404
    2056,  1209,  3987,  4009,   630,  3491,  4010,  4011,  5449,  5450,
3405
    2134,  3371,  2341,  3495,  1215,  1216,  3498, -1711,  4846,  3499,
3406
    3631,  1475,  4101,  1328,  1218,  4102, -1711,  3631,  4111,  2062,
3407
    4122,  4112,  3631,  2134,  1219,  3631,  1217, -2697,  4106,  1231,
3408
    4198,  2342,  3533,  4199,  1220,  1221,  3534,  3535,  3536,  1224,
3409
     863,  1225,   863,  3134,   863,  3134,  3631,  4203,  4208,  1227,
3410
    4204,  2972,  2064,  4813,  2343,  1346,  2344,  4236,  2763,  3631,
3411
    2687,  1349,  4452,  1353,  2055,  2687,  2642,  2056,  3631,  5430,
3412
      30,  2057,  2058,  2059,  4506,  1354,  1355,  1985,   637,  3806,
3413
    1962,  1369,  4526,  4054,  3924,  2134,  3926,  4552,  2060,  1359,
3414
    2725,  5025,   183,  2338,  2822,  1374,  2062,  2825,  3815,  4041,
3415
    1231,  1375, -1119,  3533,  2063,   908,  1377,  3534,  3535,  3536,
3416
    4564,  4615,  1378,  2134,  2972,   752,  4621,  1380,  4627,  4622,
3417
    3582,  2687,   827,  5578,  4120,  1391,  1407,  4630,  1231,  2064,
3418
    4631,  3533,   606,  1406,  1410,  3534,  3535,  3536,   875,   639,
3419
    1633,   875,  1420,  4772,   875,  1067,  4773,  1067,   841,  5594,
3420
    4280,  4803,  4554,   863,  4010, -1711,  2763,  4818,  1456,  4820,
3421
    4819,  1328,  2134,    41, -2697,  1483,  1328,  3992,  3645, -2697,
3422
    1414,  1480, -2334,   897,   898,   899,  1486,  1485,  1521,   900,
3423
     901,   902,   903,   904,   905,  4828,  3341,  1525,  2725,  1328,
3424
    1328,  1328,   841,  1526,  1328,  1527,  2340,   847,    45,  1538,
3425
    1540,  1550,  1328,  1328,  1328,  1328, -2697,  4891,  1553, -1748,
3426
    2134,  3537,  1588,  1589, -1748,  1328,  5429,  1606,  1328,   954,
3427
    1328,  4650,  1377,   955,  4901,  3631,  4034,  4902,  1067,  1616,
3428
    4770,  1328,  1328,  3538,  1617,  1328,  1628,  3119,  1620,  4291,
3429
    4987,  2065,    49,  2687,  4273,  5026,  2066,   910,  5027,  1328,
3430
    1629,  1328,  1732,  1328,  2071,    50,  3933,  4180,  3936,  1735,
3431
    5042,  3143,   848,  2725,  5050,  1734,  1737,  5051,  2067,  2068,
3432
    1744,  5060,  5066,  1328,  1929,  3961,  5068,   827,    51,  3961,
3433
    3196,  1745, -1748,  2069,  3632,  5079,  3631,  5140,  4631,  1753,
3434
    5141,  1740,  3159,  1754,  5431,  2340,  3539,   841,  5180,  1757,
3435
     827,  2101,  4253,   651,  3538,   652,  3055,  1328,  3615,  3616,
3436
    3617,  1763,  3323,  1760,   187,  1766,   654,  2070,  1002,  1005,
3437
    1768,  1774,  1328,  1003, -1748,  5210,  1004,   656,  4631,  1770,
3438
    1786,  2071,  3538,   849,  2072,  1777,  3632,  1779,  2340,  5040,
3439
    3665,  1788,  1789,  3668, -2697,  2956,  1794,  2800,  2800,  2800,
3440
    2800,  1793,  2341,  2800,  2800,  2800,  2800,  2800,  2800,  2800,
3441
    2800,  2800,  2800,  -179,  1796,  5220,  3891,  3539,  2725,  1797,
3442
    1799,  1802,  2340,  2340,  3160,  1801,  5221,  1834,  4388,  3571,
3443
    4104,  2342,  3629,  1804,  4373,  1819,  1328,  1826,  3134,  5222,
3444
    4319,  5234,  2134,  1962,  5235,  3539,  5240,  5243,  5261,  1929,
3445
    3961,  2687,  1841,  2340,  2343,  3132,  2344,   209,  2340,  2800,
3446
    2800,  5267,  5273,  5562,  2725,  2725,  1847,  1848,  1849,  4047,
3447
     863,  2073,   863,   863,   863,  1858,  5274,  3161,  2055,  2725,
3448
    3631,  2056,  1851,  1861,  3629, -2697, -2697, -2697,  5277,  5279,
3449
    4378,  5278,  5280,  2338,  1855, -2697,  1875,  5281,  3820,  4605,
3450
    5282,  2341,  1890,  1859,  2078,  2079,  2080,  2081,  2082,  2083,
3451
    2062,  5309,  4547,  5359,  5310,  1877,  5360,  5363,  2063,  1893,
3452
    1929,  5364,   850,    30,  2134,  5365,  1889,  1894,  2134,  3324,
3453
    2342,  5367,  3828,  3861,  2134,  3162,  4071,  1901,  3631,  1905,
3454
    3540,  3541,  3542,  2064,  2341,  1907,  3543,  3544,  3545,  3546,
3455
    3547,  3548,  1908,  2343,  5390,  2344,   183,  5391,  5414,  5451,
3456
    1910,  5415,  3961,  4258,  5463,    41,  5496,  5073,  4296,  4631,
3457
    4100,  5538,  2074,  2342,  5539,  2075,  2076,  2077,  2341,  2341,
3458
    1912,  2078,  2079,  2080,  2081,  2082,  2083,   827,  5551,  1917,
3459
    5553,  5278,  2338,  5554,  3524,  3645,  2343,  1918,  2344,  5575,
3460
      45,  5581,  5576,  3645,  5360,  1920,  1925,  2342,  2342,  2341,
3461
   -2601,  3540,  3541,  3542,  2341,  4142,    41,  3543,  3544,  3545,
3462
    3546,  3547,  3548,  5584,  5593,  1928,  5278,  5554,  1931,  5233,
3463
    2343,  2343,  2344,  2344,  3163,  2338,  1932,  1934,  2342,  3540,
3464
    3541,  3542,  1959,  2342,    49,  3543,  3544,  3545,  3546,  3547,
3465
    3548,    45,  1990,  1997,  1999,  2065,  2000,    50,  2006,  2055,
3466
    2066,  2343,  2056,  2344,  2007, -1922,  2343, -1929,  2344,  2338,
3467
    2338,   752,  4503,   752,  2014,   752,  2015,  3325,  2016,  2017,
3468
      51,   752,  1185,  1186,  2018,    52,  2020,  2021,  3631,  2022,
3469
   -1919,  2062, -1920,  2023,  2024,    49,    52,  2069,  1328, -2697,
3470
    2338,  2025,  2027, -2601,  1328,  2338,  2028,  2029,    50,  4747,
3471
    2030, -1923,  1731,   863,  2031, -1921,  2087,  2032,  3134,  3134,
3472
    2033,  2034,  2036,  2037,  2064,  3326,  1231,  2038,  2039,  3533,
3473
    2040,    51,  2763, -2697, -2697, -2697,  2041,  2042,  2043,  2089,
3474
    2091,  2117,  2105,  2092,  2101,  2071,  2125,    52, -1466,  2137,
3475
   -1466,  1394,  2140, -2601,  1396,  2171,  3164,   827,   827,   827,
3476
    2173,  2182,  2047,  2184,  3165, -2601,  2186,  3166,  2185,  2202,
3477
   -2601,  2203,  2800,  2205,   827, -2601,  2204,  2207,  2208,  2209,
3478
    2210, -2601,  2211,  2212, -2601,  2213,  2219,  2238,  2244, -2601,
3479
    2250,  2275,  3593,  3985,  2279,  2281,  2282,  2283,  2284,  2286,
3480
    1962,   827,  2287,  2302,  2303,  2315,  2047,  2304,  2316,  2317,
3481
    1962,   827,   827,  2332,  2328,  2334,   827,  2337, -2601,  2335,
3482
    2336,  2338,  4462,  2843,   752,  3631,  2346,  2350,   827,  2347,
3483
    2351,  2352,  2357,  2358,  2361,  2073, -2697,  2367, -2601,  3603,
3484
    3981, -2697,  2368,  2369,  2372,  4498,  4499,  4500,  4501,  4502,
3485
    2374,  2373,  2378,  2375,  2381,  3622,  2384,  2395,  2385,  2402,
3486
    2405,  1500,  2386,  4006,  2390,  2420,  2417,  2391,  2403,  2410,
3487
    2411,  2415,  2416,  2426,   183,  4603,  2419,  2421, -2697,  1200,
3488
   -2601,  2424,  2427, -2601,  2432,  2433,  2434,  2445,  2435, -2601,
3489
    2446,  2451,  2447,   863,  2457,  2465,  2452,  2467,  2461,  2483,
3490
    4136,  2487,  3631,  2476,  2489,  2490,  2492,  3622,  2496,  2491,
3491
    4657,   840,  2497,  2498,   827,  3631,  1231,  4424,  4425,  3533,
3492
    2499,  2500,  2506,  3534,  3535,  3536,  2071,  2507,  2508,  2509,
3493
     827,  2510,  2511,  2519,  2520,  2525,  2074,  2513,  2528, -2697,
3494
   -2697, -2697,  2529,  5236, -2601,  2078,  2079,  2080,  2081,  2082,
3495
    2083,   632,  1328,  2532,  2543,  2537,  2518,  2546,  2557,  2561,
3496
    1572,  1328,  2565,  2562,  2568,  2574,  2592,  1328,  2601,  1328,
3497
    2585,  2588,  1328,  2608,  2605,  2610,  2614,  1328,  1328,  1328,
3498
    1328,  2591,  2619,  1328,  1328,  1328,  1328,  1328,  1328,  1328,
3499
    1328,  1328,  1328,  3539,  2620,  2626,  1328,  1328,   766,  2628,
3500
    2629,  2647,   841,  1554,  2636,  2637,  1328,  2633,  4601,  2634,
3501
    1328,  2638,  2640,  2649,  1328,  2639, -2697,  2651,  4575,  2650,
3502
    4790,   841,  1328,  1555,  2665,  1328,  3631,  1328, -2601,  2652,
3503
    5513,  5514,  2666,  2700,  2722,  2709,  1328,  2735,  2768,  1328,
3504
    1328,  2773,  2056,  2817,  1328,  1328,  2823,  2827,  2836,  4140,
3505
    2842,  1328, -2601,  2854, -2601, -2601,  2856,  2876,   827,   827,
3506
     827,   606,  2877,  2896,  3632,  4162,  2891,  2899,  2901,  4162,
3507
    4176,  4162,  2900,  2902,  1556,   848,  1328,  2927,  2910,  2950,
3508
    3645,  2928,  2926,  4144,  4145,  4146,  4147,  2943,  2914,  2962,
3509
    2990,  2964, -2601,  2929,  2961, -2601, -2601, -2601,  2993,  2995,
3510
    1328,  3004,  2997,   752,  3645,  2998,  3009,  3014,  4732,  4536,
3511
    3019,  3025,  3015,  3021,  2956,  3029,  1328, -2697,  3039,  3040,
3512
    3538,  3043,  3056,  3017,  3057,  3062,  2078,  2079,  2080,  2081,
3513
    2082,  2083,  1343,  1347,  4228,  1962,  4228,  3073,  2485,  3080,
3514
    4941,  1459,  3081,  3094,  3099,  3100,  3121,  3127,  3126,  3148,
3515
    2055,  3129,  3136,  2056,  3144,   863,   863,   863,   863,  3629,
3516
    3168,  1557,  3629,  4695,  4696,  3230,  4698,  3172,  3249,  3254,
3517
    3242,  3251,  3250,   849,  3269,  3274,  1460,  5097,  3275,  3276,
3518
    3282,  3287,  2062,  3539,  2311,  4942,  3289, -2697, -2697, -2697,
3519
   -2697,  3293,  3294,  3543,  3544,  3545,  3546,  3547,  3548,  3302,
3520
    3314,  3315,  3329,  4285,  3333,  3331,  1528,  3263,  3335,  1558,
3521
    4943,  3344,  1559,  3349,  3347,  2064,  3357,  3360,  3366,  2409,
3522
    3365,  3367,  3368,  2408,  4940,  3369,  3373,  4944,  3380,  3381,
3523
    3384,  4945,  3629,  3385,  3629,  1462,  3400,  4629,  3399,  3402,
3524
    3403,  3404,  5144,  3406,  4648,  3413,  3408,  3416,  3417,  3431,
3525
    1882,  4946,  4330,  3415,  4947,  3443,  1561,  3445,  3418,  3419,
3526
    3423,  3432,  3446,  3450,  4953,  3452,  3455,  1929,  3456,  2055,
3527
    4948,  1463,  2056,  3457,  3460,  1926,  3458,  3459,  5131,  1891,
3528
    5133,   752,  3468,  4129,  2736,  3470,   752,   752,  3471,  3472,
3529
    3479,  3482,  3487,  3489,  1197,  3493,  3496,  3494,  4370,  3515,
3530
    1563,  2062,  3891,  3516,  3497,  3518,  3501,  1464,  3517, -2697,
3531
   -2186,  3522,  3523,  3525,  3528,  3529,  3567,  1231,  3551,  3557,
3532
    3533,  4688,  1564,  2134,  3534,  3535,  3536, -2697,  3584,  3564,
3533
    3601,  3592, -2697,  3602,  2064,  3578,  3579,  3606,  3633,  3604,
3534
    3605,  4555,  1465,  1566,   863,   183,  3608,  3647,   827, -1775,
3535
     863,  1554,  1328,  4949,  3652,  3655,  3653,  3659,  3679,   827,
3536
    3695,  4950,  3657,  3673,  3666,  4415,  3684,  3698,   183, -2697,
3537
    3686,  1555,  3687,  1529,  1467,  2311,  3700,  3540,  3541,  3542,
3538
    3722,  3691,  3723,  3543,  3544,  3545,  3546,  3547,  3548,  3692,
3539
     827,  2800,  3707,  3733,  3632,   752,  3735,  3739,  3741,  3740,
3540
    4821,  3745,  4132,  4951,  3229,   752,  3742,  3757,  3758,  3766,
3541
    3760,  1530,  3767,  4463,  3768,    36,  4984,  2071,  4749,  1469,
3542
    3776,  3786,  1556,   827,  3803,  1985,  3805,  2485,  1470,  3810,
3543
    3807,  1328,  1328,  5293,  5295,  3816,  1471,  3818,  4471,  3811,
3544
    3814,  3819,  3832,  4885,  1531,  5287, -2697,  1185,  1186,  4756,
3545
    3833, -2697,  3834,  5394,  3835,  5049,  3836,  1473,  3839,  3837,
3546
    3842,  3844,  3134,  3846,  3134,  1474,  3838,  3840,  3841,  3843,
3547
    3845,   827,  3847,  3851,  3848,  3853,  3855,  2443,  3866,  3873,
3548
    3867,  3868,  3857,  3870,  3877,  4275,  3878,  3880, -2697,   908,
3549
     752,  3886,  3629,   752,   752,  3858,  4912,  3897,  3860,  3900,
3550
    3931,  3932,  3941,  3942,  1328,  3944,  3946, -2697,  3949,  1557,
3551
    3938,  3960,  3961,  3963,  3970,  1328,  3976,  3973,  3979,  3977,
3552
    3980,  3538,  3984,  3983,  1475,  3996,  4005,  4008,  4028,  4015,
3553
    4019,  4016,  4021,  4029,  4030,  4017,  2071,  4031,  4042,  4032,
3554
    4033,  4040,  4035,  1231,  4043,  1328,  3533,  4051,  4044,  4052,
3555
    3534,  3535,  3536,  4053,  4055,  1328,  1328,  1558,  4056,  4057,
3556
    1559,   752,  1328,  1328,  4058,  4790,  2047,  1328,  4059,  4063,
3557
    3554,  2408,  1328,  3533,  5392,  1328,  1328,  5146,  2009, -2185,
3558
    1328,  4563,  4151,  3553,  3539,  4156,  1328,   827,   827,   827,
3559
     827,  4072,  4097,  4098,  4162,  4176,  4162,  4113,  1328,  4162,
3560
    4137,  4124,  4577, -2603,  1561,  4125,  3632,  4099, -2697,  1554,
3561
    3632,  4105,  4128,  4143,  4154,  4155,  4592,  2078,  2079,  2080,
3562
    2081,  2082,  2083,  4163,  4178,  4182, -2697,  4195,  4184,  1555,
3563
    4188,   910,  4186,  4187,  4192,  4197,  4201,  4211,  1328,  4220,
3564
    4244,  4259,  3665,  4246,  4252,  4260,  4247,  2956,  1563,  4907,
3565
    4940,  4617,  4261,  4264,   608,  4266,  4604,  4606,  5059,  4262,
3566
    4268,  4269,  4283,   761,  4286,  2055,  1328,  4298,  2056,  5059,
3567
    1564,  4299,  4300,  1328,  4301,  4325,  4311,  2800,  4313,   752,
3568
    1556,  4274,  4312,  4314,  4338,  4315,  4328,  4316,  2241,  3134,
3569
    3134,  1566,  4339,  5287,  4327,  4344, -2603,  2062,  4347,  4362,
3570
    4364,  4366,  2800,  5300,  3629, -2697,  4274,  2311,  3629,  4369,
3571
    4653,  4376,  4379,  4380,  4382,  4383,  4386,  4396,  4421,  4660,
3572
    4427,  4661,  4407,  4435,  4454,  4441,  4442, -2697,  2687,  4445,
3573
    2064,  4448,  4447,  4464,  4469,  4482,  2078,  2079,  2080,  2081,
3574
    2082,  2083,  4481,  4275,  4485,  5358, -2603, -2697,  4486,  4484,
3575
    5135,  4496,  4504,  4508,  4487,  4510,  4516,  4528, -2603,  4537,
3576
    4538,  4492,  4489, -2603,  4539,  4523,  4532,  1557, -2603,  4533,
3577
    1328,  4541,  4540,  4545, -2603, -2187,  4560, -2603,  3540,  3541,
3578
    3542,  4573, -2603,  4576,  3543,  3544,  3545,  3546,  3547,  3548,
3579
    4578,  4580,   863,  5259,  2622,  4581,  4589,  4588,  4133,  4593,
3580
    4594,  4595,  4596,  4611,  2630,  4602,  2631,   863,  4614,  4616,
3581
    3539, -2603,  2635,  4618,  5130,  1558,  4623,  4624,  1559,  2641,
3582
    4632,  4636,  4655,  4656,  4659,  4665,  5044,  1067,  4666,  2408,
3583
    4667, -2603,  4276,  4687,  4685,  4690,  4691,  4707,  4678,  1328,
3584
     608,  4699, -2697,  4681,  4709,  4710,  4715, -2697,  4723,   608,
3585
     883,  4724,  4729,  4730,  4733,   606,  4738,   608,  4748,   883,
3586
     608,  2311,  1561,  4739,  4745,  4744,  2049,  4746,  4752,  4754,
3587
    1962,  4762,  4765, -2603,   883,  4769, -2603,  4785,  5241,  4774,
3588
    4776,  4786, -2603,  4783, -2697,  1328,  4787,  4788,  4795,  4800,
3589
    4807,  4814,  4808,  4815,  4817,  4822,  4824,  4825,   863,  4826,
3590
    3375,  4827,  4833,  4839,  4842,  4853,  1563,  5256,  4868,  4849,
3591
    4871,  4874,  4876,  4767,  4879,  3622,  4898,  2800,  4890,  4903,
3592
    4913,  4904,  4909,  4934,   908,  4936,  4895,  4954,  1564,   827,
3593
    4897,  4915,  2071,  2054,  4916,  4956,  4920, -2603,  2055,  4925,
3594
    4926,  2056,  4927,   183,  4962,  2057,  2058,  2059,  4406,  1566,
3595
    4966,  4277,  2774,  2775,  4278,  4967,  4964,  4970,  4973,  2789,
3596
    2790,  4972,  2060,  4990,  4991,  2061,  3645,  4998,  5000,  5003,
3597
    2062,  1328,  5007,  5009,  5030,  5016,  5017,   908,  2063,  5028,
3598
    1328,  5032,  5045,  4911,  5031,  5048,  5052,  2828,  5058,  5077,
3599
    5528,   766,  5062,  5065,  5069,  5071,  5102,  1328,  1328,  5088,
3600
    5087,  1328,  5073,  2064,  3540,  3541,  3542,  5109,  5100,  5103,
3601
    3543,  3544,  3545,  3546,  3547,  3548,   606,  5115,  5137,  4162,
3602
    5161, -2603, -2697,  3632,  5163,  5168,  5173,  5172,  3632,  4955,
3603
    1067,  3632,   606,  5175,  3229,  5182,  4855,   605,  1328,  1328,
3604
    5187,  5193,  5194,  5201,  5205, -2603,  5206, -2603, -2603,  5207,
3605
    5214,  5215,  4228,  5216,  1328,  5225,  5217,  5223,  2338,  5224,
3606
    5248,  5232,  5245,  5528,  5249,  4228,   910,   863,   863,   863,
3607
    5252,  5253,  5242,  5266,  4228,  5270,  5244,  5285,  5246,  5292,
3608
    5298,  5299,  5303,  5305,  5308, -2603,  5312,  5315, -2603, -2603,
3609
   -2603,  5528,  5316,  5332,  2932,  2932,  5336,  5373,  2800,  5339,
3610
    2739,  5338,  5344,  5337,  5345,  5354,  5356,  5375,  5381,  5301,
3611
    5393,  5383,  5302,  5402,  3629,  2065,  5403,  5447,   875,   910,
3612
    2066,  3629,  5401, -2697,  4138,  5442,  3629,  3622,  5428,  3629,
3613
    5454,  3622,  2078,  2079,  2080,  2081,  2082,  2083,  5475,  5461,
3614
    5467,  5489,  2067,  2068,  4872,  5472,  5481,  5492,  5505,  5515,
3615
    3629,  2740,  5506,  5507,  5517,   752,  5521,  2069,  5534,  5533,
3616
    5544,   183,   183,  3629,   875,  5543,  5548,   827,  5535,  5130,
3617
    5547,  5546,  3629,  5566,  5567,  5559,  5579,  5580,  1379,  4415,
3618
    5587,  5582,   827,  2741,  5588,  2458,  1484,   827,  3338,  3134,
3619
    3640,  2070,  3201,  2124,  3125,  5023,  2311,  3751,  4289,  4282,
3620
    5386,  5384,  3885,  4389,  3241,  2071,  2742,  4988,  2072,  5155,
3621
    5286,  4423,   827,  5473,  1586,  2055,  4463,  2743,  2056,  5452,
3622
    5008,  1585,  4728,   861,  4983,  3689,  3454,  5376,  5469,   863,
3623
     827,  4228,   874,  4883,  5306,  5304,  5400,  2744,  5486,  3694,
3624
     874,  5491,  2745,   874,  5021,  5585,  4453,  2062,  4472,  3076,
3625
    5264,  4416,  3312,  4287,  3770, -2697,  3313,  1328,  3948,   841,
3626
    1328,  1574,  1328,  4750,  4440,  3303,  4989,  3956,  5474,  4994,
3627
    5589,  5571, -2618,   608,  4968,  3903,  5405,  3898,  1067,  5111,
3628
    2064,  4914,  1328,  2536,  5272,   883,  4917,   768,  1328,  4505,
3629
    5082,   883,  3632,  2918,  2746,  2073,  4855,  1982,  5537,  5389,
3630
    4894,  5095,  1328,  2967,  4478,   883,  5212,  2607,  3680,  1765,
3631
    2653,  5076,  2729,  3854,  1068,  2747,  2730,  2615,  2800,  2800,
3632
    2731,   883,  4317,  3952,  4337,  5433,   608,  5565,  4490,  3629,
3633
    2218,   752,  1116,   827,  2913,  4491,   608,   883,  1962,   752,
3634
    1356,  2678,   752,   608,  2905,   883,   608,  2912,  4558,  4873,
3635
    4458,  4607,  1145,  5370,  4205,  3643,  2135,  2097,  2942,  1116,
3636
     883,  3654,  2167,  1328,  2923, -2618,  2168,  4185,  5366,  4599,
3637
     883,  5247,  2941,   863,   863,   863,   863,  2172,  4158,  4571,
3638
    4586,  5064,  4152,   209,  2748,  5231,  2177,  2749,   908,  5230,
3639
    3629,  4206, -2697,  5568,  4153,  5453,  2074, -2697,  5516,  2075,
3640
    2076,  2077,  5357,  2627,  5043,  2078,  2079,  2080,  2081,  2082,
3641
    2083,  4107,   606,  2750,  4870, -2618,  2751,  5368,   183,  5369,
3642
    3599,  2881,  2752,  3265,  3510,  3597,  2466, -2618,     0,  2753,
3643
    2890,     0, -2618,   827, -2697,     0,  3632, -2618,     0,     0,
3644
       0,     0,     0, -2618,     0,     0, -2618,     0,     0,   608,
3645
     608, -2618,     0,     0,     0,   883,     0,     0,  2754,     0,
3646
       0,     0,  5196,  2755,     0,     0,     0,     0,  2756,     0,
3647
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3648
   -2618,   608,  2071,     0,     0,     0,     0,     0,  2757,     0,
3649
       0,  1328,     0,     0,   606,     0,     0,  1328,     0,     0,
3650
   -2618,  5239,     0,     0,     0,     0,     0,     0,  1328,     0,
3651
       0,     0,  1328,  2758,  1328,     0,  1328,     0,     0,     0,
3652
       0,     0,     0,     0,     0,     0,     0,     0,   863,     0,
3653
     910,     0,     0,     0,  3629,     0,  5250,     0,     0,     0,
3654
       0,     0, -2618,     0,  3622, -2618,  1328,     0,     0,  3622,
3655
       0, -2618,  3622,     0,     0,     0,     0,     0,     0,     0,
3656
       0,     0,     0,     0,     0,     0,     0,     0,  3420,  3422,
3657
       0,     0, -2697,     0,  3430,  5380,     0,     0,     0,     0,
3658
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3659
       0,     0,  3629,     0,  1962,  1962,     0,     0,     0,     0,
3660
     608,   608,  1727,     0,     0,     0, -2618,     0,     0,   608,
3661
       0,     0,     0,     0,     0,     0,  1116,     0,     0,     0,
3662
     608,     0,     0,     0,     0,   863,   608,     0,     0,   608,
3663
       0,     0,  5320,     0,     0,   752,  1328,     0,     0,     0,
3664
     881,     0,  1116,     0,  5331,     0,     0,     0,     0,   917,
3665
       0,     0,  5439,  5440,     0,     0,  1008,  1116,     0,     0,
3666
     766,     0,     0,     0,   939,     0,     0,     0,     0,  1328,
3667
    1328,  1328,     0, -2697,     0,  3229,     0,     0,  1328,     0,
3668
       0,     0,  2078,  2079,  2080,  2081,  2082,  2083,  1328,     0,
3669
   -2618,  5076,     0,     0,     0,  2956,     0,     0,     0,     0,
3670
       0,     0,     0,   608,   608,     0,     0,     0,     0,   861,
3671
     875,     0,   183,     0, -2618,     0, -2618, -2618,     0,   874,
3672
       0,     0,     0,     0,     0,     0,   874,   863,     0,   874,
3673
       0,     0,     0,     0,     0,  1962,     0,     0,     0,     0,
3674
       0,     0,  3629,  1116,     0,     0,     0,     0,     0,   183,
3675
       0,     0,  2055,     0, -2618,  2056,     0, -2618, -2618, -2618,
3676
    2311,  1459,     0,     0,     0,   606,     0,     0,     0,     0,
3677
    1328,     0,     0,     0,     0,  5406,     0,     0,     0,     0,
3678
     883,  4228,     0,     0,  2062,     0,     0,   875,   875,  1328,
3679
       0,     0, -2697,     0,     0,     0,  1460,   187,   883,  1328,
3680
       0,  5435,  5438,  5239,     0,     0,  5436,   608,     0,  5437,
3681
       0,     0,     0,  3622,     0,   883,     0,  2064,     0,     0,
3682
       0,     0,     0,  2047,   863,     0,     0,     0,     0,     0,
3683
       0,  5504,  3638,     0,   752,     0,     0,     0,     0,     0,
3684
       0,  2055,     0,   883,  2056,     0,     0,     0,  2057,  2058,
3685
    2059,     0,  1116,     0,   883,  1462,  3650,  3650,  5331,   863,
3686
     863,     0,     0,     0,     0,  2060,     0,     0,     0,   883,
3687
       0,  4228,   883,  2062,     0,     0,     0,     0,     0,  3629,
3688
       0,  2063,     0,     0,   608,   187,     0,     0,     0,  5435,
3689
    5438,  1463,     0,     0,  5436,  5591,  5592,  5437,  1328,  1328,
3690
       0,     0,     0,     0,     0,     0,  2064,     0,     0,     0,
3691
    1328,     0,     0,     0,   608,     0,     0,     0,     0,     0,
3692
       0,     0,     0,     0,     0,     0,     0,  1464,     0, -2697,
3693
       0,     0,     0,     0, -2697,     0,     0,     0,     0,     0,
3694
       0,     0,   608,   608,   608,     0,   608,     0,     0,     0,
3695
    1328,     0,     0,     0,     0,     0,  3629,  3622,     0,     0,
3696
    1328,     0,  1465,     0,     0,     0,   608,   183,     0,  3629,
3697
       0, -2697,     0,     0,     0,   863,     0,     0,     0,     0,
3698
       0,     0,  4228,     0,     0,     0,     0,     0,     0,     0,
3699
     883,  5239,   861,     0,  1467,   606,   187,     0,   883,   883,
3700
    5435,  5438,     0,   874,     0,  5436,     0,     0,  5437,   874,
3701
       0,     0,   874,     0,     0,     0,     0,     0,  2065,  2071,
3702
       0,     0,     0,  2066,     0,     0,     0,     0,     0,     0,
3703
     875,   875,     0,     0,     0,    36,     0,  2295,   608,  1469,
3704
       0,   183,   608,   608,     0,  2067,  2068,     0,  1470,     0,
3705
       0,     0,     0,     0,     0,     0,  1471,   608,     0,     0,
3706
    2069,  1116,     0,     0,  2296,     0,     0,  1727,     0,     0,
3707
       0,     0,     0,     0,     0,  1024,     0,  1473,     0,     0,
3708
    3629,  1024,     0,     0,     0,  1474,  1831,  1832,     0,     0,
3709
       0,     0,     0,     0,  2070,  1024,     0,     0,     0,     0,
3710
       0,    -5,     0,     0,     0,     0,     0,     0,  2071, -2697,
3711
       0,  2072,     0,     0,     0,     0,     0,     0,     0,     1,
3712
       0,     0,     0,     0,     0,     0,     0,  1116,     0,     2,
3713
       0,     3,     4,     0,     0,     0,     0,     0,     0,  3390,
3714
       0,     0,     0,     0,  1475,     5,     0,     0,     6,     0,
3715
       0,     0,     0,     0,     0,     0,     0,     7,     0,     0,
3716
       0,  1459,     0,     0,     0,     0,     0,  2055,  1116,     8,
3717
    2056,     9,    10,     0,  2057,  2058,  2059,     0,     0,    11,
3718
       0,    12,     0,     0,     0,     0,  3650,     0,     0,     0,
3719
       0,  2060,    13,     0,    14,     0,  1460,     0,  2073,  2062,
3720
       0,  1116,     0,     0,     0,     0,     0,  2063,     0,     0,
3721
   -2697,    15,     0,     0,    16,     0,     0,     0,     0,  2078,
3722
    2079,  2080,  2081,  2082,  2083,     0,     0,     0,    17,   752,
3723
      18,     0,  2064,     0,    19,     0,     0,   752,     0,     0,
3724
      20,     0,     0,     0,     0,     0,     0,     0,    21,     0,
3725
      22,     0,     0,     0,     0,  1462,    23,     0,     0,     0,
3726
       0,  3937,     0,   883,     0,     0,     0,     0,     0,     0,
3727
       0,     0,    24,     0,     0,     0,     0,     0,     0,     0,
3728
     183,   608,   608,   608,     0,     0,     0,     0,     0,     0,
3729
      25,  1463,     0,     0,     0,     0,     0,     0,     0,  2074,
3730
       0,     0,  2075,  2076,  2077,     0,     0,   183,  2078,  2079,
3731
    2080,  2081,  2082,  2083,     0,     0,     0,     0,     0,     0,
3732
       0,  3574,  3391,     0,     0,     0,     0,  1464,     0,     0,
3733
      26,    27,     0,     0,     0,     0,    28,     0,     0,     0,
3734
       0,     0,     0,     0,  2065,     0,     0,     0,    29,  2066,
3735
    4012,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3736
       0,    30,  1465,     0,     0,     0,     0,     0,     0,     0,
3737
       0,  2067,  2068,     0,     0,     0,     0,     0,     0,     0,
3738
       0,     0,     0,     0,  1116,     0,  2069,     0,     0,     0,
3739
       0,     0,     0,     0,  1467,  5503,     0,     0,     0,     0,
3740
       0,  1116,     0,     0,    31,     0,     0,     0,     0,     0,
3741
    1116,     0,     0,     0,     0,     0,     0,  1727,    32,     0,
3742
    2070,     0,  1116,     0,    33,    34,     0,    35,     0,     0,
3743
       0,   752,    36,     0,  2071,    36,     0,    37,     0,  3392,
3744
      38,   883,     0,     0,     0,     0,     0,    39,  1470,   883,
3745
       0,   883,     0,    40,    41,     0,  1471,     0,     0,     0,
3746
       0,    42,     0,   883,  2296,    43,     0,     0,     0,     0,
3747
       0,     0,     0,     0,     0,     0,    44,  1473,     0,     0,
3748
       0,  1116,     0,     0,     0,  1474,     0,     0,   608,    45,
3749
       0,   608,     0,     0,     0,  1116,     0,     0,     0,     0,
3750
       0,     0,   608,     0,     0,     0,   183,     0,  1116,     0,
3751
    3393,     0,    46,     0,     0,     0,  1459,     0,     0,     0,
3752
    1116,     0,    47,     0,  2073,     0,     0,     0,    48,     0,
3753
       0,     0,     0,    49,     0,     0,     0,   608,   608,     0,
3754
     883,   883,     0,     0,  1475,     0,    50,     0,  3394,     0,
3755
       0,  1460,   608,     0,   883,   608,     0,     0,     0,     0,
3756
       0,     0,     0,     0,  1116,  1116,     0,   883,   883,    51,
3757
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3758
       0,  1545,     0,   883,     0,    52,     0,     0,    -5,     0,
3759
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3760
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3761
    1462,     0,     0,     0,     0,   608,     0,     0,   608,   608,
3762
       0,     0,     0,     0,     0,  2074,     0,     0,  2075,  2076,
3763
    2077,     0,     0,     0,  2078,  2079,  2080,  2081,  2082,  2083,
3764
       0,     0,     0,     0,     0,     0,  1463,     0,     0,     0,
3765
       0,     0,     0,     0,   608,     0,   608,     0,     0,     0,
3766
       0,   608,   608,     0,     0,     0,     0,     0,   608,   608,
3767
     608,     0,     0,     0,   608,     0,   608,   608,   608,   608,
3768
     608,   608,  1464,   608,     0,   608,   608,     0,     0,   608,
3769
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3770
       0,     0,     0,  1116,   608,   608,   608,   608,  1727,     0,
3771
       0,     0,   608,     0,   752,     0,   608,  1465,  3390,   608,
3772
       0,     0,   608,   608,   608,   608,   608,   608,   608,   608,
3773
     608,     0,   608,     0,     0,     0,     0,     0,   752,   608,
3774
    1459,   608,     0,     0,     0,   752,     0,     0,  1546,  1467,
3775
       0,     0,  2055,     0,     0,  2056,     0,     0,     0,  2057,
3776
    2058,  2059,     0,     0,     0,     0,     0,     0,     0,     0,
3777
       0,     0,     0,     0,     0,  1460,  2060,     0,     0,     0,
3778
       0,   608,     0,     0,  2062,     0,  1547,     0,     0,     0,
3779
      36,     0,  2063,     0,  1469,     0,     0,   608,     0,     0,
3780
       0,     0,     0,  1470,     0,     0,   608,   608,     0,     0,
3781
       0,  1471,     0,     0,     0,     0,     0,  2064,     0,  1548,
3782
       0,     0,     0,     0,  1185,  1186,     0,     0,     0,     0,
3783
       0,   883,  1473,     0,  1462,     0,     0,     0,  1116,     0,
3784
    1474,     0,  1116,  1116,     0,     0,     0,     0,     0,   883,
3785
       0,     0,     0,     0,  1727,   883,     0,     0,     0,   883,
3786
       0,     0,     0,     0,     0,     0,     0,   883,     0,     0,
3787
    1463,   861,     0,     0,   861,     0,     0,     0,     0,     0,
3788
       0,     0,     0,     0,     0,   883,     0,     0,   608,     0,
3789
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1475,
3790
     608,  3391,     0,     0,  1116,     0,  1464,   608,     0,     0,
3791
     608,   608,     0,     0,     0,     0,     0,     0,  1116,     0,
3792
     874,   874,     0,     0,     0,     0,     0,     0,     0,  2065,
3793
       0,   883,     0,     0,  2066,   874,     0,     0,   874,     0,
3794
       0,  1465,     0,     0,     0,     0,     0,     0,     0,   883,
3795
     883,     0,     0,     0,     0,     0,  2067,  2068,  1116,     0,
3796
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3797
     752,  2069,     0,  1467,     0,  2252,     0,     0,     0,     0,
3798
    2253,  1727,   883,     0,     0,  1727,     0,     0,     0,     0,
3799
       0,     0,     0,     0,     0,     0,     0,     0,   874,     0,
3800
       0,   874,   874,     0,     0,  2070,     0,     0,   883,     0,
3801
    1727,     0,     0,     0,    36,   883,  2254,     0,  1469,  2071,
3802
       0,   883,  2072,     0,     0,  1487,     0,  1470,   883,  2255,
3803
       0,  1488,   883,  1487,     0,  1471,     0,   883,     0,  1488,
3804
       0,     0,     0,  2296,     0,  2256,     0,     0,     0,     0,
3805
       0,  2055,   677,  2456,  2056,     0,  1473,   883,  2057,  2058,
3806
    2059,   765,   883,     0,  1474,     0,   883,     0,     0,  1727,
3807
       0,     0,     0,     0,  1490,  2060,     0,     0,     0,   883,
3808
       0,   883,  1490,  2062,     0,     0,  2257,     0,     0,  3393,
3809
       0,  2063,     0,     0,   883,     0,     0,  2258,     0,     0,
3810
       0,     0,     0,     0,   883,     0,     0,     0,     0,  2073,
3811
       0,     0,     0,     0,     0,     0,  2064,  2259,     0,     0,
3812
       0,     0,  2260,  1475,   608,   608,   608,  3394,     0,  1492,
3813
     608,     0,     0,  2353,     0,     0,  1493,  1492,     0,  1494,
3814
       0,     0,     0,     0,  1493,     0,     0,  1494,     0,     0,
3815
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3816
       0,     0,     0,     0,  1495,   608,  1116,     0,     0,     0,
3817
       0,     0,  1495,     0,     0,  1727,     0,     0,     0,     0,
3818
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3819
       0,     0,     0,     0,     0,  2261,     0,     0,     0,  1496,
3820
       0,     0,     0,   752,     0,     0,     0,  1496,   752,   608,
3821
    2074,     0,   752,  2075,  2076,  2077,     0,     0,     0,  2078,
3822
    2079,  2080,  2081,  2082,  2083,     0,     0,     0,  2065,  2826,
3823
    2262,  2547,     0,  2066,     0,     0,     0,  4675,  4676,  2564,
3824
       0,  2567,  4679,  4680,     0,     0,     0,     0,     0,     0,
3825
       0,     0,  1116,  2456,     0,  2067,  2068,   883,  1497,     0,
3826
       0,  1498,     0,   209,  2263,     0,  1497,   608,     0,  1498,
3827
    2069,  1499,     0,     0,     0,     0,     0,     0,     0,  1499,
3828
    1500,     0,     0,   861,     0,     0,     0,     0,  1500,     0,
3829
     874,     0,  1501,   874,   874,     0,  2264,     0,     0,     0,
3830
    1501,     0,  2265,     0,  2070,     0,     0,     0,     0,  2266,
3831
       0,     0,  2267,   883,     0,     0,     0,     0,  2071,     0,
3832
       0,  2072,     0,     0,     0,     0,     0,     0,     0,     0,
3833
    1621,  2646,     0,  1503,  1504,     0,     0,     0,  2354,     0,
3834
       0,  1503,  1504,  2268,     0,     0,     0,     0,     0,     0,
3835
       0,     0,     0,  2269,     0,     0,   883,     0,  2456,     0,
3836
       0,  2270,     0,  1622,     0,     0,     0,     0,  2271,  1487,
3837
       0,  2355,  1116,     0,   883,  1488,     0,     0,     0,     0,
3838
       0,     0,   883,     0,     0,     0,   608,     0,  1590,  1116,
3839
       0,     0,   608,  2272,     0,   608,     0,     0,   608,     0,
3840
       0,     0,     0,     0,  1116,     0,     0,     0,  2073,     0,
3841
       0,     0,     0,     0,     0,   608,     0,     0,  1490,     0,
3842
     608,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3843
       0,     0,  1506,     0,     0,     0,     0,     0,     0,     0,
3844
    1506,     0,     0,   608,   608,   608,     0,     0,   608,     0,
3845
       0,     0,     0,     0,     0,     0,   608,   608,   608,   608,
3846
       0,     0,     0,     0,  1727,     0,     0,     0,     0,   608,
3847
    1727,  1591,   608,  1492,   608,     0,     0,     0,     0,     0,
3848
    1493,     0,     0,  1494,     0,   608,   608,     0,     0,   608,
3849
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3850
       0,     0,     0,   608,     0,   608,     0,   608,  1495,  2074,
3851
       0,     0,  2075,  2076,  2077,     0,     0,     0,  2078,  2079,
3852
    2080,  2081,  2082,  2083,     0,     0,     0,   608,  3899,     0,
3853
       0,     0,     0,     0,     0,     0,     0,     0,   608,     0,
3854
       0,  2055,     0,  1496,  2056,     0,   883,     0,  2057,  2058,
3855
    2059,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3856
       0,   608,     0,     0,     0,     0,     0,     0,     0,     0,
3857
       0,     0,     0,  2062,     0,     0,   608,     0,     0,     0,
3858
       0,  2063,     0,     0,     0,     0,     0,     0,     0,     0,
3859
     608,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3860
     752,     0,  1497,     0,     0,  1498,  2064,     0,     0,  1116,
3861
       0,     0,  1116,     0,  1116,  1499,     0,     0,     0,  1116,
3862
    2055,  2958,     0,  2056,  1500,     0,     0,  2057,  2058,  2059,
3863
       0,     0,     0,     0,   883,   883,  1501,     0,     0,  2974,
3864
     608,     0,     0,     0,  2060,  2978,     0,     0,     0,  2981,
3865
       0,     0,  2062,     0,  1000,     0,     0,     0,     0,     0,
3866
    2063,   883,     0,     0,   883,     0,     0,     0,  1116,     0,
3867
       0,     0,     0,     0,  1592,  3005,     0,  1503,  1504,     0,
3868
       0,     0,     0,     0,     0,  2064,     0,  1116,     0,     0,
3869
       0,     0,  1487,     0,     0,     0,     0,     0,  1488,     0,
3870
       0,     0,     0,     0,     0,     0,     0,  1593,  1066,   677,
3871
       0,  1489,  1116,     0,     0,     0,     0,     0,  2065,     0,
3872
       0,  3060,     0,  2066,     0,     0,     0,     0,     0,     0,
3873
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1024,
3874
       0,  1490,     0,     0,     0,  2067,  2068,     0,     0,  1727,
3875
    1727,  1727,     0,     0,     0,     0,     0,     0,     0,     0,
3876
    2069,     0,     0,     0,     0,     0,     0,     0,     0,   861,
3877
       0,     0,  3110,   883,     0,   874,  1506,     0,   874,     0,
3878
       0,   874,     0,  1116,     0,  1116,     0,     0,     0,     0,
3879
       0,     0,  1491,   883,  2070,     0,  1492,  2065,  3139,     0,
3880
       0,     0,  2066,  1493,  1204,  3149,  1494,     0,  2071,     0,
3881
       0,  3154,   883,  1487,     0,     0,     0,     0,  1024,  1488,
3882
       0,     0,  3169,     0,  2067,  2068,  1554,  3173,     0,     0,
3883
    1223,  1495,     0,     0,     0,     0,     0,     0,  1331,  2069,
3884
       0,  1340,  1066,  1342,     0,     0,  1555,  3186,     0,     0,
3885
       0,     0,  3188,     0,     0,     0,  3191,     0,     0,     0,
3886
     752,   752,  1490,     0,     0,     0,  1496,     0,     0,  3208,
3887
       0,  3210,     0,  2070,     0,   752,  1116,     0,     0,     0,
3888
       0,     0,     0,     0,  3235,     0,     0,  2071,     0,     0,
3889
    2072,     0,     0,     0,  1024,     0,   883,  1556,  2073,     0,
3890
       0,     0,   608,     0,     0,     0,     0,     0,   608,     0,
3891
       0,     0,     0,     0,     0,     0,  1116,  1492,     0,     0,
3892
       0,   605,     0,     0,  1493,  1497,     0,  1494,  1498,     0,
3893
       0,     0,     0,     0,     0,     0,     0,     0,  1499,     0,
3894
       0,  1116,     0,     0,     0,     0,     0,  1500,  1727,  1116,
3895
       0,     0,  1495,     0,     0,   883,     0,   883,     0,  1501,
3896
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3897
     883,     0,   883,   605,     0,     0,     0,  2073,     0,     0,
3898
       0,     0,     0,     0,  1557,     0,     0,  1496,     0,     0,
3899
       0,     0,     0,     0,  1727,     0,     0,  1502,     0,  2074,
3900
    1503,  1504,  2075,  2076,  2077,     0,     0,     0,  2078,  2079,
3901
    2080,  2081,  2082,  2083,     0,     0,     0,     0,     0,     0,
3902
       0,     0,  1116,     0,     0,     0,     0,     0,     0,     0,
3903
    1505,     0,  1558,     0,     0,  1559,     0,     0,   883,  1116,
3904
       0,     0,     0,     0,     0,     0,  1560,     0,     0,  1498,
3905
       0,     0,     0,  1116,     0,     0,     0,     0,     0,  1499,
3906
       0,     0,     0,     0,     0,  5283,     0,     0,  1500,     0,
3907
       0,     0,     0,     0,     0,     0,     0,     0,  2074,  1561,
3908
    1501,  2075,  2076,  2077,     0,     0,     0,  2078,  2079,  2080,
3909
    2081,  2082,  2083,   883,     0,     0,     0,  4065,     0,  1506,
3910
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3911
       0,   883,     0,     0,     0,     0,     0,     0,  1562,     0,
3912
       0,  1503,  1504,  1563,     0,     0,     0,     0,     0,     0,
3913
       0,     0,     0,   883,     0,     0,   883,     0,     0,     0,
3914
       0,     0,     0,     0,     0,  1564,  3467,     0,     0,     0,
3915
       0,  1565,     0,     0,     0,     0,   608,     0,     0,  1116,
3916
       0,     0,     0,     0,  3481,   608,  1566,     0,  1487,     0,
3917
       0,   608,  3467,   608,  1488,     0,   608,     0,     0,     0,
3918
    1116,   608,   608,   608,   608,  1066,     0,   608,   608,   608,
3919
     608,   608,   608,   608,   608,   608,   608,     0,     0,     0,
3920
     608,   608,  1066,     0,     0,  1116,     0,     0,     0,     0,
3921
     608,     0,     0,   752,   608,   752,  1727,  1490,   608,     0,
3922
    1506,     0,     0,     0,     0,     0,   608,     0,     0,   608,
3923
       0,   608,     0,     0,     0,     0,  1987,     0,     0,  1116,
3924
     608,     0,     0,   608,   608,     0,     0,     0,   608,   608,
3925
       0,     0,     0,     0,     0,   608,     0,     0,     0,  1066,
3926
       0,     0,     0,     0,     0,   608,  2055,     0,   608,  2056,
3927
       0,     0,  1492,  2057,  2058,  2059,     0,     0,     0,  1493,
3928
     608,     0,  1494,     0,     0,     0,     0,     0,     0,     0,
3929
    2060,     0,     0,     0,     0,     0,     0,     0,  2062,     0,
3930
       0,     0,     0,     0,   608,     0,  2063,  1495,     0,     0,
3931
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3932
     608,     0,     0,     0,     0,  2055,  1116,     0,  2056,     0,
3933
       0,  2064,  2057,  2058,  2059,  2051,     0,     0,   608,     0,
3934
     608,     0,  1496,     0,  2053,     0,     0,     0,     0,  2060,
3935
       0,     0,     0,     0,  5490,     0,     0,  2062,  2095,     0,
3936
       0,     0,     0,     0,     0,  2063,     0,     0,     0,   883,
3937
       0,     0,     0,     0,     0,     0,     0,  1066,     0,     0,
3938
    2112,  2113,     0,     0,     0,  1066,  1066,     0,     0,  2055,
3939
    2064,     0,  2056,     0,     0,     0,  2057,  2058,  2059,     0,
3940
       0,  1497,     0,     0,  1498,     0,     0,   752,     0,     0,
3941
       0,     0,     0,  2060,  1499,     0,  5526,     0,     0,     0,
3942
    1727,  2062,     0,  1500,     0,  1727,  1116,  1727,     0,  2063,
3943
       0,     0,     0,     0,     0,  1501,     0,     0,     0,     0,
3944
       0,     0,     0,  2065,     0,     0,     0,  1487,  2066,  1727,
3945
    1116,  3701,     0,  1488,  2064,     0,     0,     0,     0,     0,
3946
       0,     0,     0,     0,     0,     0,  1590,     0,  1727,     0,
3947
    2067,  2068,     0,  2276,     0,     0,  1503,  1504,     0,     0,
3948
       0,     0,     0,     0,   883,  2069,     0,   883,     0,  5526,
3949
       0,     0,     0,     0,   752,     0,  1490,     0,     0,     0,
3950
       0,     0,  2065,     0,     0,     0,  2277,  2066,     0,     0,
3951
       0,     0,     0,     0,     0,  1487,     0,  5526,     0,  2070,
3952
       0,  1488,     0,     0,     0,     0,     0,     0,     0,  2067,
3953
    2068,     0,     0,  2071,     0,     0,  2072,     0,     0,     0,
3954
       0,     0,     0,     0,  2069,     0,     0,     0,     0,  1591,
3955
       0,  1492,     0,     0,     0,     0,   608,     0,  1493,     0,
3956
       0,  1494,     0,  3781,  1490,     0,  2065,     0,     0,     0,
3957
       0,  2066,     0,     0,     0,  1506,     0,     0,  2070,     0,
3958
       0,   883,   883,     0,     0,  1116,  1495,     0,     0,     0,
3959
       0,   883,  2071,  2067,  2068,  2072,     0,     0,   608,     0,
3960
       0,     0,     0,     0,     0,     0,  2413,     0,  2069,     0,
3961
     883,     0,  2418,     0,     0,     0,     0,     0,     0,  1492,
3962
       0,  1496,     0,  2073,     0,     0,  1493,     0,     0,  1494,
3963
       0,     0,     0,     0,  1116,   608,   608,     0,     0,     0,
3964
       0,     0,  2070,     0,     0,     0,     0,     0,   605,     0,
3965
       0,   605,     0,     0,  1495,     0,  2071,     0,     0,  2072,
3966
       0,     0,     0,     0,  1487,     0,     0,     0,     0,     0,
3967
    1488,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3968
    1497,     0,  2073,  1498,     0,   883,  3862,     0,     0,  1496,
3969
       0,     0,     0,  1499,     0,     0,     0,     0,     0,     0,
3970
       0,  1487,  1500,     0,     0,     0,     0,  1488,   608,     0,
3971
       0,     0,     0,  1490,  1501,     0,     0,     0,     0,   608,
3972
       0,   605,     0,   605,  2074,     0,     0,  2075,  2076,  2077,
3973
       0,     0,     0,  2078,  2079,  2080,  2081,  2082,  2083,     0,
3974
       0,     0,     0,  4116,     0,     0,  2073,     0,  1497,   608,
3975
    1490,  1498,  3198,     0,     0,  1503,  1504,     0,     0,   608,
3976
     608,  1499,  1116,     0,     0,     0,   608,   608,  1492,     0,
3977
    1500,   608,  1116,     0,     0,  1493,   608,     0,  1494,   608,
3978
     608,     0,  1501,  2074,   608,  3199,  2075,  2076,  2077,     0,
3979
     608,     0,  2078,  2079,  2080,  2081,  2082,  2083,     0,     0,
3980
    2482,     0,   608,  1495,     0,  1492,     0,     0,     0,     0,
3981
     608,     0,  1493,     0,   608,  1494,     0,     0,     0,     0,
3982
    3069,     0,     0,  1503,  1504,     0,     0,     0,     0,     0,
3983
       0,  2558,     0,     0,     0,  2563,     0,     0,  1496,     0,
3984
    1495,     0,   608,     0,     0,     0,     0,  2074,     0,     0,
3985
    2075,  2076,  2077,  1505,  1506,     0,  2078,  2079,  2080,  2081,
3986
    2082,  2083,     0,     0,     0,     0,  4222,     0,     0,     0,
3987
     608,  2055,     0,     0,  2056,  1496,     0,   608,  2057,  2058,
3988
    2059,     0,     0,  2456,     0,     0,     0,     0,     0,     0,
3989
       0,  1116,     0,     0,     0,  2060,     0,  1497,     0,     0,
3990
    1498,  4036,     0,  2062,     0,     0,     0,     0,   883,     0,
3991
    1499,  2063,     0,  1727,     0,     0,     0,     0,     0,  1500,
3992
       0,     0,  1506,     0,     0,     0,  4050,     0,     0,     0,
3993
    1116,  1501,     0,     0,  1497,     0,  2064,  1498,     0,     0,
3994
       0,     0,     0,     0,     0,     0,   883,  1499,     0,     0,
3995
       0,  1116,     0,     0,     0,     0,  1500,     0,   883,     0,
3996
       0,     0,  1114,     0,     0,     0,     0,     0,  1501,  3244,
3997
       0,     0,  1503,  1504,   608,     0,     0,     0,     0,     0,
3998
       0,   605,     0,     0,     0,   883,     0,     0,     0,  1114,
3999
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4000
       0,     0,  3245,     0,     0,     0,  3727,     0,     0,  1503,
4001
    1504,     0,     0,     0,     0,     0,  1116,     0,     0,     0,
4002
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4003
    1846,     0,     0,     0,     0,     0,     0,     0,     0,  3728,
4004
       0,     0,     0,   608,     0,     0,     0,     0,  2065,     0,
4005
    1487,     0,     0,  2066,  2785,     0,  1488,     0,  1874,   608,
4006
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4007
       0,  1506,     0,     0,     0,  2067,  2068,     0,  1892,     0,
4008
       0,     0,   883,     0,     0,     0,     0,     0,  1903,   608,
4009
    2069,     0,  1906,     0,     0,     0,  1909,     0,  1911,  1490,
4010
       0,     0,     0,     0,  1919,     0,     0,     0,  1506,     0,
4011
    1927,  1487,     0,  1930,     0,     0,     0,  1488,     0,     0,
4012
       0,     0,     0,  1102,  2070,     0,     0,     0,     0,  1116,
4013
       0,  1116,     0,     0,     0,     0,     0,     0,  2071,     0,
4014
       0,  2072,     0,     0,     0,  2898,     0,     0,     0,     0,
4015
    1102,     0,     0,     0,  1492,     0,     0,   883,     0,  4254,
4016
    1490,  1493,     0,     0,  1494,     0,     0,     0,     0,     0,
4017
       0,     0,     0,     0,     0,   608,     0,     0,     0,  1116,
4018
       0,     0,     0,     0,   608,     0,     0,     0,     0,  1495,
4019
       0,     0,     0,   605,     0,     0,     0,   605,     0,     0,
4020
       0,   608,   608,     0,     0,   608,     0,     0,     0,     0,
4021
       0,     0,     0,     0,     0,  1492,     0,     0,     0,     0,
4022
     608,     0,  1493,     0,  1496,  1494,     0,   608,  2073,     0,
4023
       0,     0,   608,     0,     0,   608,   608,     0,     0,     0,
4024
       0,     0,   608,   608,     0,     0,  1114,     0,     0,     0,
4025
    1495,     0,     0,     0,  1066,     0,   608,     0,   608,     0,
4026
       0,     0,     0,   883,     0,   883,     0,     0,     0,   608,
4027
       0,     0,  1114,     0,  4352,     0,     0,  4355,   608,     0,
4028
       0,     0,     0,  1497,     0,  1496,  1498,  1114,     0,     0,
4029
       0,     0,     0,     0,     0,     0,  1499,     0,     0,     0,
4030
       0,     0,     0,     0,     0,  1500,     0,     0,     0,     0,
4031
       0,     0,  1116,   883,     0,     0,     0,  1501,     0,     0,
4032
       0,     0,   608,     0,     0,  1342,     0,     0,     0,  2074,
4033
       0,     0,  2075,  2076,  2077,     0,     0,     0,  2078,  2079,
4034
    2080,  2081,  2082,  2083,  1497,     0,     0,  1498,  4524,     0,
4035
       0,     0,     0,     0,     0,  3783,     0,  1499,  1503,  1504,
4036
       0,     0,  1727,     0,     0,     0,  1500,     0,   608,     0,
4037
       0,     0,     0,  1114,     0,     0,     0,     0,  1501,     0,
4038
       0,  4437,     0,     0,     0,     0,     0,     0,  3784,     0,
4039
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4040
    2456,     0,     0,     0,  1342,     0,     0,  1739,     0,     0,
4041
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1503,
4042
    1504,  1342,     0,  5012,     0,     0,     0,     0,     0,     0,
4043
       0,     0,     0,  1756,     0,   608,     0,  1116,     0,     0,
4044
       0,     0,  4735,     0,     0,     0,     0,     0,  1767,  1505,
4045
       0,     0,     0,     0,     0,     0,     0,  1506,     0,     0,
4046
       0,   608,  1116,     0,   608,     0,   608,     0,     0,     0,
4047
       0,     0,     0,     0,     0,  3467,     0,     0,     0,     0,
4048
       0,     0,  1114,     0,  3238,     0,   608,     0,     0,     0,
4049
       0,     0,   608,     0,     0,     0,   608,     0,     0,     0,
4050
       0,     0,  1116,     0,     0,     0,   608,     0,     0,     0,
4051
       0,     0,     0,     0,     0,     0,     0,     0,  1506,     0,
4052
       0,  3268,     0,     0,  3268,     0,  3268,     0,     0,     0,
4053
    3268,     0,  3268,  3268,     0,     0,     0,     0,     0,     0,
4054
       0,  3268,  3268,  3268,     0,     0,     0,     0,     0,  1727,
4055
       0,     0,     0,     0,     0,     0,     0,  1116,     0,     0,
4056
       0,     0,  1116,  1116,     0,     0,     0,   608,     0,     0,
4057
       0,     0,     0,     0,   883,     0,     0,     0,     0,     0,
4058
       0,     0,     0,     0,     0,     0,     0,   883,     0,     0,
4059
       0,     0,     0,     0,     0,     0,     0,     0,  2055,     0,
4060
       0,  2056,  3351,   605,     0,  2057,  2058,  2059,     0,     0,
4061
     605,     0,     0,     0,     0,   605,   608,     0,   605,  4851,
4062
       0,     0,  2060,  2111,     0,     0,     0,     0,     0,     0,
4063
    2062,     0,     0,     0,     0,  3383,     0,     0,  2063,   605,
4064
     608,     0,     0,  1988,  1066,     0,     0,     0,     0,     0,
4065
       0,     0,   605,     0,     0,     0,     0,     0,     0,     0,
4066
       0,   605,     0,  2064,     0,     0,     0,     0,     0,     0,
4067
       0,     0,     0,     0,  1116,  1116,     0,     0,     0,     0,
4068
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4069
       0,  1114,     0,     0,     0,   608,     0,     0,   608,     0,
4070
    1066,   608,     0,     0,     0,   874,     0,     0,     0,     0,
4071
       0,     0,   608,     0,     0,     0,   608,     0,   608,     0,
4072
     608,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4073
       0,     0,     0,     0,     0,     0,  4672,     0,     0,     0,
4074
       0,     0,     0,     0,     0,     0,     0,     0,  4682,  5445,
4075
     608,   874,     0,     0,     0,     0,     0,  1114,     0,     0,
4076
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4077
       0,     0,     0,     0,     0,  2065,     0,     0,     0,     0,
4078
    2066,     0,     0,     0,     0,     0,     0,     0,  1727,     0,
4079
     883,     0,     0,     0,     0,     0,     0,     0,  1114,     0,
4080
       0,     0,  2067,  2068,     0,     0,     0,     0,     0,     0,
4081
       0,     0,     0,     0,   614,     0,     0,  2069,   605,     0,
4082
     666,   614,     0,     0,     0,     0,   720,     0,   614,     0,
4083
       0,  1114,     0,     0,   614,     0,   771,     0,     0,     0,
4084
     608,     0,     0,     0,     0,     0,     0,     0,   608,     0,
4085
       0,  2070,     0,  2648,     0,   838,   838,     0,     0,     0,
4086
       0,  2655,     0,     0,     0,  2071,     0,     0,  2072,     0,
4087
       0,     0,     0,   608,   608,   608,     0,     0,     0,   605,
4088
       0,  2667,   608,  1727,     0,     0,  1116,     0,     0,     0,
4089
    5446,     0,   608,     0,     0,     0,     0,     0,     0,     0,
4090
     883,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4091
       0,     0,     0,     0,   608,     0,     0,     0,  2055,     0,
4092
       0,  2056,     0,     0,     0,  2057,  2058,  2059,     0,   883,
4093
       0,     0,     0,  1066,     0,     0,     0,     0,     0,     0,
4094
       0,     0,  2060,     0,     0,     0,     0,  3467,     0,     0,
4095
    2062,     0,     0,     0,     0,  2073,     0,     0,  2063,  2360,
4096
       0,     0,     0,     0,     0,     0,     0,     0,     0,   608,
4097
       0,     0,     0,     0,   608,     0,     0,     0,     0,     0,
4098
       0,     0,     0,  2064,     0,   608,     0,     0,     0,     0,
4099
       0,   608,   608,   608,     0,     0,     0,     0,     0,  5174,
4100
       0,     0,     0,   608,     0,   870,     0,     0,     0,     0,
4101
       0,     0,     0,   912,  1114,     0,   914,     0,     0,   919,
4102
     920,     0,   923,   605,   925,     0,     0,   931,   932,     0,
4103
     934,  1114,     0,     0,     0,     0,     0,     0,   883,     0,
4104
    1114,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4105
       0,  1066,  1114,  3467,     0,  3467,  2074,     0,     0,  2075,
4106
    2076,  2077,   608,     0,     0,  2078,  2079,  2080,  2081,  2082,
4107
    2083,     0,     0,     0,     0,   608,     0,     0,     0,     0,
4108
       0,   605,     0,     0,     0,     0,  2903,     0,     0,     0,
4109
       0,     0,     0,     0,     0,  2065,     0,     0,     0,     0,
4110
    2066,     0,   608,   608,     0,     0,     0,     0,     0,     0,
4111
       0,  1114,     0,     0,   608,     0,     0,     0,     0,     0,
4112
       0,     0,  2067,  2068,     0,  1114,     0,     0,  1727,     0,
4113
       0,     0,     0,     0,     0,     0,     0,  2069,  1114,     0,
4114
       0,     0,  3775,     0,     0,     0,     0,     0,     0,     0,
4115
    1114,     0,     0,     0,   608,     0,     0,     0,     0,     0,
4116
       0,     0,     0,     0,   608,     0,     0,     0,     0,     0,
4117
       0,  2070,     0,     0,     0,  2488,     0,     0,     0,     0,
4118
       0,     0,     0,     0,     0,  2071,   608,     0,  2072,     0,
4119
       0,     0,  2505,     0,  1114,  1114,     0,  3813,     0,   608,
4120
       0,  1727,     0,     0,     0,     0,     0,     0,     0,     0,
4121
       0,     0,     0,  2527,     0,     0,   862,   864,     0,     0,
4122
     868,     0,     0,     0,     0,     0,     0,     0,     0,  1727,
4123
    2055,   605,     0,  2056,   608,   608,     0,  2057,  2058,  2059,
4124
     924,     0,     0,     0,     0,     0,     0,     0,   935,     0,
4125
       0,     0,     0,     0,  2060,     0,     0,     0,     0,     0,
4126
       0,     0,  2062,     0,     0,  3852,     0,     0,     0,     0,
4127
    2063,     0,  2609,     0,     0,  2073,     0,     0,     0,     0,
4128
       0,     0,     0,     0,     0,     0,  2617,     0,     0,     0,
4129
       0,     0,     0,     0,     0,  2064,     0,   874,     0,  1102,
4130
       0,     0,     0,     0,     0,     0,     0,  2055,  3268,     0,
4131
    2056,  2632,     0,     0,  2057,  2058,  2059,     0,     0,     0,
4132
       0,     0,  3884,     0,     0,     0,     0,     0,  3895,     0,
4133
       0,  2060,     0,  1114,     0,     0,  3895,     0,     0,  2062,
4134
       0,     0,  1066,     0,  1066,     0,     0,  2063,     0,     0,
4135
       0,     0,  5409,     0,     0,  2661,  1102,     0,     0,     0,
4136
       0,     0,     0,     0,     0,     0,     0,     0,   605,     0,
4137
       0,     0,  2064,     0,   874,   874,  2074,     0,     0,  2075,
4138
    2076,  2077,     0,     0,     0,  2078,  2079,  2080,  2081,  2082,
4139
    2083,     0,     0,     0,  3959,  4559,     0,     0,     0,     0,
4140
       0,     0,     0,     0,     0,     0,     0,  2065,     0,     0,
4141
       0,     0,  2066,     0,     0,     0,     0,     0,     0,     0,
4142
       0,     0,     0,     0,  3991,  1066,     0,     0,     0,     0,
4143
       0,     0,  1009,     0,  2067,  2068,     0,     0,     0,     0,
4144
    1018,     0,     0,     0,     0,   605,     0,  1031,  1032,  2069,
4145
       0,  1038,     0,  1041,  1042,  1043,     0,     0,   605,  1045,
4146
       0,     0,     0,     0,     0,     0,     0,     0,  1114,     0,
4147
    1063,     0,  1114,  1114,     0,     0,     0,     0,     0,     0,
4148
       0,     0,     0,  2070,  2065,  1073,     0,     0,     0,  2066,
4149
       0,     0,     0,     0,  2830,     0,     0,  2071,     0,     0,
4150
    2072,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4151
    1141,  2067,  2068,  1143,     0,     0,     0,     0,     0,     0,
4152
       0,     0,     0,  1159,     0,     0,  2069,     0,     0,     0,
4153
       0,     0,     0,     0,  1114,     0,     0,     0,  2055,     0,
4154
       0,  2056,     0,     0,     0,  2057,  2058,  2059,  1114,     0,
4155
       0,     0,     0,     0,     0,   614,     0,     0,     0,     0,
4156
    2070,     0,  2060,     0,     0,     0,     0,     0,     0,   605,
4157
    2062,     0,  3405,     0,  2071,     0,     0,  2072,  2063,     0,
4158
    3414,     0,  5570,     0,     0,     0,  1213,  2073,  1114,     0,
4159
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4160
    3433,     0,     0,  2064,     0,     0,     0,     0,     0,     0,
4161
    3439,     0,  4117,  3440,     0,  3441,  3442,   874,   874,  3444,
4162
       0,     0,     0,     0,     0,  3448,     0,  3449,     0,     0,
4163
    3451,     0,     0,     0,     0,     0,     0,     0,  2055,     0,
4164
     838,  2056,     0,     0,     0,  2057,  2058,  2059,     0,     0,
4165
       0,  1012,     0,     0,     0,  1015,     0,     0,     0,     0,
4166
       0,     0,  2060,     0,  2073,     0,     0,     0,     0,  1040,
4167
    2062,     0,     0,     0,  1450,     0,     0,  1046,  2063,     0,
4168
       0,     0,     0,     0,     0,     0,     0,     0,  2074,     0,
4169
    3467,  2075,  2076,  2077,  3490,  3024,     0,  2078,  2079,  2080,
4170
    2081,  2082,  2083,  2064,     0,     0,     0,  4812,     0,  3041,
4171
       0,     0,     0,     0,     0,  2065,     0,     0,     0,     0,
4172
    2066,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4173
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4174
       0,     0,  2067,  2068,     0,     0,     0,  1624,     0,  3074,
4175
       0,     0,     0,     0,     0,     0,     0,  2069,     0,     0,
4176
       0,     0,     0,     0,     0,  2074,     0,     0,  2075,  2076,
4177
    2077,  1738,     0,     0,  2078,  2079,  2080,  2081,  2082,  2083,
4178
       0,     0,     0,  1749,  4823,     0,     0,     0,  1752,     0,
4179
       0,  2070,     0,     0,     0,     0,  1114,     0,     0,  1755,
4180
       0,     0,     0,     0,  1759,  2071,     0,     0,  2072,     0,
4181
       0,     0,  1762,  3895,     0,  2065,     0,     0,  1772,     0,
4182
    2066,  1776,     0,     0,     0,     0,     0,     0,     0,     0,
4183
       0,     0,     0,     0,     0,     0,     0,  4323,     0,     0,
4184
       0,     0,  2067,  2068,     0,  4331,     0,     0,  4332,     0,
4185
    4333,     0,     0,     0,     0,     0,     0,  2069,     0,     0,
4186
       0,     0,     0,  1833,     0,     0,     0,     0,     0,     0,
4187
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4188
       0,     0,  1114,     0,     0,     0,     0,     0,     0,     0,
4189
       0,  2070,  4372,     0,     0,  2073,     0,     0,     0,     0,
4190
       0,     0,     0,     0,     0,  2071,     0,  3268,  2072,     0,
4191
       0,  3268,  3268,     0,  3268,     0,     0,  1519,  1520,  3884,
4192
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4193
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4194
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4195
       0,     0,     0,     0,     0,     0,     0,  3298,     0,     0,
4196
    3699,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4197
       0,     0,     0,     0,     0,     0,     0,     0,   614,     0,
4198
     614,     0,   614,     0,   614,     0,   614,   614,   614,     0,
4199
       0,     0,     0,   614,     0,  2073,  2074,     0,     0,  2075,
4200
    2076,  2077,  1114,     0,  1983,  2078,  2079,  2080,  2081,  2082,
4201
    2083,     0,     0,     0,     0,  4832,     0,  4475,     0,  1114,
4202
    1758,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4203
       0,     0,  2055,     0,  1114,  2056,     0,     0,     0,  2057,
4204
    2058,  2059,     0,     0,  3759,     0,  3761,     0,     0,  1783,
4205
    1784,     0,     0,     0,     0,     0,  2060,     0,     0,     0,
4206
       0,     0,     0,     0,  2062,     0,     0,     0,     0,     0,
4207
       0,  2055,  2063,     0,  2056,     0,  1827,     0,  2057,  2058,
4208
    2059,     0,     0,     0,     0,  4513,  4513,  4513,     0,  4513,
4209
    4513,  4513,  4513,  4513,     0,  2060,  2074,  2064,     0,  2075,
4210
    2076,  2077,     0,  2062,     0,  2078,  2079,  2080,  2081,  2082,
4211
    2083,  2063,     0,     0,     0,  4835,     0,     0,     0,     0,
4212
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4213
       0,     0,     0,     0,     0,     0,  2064,     0,     0,     0,
4214
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4215
    1898,  1900,     0,     0,     0,     0,     0,     0,     0,     0,
4216
       0,     0,     0,  3480,     0,     0,     0,     0,     0,     0,
4217
       0,     0,     0,     0,     0,     0,     0,     0,     0,   838,
4218
    3492,     0,     0,     0,     0,  3849,     0,     0,     0,     0,
4219
       0,  3856,     0,     0,     0,  3500,     0,     0,     0,     0,
4220
       0,     0,     0,  2055,     0,     0,  2056,     0,     0,  2065,
4221
    2057,  2058,  2059,     0,  2066,     0,     0,     0,  4598,     0,
4222
    4600,     0,     0,     0,     0,     0,     0,  2060,     0,     0,
4223
       0,     0,     0,     0,     0,  2062,  2067,  2068,     0,  1114,
4224
       0,     0,  1114,  2063,  1114,     0,     0,     0,  2065,  1114,
4225
       0,  2069,     0,  2066,     0,     0,     0,     0,     0,     0,
4226
       0,  2274,     0,     0,     0,     0,     0,     0,  2064,     0,
4227
       0,     0,     0,     0,     0,  2067,  2068,     0,     0,     0,
4228
       0,     0,     0,     0,     0,  2070,     0,     0,     0,     0,
4229
    2069,     0,     0,     0,     0,     0,     0,     0,  1114,  2071,
4230
       0,     0,  2072,     0,     0,     0,     0,     0,     0,     0,
4231
       0,     0,     0,     0,     0,     0,     0,  1114,     0,     0,
4232
       0,     0,     0,     0,  2070,     0,     0,     0,     0,     0,
4233
       0,  2365,     0,     0,     0,     0,     0,     0,  2071,     0,
4234
       0,  2072,  1114,     0,     0,     0,     0,     0,     0,     0,
4235
       0,     0,     0,     0,  2055,     0,     0,  2056,     0,     0,
4236
       0,  2057,  2058,  2059,     0,     0,     0,     0,     0,     0,
4237
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4238
    2065,     0,     0,     0,     0,  2066,  2062,     0,     0,  2073,
4239
       0,  4018,     0,  4020,  2063,  4022,     0,     0,     0,     0,
4240
       0,  4702,  4703,     0,  4026,     0,     0,  2067,  2068,     0,
4241
       0,     0,     0,  1114,  3268,  1114,  3268,  3268,     0,  2064,
4242
    3268,     0,  2069,     0,     0,     0,  2055,     0,  2073,  2056,
4243
       0,     0,     0,  2057,  2058,  2059,     0,     0,     0,     0,
4244
       0,     0,     0,     0,     0,  4049,     0,     0,     0,     0,
4245
    2060,     0,     0,     0,     0,     0,  2070,     0,  2062,  3705,
4246
       0,     0,     0,     0,     0,     0,  2063,     0,     0,     0,
4247
    2071,     0,     0,  2072,     0,     0,     0,     0,  3716,     0,
4248
       0,     0,  4764,     0,     0,     0,     0,     0,     0,     0,
4249
    2074,  2064,     0,  2075,  2076,  2077,     0,     0,     0,  2078,
4250
    2079,  2080,  2081,  2082,  2083,     0,  1114,     0,     0,  4881,
4251
       0,     0,     0,     0,     0,  4789,     0,     0,     0,     0,
4252
       0,  2333,     0,     0,     0,     0,     0,     0,     0,  2074,
4253
       0,  2065,  2075,  2076,  2077,     0,  2066,     0,  2078,  2079,
4254
    2080,  2081,  2082,  2083,     0,     0,  1114,     0,  4919,     0,
4255
    4513,     0,     0,     0,     0,     0,     0,     0, -2697, -2697,
4256
    2073,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4257
       0,  1114,     0,  2069,  3798,     0,  3800,     0,     0,  1114,
4258
       0,     0,     0,     0,  2531,     0,     0,     0,     0,     0,
4259
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4260
       0,     0,     0,  2065,     0,     0,     0, -2697,  2066,     0,
4261
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4262
       0,  2071,     0,     0,  2438,  2439,  2440,  2441,     0,     0,
4263
    2067,  2068,     0,     0,     0,     0,     0,     0,     0,     0,
4264
       0,     0,     0,     0,     0,  2069,     0,     0,     0,     0,
4265
       0,     0,  1114,     0,     0,     0,     0,     0,     0,     0,
4266
       0,  2074,     0,     0,  2075,  2076,  2077,  3850,     0,  1114,
4267
    2078,  2079,  2080,  2081,  2082,  2083,     0,     0,     0,  2070,
4268
    4961,     0,     0,  1114,     0,     0,     0,     0,     0,     0,
4269
       0,     0,     0,  2071,     0,     0,  2072,     0,     0,  3895,
4270
       0,     0,     0,     0,     0,     0,     0,  3871,     0,     0,
4271
       0,  2073,     0,     0,     0,  2659,     0,  2660,     0,     0,
4272
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4273
       0,     0,     0,     0,  2671,     0,  2672,     0,     0,     0,
4274
       0,     0,     0,     0,  3268,     0,     0,     0,   888,     0,
4275
     614,     0,   614,     0,   614,     0,   614,     0,   614,     0,
4276
     922,     0,   614,     0,     0,     0,     0,     0,  2494,  2495,
4277
       0,     0,   941,     0,     0,     0,     0,     0,     0,     0,
4278
       0,     0,     0,  2073,     0,     0,     0,     0,     0,  1114,
4279
       0,  2521,     0,     0,     0,     0,     0,     0,     0,     0,
4280
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4281
    1114,     0,  2074,  3074,     0,  2075,  2076,  2077,     0,     0,
4282
       0,  2078,  2079,  2080,  2081,  2082,  2083,     0,  2570,  2571,
4283
    2572,  2573,     0,     0,     0,  1114,     0,     0,     0,     0,
4284
       0,     0,     0,     0,  4007,     0,     0,     0,     0,     0,
4285
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4286
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1114,
4287
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4288
       0,     0,     0,     0,  2074,     0,     0,  2075,  2076,  2077,
4289
       0,     0,     0,  2078,  2079,  2080,  2081,  2082,  2083,     0,
4290
       0,     0,     0,  5275,     0,     0,     0,     0,     0,     0,
4291
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4292
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4293
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4294
       0,     0,     0,     0,     0,     0,     0,     0,  2669,     0,
4295
    4064,     0,     0,     0,  2673,     0,  1114,     0,     0,  5125,
4296
    5125,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4297
       0,  4073,     0,     0,  1066,     0,     0,     0,  5148,     0,
4298
    4495,     0,     0,     0,  4497,     0,     0,     0,  5156,     0,
4299
    2959,  2960,     0,     0,     0,     0,  4096,   876,   885,     0,
4300
       0,     0,     0,     0,     0,   876,     0,   885,   876,  2975,
4301
    2976,     0,     0,     0,  2979,  2980,     0,     0,     0,  2983,
4302
       0,     0,   885,     0,     0,     0,     0,     0,     0,     0,
4303
    1988,     0,     0,  2994,     0,     0,     0,     0,     0,     0,
4304
    3003,     0,     0,     0,  3006,  3007,     0,     0,  3010,  3011,
4305
       0,     0,     0,     0,     0,  3016,  1114,     0,     0,     0,
4306
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4307
    3035,     0,  3037,     0,     0,     0,     0,     0,     0,     0,
4308
    1114,     0,     0,     0,     0,     0,  2840,     0,     0,     0,
4309
       0,  3061,     0,     0,     0,     0,  3063,     0,     0,     0,
4310
       0,     0,     0,     0,     0,     0,     0,     0,     0,  3068,
4311
       0,     0,     0,     0,     0,     0,     0,     0,  3075,     0,
4312
       0,  3079,     0,     0,  3082,  3085,  3087,     0,     0,     0,
4313
       0,  3095,  3098,     0,     0,     0,     0,     0,     0,     0,
4314
       0,  3111,     0,     0,     0,     0,  3120,     0,     0,     0,
4315
       0,  3124,     0,     0,     0,     0,     0,     0,     0,     0,
4316
       0,     0,   958,     0,     0,     0,     0,  3140,  1006,     0,
4317
       0,     0,     0,     0,  3150,  3151,     0,  1066,     0,     0,
4318
    3155,  5290,     0,  5291,     0,     0,     0,  5296,  5297,     0,
4319
       0,  3170,  3171,     0,     0,     0,  3174,     0,     0,  4639,
4320
       0,     0,     0,     0,     0,     0,     0,     0,  3181,     0,
4321
       0,  3184,     0,     0,     0,  1114,  3187,     0,     0,     0,
4322
       0,  3189,  3190,     0,     0,     0,  3193,     0,     0,  3197,
4323
       0,     0,     0,  3204,  3205,  3206,  3207,     0,  3209,     0,
4324
    3211,  4663,  4664,     0,     0,     0,     0,     0,     0,     0,
4325
       0,     0,     0,  3236,  3237,     0,  3239,     0,     0,     0,
4326
       0,     0,     0,     0,  1114,     0,  3247,  3248,     0,     0,
4327
       0,     0,     0,     0,     0,     0,     0,  3022,  3023,     0,
4328
       0,     0,     0,     0,     0,     0,     0,     0,  3036,     0,
4329
    3038,     0,     0,     0,  3042,     0,     0,     0,     0,     0,
4330
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4331
       0,     0,  5125,     0,  5125,     0,     0,     0,     0,     0,
4332
       0,     0,     0,     0,  1212,     0,     0,  4705,  4706,     0,
4333
       0,     0,     0,     0,  3306,     0,     0,     0,     0,     0,
4334
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1335,
4335
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4336
       0,     0,  3343,     0,     0,     0,     0,     0,  1358,     0,
4337
       0,     0,     0,     0,     0,     0,  4426,     0,     0,     0,
4338
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4339
    1386,     0,  1114,     0,     0,     0,     0,     0,     0,     0,
4340
       0,     0,  1114,     0,     0,  2055,     0,     0,  2056,     0,
4341
       0,     0,  2057,  2058,  2059,     0,     0,     0,     0,     0,
4342
       0,     0,     0,     0,  3180,  1066,     0,  3183,     0,  2060,
4343
       0,     0,     0,   885,  1518,     0,     0,  2062,     0,   885,
4344
       0,     0,     0,     0,     0,  2063,  4802,     0,     0,  2055,
4345
    4804,  4805,  2056,   885,     0,     0,  2057,  2058,  2059,     0,
4346
       0,     0,     0,     0,     0,     0,  4809,     0,     0,   885,
4347
    2064,     0,     0,  2060,     0,     0,     0,     0,     0,     0,
4348
       0,  2062,     0,     0,   876,   885,     0,     0,     0,  2063,
4349
       0,   876,     0,   885,   876,     0,     0,     0,     0,     0,
4350
       0,     0,     0,     0,     0,     0,  5125,     0,   885,     0,
4351
       0,  3271,     0,     0,  2064,  5527,     0,     0,   885,  3278,
4352
       0,  1114,  3281,     0,     0,     0,     0,     0,  3283,     0,
4353
       0,     0,     0,     0,     0,  3485,     0,     0,     0,     0,
4354
       0,     0,  3299,     0,     0,     0,     0,     0,     0,     0,
4355
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4356
    1114,     0,     0,  1988,  1781,     0,  3503,     0,     0,     0,
4357
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4358
       0,  1114,  2065,  3345,     0,     0,     0,  2066,  5527,     0,
4359
       0,     0,     0,  5125,  1821,  1824,  1825,     0,     0,     0,
4360
       0,     0,     0,   885,     0,     0,     0,     0,     0,  2067,
4361
    2068,     0,     0,     0,     0,  3372,  5527,     0,     0,     0,
4362
       0,     0,     0,     0,  2069,     0,  2065,     0,     0,     0,
4363
       0,  2066,     0,     0,     0,     0,     0,     0,     0,     0,
4364
       0,     0,     0,     0,     0,     0,  1114,     0,     0,     0,
4365
       0,     0,     0,  2067,  2068,     0,     0,     0,  2070,     0,
4366
       0,     0,     0,     0,     0,     0,     0,     0,  2069,     0,
4367
       0,  3435,  2071,  3437,     0,  2072,     0,     0,     0,     0,
4368
       0,     0,  4640,     0,     0,     0,     0,     0,     0,     0,
4369
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4370
       0,     0,  2070,     0,     0,     0,     0,     0,     0,     0,
4371
       0,     0,     0,     0,     0,     0,  2071,     0,     0,  2072,
4372
       0,  4662,     0,     0,     0,     0,     0,     0,     0,     0,
4373
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1335,
4374
       0,     0,  4677,     0,     0,     0,     0,     0,     0,     0,
4375
    1729,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4376
       0,  1114,  2073,     0,     0,  1335,     0,  5039,   876,     0,
4377
       0,     0,     0,     0,   876,     0,     0,   876,     0,     0,
4378
       0,     0,  3502,     0,     0,     0,     0,     0,     0,     0,
4379
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4380
       0,     0,     0,     0,     0,     0,  2073,  4704,     0,  1114,
4381
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4382
    3702,     0,     0,     0,  3704,     0,     0,     0,     0,     0,
4383
    3706,     0,     0,     0,     0,     0,     0,  5084,     0,     0,
4384
       0,     0,     0,     0,     0,     0,     0,     0,  3717,  3719,
4385
       0,     0,     0,  3719,     0,     0,     0,     0,  3730,  3731,
4386
    3732,     0,  3734,  2074,     0,     0,  2075,  2076,  2077,   884,
4387
       0,     0,  2078,  2079,  2080,  2081,  2082,  2083,   884,     0,
4388
       0,     0,  5408,     0,     0,  3756,     0,     0,     0,     0,
4389
       0,     0,  5136,   884,     0,  3762,  3763,  3764,  3765,     0,
4390
       0,  2126,     0,     0,     0,     0,     0,  2074,     0,     0,
4391
    2075,  2076,  2077,     0,     0,     0,  2078,  2079,  2080,  2081,
4392
    2082,  2083,  4794,     0,     0,     0,  5485,     0,   885,     0,
4393
       0,     0,  3782,     0,     0,  3787,  3788,  3789,     0,     0,
4394
       0,     0,  1114,     0,     0,     0,   885,     0,     0,     0,
4395
       0,  2179,     0,  3809,     0,     0,     0,  2055,     0,     0,
4396
    2056,     0,     0,   885,  2057,  2058,  2059,     0,     0,     0,
4397
    1988,     0,     0,  3817,     0,     0,     0,     0,     0,     0,
4398
       0,  2060,     0,     0,     0,     0,     0,     0,     0,  2062,
4399
       0,   885,  2055,     0,     0,  2056,     0,  2063,     0,  2057,
4400
    2058,  2059,   885,     0,     0,     0,     0,     0,     0,     0,
4401
       0,     0,     0,     0,     0,     0,  2060,   885,  2055,     0,
4402
     885,  2056,  2064,     0,  2062,  2057,  2058,  2059,     0,     0,
4403
    2305,     0,  2063,     0,     0,     0,     0,     0,     0,     0,
4404
    2329,     0,  2060,     0,     0,     0,  2915,  3859,     0,  3708,
4405
    2062,  3709,  3710,  3711,     0,  3863,     0,  2064,  2063,     0,
4406
       0,     0,     0,     0,     0,     0,     0,  1114,     0,     0,
4407
       0,  2366,     0,     0,     0,     0,     0,     0,     0,     0,
4408
       0,     0,     0,  2064,     0,     0,     0,  3879,     0,     0,
4409
       0,     0,  1114,     0,  2389,     0,     0,  2392,     0,     0,
4410
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4411
       0,     0,     0,     0,  3925,     0,     0,     0,     0,     0,
4412
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4413
       0,     0,  1114,  2916,  2065,     0,     0,     0,   885,  2066,
4414
       0,     0,     0,     0,     0,     0,   885,   885,     0,     0,
4415
    2442,     0,     0,     0,  3953,     0,     0,     0,     0,     0,
4416
       0,  2067,  2068,     0,  2460,     0,     0,     0,     0,  2065,
4417
    3962,     0,     0,     0,  2066,  3968,  2069,     0,     0,     0,
4418
       0,     0,     0,     0,     0,     0,     0,  1114,     0,     0,
4419
       0,     0,  1114,  1114,     0,  2065,  2067,  2068,     0,     0,
4420
    2066,     0,     0,     0,     0,  4004,     0,     0,     0,     0,
4421
    2070,  2069,     0,     0,     0,  1729,     0,     0,     0,     0,
4422
       0,     0,  2067,  2068,  2071,     0,     0,  2072,     0,     0,
4423
       0,     0,     0,     0,     0,     0,     0,  2069,     0,     0,
4424
       0,     0,     0,     0,     0,  2070,     0,     0,  4023,     0,
4425
    4024,     0,     0,  1988,     0,     0,     0,     0,     0,  2071,
4426
       0,     0,  2072,     0,     0,     0,     0,     0,     0,     0,
4427
       0,  2070,     0,     0,     0,     0,     0,     0,  2486,     0,
4428
       0,     0,     0,     0,     0,  2071,     0,     0,  2072,     0,
4429
       0,     0,  3872,  3850,     0,     0,     0,     0,     0,     0,
4430
       0,     0,     0,     0,   884,  1114,     0,     0,     0,     0,
4431
     884,     0,     0,     0,  2073,     0,     0,     0,  2055,     0,
4432
       0,  2056,     0,     0,   884,  2057,  2058,  2059,  5465,     0,
4433
       0,     0,  2540,     0,     0,     0,     0,     0,     0,     0,
4434
     884,     0,  2060,     0,     0,     0,     0,     0,  1988,  2073,
4435
    2062,     0,     0,  1988,  1988,     0,   884,     0,  2063,     0,
4436
       0,     0,     0,  2587,   884,     0,     0,     0,     0,     0,
4437
    2600,     0,     0,     0,     0,  2073,     0,     0,     0,   884,
4438
       0,     0,     0,  2064,     0,     0,     0,     0,     0,   884,
4439
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4440
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4441
       0,   885,     0,     0,     0,  2074,     0,     0,  2075,  2076,
4442
    2077,     0,     0,     0,  2078,  2079,  2080,  2081,  2082,  2083,
4443
       0,     0,     0,     0,  5550,     0,  2917,     0,     0,     0,
4444
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4445
    2074,     0,     0,  2075,  2076,  2077,     0,     0,     0,  2078,
4446
    2079,  2080,  2081,  2082,  2083,     0,  5213,     0,     0,  5569,
4447
    3553,     0,  4027,     0,   884,  3554,  2074,     0,  2676,  2075,
4448
    2076,  2077,     0,     0,     0,  2078,  2079,  2080,  2081,  2082,
4449
    2083,     0,     0,     0,     0,  2065,     0,     0,     0,     0,
4450
    2066,     0,     0,  4242,     0,  4243,     0,     0,     0,     0,
4451
       0,     0,  4245,     0,     0,     0,  1114,     0,  1335,  1335,
4452
       0,     0,  2067,  2068,     0,     0,     0,     0,  4255,     0,
4453
       0,     0,     0,     0,     0,     0,     0,  2069,  2728,     0,
4454
       0,     0,     0,     0,  4263,     0,     0,     0,     0,     0,
4455
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4456
       0,     0,     0,  4284,     0,  1729,     0,     0,     0,     0,
4457
       0,  2070,     0,     0,     0,     0,     0,     0,     0,     0,
4458
       0,  4288,     0,     0,     0,  2071,     0,     0,  2072,   885,
4459
       0,  4297,     0,     0,     0,     0,     0,   885,     0,   885,
4460
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4461
    4326,   885,     0,     0,     0,     0,     0,     0,     0,     0,
4462
       0,  1728,     0,  4334,  4335,  4336,     0,     0,     0,     0,
4463
    4340,  4341,  4342,  4343,     0,  2889,     0,  4345,  4346,     0,
4464
       0,     0,     0,  4353,  4354,  2895,  4356,  4357,  4358,  4359,
4465
    4360,  4361,     0,  4363,     0,     0,     0,     0,     0,     0,
4466
       0,     0,  4371,     0,     0,  4374,  4375,     0,     0,     0,
4467
       0,     0,     0,     0,  1386,  2073,     0,  5362,     0,     0,
4468
       0,     0,  1386,     0,  1386,   876,   876,     0,   885,   885,
4469
       0,  3719,     0,     0,     0,     0,     0,     0,     0,     0,
4470
     876,     0,   885,   876,     0,     0,     0,     0,     0,     0,
4471
       0,     0,     0,  4398,     0,   885,   885,  1335,     0,     0,
4472
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4473
       0,   885,     0,     0,  4248,  4249,  4250,  4251,     0,     0,
4474
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4475
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4476
       0,     0,     0,   876,     0,     0,   876,   876,     0,     0,
4477
       0,     0,     0,     0,     0,     0,  2074,     0,     0,  2075,
4478
    2076,  2077,     0,     0,     0,  2078,  2079,  2080,  2081,  2082,
4479
    2083,     0,     0,     0,     0,     0,     0,     0,     0,   884,
4480
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4481
    3719,     0,     0,     0,     0,     0,     0,   884,  2055,     0,
4482
       0,  2056,     0,     0,     0,  2057,  2058,  2059,     0,     0,
4483
       0,     0,     0,     0,   884,     0,     0,  2055,     0,     0,
4484
    2056,     0,  2060,     0,  2057,  2058,  2059,  4507,     0,     0,
4485
    2062,     0,     0,     0,     0,     0,  1729,     0,  2063,  3078,
4486
       0,  2060,   884,     0,  3512,     0,     0,     0,     0,  2062,
4487
       0,     0,     0,   884,     0,  3101,     0,  2063,     0,     0,
4488
       0,     0,     0,  2064,     0,     0,     0,     0,   884,     0,
4489
       0,   884,     0,     0,     0,     0,  3128,     0,     0,     0,
4490
       0,     0,  2064,     0,     0,     0,     0,     0,     0,     0,
4491
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4492
       0,     0,     0,  4394,     0,     0,     0,     0,     0,  4397,
4493
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4494
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4495
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4496
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4497
    3202,  3203,     0,     0,     0,     0,     0,     0,     0,   885,
4498
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4499
       0,     0,     0,     0,     0,  2065,     0,   885,     0,     0,
4500
    2066,     0,  1729,   885,     0,     0,     0,   885,     0,   884,
4501
       0,     0,     0,     0,  2065,   885,     0,   884,   884,  2066,
4502
       0,     0,  2067,  2068,     0,     0,     0,     0,     0,     0,
4503
       0,     0,     0,   885,     0,     0,     0,  2069,     0,     0,
4504
       0,  2067,  2068,     0,  2055,     0,     0,  2056,     0,     0,
4505
       0,  2057,  2058,  2059,     0,   876,  2069,  4643,   876,   876,
4506
       0,  4644,  4645,  4646,  4647,     0,     0,  4649,  2060,     0,
4507
       0,  2070,     0,     0,     0,     0,  2062,     0,     0,   885,
4508
       0,     0,     0,  3332,  2063,  2071,  1728,     0,  2072,     0,
4509
    2070,     0,     0,     0,     0,     0,     0,   885,   885,  4668,
4510
    4669,  4670,     0,  4671,  2071,  4673,  4674,  2072,     0,  2064,
4511
       0,     0,  4108,     0,     0,     0,     0,  4683,  4684,     0,
4512
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1729,
4513
     885,     0,     0,  1729,     0,     0,     0,     0,     0,     0,
4514
       0,     0,     0,     0,  4689,     0,     0,     0,     0,     0,
4515
       0,     0,     0,     0,     0,     0,   885,     0,  1729,     0,
4516
       0,     0,     0,   885,     0,     0,     0,  4700,     0,   885,
4517
       0,     0,     0,     0,     0,  2073,   885,     0,     0,     0,
4518
     885,     0,     0,     0,     0,   885,     0,     0,     0,     0,
4519
       0,     0,  4109,     0,  2073,     0,     0,     0,     0,     0,
4520
       0,     0,     0,     0,     0,   885,     0,     0,     0,     0,
4521
     885,     0,     0,     0,   885,     0,     0,  1729,     0,     0,
4522
       0,  2065,     0,     0,     0,     0,  2066,   885,     0,   885,
4523
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4524
       0,     0,   885,     0,     0,     0,  4755,     0,  2067,  2068,
4525
       0,     0,   885,     0,     0,     0,     0,     0,     0,     0,
4526
       0,     0,     0,  2069,     0,     0,     0,     0,     0,     0,
4527
       0,     0,     0,  3484,     0,     0,  2074,     0,     0,  2075,
4528
    2076,  2077,   884,     0,     0,  2078,  2079,  2080,  2081,  2082,
4529
    2083,     0,     0,     0,     0,  2074,     0,  2070,  2075,  2076,
4530
    2077,  4806,     0,     0,  2078,  2079,  2080,  2081,  2082,  2083,
4531
       0,  2071,     0,     0,  2072,     0,     0,     0,     0,     0,
4532
       0,     0,     0,  1729,     0,     0,     0,     0,     0,     0,
4533
       0,     0,  3526,     0,     0,     0,     0,     0,     0,     0,
4534
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4535
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4536
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4537
       0,  4697,     0,     0,     0,     0,     0,     0,     0,     0,
4538
       0,     0,     0,     0,  2055,     0,  4701,  2056,     0,     0,
4539
       0,  2057,  2058,  2059,     0,     0,     0,     0,     0,     0,
4540
       0,  2073,     0,     0,     0,   885,     0,   614,  2060,     0,
4541
       0,  3558,     0,     0,     0,     0,  2062,     0,     0,     0,
4542
       0,     0,  2055,     0,  2063,  2056,     0,     0,  3614,  2057,
4543
    2058,  2059,     0,     0,     0,     0,  1728,     0,     0,     0,
4544
       0,     0,     0,     0,     0,     0,  2060,     0,     0,  2064,
4545
       0,  1386,     0,     0,  2062,     0,     0,     0,     0,     0,
4546
     884,   885,  2063,     0,     0,     0,     0,     0,   884,     0,
4547
     884,     0,  4908,     0,     0,     0,     0,  4768,     0,     0,
4548
       0,     0,   884,     0,     0,     0,     0,  2064,     0,     0,
4549
    4918,     0,     0,     0,     0,  4923,  4924,     0,     0,     0,
4550
       0,     0,  2074,     0,   885,  2075,  2076,  2077,     0,     0,
4551
       0,  2078,  2079,  2080,  2081,  2082,  2083,     0,     0,     0,
4552
       0,     0,   885,     0,     0,     0,     0,     0,     0,     0,
4553
     885,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4554
     876,     0,     0,   876,     0,     0,   876,     0,     0,     0,
4555
    4985,     0,     0,     0,     0,     0,     0,     0,     0,   884,
4556
     884,  2065,     0,     0,     0,     0,  2066,     0,     0,     0,
4557
    5002,     0,     0,   884,     0,     0,     0,     0,     0,  3563,
4558
       0,     0,     0,     0,     0,     0,   884,   884,  2067,  2068,
4559
       0,     0,     0,     0,     0,     0,     0,     0,     0,  2065,
4560
       0,     0,   884,  2069,  2066,  3719,     0,     0,     0,     0,
4561
       0,     0,  1729,  5038,     0,     0,     0,     0,  1729,     0,
4562
       0,     0,     0,     0,     0,     0,  2067,  2068,     0,     0,
4563
       0,     0,     0,     0,     0,     0,     0,  2070,     0,     0,
4564
       0,  2069,     0,     0,     0,     0,  4886,  4887,  4887,     0,
4565
       0,  2071,     0,     0,  2072,     0,     0,     0,     0,     0,
4566
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4567
       0,  1311,  1311,     0,     0,  2070,     0,     0,     0,  5078,
4568
       0,     0,     0,     0,     0,     0,     0,     0,  3804,  2071,
4569
       0,     0,  2072,     0,   885,     0,     0,     0,     0,     0,
4570
       0,     0,     0,  5099,     0,     0,     0,     0,     0,     0,
4571
       0,     0,     0,     0,  5107,     0,     0,     0,     0,     0,
4572
       0,     0,     0,     0,     0,     0,     0,  1728,     0,  2055,
4573
       0,     0,  2056,     0,     0,     0,  2057,  2058,  2059,     0,
4574
       0,  2073,     0,     0,     0,     0,     0,     0,     0,     0,
4575
       0,     0,     0,  2060,     0,     0,  3569,     0,     0,     0,
4576
       0,  2062,     0,     0,     0,     0,     0,     0,     0,  2063,
4577
       0,     0,     0,     0,     0,     0,     0,     0,  5179,  2073,
4578
       0,     0,   885,   885,     0,     0,     0,     0,     0,     0,
4579
       0,     0,     0,     0,  2064,     0,     0,     0,     0,     0,
4580
       0,     0,     0,     0,     0,     0,     0,     0,  5022,   885,
4581
       0,     0,   885,     0,     0,     0,     0,     0,     0,     0,
4582
       0,     0,  1640,  1644,     0,     0,     0,     0,     0,     0,
4583
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4584
    3719,     0,  2074,     0,     0,  2075,  2076,  2077,     0,     0,
4585
     884,  2078,  2079,  2080,  2081,  2082,  2083,     0,  3928,  3929,
4586
    3930,     0,     0,     0,     0,     0,     0,     0,   884,     0,
4587
       0,     0,     0,  1728,   884,  3939,     0,     0,   884,     0,
4588
    2074,     0,     0,  2075,  2076,  2077,   884,     0,     0,  2078,
4589
    2079,  2080,  2081,  2082,  2083,     0,     0,  1729,  1729,  1729,
4590
       0,     0,  3955,     0,   884,  5263,  2065,     0,     0,     0,
4591
       0,  2066,  3965,  3967,     0,     0,     0,  3972,     0,     0,
4592
    5276,   885,     0,     0,     0,     0,     0,     0,     0,     0,
4593
       0,     0,     0,  2067,  2068,     0,     0,     0,     0,     0,
4594
       0,   885,     0,     0,     0,     0,     0,     0,  2069,     0,
4595
     884,     0,     0,  5132,     0,  5134,     0,     0,     0,     0,
4596
     885,     0,     0,     0,     0,     0,     0,     0,   884,   884,
4597
       0,     0,     0,     0,     0,     0,     0,  5307,     0,     0,
4598
       0,     0,  2070,     0,     0,     0,  1115,     0,     0,     0,
4599
       0,     0,  5318,     0,     0,     0,  2071,     0,     0,  2072,
4600
    1728,   884,     0,     0,  1728,     0,     0,     0,     0,     0,
4601
       0,     0,     0,  1115,     0,     0,     0,     0,     0,     0,
4602
       0,  1105,     0,     0,     0,     0,     0,   884,     0,  1728,
4603
       0,  1335,     0,     0,   884,     0,     0,     0,     0,     0,
4604
     884,     0,     0,     0,   885,     0,     0,   884,  1105,     0,
4605
       0,   884,     0,     0,     0,     0,   884,     0,     0,     0,
4606
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4607
       0,  5379,     0,     0,     0,     0,   884,     0,     0,     0,
4608
       0,   884,     0,     0,     0,   884,  2073,     0,  1728,     0,
4609
       0,     0,     0,     0,     0,     0,  1729,     0,   884,     0,
4610
     884,     0,     0,   885,     0,   885,  2012,  4887,     0,     0,
4611
       0,     0,     0,   884,     0,     0,     0,  5404,   885,     0,
4612
     885,     0,     0,   884,     0,     0,     0,     0,     0,     0,
4613
       0,     0,     0,     0,     0,     0,  2026,     0,  2055,     0,
4614
       0,  2056,  1729,     0,     0,  2057,  2058,  2059,     0,     0,
4615
       0,     0,     0,     0,     0,     0,     0,     0,     0,  4148,
4616
    4149,  4150,  2060,     0,  2044,  2045,  2046,     0,  2048,     0,
4617
    2062,     0,     0,     0,     0,     0,     0,     0,  2063,     0,
4618
       0,     0,     0,     0,     0,     0,   885,  2074,  2090,     0,
4619
    2075,  2076,  2077,     0,  1728,     0,  2078,  2079,  2080,  2081,
4620
    2082,  2083,     0,  2064,  5314,     0,     0,     0,  5478,     0,
4621
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4622
       0,     0,     0,     0,     0,     0,     0,     0,  5493,     0,
4623
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4624
       0,   885,     0,     0,     0,     0,     0,     0,     0,     0,
4625
       0,     0,     0,     0,  1643,     0,     0,     0,     0,   885,
4626
    2146,     0,     0,     0,  2158,  2163,     0,     0,     0,     0,
4627
    1115,     0,     0,     0,     0,     0,   884,     0,     0,     0,
4628
       0,   885,     0,     0,   885,     0,     0,     0,     0,     0,
4629
       0,     0,     0,     0,  2055,     0,  1115,  2056,     0,     0,
4630
       0,  2057,  2058,  2059,     0,  1105,  5387,     0,     0,     0,
4631
       0,  1115,     0,     0,     0,  2065,     0,     0,  2060,     0,
4632
    2066,  4115,     0,     0,     0,     0,  2062,     0,     0,     0,
4633
       0,  1105,   884,     0,  2063,     0,     0,     0,     0,     0,
4634
       0,     0,  2067,  2068,     0,     0,  1105,     0,     0,     0,
4635
       0,     0,     0,     0,     0,     0,     0,  2069,     0,  2064,
4636
       0,     0,     0,     0,  1729,     0,     0,     0,     0,     0,
4637
       0,     0,     0,     0,     0,   884,     0,     0,     0,     0,
4638
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4639
       0,  2070,     0,   884,     0,     0,     0,  1115,     0,     0,
4640
       0,   884,     0,  5471,     0,  2071,     0,     0,  2072,     0,
4641
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4642
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4643
       0,     0,  1105,     0,     0,     0,     0,     0,  4887,  4887,
4644
       0,     0,     0,     0,     0,     0,     0,     0,     0,  4395,
4645
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4646
    4408,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4647
       0,  2065,     0,     0,     0,     0,  2066,     0,     0,     0,
4648
       0,     0,     0,  1728,     0,     0,     0,     0,     0,  1728,
4649
       0,  4439,     0,     0,     0,  2073,     0,     0,  2067,  2068,
4650
       0,     0,     0,  1640,  1640,  1640,  1115,     0,     0,     0,
4651
       0,     0,     0,  2069,     0,     0,     0,   885,     0,     0,
4652
       0,     0,     0,     0,  2600,     0,     0,     0,     0,  4061,
4653
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4654
       0,  1105,     0,     0,     0,     0,     0,  2070,     0,     0,
4655
       0,     0,     0,     0,  4887,     0,     0,     0,     0,     0,
4656
       0,  2071,     0,     0,  2072,   884,     0,     0,  1729,     0,
4657
       0,     0,  2676,  1729,     0,  1729,     0,     0,     0,     0,
4658
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4659
       0,     0,     0,     0,     0,     0,  2074,  1729,     0,  2075,
4660
    2076,  2077,     0,     0,     0,  2078,  2079,  2080,  2081,  2082,
4661
    2083,     0,     0,     0,     0,     0,  1729,     0,     0,     0,
4662
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4663
       0,     0,   885,     0,     0,   885,     0,     0,     0,     0,
4664
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4665
       0,  2073,     0,   884,   884,     0,     0,     0,     0,     0,
4666
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1107,
4667
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4668
     884,     0,     0,   884,     0,     0,     0,     0,  4566,  4567,
4669
    4568,  4569,     0,     0,     0,     0,  1107,     0,     0,     0,
4670
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4671
       0,     0,     0,     0,     0,  2201,     0,     0,     0,     0,
4672
       0,     0,     0,     0,     0,     0,     0,  1108,     0,   885,
4673
     885,     0,     0,     0,     0,     0,     0,     0,     0,   885,
4674
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4675
    1105,     0,  2074,     0,  1108,  2075,  2076,  2077,   885,     0,
4676
       0,  2078,  2079,  2080,  2081,  2082,  2083,     0,  1728,  1728,
4677
    1728,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4678
       0,  2201,     0,     0,     0,     0,     0,     0,     0,     0,
4679
       0,     0,   884,     0,     0,     0,     0,     0,     0,     0,
4680
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4681
       0,     0,   884,     0,     0,     0,  1105,     0,     0,     0,
4682
       0,     0,  1115,     0,     0,     0,     0,     0,     0,     0,
4683
       0,   884,     0,   885,     0,     0,     0,     0,     0,     0,
4684
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4685
       0,     0,     0,     0,     0,  1115,     0,  1105,     0,     0,
4686
       0,     0,     0,     0,     0,     0,     0,  2055,     0,     0,
4687
    2056,     0,     0,     0,  2057,  2058,  2059,     0,     0,     0,
4688
       0,     0,     0,  2771,     0,     0,     0,     0,     0,     0,
4689
    1105,  2060,     0,     0,     0,     0,  2791,     0,  2793,  2062,
4690
       0,  2805,  2808,  2813,     0,     0,     0,  2063,  2819,     0,
4691
       0,  2824,     0,     0,     0,   884,     0,     0,     0,     0,
4692
       0,     0,     0,     0,     0,     0,  2831,  2832,  2833,  2834,
4693
       0,     0,  2064,     0,  2841,  1643,  1643,  1643,  2853,     0,
4694
       0,  2855,     0,     0,  2862,  2863,  2864,  2865,  2866,  2867,
4695
    2868,  2869,  2870,  1107,  2871,     0,     0,     0,     0,     0,
4696
       0,  1311,     0,  1640,     0,     0,     0,  1728,     0,     0,
4697
       0,     0,     0,     0,   884,     0,   884,     0,     0,  1107,
4698
       0,     0,     0,     0,     0,     0,     0,     0,     0,   884,
4699
       0,   884,     0,     0,  1107,     0,     0,     0,     0,     0,
4700
       0,     0,     0,  2908,     0,     0,     0,     0,     0,     0,
4701
       0,  1108,     0,  1728,     0,     0,     0,     0,     0,     0,
4702
       0,     0,     0,     0,     0,     0,     0,     0,  2045,  2046,
4703
    4796,     0,     0,     0,     0,     0,     0,  1108,  1115,     0,
4704
       0,     0,     0,     0,  2065,     0,     0,     0,     0,  2066,
4705
       0,     0,  1108,     0,     0,  1115,   885,   884,     0,     0,
4706
       0,  1729,     0,     0,  2201,     0,     0,     0,     0,     0,
4707
       0,  2067,  2068,  1105,     0,     0,  1115,     0,     0,     0,
4708
    1107,     0,     0,     0,     0,     0,  2069,     0,     0,     0,
4709
    1105,     0,     0,     0,   885,     0,     0,     0,     0,  1105,
4710
       0,     0,     0,     0,     0,     0,   885,     0,     0,     0,
4711
    3008,  1105,   884,     0,     0,     0,     0,     0,     0,     0,
4712
    2070,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4713
     884,     0,     0,   885,  2071,  1115,     0,  2072,  1108,     0,
4714
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1115,
4715
       0,     0,   884,     0,     0,   884,     0,     0,     0,     0,
4716
       0,     0,  1115,     0,     0,     0,     0,     0,     0,     0,
4717
    1105,     0,     0,     0,  1115,     0,     0,     0,     0,     0,
4718
       0,     0,     0,     0,  1105,     0,     0,     0,     0,  1107,
4719
       0,     0,     0,     0,     0,     0,     0,  1105,     0,     0,
4720
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1105,
4721
       0,     0,     0,     0,     0,     0,     0,     0,  1115,  1115,
4722
       0,     0,     0,     0,  2073,     0,     0,     0,     0,     0,
4723
     885,     0,     0,     0,     0,  1728,     0,     0,     0,     0,
4724
       0,     0,     0,     0,     0,     0,     0,  1108,     0,     0,
4725
       0,     0,   678,  1105,  1105,     0,     0,   679,     0,     0,
4726
       0,     0,     0,     0,     0,     0,     0,     0,  4959,   680,
4727
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4728
       0,     0,     0,  4971,     0,     0,     0,     0,  1335,     0,
4729
       0,     0,     0,   681,     0,     0,     0,     0,     0,     0,
4730
       0,     0,     0,     0,     0,   885,   682,     0,     0,     0,
4731
       0,     0,     0,  5006,     0,     0,     0,     0,     0,     0,
4732
       0,     0,   683,     0,     0,  2074,     0,     0,  2075,  2076,
4733
    2077,     0,     0,     0,  2078,  2079,  2080,  2081,  2082,  2083,
4734
     684,     0,     0,     0,     0,     0,  3259,  3260,  1640,     0,
4735
       0,     0,  3264,     0,     0,     0,     0,  1115,     0,     0,
4736
       0,     0,     0,   685,     0,     0,     0,     0,     0,     0,
4737
       0,     0,     0,     0,   686,     0,     0,     0,     0,     0,
4738
       0,     0,   687,     0,     0,     0,     0,  3297,   884,     0,
4739
       0,     0,  1105,     0,   688,  1643,     0,     0,  1107,   689,
4740
       0,     0,     0,     0,     0,     0,   690,     0,     0,     0,
4741
       0,   885,     0,   885,     0,     0,     0,     0,     0,     0,
4742
       0,     0,     0,     0,     0,     0,   691,     0,     0,     0,
4743
       0,     0,     0,     0,  5093,     0,     0,     0,     0,  1728,
4744
       0,     0,     0,     0,  1728,     0,  1728,     0,     0,     0,
4745
       0,     0,     0,     0,     0,     0,  1108,     0,     0,     0,
4746
       0,   885,     0,     0,  1107,     0,     0,     0,  1728,     0,
4747
     876,     0,   692,     0,     0,     0,     0,     0,     0,     0,
4748
       0,     0,     0,     0,     0,     0,     0,  1728,     0,     0,
4749
       0,     0,  2963,     0,     0,     0,  2201,  2969,     0,     0,
4750
       0,     0,     0,   884,     0,  1107,   884,   693,     0,     0,
4751
    1729,     0,     0,     0,     0,     0,   876,     0,     0,     0,
4752
     694,     0,  1108,     0,     0,     0,     0,  1105,     0,     0,
4753
     695,  1105,  1105,     0,  5186,     0,     0,     0,  1107,     0,
4754
     209,   696,     0,     0,   697,     0,     0,     0,     0,     0,
4755
       0,     0,     0,     0,     0,     0,     0,     0,  1115,     0,
4756
       0,     0,     0,  1108,  1110,     0,     0,     0,     0,     0,
4757
     698,     0,  1115,   699,     0,     0,     0,   700,     0,   701,
4758
       0,     0,     0,     0,     0,     0,   702,     0,     0,   703,
4759
       0,  1110,     0,  1105,     0,     0,  1108,     0,     0,     0,
4760
     884,   884,     0,     0,     0,     0,     0,  1105,     0,   704,
4761
     884,     0,  1115,     0,     0,   705,     0,     0,     0,     0,
4762
     706,   707,     0,     0,     0,   708,     0,     0,     0,   884,
4763
     709,     0,     0,     0,     0,     0,     0,  3508,   710,     0,
4764
     711,     0,  3514,     0,     0,   712,     0,  1105,     0,     0,
4765
       0,     0,     0,     0,     0,     0,     0,   713,     0,     0,
4766
       0,     0,     0,     0,   961,     0,     0,  2048,     0,   962,
4767
     714,     0,     0,     0,     0,     0,     0,     0,  2813,     0,
4768
    2813,  2813,     0,     0,     0,     0,     0,     0,     0,     0,
4769
       0,  3572,     0,     0,  3575,     0,  3577,  1729,     0,     0,
4770
       0,     0,     0,     0,   884,   963,     0,     0,     0,     0,
4771
       0,     0,     0,     0,     0,     0,     0,     0,   964,     0,
4772
     965,  1107,   885,     0,     0,  3595,     0,  3598,     0,  3600,
4773
     966,     0,     0,     0,   967,   885,     0,     0,  1107,     0,
4774
       0,     0,     0,     0,     0,     0,     0,  1107,     0,     0,
4775
       0,     0,   968,     0,     0,     0,     0,     0,     0,  1107,
4776
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4777
       0,     0,     0,     0,     0,   969,     0,     0,     0,  1108,
4778
    1643,     0,     0,  2146,     0,     0,   970,     0,     0,     0,
4779
       0,     0,     0,     0,   971,     0,  1108,     0,  2163,     0,
4780
       0,     0,     0,     0,     0,  1108,   972,     0,     0,     0,
4781
       0,   973,     0,     0,     0,     0,     0,  1108,  1107,     0,
4782
    1115,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4783
       0,     0,  1107,     0,     0,     0,     0,     0,   974,     0,
4784
       0,     0,     0,     0,     0,  1107,     0,     0,  1110,     0,
4785
       0,     0,     0,     0,     0,  1105,     0,  1107,     0,     0,
4786
       0,     0,  3688,   975,     0,     0,     0,     0,     0,     0,
4787
       0,     0,     0,     0,  1110,     0,  1108,     0,     0,     0,
4788
       0,     0,     0,     0,   976,     0,     0,     0,     0,  1110,
4789
    1108,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4790
       0,  1107,  1107,  1108,     0,     0,  2201,     0,     0,     0,
4791
       0,     0,     0,     0,     0,  1108,     0,     0,     0,   977,
4792
       0,     0,     0,     0,     0,     0,     0,   884,     0,     0,
4793
       0,     0,  1728,     0,     0,     0,  1729,     0,   885,     0,
4794
       0,  1105,   978,     0,     0,     0,     0,     0,     0,     0,
4795
       0,     0,   209,   979,     0,     0,   980,     0,     0,  1108,
4796
    1108,     0,     0,     0,     0,   884,     0,     0,     0,     0,
4797
       0,     0,     0,     0,     0,  1110,     0,   884,     0,     0,
4798
       0,     0,   981,     0,     0,   982,     0,     0,     0,   983,
4799
       0,   984,     0,     0,     0,     0,     0,     0,   985,     0,
4800
       0,   986,     0,     0,   884,     0,     0,     0,     0,     0,
4801
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4802
       0,   987,     0,     0,     0,     0,  1115,   988,     0,     0,
4803
       0,  1729,   989,   990,     0,     0,     0,   991,     0,     0,
4804
    1107,     0,   992,  1115,     0,     0,     0,     0,   885,     0,
4805
     993,     0,   994,     0,     0,     0,     0,   995,  1115,     0,
4806
       0,  1105,   876,     0,     0,     0,     0,     0,     0,     0,
4807
       0,     0,     0,     0,     0,     0,     0,   885,  1105,     0,
4808
       0,     0,   996,     0,  1110,     0,     0,     0,     0,     0,
4809
       0,     0,     0,  1105,     0,     0,     0,     0,  1108,     0,
4810
       0,   884,     0,     0,     0,     0,     0,     0,     0,     0,
4811
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4812
       0,     0,     0,     0,  1640,     0,     0,     0,     0,     0,
4813
    1640,     0,     0,     0,     0,     0,     0,     0,     0,   876,
4814
     876,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4815
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4816
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4817
       0,     0,  1111,     0,     0,  1107,   884,     0,     0,  1107,
4818
    1107,     0,     0,     0,     0,     0,   885,     0,     0,     0,
4819
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1111,
4820
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4821
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4822
       0,     0,     0,     0,  1113,     0,     0,     0,     0,     0,
4823
       0,     0,     0,  1108,     0,     0,     0,  1108,  1108,     0,
4824
       0,  1107,     0,     0,     0,     0,     0,     0,     0,     0,
4825
       0,  1113,     0,     0,     0,  1107,     0,     0,     0,     0,
4826
       0,     0,     0,  2201,     0,     0,  2969,     0,  2969,     0,
4827
       0,     0,     0,  2201,     0,     0,  1729,     0,     0,     0,
4828
       0,     0,   884,     0,   884,     0,     0,     0,     0,     0,
4829
       0,     0,     0,  1110,     0,  1107,     0,     0,  1105,  1108,
4830
       0,  1105,     0,  1105,     0,  1487,     0,     0,  1105,     0,
4831
       0,  1488,     0,  1108,     0,     0,     0,     0,  1554,     0,
4832
       0,     0,  1115,     0,     0,     0,     0,     0,     0,     0,
4833
       0,     0,   884,     0,     0,     0,     0,     0,  1555,     0,
4834
       0,  1115,     0,     0,     0,     0,     0,     0,     0,  1729,
4835
       0,     0,     0,  1108,  1490,     0,     0,  1105,     0,  1110,
4836
       0,     0,     0,     0,     0,     0,  2201,     0,     0,     0,
4837
       0,     0,     0,     0,     0,     0,  1105,  1729,  4062,     0,
4838
       0,  1728,   876,   876,     0,     0,     0,  4066,     0,  1556,
4839
       0,     0,     0,  4067,     0,  4068,     0,     0,     0,     0,
4840
    1110,  1105,     0,     0,     0,     0,     0,     0,     0,  1492,
4841
       0,     0,     0,     0,     0,     0,  1493,     0,     0,  1494,
4842
       0,     0,  4092,  4093,     0,     0,     0,     0,     0,     0,
4843
       0,     0,     0,  1110,     0,     0,     0,  1115,     0,  1115,
4844
    2819,     0,     0,     0,  1495,     0,     0,     0,  4118,     0,
4845
       0,  4121,     0,  4123,     0,     0,  1111,     0,     0,     0,
4846
       0,     0,  4127,     0,     0,     0,     0,     0,     0,     0,
4847
    4134,  4135,  1105,     0,  1105,     0,  1557,     0,     0,  1496,
4848
       0,     0,  1111,     0,     0,     0,     0,     0,     0,     0,
4849
       0,     0,     0,     0,     0,     0,     0,  1111,     0,     0,
4850
       0,     0,  4181,  1107,     0,     0,     0,     0,  1113,     0,
4851
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4852
       0,     0,     0,     0,  1558,     0,  4194,  1559,     0,     0,
4853
    1115,     0,     0,     0,  1113,     0,     0,     0,  1560,     0,
4854
       0,  1498,  4207,     0,     0,     0,     0,     0,     0,  1113,
4855
       0,  1499,     0,     0,     0,     0,  1643,     0,     0,     0,
4856
    1500,  1108,  1643,     0,     0,  1105,     0,     0,  1728,     0,
4857
    1115,  1561,  1501,     0,     0,     0,     0,     0,     0,     0,
4858
       0,     0,     0,  1111,     0,     0,     0,     0,     0,  1107,
4859
       0,     0,     0,   884,     0,  2969,     0,     0,     0,     0,
4860
       0,     0,     0,  2969,     0,  1105,   884,     0,     0,     0,
4861
    3175,     0,     0,  1503,  1504,  1563,  1110,     0,     0,     0,
4862
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4863
    1105,     0,     0,  1110,     0,  1113,     0,  1564,  1105,     0,
4864
       0,     0,  1110,  3176,     0,     0,     0,  1108,     0,     0,
4865
       0,     0,     0,     0,  1110,     0,     0,     0,  1566,     0,
4866
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4867
       0,     0,     0,     0,     0,     0,  1115,     0,     0,     0,
4868
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4869
       0,     0,  1111,  2969,     0,     0,     0,     0,     0,     0,
4870
       0,     0,     0,     0,     0,     0,     0,  1115,     0,  1107,
4871
       0,  1105,  1506,  1110,     0,     0,     0,     0,     0,     0,
4872
       0,     0,     0,     0,     0,     0,  1107,  1110,  1105,     0,
4873
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4874
    1110,  1107,  1105,     0,  1113,     0,     0,     0,     0,     0,
4875
       0,     0,  1110,     0,     0,     0,     0,     0,     0,     0,
4876
       0,     0,     0,     0,     0,     0,     0,  1108,     0,     0,
4877
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4878
       0,     0,     0,     0,  1108,     0,     0,     0,     0,     0,
4879
       0,     0,     0,     0,     0,     0,  1110,  1110,     0,  1108,
4880
       0,     0,     0,     0,     0,     0,     0,  1728,     0,   884,
4881
       0,     0,     0,  1115,     0,     0,     0,     0,     0,     0,
4882
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4883
       0,     0,     0,     0,  1115,     0,     0,     0,     0,     0,
4884
       0,     0,     0,     0,     0,     0,     0,     0,  1105,     0,
4885
       0,     0,     0,     0,     0,     0,     0,  4479,  4480,  1115,
4886
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1105,
4887
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4888
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4889
       0,     0,     0,  1115,  1105,     0,     0,     0,     0,     0,
4890
       0,  1111,  1728,     0,     0,     0,     0,     0,     0,     0,
4891
       0,     0,     0,     0,     0,     0,     0,     0,     0,   884,
4892
       0,     0,     0,     0,     0,     0,     0,     0,  1105,     0,
4893
    4522,     0,     0,     0,     0,  1110,     0,     0,     0,     0,
4894
       0,  4527,     0,     0,     0,     0,  1107,     0,   884,  1107,
4895
       0,  1107,     0,  1113,     0,     0,  1107,     0,     0,     0,
4896
       0,     0,     0,     0,     0,     0,     0,  1111,     0,     0,
4897
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4898
    2201,  4542,  4544,     0,     0,     0,     0,     0,  4548,  4549,
4899
       0,     0,     0,  4550,     0,     0,     0,     0,  4553,     0,
4900
       0,  4556,  4557,     0,  1108,  1107,  4561,  1108,  1111,  1108,
4901
       0,     0,  4565,     0,  1108,  1105,     0,     0,     0,  1113,
4902
       0,     0,     0,     0,  1107,     0,     0,     0,     0,     0,
4903
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4904
       0,  1111,     0,     0,     0,     0,     0,     0,     0,  1107,
4905
       0,     0,     0,     0,     0,     0,     0,   884,     0,     0,
4906
    1113,     0,     0,  1108,  1311,     0,     0,     0,     0,     0,
4907
    1110,     0,     0,     0,  1110,  1110,     0,     0,     0,     0,
4908
    2969,     0,  1108,     0,     0,     0,     0,     0,     0,     0,
4909
       0,     0,  4620,  1113,     0,     0,     0,     0,     0,  4628,
4910
       0,     0,     0,     0,  2969,     0,     0,  1108,     0,     0,
4911
       0,     0,     0,     0,     0,  1105,     0,     0,     0,     0,
4912
    1107,     0,  1107,     0,     0,     0,     0,     0,     0,     0,
4913
       0,     0,     0,     0,     0,     0,  1110,     0,     0,  1105,
4914
       0,     0,     0,     0,     0,     0,     0,  1728,     0,     0,
4915
    1110,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4916
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4917
       0,     0,     0,     0,     0,     0,     0,     0,  1108,     0,
4918
    1108,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4919
    1110,     0,     0,     0,     0,     0,  4686,     0,     0,     0,
4920
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4921
       0,     0,     0,  1107,     0,     0,     0,     0,     0,     0,
4922
    1728,     0,     0,     0,  1111,     0,     0,     0,     0,     0,
4923
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1115,
4924
       0,  1111,     0,     0,     0,     0,     0,     0,  1728,     0,
4925
    1111,     0,     0,  1107,     0,     0,     0,     0,     0,     0,
4926
       0,     0,  1111,     0,     0,  4726,     0,     0,     0,     0,
4927
       0,  1108,     0,     0,  1105,     0,  1113,     0,  1107,     0,
4928
       0,     0,     0,     0,     0,     0,  1107,     0,  2201,     0,
4929
       0,     0,     0,  1113,     0,     0,     0,     0,     0,     0,
4930
       0,     0,  1113,     0,     0,     0,     0,     0,     0,     0,
4931
       0,  1108,     0,     0,  1113,     0,     0,     0,     0,     0,
4932
       0,  1111,     0,  1105,     0,     0,     0,     0,     0,     0,
4933
       0,     0,     0,     0,     0,  1111,  1108,     0,     0,     0,
4934
       0,     0,     0,     0,  1108,     0,     0,     0,  1111,     0,
4935
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1107,
4936
    1111,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4937
       0,     0,     0,  1113,     0,     0,  1107,     0,     0,     0,
4938
       0,     0,     0,     0,     0,     0,     0,  1113,     0,     0,
4939
    1107,     0,     0,     0,     0,     0,     0,     0,  1110,     0,
4940
    1113,     0,     0,     0,  1111,  1111,     0,     0,     0,     0,
4941
       0,     0,  1113,     0,     0,     0,  1115,  1108,     0,     0,
4942
       0,     0,     0,  4829,  4830,     0,  1115,  4831,     0,     0,
4943
       0,     0,     0,     0,  1108,     0,     0,     0,     0,     0,
4944
       0,     0,     0,     0,     0,     0,     0,     0,  1108,     0,
4945
       0,  1105,     0,     0,     0,     0,  1113,  1113,     0,     0,
4946
       0,  1105,     0,     0,  4866,  4867,     0,     0,     0,     0,
4947
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4948
    4877,     0,     0,     0,  1110,     0,     0,     0,     0,     0,
4949
       0,     0,     0,     0,     0,     0,  1107,     0,     0,     0,
4950
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4951
       0,     0,     0,     0,     0,     0,     0,  1107,     0,     0,
4952
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4953
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4954
       0,     0,  1107,  1111,     0,  1115,     0,     0,     0,     0,
4955
       0,     0,     0,     0,  1108,     0,     0,   625,     0,     0,
4956
       0,     0,   626,     0,     0,     0,     0,     0,     0,     0,
4957
       0,     0,     0,     0,   627,  1108,  1107,     0,     0,     0,
4958
    1105,     0,     0,     0,  1115,     0,     0,     0,     0,     0,
4959
       0,     0,     0,     0,     0,  1113,     0,     0,   628,     0,
4960
    1108,     0,     0,     0,  1110,  1115,     0,     0,     0,     0,
4961
       0,   629,     0,     0,     0,     0,     0,     0,     0,  1105,
4962
       0,  1110,     0,   630,     0,     0,     0,  -886,     0,     0,
4963
       0,     0,     0,     0,  1108,     0,  1110,     0,     0,     0,
4964
    1105,     0,     0,     0,     0,   631,     0,     0,     0,     0,
4965
    2085,   632,     0,     0,     0,     0,     0,     0,     0,     0,
4966
       0,     0,     0,  1107,     0,     0,     0,     0,   633,     0,
4967
    1115,     0,     0,     0,     0,     0,     0,     0,  1111,   634,
4968
       0,     0,  1111,  1111,     0,     0,  2819,   635,     0,     0,
4969
       0,     0,     0,     0,     0,     0,     0,     0,     0,   636,
4970
       0,     0,     0,     0,     0,  1105,     0,   637,     0,     0,
4971
    2085,   638,     0,     0,  5061,     0,     0,     0,     0,     0,
4972
       0,  1108,     0,     0,     0,     0,     0,     0,  2048,     0,
4973
    1113, -1119,     0,     0,  1113,  1113,     0,     0,     0,     0,
4974
       0,     0,     0,     0,  1111,     0,     0,     0,     0,     0,
4975
       0,     0,     0,     0,     0,     0,     0,     0,  1111,     0,
4976
       0,     0,     0,  1107,     0,     0,     0,     0,   639,     0,
4977
       0,     0,     0,     0,     0,     0,     0,  -596,     0,     0,
4978
       0,     0,     0,  4793,     0,  1115,     0,  1107,     0,  5114,
4979
       0,     0,     0,     0,     0,     0,  1113,     0,  1111,     0,
4980
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4981
    1113,     0,   640,     0,     0,   641,     0,     0,     0,     0,
4982
    1105,  1108,     0,     0,     0,     0,     0,     0,     0,     0,
4983
       0,     0,     0,  1115,     0,   642,     0,     0,     0,     0,
4984
       0,  1110,     0,     0,  1110,  1108,  1110,     0,     0,   643,
4985
    1113,  1110,     0,     0,     0,     0,  -459,     0,     0,     0,
4986
       0,     0,     0,     0,     0,     0,     0,     0,  1105,     0,
4987
       0,     0,     0,     0,     0,   644,     0,     0,     0,     0,
4988
       0,     0,     0,     0,   645,     0,     0,     0,     0,     0,
4989
       0,  -459,     0,     0,   646,     0,     0,     0,     0,     0,
4990
    1110,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4991
       0,     0,     0,     0,   647,     0,     0,     0,     0,  1110,
4992
     648,     0,  1107,     0,     0,  -459,   649,     0,     0,     0,
4993
     650,     0,   651,     0,   652,   653,     0,     0,     0,     0,
4994
       0,     0,  4866,     0,  1110,   654,     0,     0,     0,     0,
4995
     655,     0,     0,     0,     0,     0,   656,     0,     0,   657,
4996
       0,     0,   658,     0,     0,     0,  2969,     0,     0,     0,
4997
       0,  1107,  5265,     0,     0,  -459,     0,     0,     0,  2085,
4998
    1108,     0,     0,  2085,     0,     0,     0,     0,     0,     0,
4999
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5000
       0,  1105,     0,     0,     0,     0,  1111,     0,     0,     0,
5001
       0,     0,     0,     0,     0,  1110,     0,  1110,     0,     0,
5002
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1108,
5003
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5004
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5005
       0,     0,     0,     0,     0,     0,     0,     0,  1113,     0,
5006
       0,     0,  5321,     0,     0,     0,     0,     0,     0,     0,
5007
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5008
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5009
       0,  2969,  1111,     0,     0,  5349,  5349,  5349,     0,  1107,
5010
       0,     0,     0,     0,     0,     0,     0,     0,  1110,  1107,
5011
       0,     0,     0,     0,  4866,     0,  1115,     0,     0,     0,
5012
       0,     0,     0,     0,     0,     0,  1105,     0,     0,     0,
5013
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5014
       0,     0,     0,     0,  1113,     0,     0,     0,  1110,     0,
5015
       0,  1105,     0,     0,     0,     0,  1115,  1108,     0,     0,
5016
       0,     0,     0,     0,     0,     0,     0,  1108,     0,     0,
5017
       0,     0,     0,  1110,     0,     0,     0,     0,     0,     0,
5018
       0,  1110,     0,     0,     0,     0,     0,     0,     0,     0,
5019
       0,  1105,     0,     0,     0,     0,  5413,     0,     0,     0,
5020
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5021
       0,  1115,  1111,     0,     0,  5349,  1115,  1115,     0,     0,
5022
       0,     0,     0,     0,     0,     0,     0,     0,  1107,  1111,
5023
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5024
       0,     0,     0,     0,  1111,     0,  1105,     0,     0,     0,
5025
       0,  1105,  1105,     0,  1110,     0,     0,     0,     0,     0,
5026
       0,     0,     0,     0,  1113,     0,     0,  1107,     0,     0,
5027
       0,  1110,     0,     0,     0,     0,     0,     0,     0,     0,
5028
       0,  1113,     0,     0,     0,  1110,  1108,     0,  1107,     0,
5029
       0,     0,     0,     0,     0,     0,  1113,     0,     0,     0,
5030
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5031
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5032
       0,     0,     0,     0,     0,  1108,     0,     0,  4793,  1115,
5033
       0,     0,     0,     0,     0,     0,  5518,     0,     0,     0,
5034
       0,     0,     0,     0,     0,     0,  1108,     0,     0,     0,
5035
       0,  2085,     0,  1107,     0,     0,     0,     0,     0,     0,
5036
       0,     0,     0,     0,  1105,  2085,     0,     0,     0,  2801,
5037
       0,     0,     0,     0,     0,     0,  5349,     0,     0,     0,
5038
       0,     0,     0,  2085,  2085,  2085,  5549,  2085,     0,     0,
5039
       0,  1110,     0,     0,     0,     0,     0,   193,     0,     0,
5040
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5041
       0,  1108,  1110,     0,     0,     0,     0,     0,     0,     0,
5042
       0,     0,     0,     0,     0,     0,     0,     0,     0,  2085,
5043
       0,     0,     0,     0,     0,     0,     0,  1110,     0,     0,
5044
       0,     0,     0,     0,     0,     0,   194,     0,     0,  1111,
5045
       0,     0,  1111,     0,  1111,     0,     0,     0,     0,  1111,
5046
       0,     0,   195,     0,     0,     0,     0,     0,  1107,     0,
5047
       0,  1110,     0,     0,     0,     0,     0,     0,     0,     0,
5048
     196,     0,     0,     0,     0,  2085,   197,     0,     0,     0,
5049
       0,     0,     0,     0,     0,     0,     0,  2085,     0,     0,
5050
       0,  1113,  2085,   198,  1113,     0,  1113,     0,  1111,     0,
5051
       0,  1113,     0,     0,   199,     0,  1107,     0,     0,     0,
5052
       0,     0,   200,     0,     0,     0,  1108,  1111,     0,     0,
5053
       0,     0,     0,     0,   201,     0,     0,     0,     0,   202,
5054
    1115,     0,     0,     0,     0,     0,   203,     0,     0,     0,
5055
       0,     0,  1111,     0,     0,     0,     0,     0,  1110,     0,
5056
    1113,     0,     0,     0,     0,     0,   204,     0,     0,     0,
5057
       0,     0,     0,     0,  1108,  1105,     0,     0,     0,  1113,
5058
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5059
       0,   205,     0,     0,     0,     0,     0,     0,     0,     0,
5060
       0,     0,     0,     0,  1113,     0,     0,     0,     0,     0,
5061
       0,     0,   206,     0,     0,     0,     0,     0,     0,     0,
5062
       0,     0,     0,  1111,     0,  1111,     0,     0,     0,     0,
5063
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5064
       0,     0,     0,     0,     0,     0,     0,   207,     0,  1107,
5065
       0,     0,     0,     0,     0,     0,     0,     0,  1110,     0,
5066
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5067
     208,     0,     0,     0,     0,  1113,     0,  1113,     0,     0,
5068
     209,   210,  1110,     0,   211,     0,     0,     0,     0,     0,
5069
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5070
       0,     0,     0,     0,     0,     0,     0,  1108,     0,     0,
5071
     212,     0,     0,   213,     0,     0,  1111,   214,     0,   215,
5072
       0,     0,     0,     0,     0,     0,   216,     0,     0,   217,
5073
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5074
       0,     0,     0,     0,     0,     0,     0,     0,     0,   218,
5075
       0,     0,     0,     0,     0,   219,  1111,     0,     0,   220,
5076
     221,   222,     0,     0,     0,   223,     0,     0,  1113,     0,
5077
     224,     0,     0,     0,  1107,     0,     0,     0,     0,     0,
5078
     225,  1111,     0,     0,     0,   226,     0,     0,     0,  1111,
5079
       0,     0,     0,     0,     0,     0,     0,   227,     0,  1107,
5080
       0,     0,     0,     0,     0,     0,     0,     0,  1113,     0,
5081
     228,     0,     0,     0,     0,     0,     0,  1110,     0,     0,
5082
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5083
       0,     0,  1108,  1113,     0,     0,     0,     0,     0,  1107,
5084
       0,  1113,     0,     0,     0,     0,     0,     0,     0,     0,
5085
       0,     0,     0,     0,     0,     0,     0,  1108,     0,     0,
5086
       0,     0,  1111,     0,     0,     0,  1110,     0,     0,     0,
5087
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1111,
5088
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5089
       0,     0,     0,  1111,  1107,     0,     0,  1108,     0,  1107,
5090
    1107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5091
       0,     0,     0,     0,  1113,     0,     0,     0,     0,     0,
5092
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5093
       0,  1113,     0,     0,     0,     0,     0,     0,     0,     0,
5094
       0,     0,     0,     0,     0,  1113,     0,     0,     0,     0,
5095
       0,     0,  1108,     0,     0,     0,     0,  1108,  1108,     0,
5096
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5097
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5098
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5099
       0,     0,     0,     0,  1110,     0,     0,     0,     0,  1111,
5100
       0,     0,     0,     0,  1110,     0,     0,     0,     0,     0,
5101
       0,     0,  1107,     0,     0,     0,     0,     0,     0,     0,
5102
    1111,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5103
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5104
       0,     0,     0,     0,     0,  1111,     0,     0,     0,     0,
5105
       0,  1113,     0,     0,     0,     0,     0,     0,     0,     0,
5106
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5107
    1108,     0,  1113,     0,     0,     0,     0,     0,     0,  1111,
5108
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5109
       0,     0,     0,     0,     0,     0,     0,  1113,     0,     0,
5110
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5111
    2085,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5112
       0,     0,     0,  1110,     0,     0,     0,     0,     0,     0,
5113
    2085,  1113,  2085,     0,     0,  2801,  2801,     0,  3549,     0,
5114
    2801,     0,     0,     0,  2085,     0,     0,  2085,     0,     0,
5115
       0,     0,  2085,     0,     0,     0,     0,     0,  2085,     0,
5116
       0,     0,  1110,  2085,     0,     0,  1111,     0,     0,     0,
5117
    2085,  2085,  2085,  2085,     0,     0,     0,  2801,  2801,     0,
5118
    2085,     0,     0,  1110,     0,     0,     0,     0,     0,     0,
5119
       0,     0,  2085,     0,  2085,     0,     0,     0,     0,     0,
5120
       0,  2085,  2085,  2085,  2085,  2085,  2085,  2085,  2085,  2085,
5121
    2085,     0,     0,     0,     0,     0,     0,     0,  1113,     0,
5122
       0,     0,     0,  1107,     0,     0,     0,     0,     0,     0,
5123
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5124
       0,     0,     0,     0,     0,     0,     0,  2085,  1110,     0,
5125
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5126
       0,     0,     0,     0,     0,     0,  1111,     0,     0,     0,
5127
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5128
       0,  1108,     0,     0,     0,     0,     0,     0,     0,     0,
5129
    1111,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5130
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5131
       0,     0,     0,     0,     0,     0,     0,     0,  1113,     0,
5132
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5133
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5134
       0,     0,  1113,     0,     0,     0,     0,  2085,     0,     0,
5135
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5136
       0,     0,     0,  1110,     0,     0,     0,     0,     0,     0,
5137
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5138
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5139
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5140
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5141
       0,  1110,     0,     0,     0,     0,     0,     0,     0,     0,
5142
       0,     0,     0,     0,     0,  1111,     0,     0,     0,     0,
5143
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5144
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5145
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5146
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5147
       0,     0,     0,     0,  1111,     0,     0,  1113,     0,     0,
5148
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5149
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5150
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5151
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5152
       0,     0,     0,     0,     0,     0,  1113,     0,     0,     0,
5153
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5154
       0,     0,     0,     0,  1110,     0,     0,     0,     0,     0,
5155
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5156
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5157
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5158
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5159
       0,     0,     0,     0,     0,     0,     0,     0,  2085,  2085,
5160
       0,     0,  1111,  2085,     0,     0,     0,     0,     0,     0,
5161
       0,     0,  1111,     0,     0,     0,     0,     0,     0,     0,
5162
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5163
       0,     0,     0,     0,     0,     0,  2085,     0,     0,     0,
5164
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5165
       0,     0,     0,     0,  1113,     0,     0,     0,     0,     0,
5166
       0,     0,     0,     0,  1113,     0,     0,     0,     0,  1110,
5167
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5168
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5169
       0,     0,     0,     0,  1110,     0,     0,     0,     0,     0,
5170
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5171
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5172
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5173
       0,  1111,     0,     0,  1110,     0,     0,     0,     0,     0,
5174
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5175
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5176
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5177
    1111,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5178
       0,     0,     0,  1113,     0,     0,     0,     0,     0,  1110,
5179
       0,  1111,     0,     0,  1110,  1110,     0,     0,     0,     0,
5180
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5181
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5182
       0,     0,  1113,     0,     0,     0,     0,     0,     0,     0,
5183
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5184
       0,     0,     0,  1113,     0,     0,     0,  2085,     0,     0,
5185
       0,     0,     0,  2085,     0,     0,  1111,     0,     0,     0,
5186
       0,     0,     0,     0,     0,     0,     0,     0,     0,  3549,
5187
    3549,     0,     0,  2801,  2801,  2801,  2801,     0,     0,  2801,
5188
    2801,  2801,  2801,  2801,  2801,  2801,  2801,  2801,  2801,  3549,
5189
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5190
       0,     0,     0,     0,     0,     0,     0,  1110,  1113,     0,
5191
       0,  2085,     0,     0,  2085,     0,  2085,     0,     0,  3549,
5192
    3549,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5193
       0,     0,     0,     0,  2085,  2801,  2801,  2085,     0,  2085,
5194
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5195
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5196
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5197
       0,  1111,     0,     0,     0,     0,     0,     0,     0,     0,
5198
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5199
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5200
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5201
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1111,
5202
       0,     0,     0,  1113,     0,     0,     0,  2085,     0,     0,
5203
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5204
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5205
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5206
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5207
       0,  1113,     0,     0,     0,     0,     0,     0,     0,     0,
5208
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5209
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5210
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5211
       0,     0,     0,     0,     0,     0,     0,     0,  1110,     0,
5212
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5213
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5214
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5215
       0,     0,  1111,     0,     0,     0,     0,     0,     0,     0,
5216
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5217
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5218
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5219
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5220
       0,     0,     0,     0,  1113,     0,     0,     0,     0,     0,
5221
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5222
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5223
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5224
       0,     0,     0,     0,     0,     0,     0,     0,  2801,     0,
5225
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5226
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5227
       0,     0,     0,     0,     0,     0,     0,  1111,     0,     0,
5228
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5229
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5230
       0,     0,  1111,     0,     0,     0,     0,     0,     0,     0,
5231
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5232
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1113,
5233
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5234
       0,     0,  1111,     0,     0,     0,     0,     0,     0,     0,
5235
       0,     0,     0,     0,  1113,     0,     0,     0,     0,     0,
5236
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5237
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5238
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5239
       0,     0,     0,     0,  1113,     0,     0,  1111,     0,     0,
5240
       0,  2085,  1111,  1111,     0,  2085,  2085,  2085,     0,     0,
5241
       0,     0,     0,  3549,  3549,  3549,  3549,     0,     0,     0,
5242
       0,  3549,  3549,  3549,  3549,  3549,  3549,  3549,  3549,  3549,
5243
    3549,  2085,  2085,     0,     0,     0,     0,     0,     0,     0,
5244
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1113,
5245
       0,     0,     0,     0,  1113,  1113,     0,  2085,     0,     0,
5246
    2085,     0,  2085,     0,     0,     0,  2085,     0,     0,  3549,
5247
    3549,     0,     0,  2085,  2085,     0,     0,     0,     0,     0,
5248
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5249
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5250
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5251
       0,     0,     0,     0,     0,  1111,     0,     0,     0,     0,
5252
    2085,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5253
       0,     0,     0,  2085,     0,     0,     0,     0,     0,     0,
5254
       0,     0,     0,     0,     0,     0,  2085,     0,     0,     0,
5255
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5256
       0,     0,     0,     0,     0,     0,     0,  1113,     0,     0,
5257
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5258
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5259
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5260
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5261
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5262
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5263
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5264
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5265
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5266
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5267
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5268
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5269
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5270
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5271
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5272
       0,     0,     0,     0,     0,     0,  1111,     0,     0,     0,
5273
       0,     0,     0,     0,     0,     0,     0,     0,  3549,     0,
5274
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5275
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5276
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5277
       0,     0,     0,     0,     0,     0,     0,     0,  1113,     0,
5278
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5279
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5280
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5281
       0,     0,     0,     0,     0,     0,     0,     0,  2085,  2085,
5282
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5283
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5284
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5285
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5286
       0,  2085,     0,     0,     0,     0,  2085,  2801,     0,     0,
5287
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5288
       0,  2085,     0,  2085,     0,     0,     0,  2085,  2085,  2085,
5289
       0,     0,  2085,     0,     0,  2085,  2085,     0,     0,     0,
5290
    2085,     0,     0,     0,  2085,     0,     0,     0,     0,     0,
5291
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5292
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5293
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5294
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5295
       0,     0,     0,     0,     0,     0,     0,     0,     0,  2085,
5296
       0,     0,     0,     0,     0,     0,     0,  2085,     0,     0,
5297
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5298
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5299
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5300
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5301
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5302
       0,     0,     0,     0,     0,  2085,     0,     0,     0,     0,
5303
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5304
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5305
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5306
       0,     0,     0,     0,     0,  2085,     0,     0,     0,     0,
5307
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5308
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5309
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5310
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5311
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5312
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5313
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5314
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5315
       0,     0,  3549,  2801,     0,     0,     0,     0,     0,     0,
5316
       0,     0,     0,     0,     0,     0,     0,     0,  2085,  2085,
5317
    2085,     0,     0,     0,     0,     0,     0,     0,  2801,     0,
5318
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5319
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5320
       0,     0,     0,     0,     0,  2085,  2085,     0,     0,     0,
5321
       0,     0,     0,     0,     0,     0,  2085,     0,     0,     0,
5322
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5323
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5324
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5325
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5326
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5327
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5328
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5329
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5330
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5331
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5332
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5333
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5334
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5335
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5336
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5337
       0,     0,     0,     0,     0,     0,     0,     0,     0,  3549,
5338
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5339
       0,     0,     0,  2801,     0,     0,  3549,     0,     0,     0,
5340
    2085,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5341
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5342
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5343
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5344
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5345
       0,     0,     0,  2085,     0,     0,     0,     0,     0,     0,
5346
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5347
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5348
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5349
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5350
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5351
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5352
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5353
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5354
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5355
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5356
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5357
       0,     0,  3549,     0,  2801,     0,     0,     0,     0,     0,
5358
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5359
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5360
       0,     0,     0,     0,  2085,     0,     0,     0,     0,     0,
5361
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5362
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5363
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5364
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5365
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5366
    2085,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5367
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5368
       0,     0,     0,     0,     0,     0,     0,     0,  2085,     0,
5369
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5370
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5371
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5372
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5373
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5374
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5375
       0,     0,  2085,     0,     0,     0,     0,     0,     0,     0,
5376
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5377
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5378
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5379
       0,     0,     0,     0,  2801,  2801,     0,     0,     0,     0,
5380
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5381
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5382
       0,     0,     0,     0,   232,  1228,   673,  1229,  1230,  1231,
5383
     735,  1232,     0,     0,     0,     0,     0,     0,     0,   233,
5384
     234,   235,   236,   237,   238,   239,   240,  1634,   241,   242,
5385
     243,     0,  3549,  3549,     0,  1233,     0,  2085,   244,   245,
5386
       0,   246,   247,   248,   249,   250,   251,   252,   253,   254,
5387
    1234,   256,  1235,  1236,     0,   259,   260,   261,   262,   263,
5388
     264,  1237,  1238,   265,   266,  1239,  1240,   269,  2085,   270,
5389
     271,   272,   273,  1241,     0,  1242,   276,     0,   277,   278,
5390
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
5391
     288,   289,   290,   291,     0,   292,   293,   294,   295,  1243,
5392
    1244,  1245,  1246,  1247,  1248,  1249,   297,   298,   299,   300,
5393
     301,   302,  1250,  1251,   305,  1252,   306,     0,   307,   308,
5394
     309,   310,   311,   312,     0,   313,   314,   315,   316,  1635,
5395
       0,   317,   318,  1086,   320,   321,     0,   322,   323,   324,
5396
       0,   325,   326,   327,     0,   328,   329,   330,   331,  1253,
5397
     333,   334,   335,  1254,  1255,   337,     0,   338,   339,  1256,
5398
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
5399
     348,   349,     0,   350,  1257,     0,  1258,   353,   354,   355,
5400
       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
5401
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
5402
     373,   374,   375,   376,   377,   378,   379,  1259,  1260,     0,
5403
    1261,     0,   383,   384,   385,   386,   387,   388,   389,   390,
5404
     391,   392,     0,     0,   393,  1262,   395,   396,   397,     0,
5405
     398,   399,   400,  1263,  1264,   401,   402,   403,   404,   405,
5406
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
5407
     416,  1265,   418,  1266,   420,   421,   422,   423,   424,  1267,
5408
     425,   426,   427,   428,  1268,  1269,   430,  1270,   432,   433,
5409
     434,     0,   435,   436,     0,     0,  1271,   438,   439,     0,
5410
       0,   440,   441,   442,   443,   444,   445,  1272,   447,   448,
5411
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
5412
    1273,   459,   460,   461,   462,   463,     0,   464,   465,   466,
5413
     467,   468,   469,   470,   471,   472,   473,  1274,   475,   476,
5414
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
5415
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
5416
     495,   496,   497,   498,  1275,   500,   501,   502,   503,   504,
5417
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
5418
    1276,   514,   515,   516,   517,   518,   519,   520,   521,  1277,
5419
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
5420
     532,   533,   534,   535,   536,  1278,     0,   538,   539,     0,
5421
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
5422
       0,   550,  1279,  1280,     0,     0,   553,   554,  1281,   556,
5423
    1282,  1283,   558,   559,   560,   561,   562,   563,   564,     0,
5424
    1284,   565,   566,   567,   568,   569,  1285,     0,   570,   571,
5425
     572,   573,   574,   575,  1286,  1636,   577,   578,   579,   580,
5426
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
5427
     587,   588,   589,   590,  1287,  1288,  1289,  1290,   595,  1291,
5428
    1292,  1293,  1294,   600,   601,   602,   603,  1295,     0,     0,
5429
       0,     0,     0,     0,     0,     0,  1296,  1297,  1637,     0,
5430
       0,     0,     0,     0,     0,  1299,  1638,   232,  1228,   673,
5431
    1229,  1230,  1231,   735,  1232,     0,     0,     0,     0,     0,
5432
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
5433
       0,   241,   242,   243,     0,     0,     0,     0,  1233,     0,
5434
       0,   244,   245,     0,   246,   247,   248,   249,   250,   251,
5435
     252,   253,   254,  1234,   256,  1235,  1236,     0,   259,   260,
5436
     261,   262,   263,   264,  1237,  1238,   265,   266,  1239,  1240,
5437
     269,     0,   270,   271,   272,   273,  1241,     0,  1242,   276,
5438
       0,   277,   278,   279,   280,   281,   282,   283,   284,   285,
5439
       0,   286,   287,   288,   289,   290,   291,     0,   292,   293,
5440
     294,   295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,   297,
5441
     298,   299,   300,   301,   302,  1250,  1251,   305,  1252,   306,
5442
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
5443
     315,   316,     0,     0,   317,   318,  1086,   320,   321,     0,
5444
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
5445
     330,   331,  1253,   333,   334,   335,  1254,  1255,   337,     0,
5446
     338,   339,  1256,   341,     0,   342,     0,   343,   344,     0,
5447
     345,   346,   347,   348,   349,     0,   350,  1257,     0,  1258,
5448
     353,   354,   355,     0,   356,   357,   358,   359,   360,   361,
5449
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
5450
     371,   372,     0,   373,   374,   375,   376,   377,   378,   379,
5451
    1259,  1260,     0,  1261,     0,   383,   384,   385,   386,   387,
5452
     388,   389,   390,   391,   392,     0,     0,   393,  1262,   395,
5453
     396,   397,     0,   398,   399,   400,  1263,  1264,   401,   402,
5454
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
5455
     413,   414,   415,   416,  1265,   418,  1266,   420,   421,   422,
5456
     423,   424,  1267,   425,   426,   427,   428,  1268,  1269,   430,
5457
    1270,   432,   433,   434,     0,   435,   436,     0,     0,  1271,
5458
     438,   439,     0,     0,   440,   441,   442,   443,   444,   445,
5459
    1272,   447,   448,   449,   450,   451,   452,   453,   454,   455,
5460
       0,   456,   457,  1273,   459,   460,   461,   462,   463,     0,
5461
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
5462
    1274,   475,   476,   477,   478,     0,   479,   480,   481,   482,
5463
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
5464
     492,   493,   494,   495,   496,   497,   498,  1275,   500,   501,
5465
     502,   503,   504,   505,   506,   507,   508,    41,   509,   510,
5466
     511,   512,   513,  1276,   514,   515,   516,   517,   518,   519,
5467
     520,   521,  1277,   523,     0,   524,   525,   526,   527,   528,
5468
     529,   530,   531,   532,   533,   534,   535,   536,  1278,     0,
5469
     538,   539,    45,   540,   541,   542,   543,   544,   545,   546,
5470
     547,   548,   549,     0,   550,  1279,  1280,     0,     0,   553,
5471
     554,  1281,   556,  1282,  1283,   558,   559,   560,   561,   562,
5472
     563,   564,     0,  1284,   565,   566,   567,   568,   569,  1285,
5473
       0,   570,   571,   572,   573,   574,  1164,  1286,     0,   577,
5474
     578,   579,   580,   581,   582,     0,     0,   583,     0,    50,
5475
     584,   585,   586,   587,   588,   589,   590,  1287,  1288,  1289,
5476
    1290,   595,  1291,  1292,  1293,  1294,   600,   601,   602,   603,
5477
    1295,     0,    51,     0,     0,     0,     0,     0,     0,  1296,
5478
    1297,     0,     0,     0,     0,     0,     0,     0,  1299,  5072,
5479
     232,  1228,   673,  1229,  1230,  1231,   735,  1232,     0,     0,
5480
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
5481
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
5482
       0,  1233,     0,     0,   244,   245,     0,   246,   247,   248,
5483
     249,   250,   251,   252,   253,   254,  1234,   256,  1235,  1236,
5484
       0,   259,   260,   261,   262,   263,   264,  1237,  1238,   265,
5485
     266,  1239,  1240,   269,     0,   270,   271,   272,   273,  1241,
5486
       0,  1242,   276,     0,   277,   278,   279,   280,   281,   282,
5487
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
5488
       0,   292,   293,   294,   295,  1243,  1244,  1245,  1246,  1247,
5489
    1248,  1249,   297,   298,   299,   300,   301,   302,  1250,  1251,
5490
     305,  1252,   306,     0,   307,   308,   309,   310,   311,   312,
5491
       0,   313,   314,   315,   316,     0,     0,   317,   318,  1086,
5492
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
5493
       0,   328,   329,   330,   331,  1253,   333,   334,   335,  1254,
5494
    1255,   337,     0,   338,   339,  1256,   341,     0,   342,     0,
5495
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
5496
    1257,     0,  1258,   353,   354,   355,     0,   356,   357,   358,
5497
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
5498
     368,   369,   370,   371,   372,     0,   373,   374,   375,   376,
5499
     377,   378,   379,  1259,  1260,     0,  1261,     0,   383,   384,
5500
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
5501
     393,  1262,   395,   396,   397,     0,   398,   399,   400,  1263,
5502
    1264,   401,   402,   403,   404,   405,   406,   407,   408,   409,
5503
     410,   411,   412,   413,   414,   415,   416,  1265,   418,  1266,
5504
     420,   421,   422,   423,   424,  1267,   425,   426,   427,   428,
5505
    1268,  1269,   430,  1270,   432,   433,   434,     0,   435,   436,
5506
       0,     0,  1271,   438,   439,     0,     0,   440,   441,   442,
5507
     443,   444,   445,  1272,   447,   448,   449,   450,   451,   452,
5508
     453,   454,   455,     0,   456,   457,  1273,   459,   460,   461,
5509
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
5510
     471,   472,   473,  1274,   475,   476,   477,   478,     0,   479,
5511
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
5512
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
5513
    1275,   500,   501,   502,   503,   504,   505,   506,   507,   508,
5514
       0,   509,   510,   511,   512,   513,  1276,   514,   515,   516,
5515
     517,   518,   519,   520,   521,  1277,   523,     0,   524,   525,
5516
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
5517
     536,  1278,     0,   538,   539,     0,   540,   541,   542,   543,
5518
     544,   545,   546,   547,   548,   549,     0,   550,  1279,  1280,
5519
       0,     0,   553,   554,  1281,   556,  1282,  1283,   558,   559,
5520
     560,   561,   562,   563,   564,     0,  1284,   565,   566,   567,
5521
     568,   569,  1285,     0,   570,   571,   572,   573,   574,   575,
5522
    1286,     0,   577,   578,   579,   580,   581,   582,     0,     0,
5523
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
5524
    1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,  1294,   600,
5525
     601,   602,   603,  1295,     0,     0,     0,     0,     0,     0,
5526
       0,     0,  1296,  1297,     0,     0,     0,     0,     0,     0,
5527
       0,  1299,  2803,   232,  1228,   673,  1229,  1230,  1231,   735,
5528
    1232,     0,     0,     0,     0,     0,     0,     0,   233,   234,
5529
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
5530
       0,     0,     0,     0,  1233,     0,     0,   244,   245,     0,
5531
     246,   247,   248,   249,   250,   251,   252,   253,   254,  1234,
5532
     256,  1235,  1236,     0,   259,   260,   261,   262,   263,   264,
5533
    1237,  1238,   265,   266,  1239,  1240,   269,     0,   270,   271,
5534
     272,   273,  1241,     0,  1242,   276,     0,   277,   278,   279,
5535
     280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
5536
     289,   290,   291,     0,   292,   293,   294,   295,  1243,  1244,
5537
    1245,  1246,  1247,  1248,  1249,   297,   298,   299,   300,   301,
5538
     302,  1250,  1251,   305,  1252,   306,     0,   307,   308,   309,
5539
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
5540
     317,   318,  1086,   320,   321,     0,   322,   323,   324,     0,
5541
     325,   326,   327,     0,   328,   329,   330,   331,  1253,   333,
5542
     334,   335,  1254,  1255,   337,     0,   338,   339,  1256,   341,
5543
       0,   342,     0,   343,   344,     0,   345,   346,   347,   348,
5544
     349,     0,   350,  1257,     0,  1258,   353,   354,   355,     0,
5545
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
5546
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
5547
     374,   375,   376,   377,   378,   379,  1259,  1260,     0,  1261,
5548
       0,   383,   384,   385,   386,   387,   388,   389,   390,   391,
5549
     392,     0,     0,   393,  1262,   395,   396,   397,     0,   398,
5550
     399,   400,  1263,  1264,   401,   402,   403,   404,   405,   406,
5551
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
5552
    1265,   418,  1266,   420,   421,   422,   423,   424,  1267,   425,
5553
     426,   427,   428,  1268,  1269,   430,  1270,   432,   433,   434,
5554
       0,   435,   436,     0,     0,  1271,   438,   439,     0,     0,
5555
     440,   441,   442,   443,   444,   445,  1272,   447,   448,   449,
5556
     450,   451,   452,   453,   454,   455,     0,   456,   457,  1273,
5557
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
5558
     468,   469,   470,   471,   472,   473,  1274,   475,   476,   477,
5559
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
5560
     487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
5561
     496,   497,   498,  1275,   500,   501,   502,   503,   504,   505,
5562
     506,   507,   508,     0,   509,   510,   511,   512,   513,  1276,
5563
     514,   515,   516,   517,   518,   519,   520,   521,  1277,   523,
5564
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
5565
     533,   534,   535,   536,  1278,     0,   538,   539,     0,   540,
5566
     541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
5567
     550,  1279,  1280,     0,     0,   553,   554,  1281,   556,  1282,
5568
    1283,   558,   559,   560,   561,   562,   563,   564,     0,  1284,
5569
     565,   566,   567,   568,   569,  1285,     0,   570,   571,   572,
5570
     573,   574,   575,  1286,     0,   577,   578,   579,   580,   581,
5571
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
5572
     588,   589,   590,  1287,  1288,  1289,  1290,   595,  1291,  1292,
5573
    1293,  1294,   600,   601,   602,   603,  1295,     0,     0,     0,
5574
       0,     0,     0,     0,     0,  1296,  1297,     0,     0,     0,
5575
       0,     0,     0,     0,  1299,  4070,   232,  1228,   673,  1229,
5576
    1230,  1231,   735,  1232,     0,     0,     0,     0,     0,     0,
5577
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
5578
     241,   242,   243,     0,     0,     0,     0,  1233,     0,     0,
5579
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
5580
     253,   254,  1234,   256,  1235,  1236,     0,   259,   260,   261,
5581
     262,   263,   264,  1237,  1238,   265,   266,  1239,  1240,   269,
5582
       0,   270,   271,   272,   273,  1241,     0,  1242,   276,     0,
5583
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
5584
     286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
5585
     295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,   297,   298,
5586
     299,   300,   301,   302,  1250,  1251,   305,  1252,   306,     0,
5587
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
5588
     316,     0,     0,   317,   318,  1086,   320,   321,     0,   322,
5589
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
5590
     331,  1253,   333,   334,   335,  1254,  1255,   337,     0,   338,
5591
     339,  1256,   341,     0,   342,     0,   343,   344,     0,   345,
5592
     346,   347,   348,   349,     0,   350,  1257,     0,  1258,   353,
5593
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
5594
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
5595
     372,     0,   373,   374,   375,   376,   377,   378,   379,  1259,
5596
    1260,     0,  1261,     0,   383,   384,   385,   386,   387,   388,
5597
     389,   390,   391,   392,     0,     0,   393,  1262,   395,   396,
5598
     397,     0,   398,   399,   400,  1263,  1264,   401,   402,   403,
5599
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
5600
     414,   415,   416,  1265,   418,  1266,   420,   421,   422,   423,
5601
     424,  1267,   425,   426,   427,   428,  1268,  1269,   430,  1270,
5602
     432,   433,   434,     0,   435,   436,     0,     0,  1271,   438,
5603
     439,     0,     0,   440,   441,   442,   443,   444,   445,  1272,
5604
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
5605
     456,   457,  1273,   459,   460,   461,   462,   463,     0,   464,
5606
     465,   466,   467,   468,   469,   470,   471,   472,   473,  1274,
5607
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
5608
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
5609
     493,   494,   495,   496,   497,   498,  1275,   500,   501,   502,
5610
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
5611
     512,   513,  1276,   514,   515,   516,   517,   518,   519,   520,
5612
     521,  1277,   523,     0,   524,   525,   526,   527,   528,   529,
5613
     530,   531,   532,   533,   534,   535,   536,  1278,     0,   538,
5614
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
5615
     548,   549,     0,   550,  1279,  1280,     0,     0,   553,   554,
5616
    1281,   556,  1282,  1283,   558,   559,   560,   561,   562,   563,
5617
     564,     0,  1284,   565,   566,   567,   568,   569,  1285,     0,
5618
     570,   571,   572,   573,   574,   575,  1286,     0,   577,   578,
5619
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
5620
     585,   586,   587,   588,   589,   590,  1287,  1288,  1289,  1290,
5621
     595,  1291,  1292,  1293,  1294,   600,   601,   602,   603,  1295,
5622
       0,     0,     0,     0,   611,     0,     0,     0,  1296,  1297,
5623
       0,     0,     0,     0,     0,     0,     0,  1299,  4141,   233,
5624
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
5625
     243,     0,     0,     0,     0,     0,  4159,     0,   244,   245,
5626
       0,   246,   247,   248,     0,   250,   251,   252,   253,   254,
5627
     255,     0,   257,   258,     0,   259,   260,   261,   262,   263,
5628
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
5629
     271,   272,   273,   274,     0,     0,   276,     0,   277,   278,
5630
     279,   280,   281,     0,   283,   284,   285,     0,   286,   287,
5631
     288,   289,   290,   291,     0, -1833,   293,   294,   295,     0,
5632
       0,     0,     0,     0,     0,     0,   297,   298,   299,   300,
5633
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
5634
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
5635
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
5636
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
5637
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
5638
     341,     0,   342,     0,   343,     0,     0, -1833,   346,   347,
5639
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
5640
       0,   356,   357,   358,   359,   360,     0,   362,   363,   364,
5641
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
5642
     373, -1833,   375,   376,   377,   378,   379,   380,   381,     0,
5643
     382,     0,   383,     0,     0,   386, -1833,   388,   389,   390,
5644
     391,   392,     0,     0,   393,   394, -1833,   396,     0,     0,
5645
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
5646
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
5647
     416,   417, -1833,   419,   420,   421,   422,     0,   424,     0,
5648
     425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
5649
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
5650
       0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
5651
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
5652
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
5653
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
5654
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
5655
     486,   487,   488,   489,   490,     0,   491,   492, -1833,   494,
5656
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
5657
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
5658
       0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
5659
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
5660
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
5661
     540,   541,   542,     0,   544,   545,   546,   547,   548,   549,
5662
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
5663
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
5664
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
5665
     572,   573,   574,   575,   576,     0,   577,     0,   579,   580,
5666
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
5667
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
5668
     597,   598,   599,   600,   601,   602,   603,     0,     0,     0,
5669
       0,     0,  1078,     0,     0,     0,     0,     0,     0,     0,
5670
       0,     0,     0,     0,     0,     0,  1377,   233,   234,   235,
5671
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
5672
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
5673
     247,   248,   249,   250,   251,   252,   253,     0,  1079,   256,
5674
    1080,  1081,     0,   259,   260,   261,   262,   263,   264,     0,
5675
       0,   265,   266,  1082,  1083,   269,     0,   270,   271,   272,
5676
     273,     0,     0,   275,   276,     0,   277,   278,   279,   280,
5677
     281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
5678
     290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
5679
     296,     0,     0,     0,   297,   298,   299,   300,   301,   302,
5680
    1084,  1085,   305,     0,   306,     0,   307,   308,   309,   310,
5681
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
5682
     318,  1086,   320,   321,     0,   322,   323,   324,     0,   325,
5683
     326,   327,     0,   328,   329,   330,   331,     0,   333,   334,
5684
     335,     0,     0,   337,     0,   338,   339,  1087,   341,     0,
5685
     342,     0,   343,   344,     0,   345,   346,   347,   348,   349,
5686
       0,   350,     0,     0,     0,   353,   354,   355,     0,   356,
5687
     357,   358,   359,   360,   361,   362,   363,   364,   365,  2187,
5688
     366,   367,   368,   369,   370,   371,   372,     0,   373,   374,
5689
    2188,   376,   377,   378,   379,  1089,  1090,     0,  1091,     0,
5690
     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
5691
       0,     0,   393,     0,   395,   396,   397,     0,   398,   399,
5692
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
5693
     408,   409,   410,   411,   412,   413,   414,   415,   416,  1092,
5694
     418,  1093,   420,   421,   422,   423,     0,     0,   425,   426,
5695
     427,   428,     0,     0,   430,  1094,   432,   433,   434,     0,
5696
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
5697
     441,  2190,   443,   444,   445,     0,   447,   448,   449,   450,
5698
     451,   452,   453,   454,   455,     0,   456,   457,     0,   459,
5699
       0,   461,   462,   463,     0,   464,   465,   466,   467,   468,
5700
     469,   470,   471,   472,   473,  1095,   475,   476,   477,   478,
5701
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
5702
     488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
5703
     497,   498,     0,   500,   501,   502,   503,   504,   505,   506,
5704
     507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
5705
     515,  2191,   517,   518,   519,   520,   521,  1097,   523,     0,
5706
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
5707
     534,   535,   536,     0,     0,   538,   539,     0,   540,   541,
5708
     542,   543,   544,   545,   546,   547,   548,   549,     0,   550,
5709
    1098,  1099,     0,     0,   553,   554,     0,   556,     0,     0,
5710
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
5711
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
5712
     574,     0,  1100,  2192,   577,   578,   579,   580,   581,   582,
5713
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
5714
     589,  1078,     0,     0,     0,     0,     0,     0,     0,     0,
5715
       0,     0,   601,   602,   603,     0,   233,   234,   235,   236,
5716
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
5717
       0,     0,     0,     0,  2299,   244,   245,     0,   246,   247,
5718
     248,   249,   250,   251,   252,   253,     0,  1079,   256,  1080,
5719
    1081,     0,   259,   260,   261,   262,   263,   264,     0,     0,
5720
     265,   266,  1082,  1083,   269,     0,   270,   271,   272,   273,
5721
       0,     0,   275,   276,     0,   277,   278,   279,   280,   281,
5722
     282,   283,   284,   285,     0,   286,   287,   288,   289,   290,
5723
     291,     0,   292,   293,   294,   295,     0,     0,     0,   296,
5724
       0,     0,     0,   297,   298,   299,   300,   301,   302,  1084,
5725
    1085,   305,     0,   306,     0,   307,   308,   309,   310,   311,
5726
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
5727
    1086,   320,   321,     0,   322,   323,   324,     0,   325,   326,
5728
     327,     0,   328,   329,   330,   331,     0,   333,   334,   335,
5729
       0,     0,   337,     0,   338,   339,  1087,   341,     0,   342,
5730
       0,   343,   344,     0,   345,   346,   347,   348,   349,     0,
5731
     350,     0,     0,     0,   353,   354,   355,     0,   356,   357,
5732
     358,   359,   360,   361,   362,   363,   364,   365,  2187,   366,
5733
     367,   368,   369,   370,   371,   372,     0,   373,   374,  2188,
5734
     376,   377,   378,   379,  1089,  1090,     0,  1091,     0,   383,
5735
     384,   385,   386,   387,   388,   389,   390,   391,   392,     0,
5736
       0,   393,     0,   395,   396,   397,     0,   398,   399,   400,
5737
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
5738
     409,   410,   411,   412,   413,   414,   415,   416,  1092,   418,
5739
    1093,   420,   421,   422,   423,     0,     0,   425,   426,   427,
5740
     428,     0,     0,   430,  1094,   432,   433,   434,     0,   435,
5741
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
5742
    2190,   443,   444,   445,     0,   447,   448,   449,   450,   451,
5743
     452,   453,   454,   455,     0,   456,   457,     0,   459,     0,
5744
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
5745
     470,   471,   472,   473,  1095,   475,   476,   477,   478,     0,
5746
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
5747
     489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
5748
     498,     0,   500,   501,   502,   503,   504,   505,   506,   507,
5749
     508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
5750
    2191,   517,   518,   519,   520,   521,  1097,   523,     0,   524,
5751
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
5752
     535,   536,     0,     0,   538,   539,     0,   540,   541,   542,
5753
     543,   544,   545,   546,   547,   548,   549,     0,   550,  1098,
5754
    1099,     0,     0,   553,   554,     0,   556,     0,     0,   558,
5755
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
5756
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
5757
       0,  1100,  2192,   577,   578,   579,   580,   581,   582,     0,
5758
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
5759
     232,  1228,   673,  1229,  1230,  1231,   735,  1232,     0,     0,
5760
       0,   601,   602,   603,     0,   233,   234,   235,   236,   237,
5761
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
5762
       0,  1233,     0,  3386,   244,   245,     0,   246,   247,   248,
5763
     249,   250,   251,   252,   253,   254,  1234,   256,  1235,  1236,
5764
       0,   259,   260,   261,   262,   263,   264,  1237,  1238,   265,
5765
     266,  1239,  1240,   269,     0,   270,   271,   272,   273,  1241,
5766
       0,  1242,   276,     0,   277,   278,   279,   280,   281,   282,
5767
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
5768
       0,   292,   293,   294,   295,  1243,  1244,  1245,  1246,  1247,
5769
    1248,  1249,   297,   298,   299,   300,   301,   302,  1250,  1251,
5770
     305,  1252,   306,     0,   307,   308,   309,   310,   311,   312,
5771
       0,   313,   314,   315,   316,     0,     0,   317,   318,  1086,
5772
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
5773
       0,   328,   329,   330,   331,  1253,   333,   334,   335,  1254,
5774
    1255,   337,     0,   338,   339,  1256,   341,     0,   342,     0,
5775
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
5776
    1257,     0,  1258,   353,   354,   355,     0,   356,   357,   358,
5777
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
5778
     368,   369,   370,   371,   372,     0,   373,   374,   375,   376,
5779
     377,   378,   379,  1259,  1260,     0,  1261,     0,   383,   384,
5780
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
5781
     393,  1262,   395,   396,   397,     0,   398,   399,   400,  1263,
5782
    1264,   401,   402,   403,   404,   405,   406,   407,   408,   409,
5783
     410,   411,   412,   413,   414,   415,   416,  1265,   418,  1266,
5784
     420,   421,   422,   423,   424,  1267,   425,   426,   427,   428,
5785
    1268,  1269,   430,  1270,   432,   433,   434,     0,   435,   436,
5786
       0,     0,  1271,   438,   439,     0,     0,   440,   441,   442,
5787
     443,   444,   445,  1272,   447,   448,   449,   450,   451,   452,
5788
     453,   454,   455,     0,   456,   457,  1273,   459,   460,   461,
5789
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
5790
     471,   472,   473,  1274,   475,   476,   477,   478,     0,   479,
5791
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
5792
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
5793
    1275,   500,   501,   502,   503,   504,   505,   506,   507,   508,
5794
      41,   509,   510,   511,   512,   513,  1276,   514,   515,   516,
5795
     517,   518,   519,   520,   521,  1277,   523,     0,   524,   525,
5796
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
5797
     536,  1278,     0,   538,   539,    45,   540,   541,   542,   543,
5798
     544,   545,   546,   547,   548,   549,     0,   550,  1279,  1280,
5799
       0,     0,   553,   554,  1281,   556,  1282,  1283,   558,   559,
5800
     560,   561,   562,   563,   564,     0,  1284,   565,   566,   567,
5801
     568,   569,  1285,     0,   570,   571,   572,   573,   574,  1164,
5802
    1286,     0,   577,   578,   579,   580,   581,   582,     0,     0,
5803
     583,     0,    50,   584,   585,   586,   587,   588,   589,   590,
5804
    1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,  1294,   600,
5805
     601,   602,   603,  1295,     0,    51,     0,     0,     0,     0,
5806
       0,     0,  1296,  1297,     0,     0,     0,     0,     0,     0,
5807
       0,  1299,   232,  1228,   673,  1229,  1230,  1231,   735,  1232,
5808
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
5809
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
5810
       0,     0,     0,  1233,     0,     0,   244,   245,     0,   246,
5811
     247,   248,   249,   250,   251,   252,   253,   254,  1234,   256,
5812
    1235,  1236,  2809,   259,   260,   261,   262,   263,   264,  1237,
5813
    1238,   265,   266,  1239,  1240,   269,     0,   270,   271,   272,
5814
     273,  1241,     0,  1242,   276,     0,   277,   278,   279,   280,
5815
     281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
5816
     290,   291,     0,   292,   293,   294,   295,  1243,  1244,  1245,
5817
    1246,  1247,  1248,  1249,   297,   298,   299,   300,   301,   302,
5818
    1250,  1251,   305,  1252,   306,     0,   307,   308,   309,   310,
5819
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
5820
     318,  1086,   320,   321,     0,   322,   323,   324,     0,   325,
5821
     326,   327,     0,   328,   329,   330,   331,  1253,   333,   334,
5822
     335,  1254,  1255,   337,     0,   338,   339,  1256,   341,     0,
5823
     342,     0,   343,   344,  2810,   345,   346,   347,   348,   349,
5824
       0,   350,  1257,     0,  1258,   353,   354,   355,     0,   356,
5825
     357,   358,   359,   360,   361,   362,   363,   364,   365,     0,
5826
     366,   367,   368,   369,   370,   371,   372,     0,   373,   374,
5827
     375,   376,   377,   378,   379,  1259,  1260,     0,  1261,     0,
5828
     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
5829
       0,  2811,   393,  1262,   395,   396,   397,     0,   398,   399,
5830
     400,  1263,  1264,   401,   402,   403,   404,   405,   406,   407,
5831
     408,   409,   410,   411,   412,   413,   414,   415,   416,  1265,
5832
     418,  1266,   420,   421,   422,   423,   424,  1267,   425,   426,
5833
     427,   428,  1268,  1269,   430,  1270,   432,   433,   434,     0,
5834
     435,   436,     0,     0,  1271,   438,   439,     0,     0,   440,
5835
     441,   442,   443,   444,   445,  1272,   447,   448,   449,   450,
5836
     451,   452,   453,   454,   455,     0,   456,   457,  1273,   459,
5837
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
5838
     469,   470,   471,   472,   473,  1274,   475,   476,   477,   478,
5839
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
5840
     488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
5841
     497,   498,  1275,   500,   501,   502,   503,   504,   505,   506,
5842
     507,   508,     0,   509,   510,   511,   512,   513,  1276,   514,
5843
     515,   516,   517,   518,   519,   520,   521,  1277,   523,     0,
5844
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
5845
     534,   535,   536,  1278,     0,   538,   539,     0,   540,   541,
5846
     542,   543,   544,   545,   546,   547,   548,   549,     0,   550,
5847
    1279,  1280,     0,  2812,   553,   554,  1281,   556,  1282,  1283,
5848
     558,   559,   560,   561,   562,   563,   564,     0,  1284,   565,
5849
     566,   567,   568,   569,  1285,     0,   570,   571,   572,   573,
5850
     574,   575,  1286,     0,   577,   578,   579,   580,   581,   582,
5851
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
5852
     589,   590,  1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,
5853
    1294,   600,   601,   602,   603,  1295,     0,     0,     0,     0,
5854
       0,     0,     0,     0,  1296,  1297,     0,     0,     0,     0,
5855
       0,     0,     0,  1299,   232,  1228,   673,  1229,  1230,  1231,
5856
     735,  1232,     0,     0,     0,     0,     0,     0,     0,   233,
5857
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
5858
     243,     0,     0,     0,     0,  1233,     0,     0,   244,   245,
5859
       0,   246,   247,   248,   249,   250,   251,   252,   253,   254,
5860
    1234,   256,  1235,  1236,     0,   259,   260,   261,   262,   263,
5861
     264,  1237,  1238,   265,   266,  1239,  1240,   269,     0,   270,
5862
     271,   272,   273,  1241,     0,  1242,   276,     0,   277,   278,
5863
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
5864
     288,   289,   290,   291,     0,   292,   293,   294,   295,  1243,
5865
    1244,  1245,  1246,  1247,  1248,  1249,   297,   298,   299,   300,
5866
     301,   302,  1250,  1251,   305,  1252,   306,     0,   307,   308,
5867
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
5868
       0,   317,   318,  1086,   320,   321,     0,   322,   323,   324,
5869
       0,   325,   326,   327,     0,   328,   329,   330,   331,  1253,
5870
     333,   334,   335,  1254,  1255,   337,     0,   338,   339,  1256,
5871
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
5872
     348,   349,     0,   350,  1257,     0,  1258,   353,   354,   355,
5873
       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
5874
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
5875
     373,   374,   375,   376,   377,   378,   379,  1259,  1260,     0,
5876
    1261,     0,   383,   384,   385,   386,   387,   388,   389,   390,
5877
     391,   392,     0,     0,   393,  1262,   395,   396,   397,     0,
5878
     398,   399,   400,  1263,  1264,   401,   402,   403,   404,   405,
5879
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
5880
     416,  1265,   418,  1266,   420,   421,   422,   423,   424,  1267,
5881
     425,   426,   427,   428,  1268,  1269,   430,  1270,   432,   433,
5882
     434,     0,   435,   436,     0,     0,  1271,   438,   439,     0,
5883
       0,   440,   441,   442,   443,   444,   445,  1272,   447,   448,
5884
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
5885
    1273,   459,   460,   461,   462,   463,     0,   464,   465,   466,
5886
     467,   468,   469,   470,   471,   472,   473,  1274,   475,   476,
5887
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
5888
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
5889
     495,   496,   497,   498,  1275,   500,   501,   502,   503,   504,
5890
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
5891
    1276,   514,   515,   516,   517,   518,   519,   520,   521,  1277,
5892
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
5893
     532,   533,   534,   535,   536,  1278,     0,   538,   539,     0,
5894
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
5895
       0,   550,  1279,  1280,     0,     0,   553,   554,  1281,   556,
5896
    1282,  1283,   558,   559,   560,   561,   562,   563,   564,     0,
5897
    1284,   565,   566,   567,   568,   569,  1285,     0,   570,   571,
5898
     572,   573,   574,   575,  1286,     0,   577,   578,   579,   580,
5899
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
5900
     587,   588,   589,   590,  1287,  1288,  1289,  1290,   595,  1291,
5901
    1292,  1293,  1294,   600,   601,   602,   603,  1295,     0,     0,
5902
       0,     0,     0,     0,     0,     0,  1296,  1297,     0,     0,
5903
       0,     0,     0,  2009,  2764,  1299,   232,  1228,   673,  1229,
5904
    1230,  1231,   735,  1232,     0,     0,     0,     0,     0,     0,
5905
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
5906
     241,   242,   243,     0,     0,     0,     0,  1233,     0,     0,
5907
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
5908
     253,   254,  1234,   256,  1235,  1236,     0,   259,   260,   261,
5909
     262,   263,   264,  1237,  1238,   265,   266,  1239,  1240,   269,
5910
       0,   270,   271,   272,   273,  1241,     0,  1242,   276,     0,
5911
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
5912
     286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
5913
     295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,   297,   298,
5914
     299,   300,   301,   302,  1250,  1251,   305,  1252,   306,     0,
5915
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
5916
     316,     0,     0,   317,   318,  1086,   320,   321,     0,   322,
5917
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
5918
     331,  1253,   333,   334,   335,  1254,  1255,   337,     0,   338,
5919
     339,  1256,   341,     0,   342,     0,   343,   344,     0,   345,
5920
     346,   347,   348,   349,     0,   350,  1257,     0,  1258,   353,
5921
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
5922
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
5923
     372,     0,   373,   374,   375,   376,   377,   378,   379,  1259,
5924
    1260,     0,  1261,     0,   383,   384,   385,   386,   387,   388,
5925
     389,   390,   391,   392,     0,     0,   393,  1262,   395,   396,
5926
     397,     0,   398,   399,   400,  1263,  1264,   401,   402,   403,
5927
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
5928
     414,   415,   416,  1265,   418,  1266,   420,   421,   422,   423,
5929
     424,  1267,   425,   426,   427,   428,  1268,  1269,   430,  1270,
5930
     432,   433,   434,     0,   435,   436,     0,     0,  1271,   438,
5931
     439,     0,     0,   440,   441,   442,   443,   444,   445,  1272,
5932
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
5933
     456,   457,  1273,   459,   460,   461,   462,   463,     0,   464,
5934
     465,   466,   467,   468,   469,   470,   471,   472,   473,  1274,
5935
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
5936
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
5937
     493,   494,   495,   496,   497,   498,  1275,   500,   501,   502,
5938
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
5939
     512,   513,  1276,   514,   515,   516,   517,   518,   519,   520,
5940
     521,  1277,   523,     0,   524,   525,   526,   527,   528,   529,
5941
     530,   531,   532,   533,   534,   535,   536,  1278,     0,   538,
5942
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
5943
     548,   549,     0,   550,  1279,  1280,     0,     0,   553,   554,
5944
    1281,   556,  1282,  1283,   558,   559,   560,   561,   562,   563,
5945
     564,     0,  1284,   565,   566,   567,   568,   569,  1285,     0,
5946
     570,   571,   572,   573,   574,   575,  1286,     0,   577,   578,
5947
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
5948
     585,   586,   587,   588,   589,   590,  1287,  1288,  1289,  1290,
5949
     595,  1291,  1292,  1293,  1294,   600,   601,   602,   603,  1295,
5950
       0,     0,     0,     0,     0,     0,     0,     0,  1296,  1297,
5951
    1298,     0,     0,     0,     0,     0,     0,  1299,   232,  1228,
5952
     673,  1229,  1230,  1231,   735,  1232,     0,     0,     0,     0,
5953
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
5954
     240,  2156,   241,   242,   243,     0,     0,     0,     0,  1233,
5955
       0,     0,   244,   245,     0,   246,   247,   248,   249,   250,
5956
     251,   252,   253,   254,  1234,   256,  1235,  1236,     0,   259,
5957
     260,   261,   262,   263,   264,  1237,  1238,   265,   266,  1239,
5958
    1240,   269,     0,   270,   271,   272,   273,  1241,     0,  1242,
5959
     276,     0,   277,   278,   279,   280,   281,   282,   283,   284,
5960
     285,     0,   286,   287,   288,   289,   290,   291,     0,   292,
5961
     293,   294,   295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,
5962
     297,   298,   299,   300,   301,   302,  1250,  1251,   305,  1252,
5963
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
5964
     314,   315,   316,     0,     0,   317,   318,  1086,   320,   321,
5965
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
5966
     329,   330,   331,  1253,   333,   334,   335,  1254,  1255,   337,
5967
       0,   338,   339,  1256,   341,     0,   342,     0,   343,   344,
5968
       0,   345,   346,   347,   348,   349,     0,   350,  1257,     0,
5969
    1258,   353,   354,   355,     0,   356,   357,   358,   359,   360,
5970
     361,   362,   363,   364,   365,     0,   366,   367,   368,   369,
5971
     370,   371,   372,     0,   373,   374,   375,   376,   377,   378,
5972
     379,  1259,  1260,     0,  1261,     0,   383,   384,   385,   386,
5973
     387,   388,   389,   390,   391,   392,     0,     0,   393,  1262,
5974
     395,   396,   397,     0,   398,   399,   400,  1263,  1264,   401,
5975
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
5976
     412,   413,   414,   415,   416,  1265,   418,  1266,   420,   421,
5977
     422,   423,   424,  1267,   425,   426,   427,   428,  1268,  1269,
5978
     430,  1270,   432,   433,   434,     0,   435,   436,     0,     0,
5979
    1271,   438,   439,     0,     0,   440,   441,   442,   443,   444,
5980
     445,  1272,   447,   448,   449,   450,   451,   452,   453,   454,
5981
     455,     0,   456,   457,  1273,   459,   460,   461,   462,   463,
5982
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
5983
     473,  1274,   475,   476,   477,   478,     0,   479,   480,   481,
5984
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
5985
     491,   492,   493,   494,   495,   496,   497,   498,  1275,   500,
5986
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
5987
     510,   511,   512,   513,  1276,   514,   515,   516,   517,   518,
5988
     519,   520,   521,  1277,   523,     0,   524,   525,   526,   527,
5989
     528,   529,   530,   531,   532,   533,   534,   535,   536,  1278,
5990
       0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
5991
     546,   547,   548,   549,     0,   550,  1279,  1280,     0,     0,
5992
     553,   554,  1281,   556,  1282,  1283,   558,   559,   560,   561,
5993
     562,   563,   564,     0,  1284,   565,   566,   567,   568,   569,
5994
    1285,     0,   570,   571,   572,   573,   574,   575,  1286,     0,
5995
     577,   578,   579,   580,   581,   582,     0,     0,   583,     0,
5996
       0,   584,   585,   586,   587,   588,   589,   590,  1287,  1288,
5997
    1289,  1290,   595,  1291,  1292,  1293,  1294,   600,   601,   602,
5998
     603,  1295,     0,     0,     0,     0,     0,     0,     0,     0,
5999
    1296,  1297,     0,     0,     0,     0,     0,     0,     0,  1299,
6000
     232,  1228,   673,  1229,  1230,  1231,   735,  1232,     0,     0,
6001
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
6002
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
6003
       0,  1233,     0,     0,   244,   245,     0,   246,   247,   248,
6004
     249,   250,   251,   252,   253,   254,  1234,   256,  1235,  1236,
6005
       0,   259,   260,   261,   262,   263,   264,  1237,  1238,   265,
6006
     266,  1239,  1240,   269,     0,   270,   271,   272,   273,  1241,
6007
       0,  1242,   276,     0,   277,   278,   279,   280,   281,   282,
6008
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
6009
       0,   292,   293,   294,   295,  1243,  1244,  1245,  1246,  1247,
6010
    1248,  1249,   297,   298,   299,   300,   301,   302,  1250,  1251,
6011
     305,  1252,   306,     0,   307,   308,   309,   310,   311,   312,
6012
       0,   313,   314,   315,   316,     0,     0,   317,   318,  1086,
6013
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
6014
       0,   328,   329,   330,   331,  1253,   333,   334,   335,  1254,
6015
    1255,   337,     0,   338,   339,  1256,   341,     0,   342,     0,
6016
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
6017
    1257,     0,  1258,   353,   354,   355,     0,   356,   357,   358,
6018
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
6019
     368,   369,   370,   371,   372,     0,   373,   374,   375,   376,
6020
     377,   378,   379,  1259,  1260,     0,  1261,     0,   383,   384,
6021
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
6022
     393,  1262,   395,   396,   397,     0,   398,   399,   400,  1263,
6023
    1264,   401,   402,   403,   404,   405,   406,   407,   408,   409,
6024
     410,   411,   412,   413,   414,   415,   416,  1265,   418,  1266,
6025
     420,   421,   422,   423,   424,  1267,   425,   426,   427,   428,
6026
    1268,  1269,   430,  1270,   432,   433,   434,     0,   435,   436,
6027
       0,     0,  1271,   438,   439,     0,     0,   440,   441,   442,
6028
     443,   444,   445,  1272,   447,   448,   449,   450,   451,   452,
6029
     453,   454,   455,     0,   456,   457,  1273,   459,   460,   461,
6030
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
6031
     471,   472,   473,  1274,   475,   476,   477,   478,     0,   479,
6032
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
6033
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
6034
    1275,   500,   501,   502,   503,   504,   505,   506,   507,   508,
6035
       0,   509,   510,   511,   512,   513,  1276,   514,   515,   516,
6036
     517,   518,   519,   520,   521,  1277,   523,     0,   524,   525,
6037
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
6038
     536,  1278,     0,   538,   539,     0,   540,   541,   542,   543,
6039
     544,   545,   546,   547,   548,   549,     0,   550,  1279,  1280,
6040
       0,     0,   553,   554,  1281,   556,  1282,  1283,   558,   559,
6041
     560,   561,   562,   563,   564,     0,  1284,   565,   566,   567,
6042
     568,   569,  1285,     0,   570,   571,   572,   573,   574,   575,
6043
    1286,  3261,   577,   578,   579,   580,   581,   582,     0,     0,
6044
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
6045
    1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,  1294,   600,
6046
     601,   602,   603,  1295,     0,     0,     0,     0,     0,     0,
6047
       0,     0,  1296,  1297,     0,     0,     0,     0,     0,     0,
6048
       0,  1299,   232,  1228,   673,  1229,  1230,  1231,   735,  1232,
6049
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
6050
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
6051
       0,     0,     0,  1233,     0,     0,   244,   245,     0,   246,
6052
     247,   248,   249,   250,   251,   252,   253,   254,  1234,   256,
6053
    1235,  1236,     0,   259,   260,   261,   262,   263,   264,  1237,
6054
    1238,   265,   266,  1239,  1240,   269,     0,   270,   271,   272,
6055
     273,  1241,     0,  1242,   276,     0,   277,   278,   279,   280,
6056
     281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
6057
     290,   291,     0,   292,   293,   294,   295,  1243,  1244,  1245,
6058
    1246,  1247,  1248,  1249,   297,   298,   299,   300,   301,   302,
6059
    1250,  1251,   305,  1252,   306,     0,   307,   308,   309,   310,
6060
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
6061
     318,  1086,   320,   321,     0,   322,   323,   324,     0,   325,
6062
     326,   327,     0,   328,   329,   330,   331,  1253,   333,   334,
6063
     335,  1254,  1255,   337,     0,   338,   339,  1256,   341,     0,
6064
     342,     0,   343,   344,  2810,   345,   346,   347,   348,   349,
6065
       0,   350,  1257,     0,  1258,   353,   354,   355,     0,   356,
6066
     357,   358,   359,   360,   361,   362,   363,   364,   365,     0,
6067
     366,   367,   368,   369,   370,   371,   372,     0,   373,   374,
6068
     375,   376,   377,   378,   379,  1259,  1260,     0,  1261,     0,
6069
     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
6070
       0,     0,   393,  1262,   395,   396,   397,     0,   398,   399,
6071
     400,  1263,  1264,   401,   402,   403,   404,   405,   406,   407,
6072
     408,   409,   410,   411,   412,   413,   414,   415,   416,  1265,
6073
     418,  1266,   420,   421,   422,   423,   424,  1267,   425,   426,
6074
     427,   428,  1268,  1269,   430,  1270,   432,   433,   434,     0,
6075
     435,   436,     0,     0,  1271,   438,   439,     0,     0,   440,
6076
     441,   442,   443,   444,   445,  1272,   447,   448,   449,   450,
6077
     451,   452,   453,   454,   455,     0,   456,   457,  1273,   459,
6078
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
6079
     469,   470,   471,   472,   473,  1274,   475,   476,   477,   478,
6080
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
6081
     488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
6082
     497,   498,  1275,   500,   501,   502,   503,   504,   505,   506,
6083
     507,   508,     0,   509,   510,   511,   512,   513,  1276,   514,
6084
     515,   516,   517,   518,   519,   520,   521,  1277,   523,     0,
6085
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
6086
     534,   535,   536,  1278,     0,   538,   539,     0,   540,   541,
6087
     542,   543,   544,   545,   546,   547,   548,   549,     0,   550,
6088
    1279,  1280,     0,     0,   553,   554,  1281,   556,  1282,  1283,
6089
     558,   559,   560,   561,   562,   563,   564,     0,  1284,   565,
6090
     566,   567,   568,   569,  1285,     0,   570,   571,   572,   573,
6091
     574,   575,  1286,     0,   577,   578,   579,   580,   581,   582,
6092
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
6093
     589,   590,  1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,
6094
    1294,   600,   601,   602,   603,  1295,     0,     0,     0,     0,
6095
       0,     0,     0,     0,  1296,  1297,     0,     0,     0,     0,
6096
       0,     0,     0,  1299,   232,  1228,   673,  1229,  1230,  1231,
6097
     735,  1232,     0,     0,     0,     0,     0,     0,     0,   233,
6098
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
6099
     243,     0,     0,     0,     0,  1233,     0,     0,   244,   245,
6100
       0,   246,   247,   248,   249,   250,   251,   252,   253,   254,
6101
    1234,   256,  1235,  1236,     0,   259,   260,   261,   262,   263,
6102
     264,  1237,  1238,   265,   266,  1239,  1240,   269,     0,   270,
6103
     271,   272,   273,  1241,     0,  1242,   276,     0,   277,   278,
6104
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
6105
     288,   289,   290,   291,     0,   292,   293,   294,   295,  1243,
6106
    1244,  1245,  1246,  1247,  1248,  1249,   297,   298,   299,   300,
6107
     301,   302,  1250,  1251,   305,  1252,   306,     0,   307,   308,
6108
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
6109
       0,   317,   318,  1086,   320,   321,     0,   322,   323,   324,
6110
       0,   325,   326,   327,     0,   328,   329,   330,   331,  1253,
6111
     333,   334,   335,  1254,  1255,   337,     0,   338,   339,  1256,
6112
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
6113
     348,   349,     0,   350,  1257,     0,  1258,   353,   354,   355,
6114
       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
6115
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
6116
     373,   374,   375,   376,   377,   378,   379,  1259,  1260,     0,
6117
    1261,     0,   383,   384,   385,   386,   387,   388,   389,   390,
6118
     391,   392,     0,     0,   393,  1262,   395,   396,   397,     0,
6119
     398,   399,   400,  1263,  1264,   401,   402,   403,   404,   405,
6120
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
6121
     416,  1265,   418,  1266,   420,   421,   422,   423,   424,  1267,
6122
     425,   426,   427,   428,  1268,  1269,   430,  1270,   432,   433,
6123
     434,     0,   435,   436,     0,     0,  1271,   438,   439,     0,
6124
       0,   440,   441,   442,   443,   444,   445,  1272,   447,   448,
6125
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
6126
    1273,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6127
     467,   468,   469,   470,   471,   472,   473,  1274,   475,   476,
6128
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6129
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6130
     495,   496,   497,   498,  1275,   500,   501,   502,   503,   504,
6131
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6132
    1276,   514,   515,   516,   517,   518,   519,   520,   521,  1277,
6133
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6134
     532,   533,   534,   535,   536,  1278,     0,   538,   539,     0,
6135
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
6136
       0,   550,  1279,  1280,     0,     0,   553,   554,  1281,   556,
6137
    1282,  1283,   558,   559,   560,   561,   562,   563,   564,     0,
6138
    1284,   565,   566,   567,   568,   569,  1285,     0,   570,   571,
6139
     572,   573,   574,   575,  1286,     0,   577,   578,   579,   580,
6140
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
6141
     587,   588,   589,   590,  1287,  1288,  1289,  1290,   595,  1291,
6142
    1292,  1293,  1294,   600,   601,   602,   603,  1295,     0,     0,
6143
       0,     0,     0,     0,     0,     0,  1296,  1297,     0,     0,
6144
       0,     0,     0,     0,     0,  1299,   232,  1228,   673,  1229,
6145
    1230,  1231,   735,  1232,     0,     0,     0,     0,     0,     0,
6146
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
6147
     241,   242,   243,     0,     0,     0,     0,  1233,     0,     0,
6148
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
6149
     253,   254,  1234,   256,  1235,  1236,     0,   259,   260,   261,
6150
     262,   263,   264,  1237,  1238,   265,   266,  1239,  1240,   269,
6151
       0,   270,   271,   272,   273,  1241,     0,  1242,   276,     0,
6152
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
6153
     286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
6154
     295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,   297,   298,
6155
     299,   300,   301,   302,  1250,  1251,   305,  1252,   306,     0,
6156
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
6157
     316,     0,     0,   317,   318,  1086,   320,   321,     0,   322,
6158
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
6159
     331,  1253,   333,   334,   335,  1254,  1255,   337,     0,   338,
6160
     339,  1256,   341,     0,   342,     0,   343,   344,     0,   345,
6161
     346,   347,   348,   349,     0,   350,  1257,     0,  1258,   353,
6162
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
6163
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
6164
     372,     0,   373,   374,   375,   376,   377,   378,   379,  1259,
6165
    1260,     0,  1261,     0,   383,   384,   385,   386,   387,   388,
6166
     389,   390,   391,   392,     0,     0,   393,  1262,   395,   396,
6167
     397,     0,   398,   399,   400,  1263,  1264,   401,   402,   403,
6168
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
6169
     414,   415,   416,  1265,   418,  1266,   420,   421,   422,   423,
6170
     424,  1267,   425,   426,   427,   428,  1268,  1269,   430,  1270,
6171
     432,   433,   434,     0,   435,   436,     0,     0,  1271,   438,
6172
     439,     0,     0,   440,   441,   442,   443,   444,   445,  1272,
6173
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
6174
     456,   457,  1273,   459,   460,   461,   462,   463,     0,   464,
6175
     465,   466,   467,   468,   469,   470,   471,   472,   473,  1274,
6176
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
6177
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
6178
     493,   494,   495,   496,   497,   498,  1275,   500,   501,   502,
6179
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
6180
     512,   513,  1276,   514,   515,   516,   517,   518,   519,   520,
6181
     521,  1277,   523,     0,   524,   525,   526,   527,   528,   529,
6182
     530,   531,   532,   533,   534,   535,   536,  1278,     0,   538,
6183
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
6184
     548,   549,     0,   550,  1279,  1280,     0,     0,   553,   554,
6185
    1281,   556,  1282,  1283,   558,   559,   560,   561,   562,   563,
6186
     564,     0,  1284,   565,   566,   567,   568,   569,  1285,     0,
6187
     570,   571,   572,   573,   574,   575,  1286,     0,   577,   578,
6188
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
6189
     585,   586,   587,   588,   589,   590,  1287,  1288,  1289,  1290,
6190
     595,  1291,  1292,  1293,  1294,   600,   601,   602,   603,  1295,
6191
       0,     0,     0,     0,     0,     0,     0,     0,  2159,  2160,
6192
       0,     0,     0,     0,     0,     0,     0,  1299,   232,  2930,
6193
     673,  1229,  1230,  1231,   735,  1232,     0,     0,     0,     0,
6194
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
6195
     240,     0,   241,   242,   243,     0,     0,     0,     0,  1233,
6196
       0,     0,   244,   245,     0,   246,   247,   248,   249,   250,
6197
     251,   252,   253,   254,  1234,   256,  1235,  1236,     0,   259,
6198
     260,   261,   262,   263,   264,  1237,  1238,   265,   266,  1239,
6199
    1240,   269,     0,   270,   271,   272,   273,  1241,     0,  1242,
6200
     276,     0,   277,   278,   279,   280,   281,   282,   283,   284,
6201
     285,     0,   286,   287,   288,   289,   290,   291,     0,   292,
6202
     293,   294,   295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,
6203
     297,   298,   299,   300,   301,   302,  1250,  1251,   305,  1252,
6204
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
6205
     314,   315,   316,     0,     0,   317,   318,  1086,   320,   321,
6206
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
6207
     329,   330,   331,  1253,   333,   334,   335,  1254,  1255,   337,
6208
       0,   338,   339,  1256,   341,     0,   342,     0,   343,   344,
6209
       0,   345,   346,   347,   348,   349,     0,   350,  1257,     0,
6210
    1258,   353,   354,   355,     0,   356,   357,   358,   359,   360,
6211
     361,   362,   363,   364,   365,     0,   366,   367,   368,   369,
6212
     370,   371,   372,     0,   373,   374,   375,   376,   377,   378,
6213
     379,  1259,  1260,     0,  1261,     0,   383,   384,   385,   386,
6214
     387,   388,   389,   390,   391,   392,     0,     0,   393,  1262,
6215
     395,   396,   397,     0,   398,   399,   400,  1263,  1264,   401,
6216
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
6217
     412,   413,   414,   415,   416,  1265,   418,  1266,   420,   421,
6218
     422,   423,   424,  1267,   425,   426,   427,   428,  1268,  1269,
6219
     430,  1270,   432,   433,   434,     0,   435,   436,     0,     0,
6220
    1271,   438,   439,     0,     0,   440,   441,   442,   443,   444,
6221
     445,  1272,   447,   448,   449,   450,   451,   452,   453,   454,
6222
     455,     0,   456,   457,  1273,   459,   460,   461,   462,   463,
6223
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
6224
     473,  1274,   475,   476,   477,   478,     0,   479,   480,   481,
6225
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
6226
     491,   492,   493,   494,   495,   496,   497,   498,  1275,   500,
6227
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
6228
     510,   511,   512,   513,  1276,   514,   515,   516,   517,   518,
6229
     519,   520,   521,  1277,   523,     0,   524,   525,   526,   527,
6230
     528,   529,   530,   531,   532,   533,   534,   535,   536,  1278,
6231
       0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
6232
     546,   547,   548,   549,     0,   550,  1279,  1280,     0,     0,
6233
     553,   554,  1281,   556,  1282,  1283,   558,   559,   560,   561,
6234
     562,   563,   564,     0,  1284,   565,   566,   567,   568,   569,
6235
    1285,     0,   570,   571,   572,   573,   574,   575,  1286,     0,
6236
     577,   578,   579,   580,   581,   582,     0,     0,   583,     0,
6237
       0,   584,   585,   586,   587,   588,   589,   590,  1287,  1288,
6238
    1289,  1290,   595,  1291,  1292,  1293,  1294,   600,   601,   602,
6239
     603,  1295,     0,     0,     0,     0,     0,     0,     0,     0,
6240
    1296,  1297,     0,     0,     0,     0,     0,     0,     0,  1299,
6241
     232,  1228,   673,  1229,  1230,  1231,   735,  1232,     0,     0,
6242
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
6243
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
6244
       0,  1233,     0,     0,   244,   245,     0,   246,   247,   248,
6245
     249,   250,   251,   252,   253,   254,  1234,   256,  1235,  1236,
6246
       0,   259,   260,   261,   262,   263,   264,  1237,  1238,   265,
6247
     266,  1239,  1240,   269,     0,   270,   271,   272,   273,  1241,
6248
       0,  1242,   276,     0,   277,   278,   279,   280,   281,   282,
6249
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
6250
       0,   292,   293,   294,  4193,  1243,  1244,  1245,  1246,  1247,
6251
    1248,  1249,   297,   298,   299,   300,   301,   302,  1250,  1251,
6252
     305,  1252,   306,     0,   307,   308,   309,   310,   311,   312,
6253
       0,   313,   314,   315,   316,     0,     0,   317,   318,  1086,
6254
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
6255
       0,   328,   329,   330,   331,  1253,   333,   334,   335,  1254,
6256
    1255,   337,     0,   338,   339,  1256,   341,     0,   342,     0,
6257
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
6258
    1257,     0,  1258,   353,   354,   355,     0,   356,   357,   358,
6259
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
6260
     368,   369,   370,   371,   372,     0,   373,   374,   375,   376,
6261
     377,   378,   379,  1259,  1260,     0,  1261,     0,   383,   384,
6262
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
6263
     393,  1262,   395,   396,   397,     0,   398,   399,   400,  1263,
6264
    1264,   401,   402,   403,   404,   405,   406,   407,   408,   409,
6265
     410,   411,   412,   413,   414,   415,   416,  1265,   418,  1266,
6266
     420,   421,   422,   423,   424,  1267,   425,   426,   427,   428,
6267
    1268,  1269,   430,  1270,   432,   433,   434,     0,   435,   436,
6268
       0,     0,  1271,   438,   439,     0,     0,   440,   441,   442,
6269
     443,   444,   445,  1272,   447,   448,   449,   450,   451,   452,
6270
     453,   454,   455,     0,   456,   457,  1273,   459,   460,   461,
6271
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
6272
     471,   472,   473,  1274,   475,   476,   477,   478,     0,   479,
6273
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
6274
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
6275
    1275,   500,   501,   502,   503,   504,   505,   506,   507,   508,
6276
       0,   509,   510,   511,   512,   513,  1276,   514,   515,   516,
6277
     517,   518,   519,   520,   521,  1277,   523,     0,   524,   525,
6278
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
6279
     536,  1278,     0,   538,   539,     0,   540,   541,   542,   543,
6280
     544,   545,   546,   547,   548,   549,     0,   550,  1279,  1280,
6281
       0,     0,   553,   554,  1281,   556,  1282,  1283,   558,   559,
6282
     560,   561,   562,   563,   564,     0,  1284,   565,   566,   567,
6283
     568,   569,  1285,     0,   570,   571,   572,   573,   574,   575,
6284
    1286,     0,   577,   578,   579,   580,   581,   582,     0,     0,
6285
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
6286
    1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,  1294,   600,
6287
     601,   602,   603,  1295,     0,     0,     0,     0,     0,     0,
6288
       0,     0,  1296,  1297,     0,     0,     0,     0,     0,     0,
6289
       0,  1299,   232,  1228,   673,  1229,  1230,  1231,   735,  1232,
6290
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
6291
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
6292
       0,     0,     0,  1233,     0,     0,   244,   245,     0,   246,
6293
     247,   248,   249,   250,   251,   252,   253,   254,  1234,   256,
6294
    1235,  1236,     0,   259,   260,   261,   262,   263,   264,  1237,
6295
    1238,   265,   266,  1239,  1240,   269,     0,   270,   271,   272,
6296
     273,  1241,     0,  1242,   276,     0,   277,   278,   279,   280,
6297
     281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
6298
     290,   291,     0,   292,   293,   294,   295,  1243,  1244,  1245,
6299
    1246,  1247,  1248,  1249,   297,   298,   299,   300,   301,   302,
6300
    1250,  1251,   305,  1252,   306,     0,   307,   308,   309,   310,
6301
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
6302
     318,  1086,   320,   321,     0,   322,   323,   324,     0,   325,
6303
     326,   327,     0,   328,   329,   330,   331,  1253,   333,   334,
6304
     335,  1254,  1255,   337,     0,   338,   339,  1256,   341,     0,
6305
     342,     0,   343,   344,     0,   345,   346,   347,   348,   349,
6306
       0,   350,  1257,     0,  1258,   353,   354,   355,     0,   356,
6307
     357,   358,   359,   360,   361,   362,   363,   364,   365,     0,
6308
     366,   367,   368,   369,   370,   371,   372,     0,   373,   374,
6309
     375,   376,   377,   378,   379,  1259,  1260,     0,  1261,     0,
6310
     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
6311
       0,     0,   393,  1262,   395,   396,   397,     0,   398,   399,
6312
     400,  1263,  1264,   401,   402,   403,   404,   405,   406,   407,
6313
     408,   409,   410,   411,   412,   413,   414,   415,   416,  1265,
6314
     418,  1266,   420,   421,   422,   423,   424,  1267,   425,   426,
6315
     427,   428,  1268,  1269,   430,  1270,   432,   433,   434,     0,
6316
     435,   436,     0,     0,  1271,   438,   439,     0,     0,   440,
6317
     441,   442,   443,   444,   445,  1272,   447,   448,   449,   450,
6318
     451,   452,   453,   454,   455,     0,   456,   457,  1273,   459,
6319
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
6320
     469,   470,   471,   472,   473,  1274,   475,   476,   477,   478,
6321
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
6322
     488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
6323
     497,   498,  1275,   500,   501,   502,   503,   504,   505,   506,
6324
     507,   508,     0,   509,   510,   511,   512,   513,  1276,   514,
6325
     515,   516,   517,   518,   519,   520,   521,  1277,   523,     0,
6326
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
6327
     534,   535,   536,  1278,     0,   538,   539,     0,   540,   541,
6328
     542,   543,   544,   545,   546,   547,   548,   549,     0,   550,
6329
    1279,  1280,     0,     0,   553,   554,  1281,   556,  1282,  1283,
6330
     558,   559,   560,   561,   562,   563,   564,     0,  1284,   565,
6331
     566,   567,   568,   569,  1285,     0,   570,   571,   572,   573,
6332
     574,   575,  1286,     0,   577,   578,   579,   580,   581,   582,
6333
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
6334
     589,  4534,  1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,
6335
    1294,   600,   601,   602,   603,  1295,     0,     0,     0,     0,
6336
       0,     0,     0,     0,  1296,  1297,     0,     0,     0,     0,
6337
       0,     0,     0,  1299,   232,  1228,   673,  1229,  1230,  1231,
6338
     735,  1232,     0,     0,     0,     0,     0,     0,     0,   233,
6339
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
6340
     243,     0,     0,     0,     0,  1233,     0,     0,   244,   245,
6341
       0,   246,   247,   248,   249,   250,   251,   252,   253,   254,
6342
    1234,   256,  1235,  1236,     0,   259,   260,   261,   262,   263,
6343
     264,  1237,  1238,   265,   266,  1239,  1240,   269,     0,   270,
6344
     271,   272,   273,  1241,     0,  1242,   276,     0,   277,   278,
6345
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
6346
     288,   289,   290,   291,     0,   292,   293,   294,   295,  1243,
6347
    1244,  1245,  1246,  1247,  1248,  1249,   297,   298,   299,   300,
6348
     301,   302,  1250,  1251,   305,  1252,   306,     0,   307,   308,
6349
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
6350
       0,   317,   318,  1086,   320,   321,     0,   322,   323,   324,
6351
       0,   325,   326,   327,     0,   328,   329,   330,   331,  1253,
6352
     333,   334,   335,  1254,  1255,   337,     0,   338,   339,  1256,
6353
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
6354
     348,   349,     0,   350,  1257,     0,  1258,   353,   354,   355,
6355
       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
6356
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
6357
     373,   374,   375,   376,   377,   378,   379,  1259,  1260,     0,
6358
    1261,     0,   383,   384,   385,   386,   387,   388,   389,   390,
6359
     391,   392,     0,     0,   393,  1262,   395,   396,   397,     0,
6360
     398,   399,   400,  1263,  1264,   401,   402,   403,   404,   405,
6361
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
6362
     416,  1265,   418,  1266,   420,   421,  4543,   423,   424,  1267,
6363
     425,   426,   427,   428,  1268,  1269,   430,  1270,   432,   433,
6364
     434,     0,   435,   436,     0,     0,  1271,   438,   439,     0,
6365
       0,   440,   441,   442,   443,   444,   445,  1272,   447,   448,
6366
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
6367
    1273,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6368
     467,   468,   469,   470,   471,   472,   473,  1274,   475,   476,
6369
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6370
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6371
     495,   496,   497,   498,  1275,   500,   501,   502,   503,   504,
6372
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6373
    1276,   514,   515,   516,   517,   518,   519,   520,   521,  1277,
6374
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6375
     532,   533,   534,   535,   536,  1278,     0,   538,   539,     0,
6376
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
6377
       0,   550,  1279,  1280,     0,     0,   553,   554,  1281,   556,
6378
    1282,  1283,   558,   559,   560,   561,   562,   563,   564,     0,
6379
    1284,   565,   566,   567,   568,   569,  1285,     0,   570,   571,
6380
     572,   573,   574,   575,  1286,     0,   577,   578,   579,   580,
6381
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
6382
     587,   588,   589,   590,  1287,  1288,  1289,  1290,   595,  1291,
6383
    1292,  1293,  1294,   600,   601,   602,   603,  1295,     0,     0,
6384
       0,     0,     0,     0,     0,     0,  1296,  1297,     0,     0,
6385
       0,     0,     0,     0,     0,  1299,   232,  1228,   673,  1229,
6386
    1230,  1231,   735,  1232,     0,     0,     0,     0,     0,     0,
6387
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
6388
     241,   242,   243,     0,     0,     0,     0,  1233,     0,     0,
6389
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
6390
     253,   254,  1234,   256,  1235,  1236,     0,   259,   260,   261,
6391
     262,   263,   264,  1237,  1238,   265,   266,  1239,  1240,   269,
6392
       0,   270,   271,   272,   273,  1241,     0,  1242,   276,     0,
6393
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
6394
     286,   287,   288,   289,   290,   291,     0,   292,   293,  4856,
6395
     295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,   297,   298,
6396
     299,   300,   301,   302,  1250,  1251,   305,  1252,   306,     0,
6397
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
6398
     316,     0,     0,   317,   318,  1086,   320,   321,     0,   322,
6399
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
6400
     331,  1253,   333,   334,   335,  1254,  1255,   337,     0,   338,
6401
     339,  1256,   341,     0,   342,     0,   343,   344,     0,   345,
6402
     346,   347,   348,   349,     0,   350,  1257,     0,  4857,   353,
6403
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
6404
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
6405
     372,     0,   373,   374,   375,   376,   377,   378,   379,  1259,
6406
    1260,     0,  1261,     0,   383,   384,   385,   386,   387,   388,
6407
     389,   390,   391,   392,     0,     0,   393,  1262,   395,   396,
6408
     397,     0,   398,   399,   400,  1263,  1264,   401,   402,   403,
6409
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
6410
     414,   415,   416,  1265,   418,  1266,   420,   421,   422,   423,
6411
     424,  1267,   425,   426,   427,   428,  1268,  1269,   430,  1270,
6412
     432,   433,   434,     0,   435,   436,     0,     0,  1271,   438,
6413
     439,     0,     0,   440,   441,   442,   443,   444,   445,  1272,
6414
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
6415
     456,   457,  1273,   459,   460,   461,   462,   463,     0,   464,
6416
     465,   466,   467,   468,   469,   470,   471,   472,   473,  1274,
6417
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
6418
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
6419
     493,   494,   495,  4858,   497,   498,  1275,   500,   501,   502,
6420
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
6421
     512,   513,  1276,   514,   515,   516,   517,   518,   519,   520,
6422
     521,  1277,   523,     0,   524,   525,   526,   527,   528,   529,
6423
     530,   531,   532,   533,   534,   535,   536,  1278,     0,   538,
6424
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
6425
     548,   549,     0,   550,  1279,  1280,     0,     0,   553,   554,
6426
    1281,   556,  1282,  1283,   558,   559,   560,   561,   562,   563,
6427
     564,     0,  1284,   565,   566,   567,   568,   569,  1285,     0,
6428
     570,   571,   572,   573,   574,   575,  1286,     0,   577,   578,
6429
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
6430
     585,   586,   587,   588,   589,   590,  1287,  1288,  1289,  1290,
6431
     595,  1291,  1292,  1293,  1294,   600,   601,   602,   603,  1295,
6432
       0,     0,     0,     0,     0,     0,     0,     0,  1296,  1297,
6433
       0,     0,     0,     0,     0,     0,     0,  4859,   232,  1228,
6434
     673,  1229,  1230,  1231,   735,  1232,     0,     0,     0,     0,
6435
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
6436
     240,     0,   241,   242,   243,     0,     0,     0,     0,  1233,
6437
       0,     0,   244,   245,     0,   246,   247,   248,   249,   250,
6438
     251,   252,   253,  5346,  1234,   256,  1235,  1236,     0,   259,
6439
     260,   261,   262,   263,   264,  1237,  1238,   265,   266,  1239,
6440
    1240,   269,     0,   270,   271,   272,   273,  1241,     0,  1242,
6441
     276,     0,   277,   278,   279,   280,   281,   282,   283,   284,
6442
     285,     0,   286,   287,   288,   289,   290,   291,     0,   292,
6443
     293,   294,  5347,  1243,  1244,  1245,  1246,  1247,  1248,  1249,
6444
     297,   298,   299,   300,   301,   302,  1250,  1251,   305,  1252,
6445
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
6446
     314,   315,   316,     0,     0,   317,   318,  1086,   320,   321,
6447
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
6448
     329,   330,   331,  1253,   333,   334,   335,  1254,  1255,   337,
6449
       0,   338,   339,  1256,   341,     0,   342,     0,   343,   344,
6450
       0,   345,   346,   347,   348,   349,     0,   350,  1257,     0,
6451
    1258,   353,   354,   355,     0,   356,   357,   358,   359,   360,
6452
     361,   362,   363,   364,   365,     0,   366,   367,   368,   369,
6453
     370,   371,   372,     0,   373,   374,   375,   376,   377,   378,
6454
     379,  1259,  1260,     0,  1261,     0,   383,   384,   385,   386,
6455
     387,   388,   389,   390,   391,   392,     0,     0,   393,  1262,
6456
     395,   396,   397,     0,   398,   399,   400,  1263,  1264,   401,
6457
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
6458
     412,   413,   414,   415,   416,  1265,   418,  1266,   420,   421,
6459
     422,   423,   424,  1267,   425,   426,   427,   428,  1268,  1269,
6460
     430,  1270,   432,   433,   434,     0,   435,   436,     0,     0,
6461
    1271,   438,   439,     0,     0,   440,   441,   442,   443,   444,
6462
     445,  1272,   447,   448,   449,   450,   451,   452,   453,   454,
6463
     455,     0,   456,   457,  1273,   459,   460,   461,   462,   463,
6464
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
6465
     473,  1274,   475,   476,   477,   478,     0,   479,   480,   481,
6466
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
6467
     491,   492,   493,   494,   495,   496,   497,   498,  1275,   500,
6468
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
6469
     510,   511,   512,   513,  1276,   514,   515,   516,   517,   518,
6470
     519,   520,   521,  1277,   523,     0,   524,   525,   526,   527,
6471
     528,   529,   530,   531,   532,   533,   534,   535,   536,  1278,
6472
       0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
6473
     546,   547,   548,   549,     0,   550,  1279,  1280,     0,     0,
6474
     553,   554,  1281,   556,  1282,  1283,   558,   559,   560,   561,
6475
    5348,   563,   564,     0,  1284,   565,   566,   567,   568,   569,
6476
    1285,     0,   570,   571,   572,   573,   574,   575,  1286,     0,
6477
     577,   578,   579,   580,   581,   582,     0,     0,   583,     0,
6478
       0,   584,   585,   586,   587,   588,   589,   590,  1287,  1288,
6479
    1289,  1290,   595,  1291,  1292,  1293,  1294,   600,   601,   602,
6480
     603,  1295,     0,     0,     0,     0,     0,     0,     0,     0,
6481
    1296,  1297,     0,     0,     0,     0,     0,     0,     0,  1299,
6482
     232,  1228,   673,  1229,  1230,  1231,   735,  1232,     0,     0,
6483
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
6484
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
6485
       0,  1233,     0,     0,   244,   245,     0,   246,   247,   248,
6486
     249,   250,   251,   252,   253,   254,  1234,   256,  1235,  1236,
6487
       0,   259,   260,   261,   262,   263,   264,  1237,  1238,   265,
6488
     266,  1239,  1240,   269,     0,   270,   271,   272,   273,  1241,
6489
       0,  1242,   276,     0,   277,   278,   279,   280,   281,   282,
6490
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
6491
       0,   292,   293,   294,  5347,  1243,  1244,  1245,  1246,  1247,
6492
    1248,  1249,   297,   298,   299,   300,   301,   302,  1250,  1251,
6493
     305,  1252,   306,     0,   307,   308,   309,   310,   311,   312,
6494
       0,   313,   314,   315,   316,     0,     0,   317,   318,  1086,
6495
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
6496
       0,   328,   329,   330,   331,  1253,   333,   334,   335,  1254,
6497
    1255,   337,     0,   338,   339,  1256,   341,     0,   342,     0,
6498
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
6499
    1257,     0,  1258,   353,   354,   355,     0,   356,   357,   358,
6500
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
6501
     368,   369,   370,   371,   372,     0,   373,   374,   375,   376,
6502
     377,   378,   379,  1259,  1260,     0,  1261,     0,   383,   384,
6503
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
6504
     393,  1262,   395,   396,   397,     0,   398,   399,   400,  1263,
6505
    1264,   401,   402,   403,   404,   405,   406,   407,   408,   409,
6506
     410,   411,   412,   413,   414,   415,   416,  1265,   418,  1266,
6507
     420,   421,   422,   423,   424,  1267,   425,   426,   427,   428,
6508
    1268,  1269,   430,  1270,   432,   433,   434,     0,   435,   436,
6509
       0,     0,  1271,   438,   439,     0,     0,   440,   441,   442,
6510
     443,   444,   445,  1272,   447,   448,   449,   450,   451,   452,
6511
     453,   454,   455,     0,   456,   457,  1273,   459,   460,   461,
6512
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
6513
     471,   472,   473,  1274,   475,   476,   477,   478,     0,   479,
6514
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
6515
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
6516
    1275,   500,   501,   502,   503,   504,   505,   506,   507,   508,
6517
       0,   509,   510,   511,   512,   513,  1276,   514,   515,   516,
6518
     517,   518,   519,   520,   521,  1277,   523,     0,   524,   525,
6519
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
6520
     536,  1278,     0,   538,   539,     0,   540,   541,   542,   543,
6521
     544,   545,   546,   547,   548,   549,     0,   550,  1279,  1280,
6522
       0,     0,   553,   554,  1281,   556,  1282,  1283,   558,   559,
6523
     560,   561,  5348,   563,   564,     0,  1284,   565,   566,   567,
6524
     568,   569,  1285,     0,   570,   571,   572,   573,   574,   575,
6525
    1286,     0,   577,   578,   579,   580,   581,   582,     0,     0,
6526
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
6527
    1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,  1294,   600,
6528
     601,   602,   603,  1295,     0,     0,     0,     0,     0,     0,
6529
       0,     0,  1296,  1297,     0,     0,     0,     0,     0,     0,
6530
       0,  1299,   232,  1228,   673,  1229,  1230,  1231,   735,  1232,
6531
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
6532
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
6533
       0,     0,     0,  1233,     0,     0,   244,   245,     0,   246,
6534
     247,   248,   249,   250,   251,   252,   253,   254,  1234,   256,
6535
    1235,  1236,     0,   259,   260,   261,   262,   263,   264,  1237,
6536
    1238,   265,   266,  1239,  1240,   269,     0,   270,   271,   272,
6537
     273,  1241,     0,  1242,   276,     0,   277,   278,   279,   280,
6538
     281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
6539
     290,   291,     0,   292,   293,   294,   295,  1243,  1244,  1245,
6540
    1246,  1247,  1248,  1249,   297,   298,   299,   300,   301,   302,
6541
    1250,  1251,   305,  5054,   306,     0,   307,   308,   309,   310,
6542
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
6543
     318,  1086,   320,   321,     0,   322,   323,   324,     0,   325,
6544
     326,   327,     0,   328,   329,   330,   331,  1253,   333,   334,
6545
     335,  1254,  1255,   337,     0,   338,   339,  1256,   341,     0,
6546
     342,     0,   343,   344,     0,   345,   346,   347,   348,   349,
6547
       0,   350,  1257,     0,  1258,   353,   354,   355,     0,   356,
6548
     357,   358,   359,   360,   361,   362,   363,   364,   365,     0,
6549
     366,   367,   368,   369,   370,   371,   372,     0,   373,   374,
6550
     375,   376,   377,   378,   379,  1259,  1260,     0,  1261,     0,
6551
     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
6552
       0,     0,   393,  1262,   395,   396,   397,     0,   398,   399,
6553
     400,  1263,  1264,   401,   402,   403,   404,   405,   406,   407,
6554
     408,   409,   410,   411,   412,   413,   414,   415,   416,  1265,
6555
     418,  1266,   420,   421,   422,   423,   424,     0,   425,   426,
6556
     427,   428,  1268,  1269,   430,  1270,   432,   433,   434,     0,
6557
     435,   436,     0,     0,  1271,   438,   439,     0,     0,   440,
6558
     441,   442,   443,   444,   445,  1272,   447,   448,   449,   450,
6559
     451,   452,   453,   454,   455,     0,   456,   457,  1273,   459,
6560
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
6561
     469,   470,   471,   472,   473,  1274,   475,   476,   477,   478,
6562
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
6563
     488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
6564
     497,   498,  2795,   500,   501,   502,   503,   504,   505,   506,
6565
     507,   508,     0,   509,   510,   511,   512,   513,  1276,   514,
6566
     515,   516,   517,   518,   519,   520,   521,  1277,   523,     0,
6567
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
6568
     534,   535,   536,  1278,     0,   538,   539,     0,   540,   541,
6569
     542,   543,   544,   545,   546,   547,   548,   549,     0,   550,
6570
    1279,  1280,     0,     0,   553,   554,  1281,   556,  1282,  1283,
6571
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
6572
     566,   567,   568,   569,  1285,     0,   570,   571,   572,   573,
6573
     574,   575,  1286,     0,   577,   578,   579,   580,   581,   582,
6574
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
6575
     589,   590,  1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,
6576
    1294,   600,   601,   602,   603,     0,     0,     0,     0,     0,
6577
       0,     0,     0,     0,  2796,  2797,     0,     0,     0,     0,
6578
       0,     0,     0,  2798,   232,  1228,   673,  1229,  1230,  1231,
6579
     735,  1232,     0,     0,     0,     0,     0,     0,     0,   233,
6580
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
6581
     243,     0,     0,     0,     0,  1233,     0,     0,   244,   245,
6582
       0,   246,   247,   248,   249,   250,   251,   252,   253, -2697,
6583
    1234,   256,  1235,  1236,     0,   259,   260,   261,   262,   263,
6584
     264,  1237,  1238,   265,   266,  1239,  1240,   269,     0,   270,
6585
     271,   272,   273,  1241,     0,  1242,   276,     0,   277,   278,
6586
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
6587
     288,   289,   290,   291,     0,   292,   293,   294,  5347,  1243,
6588
    1244,  1245,  1246,  1247,  1248,  1249,   297,   298,   299,   300,
6589
     301,   302,  1250,  1251,   305,  1252,   306,     0,   307,   308,
6590
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
6591
       0,   317,   318,  1086,   320,   321,     0,   322,   323,   324,
6592
       0,   325,   326,   327,     0,   328,   329,   330,   331,  1253,
6593
     333,   334,   335,  1254,  1255,   337,     0,   338,   339,  1256,
6594
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
6595
     348,   349,     0,   350,  1257,     0,  1258,   353,   354,   355,
6596
       0,   356,   357,   358,   359,   360, -2697,   362,   363,   364,
6597
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
6598
     373,   374,   375,   376,   377,   378,   379,  1259,  1260,     0,
6599
    1261,     0,   383,     0,     0,   386,   387,   388,   389,   390,
6600
     391,   392,     0,     0,   393,  1262,   395,   396, -2697,     0,
6601
     398,   399,   400,  1263,  1264,   401,   402,   403,   404,   405,
6602
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
6603
     416,  1265,   418,  1266,   420,   421,   422,   423,   424,  1267,
6604
     425,   426,     0,   428,  1268,  1269,   430,  1270,   432,   433,
6605
     434,     0,   435,   436,     0,     0,  1271,   438,   439,     0,
6606
       0,   440,   441,   442,   443,   444,   445,  1272,   447,   448,
6607
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
6608
    1273,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6609
     467,   468,   469,   470,   471,   472,   473,  1274,   475,   476,
6610
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6611
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6612
     495,   496,   497,   498,  1275,   500,   501,   502,   503,   504,
6613
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6614
    1276,   514,   515,   516,   517,   518, -2697,   520,   521,  1277,
6615
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6616
     532,   533,   534,   535,   536,  1278,     0,   538,   539,     0,
6617
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
6618
       0,   550,  1279,  1280,     0,     0,   553,   554,  1281,   556,
6619
    1282,  1283,   558,   559,   560,   561,  5348,   563,   564,     0,
6620
    1284,   565,   566,   567,   568,   569,  1285,     0,   570,   571,
6621
     572,   573,   574,   575,  1286,     0,   577,   578,   579,   580,
6622
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
6623
     587,   588,   589,   590,  1287,  1288,  1289,  1290,   595,  1291,
6624
    1292,  1293,  1294,   600,   601,   602,   603, -2697,     0,     0,
6625
       0,     0,     0,     0,     0,     0,  1296,  1297,     0,     0,
6626
       0,     0,     0,     0,     0,  1299,   232,  1228,   673,  1229,
6627
    1230,  1231,   735,  1232,     0,     0,     0,     0,     0,     0,
6628
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
6629
     241,   242,   243,     0,     0,     0,     0,  1233,     0,     0,
6630
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
6631
     253,   254,  1234,   256,  1235,  1236,     0,   259,   260,   261,
6632
     262,   263,   264,  1237,  1238,   265,   266,  1239,  1240,   269,
6633
       0,   270,   271,   272,   273,  1241,     0,  1242,   276,     0,
6634
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
6635
     286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
6636
     295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,   297,   298,
6637
     299,   300,   301,   302,  1250,  1251,   305,     0,   306,     0,
6638
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
6639
     316,     0,     0,   317,   318,  1086,   320,   321,     0,   322,
6640
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
6641
     331,  1253,   333,   334,   335,  1254,  1255,   337,     0,   338,
6642
     339,  1256,   341,     0,   342,     0,   343,   344,     0,   345,
6643
     346,   347,   348,   349,     0,   350,  1257,     0,  1258,   353,
6644
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
6645
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
6646
     372,     0,   373,   374,   375,   376,   377,   378,   379,  1259,
6647
    1260,     0,  1261,     0,   383,   384,   385,   386,   387,   388,
6648
     389,   390,   391,   392,     0,     0,   393,  1262,   395,   396,
6649
     397,     0,   398,   399,   400,  1263,  1264,   401,   402,   403,
6650
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
6651
     414,   415,   416,  1265,   418,  1266,   420,   421,   422,   423,
6652
     424,     0,   425,   426,   427,   428,  1268,  1269,   430,  1270,
6653
     432,   433,   434,     0,   435,   436,     0,     0,  1271,   438,
6654
     439,     0,     0,   440,   441,   442,   443,   444,   445,  1272,
6655
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
6656
     456,   457,  1273,   459,   460,   461,   462,   463,     0,   464,
6657
     465,   466,   467,   468,   469,   470,   471,   472,   473,  1274,
6658
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
6659
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
6660
     493,   494,   495,   496,   497,   498,  2795,   500,   501,   502,
6661
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
6662
     512,   513,  1276,   514,   515,   516,   517,   518,   519,   520,
6663
     521,  1277,   523,     0,   524,   525,   526,   527,   528,   529,
6664
     530,   531,   532,   533,   534,   535,   536,  1278,     0,   538,
6665
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
6666
     548,   549,     0,   550,  1279,  1280,     0,     0,   553,   554,
6667
    1281,   556,  1282,  1283,   558,   559,   560,   561,   562,   563,
6668
     564,     0,     0,   565,   566,   567,   568,   569,  1285,     0,
6669
     570,   571,   572,   573,   574,   575,  1286,     0,   577,   578,
6670
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
6671
     585,   586,   587,   588,   589,   590,  1287,  1288,  1289,  1290,
6672
     595,  1291,  1292,  1293,  1294,   600,   601,   602,   603,     0,
6673
       0,     0,     0,     0,     0,     0,     0,     0,  2796,  2797,
6674
       0,     0,   232,  1228,   673,  1229,  1230,  2798,   735,  1232,
6675
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
6676
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
6677
       0,     0,     0,  1233,     0,     0,   244,   245,     0,   246,
6678
     247,   248,   249,   250,   251,   252,   253,   254,  1234,   256,
6679
    1235,  1236,     0,   259,   260,   261,   262,   263,   264,  1237,
6680
    1238,   265,   266,  1239,  1240,   269,     0,   270,   271,   272,
6681
     273,  1241,     0,  1242,   276,     0,   277,   278,   279,   280,
6682
     281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
6683
     290,   291,     0,   292,   293,   294,   295,  1243,  1244,  1245,
6684
    1246,  1247,  1248,  1249,   297,   298,   299,   300,   301,   302,
6685
    1250,  1251,   305,     0,   306,     0,   307,   308,   309,   310,
6686
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
6687
     318,  1086,   320,   321,     0,   322,   323,   324,     0,   325,
6688
     326,   327,     0,   328,   329,   330,   331,  1253,   333,   334,
6689
     335,  1254,  1255,   337,     0,   338,   339,  1256,   341,     0,
6690
     342,     0,   343,   344,     0,   345,   346,   347,   348,   349,
6691
       0,   350,  1257,     0,  1258,   353,   354,   355,     0,   356,
6692
     357,   358,   359,   360,   361,   362,   363,   364,   365,     0,
6693
     366,   367,   368,   369,   370,   371,   372,     0,   373,   374,
6694
     375,   376,   377,   378,   379,  1259,  1260,     0,  1261,     0,
6695
     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
6696
       0,     0,   393,  1262,   395,   396,   397,     0,   398,   399,
6697
     400,  1263,  1264,   401,   402,   403,   404,   405,   406,   407,
6698
     408,   409,   410,   411,   412,   413,   414,   415,   416,  1265,
6699
     418,  1266,   420,   421,   422,   423,   424,     0,   425,   426,
6700
     427,   428,  1268,  1269,   430,  1270,   432,   433,   434,     0,
6701
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
6702
     441,   442,   443,   444,   445,  1272,   447,   448,   449,   450,
6703
     451,   452,   453,   454,   455,     0,   456,   457,  1273,   459,
6704
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
6705
     469,   470,   471,   472,   473,  1274,   475,   476,   477,   478,
6706
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
6707
     488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
6708
     497,   498,  2919,  2920,   501,   502,   503,   504,   505,   506,
6709
     507,   508,     0,   509,   510,   511,   512,   513,  1276,   514,
6710
     515,   516,   517,   518,   519,   520,   521,  1277,   523,     0,
6711
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
6712
     534,   535,   536,  1278,     0,   538,   539,     0,   540,   541,
6713
     542,   543,   544,   545,   546,   547,   548,   549,     0,   550,
6714
    1279,  1280,     0,     0,   553,   554,  1281,   556,  1282,  1283,
6715
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
6716
     566,   567,   568,   569,  1285,     0,   570,   571,   572,   573,
6717
     574,   575,  1286,     0,   577,   578,   579,   580,   581,   582,
6718
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
6719
     589,   590,  1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,
6720
    1294,   600,   601,   602,   603,     0,     0,     0,     0,     0,
6721
       0,     0,     0,     0,  2921,  2922,     0,     0,     0,     0,
6722
       0,     0,     0,  2798,   232,  1228,   673,  1229,  1230,  1231,
6723
     735,  1232,     0,     0,     0,     0,     0,     0,     0,   233,
6724
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
6725
     243,     0,     0,     0,     0,  1233,     0,     0,   244,   245,
6726
       0,   246,   247,   248,   249,   250,   251,   252,   253,   254,
6727
    1234,   256,  1235,  1236,     0,   259,   260,   261,   262,   263,
6728
     264,  1237,  1238,   265,   266,  1239,  1240,   269,     0,   270,
6729
     271,   272,   273,  1241,     0,  1242,   276,     0,   277,   278,
6730
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
6731
     288,   289,   290,   291,     0,   292,   293,   294,   295,  1243,
6732
    1244,  1245,  1246,  1247,  1248,  1249,   297,   298,   299,   300,
6733
     301,   302,  1250,  1251,   305,     0,   306,     0,   307,   308,
6734
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
6735
       0,   317,   318,  1086,   320,   321,     0,   322,   323,   324,
6736
       0,   325,   326,   327,     0,   328,   329,   330,   331,  1253,
6737
     333,   334,   335,  1254,  1255,   337,     0,   338,   339,  1256,
6738
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
6739
     348,   349,     0,   350,  1257,     0,  1258,   353,   354,   355,
6740
       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
6741
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
6742
     373,   374,   375,   376,   377,   378,   379,  1259,  1260,     0,
6743
    1261,     0,   383,     0,   385,   386,   387,   388,   389,   390,
6744
     391,   392,     0,     0,   393,  1262,   395,   396,   397,     0,
6745
     398,   399,   400,  1263,  1264,   401,   402,   403,   404,   405,
6746
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
6747
     416,  1265,   418,  1266,   420,   421,   422,   423,   424,     0,
6748
     425,   426,   427,   428,  1268,  1269,   430,  1270,   432,   433,
6749
     434,     0,   435,   436,     0,     0,  1271,   438,   439,     0,
6750
       0,   440,   441,   442,   443,   444,   445,  1272,   447,   448,
6751
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
6752
    1273,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6753
     467,   468,   469,   470,   471,   472,   473,  1274,   475,   476,
6754
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6755
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6756
     495,   496,   497,   498,  2795,   500,   501,   502,   503,   504,
6757
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6758
    1276,   514,   515,   516,   517,   518,   519,   520,   521,  1277,
6759
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6760
     532,   533,   534,   535,   536,  1278,     0,   538,   539,     0,
6761
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
6762
       0,   550,  1279,  1280,     0,     0,   553,   554,  1281,   556,
6763
    1282,  1283,   558,   559,   560,   561,   562,   563,   564,     0,
6764
       0,   565,   566,   567,   568,   569,  1285,     0,   570,   571,
6765
     572,   573,   574,   575,  1286,     0,   577,   578,   579,   580,
6766
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
6767
     587,   588,   589,   590,  1287,  1288,  1289,  1290,   595,  1291,
6768
    1292,  1293,  1294,   600,   601,   602,   603,     0,     0,     0,
6769
       0,     0,     0,     0,     0,     0,  2796,  2797,     0,     0,
6770
     232,  1228,   673,  1229,  1230,  2798,   735,  1232,     0,     0,
6771
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
6772
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
6773
       0,  1233,     0,     0,   244,   245,     0,   246,   247,   248,
6774
     249,   250,   251,   252,   253,   254,  1234,   256,  1235,  1236,
6775
       0,   259,   260,   261,   262,   263,   264,  1237,  1238,   265,
6776
     266,  1239,  1240,   269,     0,   270,   271,   272,   273,  1241,
6777
       0,  1242,   276,     0,   277,   278,   279,   280,   281,   282,
6778
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
6779
       0,   292,   293,   294,   295,  1243,  1244,  1245,  1246,  1247,
6780
    1248,  1249,   297,   298,   299,   300,   301,   302,  1250,  1251,
6781
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
6782
       0,   313,   314,   315,   316,     0,     0,   317,   318,  1086,
6783
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
6784
       0,   328,   329,   330,   331,  1253,   333,   334,   335,  1254,
6785
    1255,   337,     0,   338,   339,  1256,   341,     0,   342,     0,
6786
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
6787
    1257,     0,  1258,   353,   354,   355,     0,   356,   357,   358,
6788
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
6789
     368,   369,   370,   371,   372,     0,   373,   374,   375,   376,
6790
     377,   378,   379,  1259,  1260,     0,  1261,     0,   383,   384,
6791
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
6792
     393,  1262,   395,   396,   397,     0,   398,   399,   400,  1263,
6793
    1264,   401,   402,   403,   404,   405,   406,   407,   408,   409,
6794
     410,   411,   412,   413,   414,   415,   416,  1265,   418,  1266,
6795
     420,   421,   422,   423,   424,     0,   425,   426,   427,   428,
6796
    1268,  1269,   430,  1270,   432,   433,   434,     0,   435,   436,
6797
       0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
6798
     443,   444,   445,  1272,   447,   448,   449,   450,   451,   452,
6799
     453,   454,   455,     0,   456,   457,  1273,   459,   460,   461,
6800
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
6801
     471,   472,   473,  1274,   475,   476,   477,   478,     0,   479,
6802
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
6803
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
6804
    2795,   500,   501,   502,   503,   504,   505,   506,   507,   508,
6805
       0,   509,   510,   511,   512,   513,  1276,   514,   515,   516,
6806
     517,   518,   519,   520,   521,  1277,   523,     0,   524,   525,
6807
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
6808
     536,  1278,     0,   538,   539,     0,   540,   541,   542,   543,
6809
     544,   545,   546,   547,   548,   549,     0,   550,  1279,  1280,
6810
       0,     0,   553,   554,  1281,   556,  1282,  1283,   558,   559,
6811
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
6812
     568,   569,  1285,     0,   570,   571,   572,   573,   574,   575,
6813
    1286,     0,   577,   578,   579,   580,   581,   582,     0,     0,
6814
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
6815
    1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,  1294,   600,
6816
     601,   602,   603,     0,     0,     0,     0,   232,  1228,   673,
6817
    1229,  1230,     0,   735,  1232,     0,     0,     0,     0,     0,
6818
       0,  2798,   233,   234,   235,   236,   237,   238,   239,   240,
6819
       0,   241,   242,   243,     0,     0,     0,     0,  1233,     0,
6820
       0,   244,   245,     0,   246,   247,   248,   249,   250,   251,
6821
     252,   253,   254,  1234,   256,  1235,  1236,     0,  4103,   260,
6822
     261,   262,   263,   264,  1237,  1238,   265,   266,  1239,  1240,
6823
     269,     0,   270,   271,   272,   273,  1241,     0,  1242,   276,
6824
       0,   277,   278,   279,   280,   281,   282,   283,   284,   285,
6825
       0,   286,   287,   288,   289,   290,   291,     0,   292,   293,
6826
     294,   295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,   297,
6827
     298,   299,   300,   301,   302,  1250,  1251,   305,     0,   306,
6828
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
6829
     315,   316,     0,     0,   317,   318,  1086,   320,   321,     0,
6830
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
6831
     330,   331,  1253,   333,   334,   335,  1254,  1255,   337,     0,
6832
     338,   339,  1256,   341,     0,   342,     0,   343,   344,     0,
6833
     345,   346,   347,   348,   349,     0,   350,  1257,     0,  1258,
6834
     353,   354,   355,     0,   356,   357,   358,   359,   360,   361,
6835
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
6836
     371,   372,     0,   373,   374,   375,   376,   377,   378,   379,
6837
    1259,  1260,     0,  1261,     0,   383,   384,   385,   386,   387,
6838
     388,   389,   390,   391,   392,     0,     0,   393,  1262,   395,
6839
     396,   397,     0,   398,   399,   400,  1263,  1264,   401,   402,
6840
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
6841
     413,   414,   415,   416,  1265,   418,  1266,   420,   421,   422,
6842
     423,   424,     0,   425,   426,   427,   428,  1268,  1269,   430,
6843
    1270,   432,   433,   434,     0,   435,   436,     0,     0,   437,
6844
     438,   439,     0,     0,   440,   441,   442,   443,   444,   445,
6845
    1272,   447,   448,   449,   450,   451,   452,   453,   454,   455,
6846
       0,   456,   457,  1273,   459,   460,   461,   462,   463,     0,
6847
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
6848
    1274,   475,   476,   477,   478,     0,   479,   480,   481,   482,
6849
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
6850
     492,   493,   494,   495,   496,   497,   498,  2795,   500,   501,
6851
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
6852
     511,   512,   513,  1276,   514,   515,   516,   517,   518,   519,
6853
     520,   521,  1277,   523,     0,   524,   525,   526,   527,   528,
6854
     529,   530,   531,   532,   533,   534,   535,   536,  1278,     0,
6855
     538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
6856
     547,   548,   549,     0,   550,  1279,  1280,     0,     0,   553,
6857
     554,  1281,   556,  1282,  1283,   558,   559,   560,   561,   562,
6858
     563,   564,     0,     0,   565,   566,   567,   568,   569,  1285,
6859
       0,   570,   571,   572,   573,   574,   575,  1286,     0,   577,
6860
     578,   579,   580,   581,   582,     0,     0,   583,     0,     0,
6861
     584,   585,   586,   587,   588,   589,   590,  1287,  1288,  1289,
6862
    1290,   595,  1291,  1292,  1293,  1294,   600,   601,   602,   603,
6863
       0,     0,     0,     0,   232,  1228,   673,  1229,  1230,     0,
6864
     735,  1232,     0,     0,     0,     0,     0,     0,  2798,   233,
6865
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
6866
     243,     0,     0,     0,     0,  1233,     0,     0,   244,   245,
6867
       0,   246,   247,   248,   249,   250,   251,   252,   253,   254,
6868
    1234,   256,  1235,  1236,     0,   259,   260,   261,   262,   263,
6869
     264,  1237,  1238,   265,   266,  1239,  1240,   269,     0,   270,
6870
     271,   272,   273,  1241,     0,  1242,   276,     0,   277,   278,
6871
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
6872
     288,   289,   290,   291,     0,   292,   293,   294,   295,  1243,
6873
    1244,  1245,  1246,  1247,  1248,  1249,   297,   298,   299,   300,
6874
     301,   302,  1250,  1251,   305,     0,   306,     0,   307,   308,
6875
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
6876
       0,   317,   318,  1086,   320,   321,     0,   322,   323,   324,
6877
       0,   325,   326,   327,     0,   328,   329,   330,   331,  1253,
6878
     333,   334,   335,  1254,  1255,   337,     0,   338,   339,  1256,
6879
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
6880
     348,   349,     0,   350,  1257,     0,  1258,   353,   354,   355,
6881
       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
6882
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
6883
     373,   374,   375,   376,   377,   378,   379,  1259,  1260,     0,
6884
    1261,     0,   383,   384,   385,   386,   387,   388,   389,   390,
6885
     391,   392,     0,     0,   393,  1262,   395,   396,   397,     0,
6886
     398,   399,   400,  1263,  1264,   401,   402,   403,   404,   405,
6887
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
6888
     416,  1265,   418,  1266,   420,   421,   422,   423,   424,     0,
6889
     425,   426,   427,   428,  1268,  1269,   430,  1270,   432,   433,
6890
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
6891
       0,   440,   441,   442,   443,   444,   445,  1272,   447,   448,
6892
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
6893
    1273,   459,   460,   461,   462,   463,     0,   464,   465,   466,
6894
     467,   468,   469,   470,   471,   472,   473,  1274,   475,   476,
6895
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
6896
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
6897
     495,   496,   497,   498,  2795,   500,   501,   502,   503,   504,
6898
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
6899
    1276,   514,   515,   516,   517,   518,   519,   520,   521,  1277,
6900
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
6901
     532,   533,   534,   535,   536,  1278,     0,   538,   539,     0,
6902
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
6903
       0,   550,  1279,  1280,     0,     0,   553,   554,  1281,   556,
6904
    1282,  1283,   558,   559,   560,   561,   562,   563,   564,     0,
6905
       0,   565,   566,   567,   568,   569,  1285,     0,   570,   571,
6906
     572,   573,   574,   575,  1286,     0,   577,   578,   579,   580,
6907
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
6908
     587,   588,   589,   590,  1287,  1288,  1289,  1290,  4574,  1291,
6909
    1292,  1293,  1294,   600,   601,   602,   603,     0,     0,     0,
6910
       0,   232,  1228,   673,  1229,  1230,  1231,   735,  1232,     0,
6911
       0,     0,     0,     0,     0,  2798,   233,   234,   235,   236,
6912
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
6913
       0,     0,  1233,     0,     0,   244,   245,     0,   246,   247,
6914
     248,   249,   250,   251,   252,   253,     0,  1234,   256,  1235,
6915
    1236,     0,   259,   260,   261,   262,   263,   264,  1237,  1238,
6916
     265,   266,  1239,  1240,   269,     0,   270,   271,   272,   273,
6917
    1241,     0,  1242,   276,     0,   277,   278,   279,   280,   281,
6918
     282,   283,   284,   285,     0,   286,   287,   288,   289,   290,
6919
     291,     0,   292,   293,   294,   295,  1243,  1244,  1245,  1246,
6920
    1247,  1248,  1249,   297,   298,   299,   300,   301,   302,  1250,
6921
    1251,   305,  1252,   306,     0,   307,   308,   309,   310,   311,
6922
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
6923
    1086,   320,   321,     0,   322,   323,   324,     0,   325,     0,
6924
     327,     0,   328,   329,   330,   331,  1253,   333,   334,   335,
6925
    1254,  1255,   337,     0,   338,   339,  1256,   341,     0,   342,
6926
       0,   343,   344,     0,   345,   346,   347,   348,   349,     0,
6927
     350,  1257,     0,  1258,   353,   354,   355,     0,   356,   357,
6928
     358,   359,   360,     0,   362,   363,   364,   365,     0,   366,
6929
     367,   368,   369,   370,   371,   372,     0,   373,   374,   375,
6930
     376,   377,   378,   379,  1259,  1260,     0,  1261,     0,   383,
6931
       0,     0,   386,   387,   388,   389,   390,   391,   392,     0,
6932
       0,   393,  1262,   395,   396,     0,     0,   398,   399,   400,
6933
    1263,  1264,   401,   402,   403,   404,   405,   406,   407,   408,
6934
     409,   410,   411,   412,   413,   414,   415,   416,  1265,   418,
6935
    1266,   420,   421,   422,   423,   424,  1267,   425,   426,     0,
6936
     428,  1268,  1269,   430,  1270,   432,   433,   434,     0,   435,
6937
     436,     0,     0,  1271,   438,   439,     0,     0,   440,   441,
6938
     442,   443,   444,   445,  1272,   447,   448,   449,   450,   451,
6939
     452,   453,   454,   455,     0,   456,   457,  1273,   459,   460,
6940
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
6941
     470,   471,   472,   473,  1274,   475,   476,   477,   478,     0,
6942
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
6943
     489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
6944
     498,  1275,   500,   501,   502,   503,   504,   505,   506,   507,
6945
     508,     0,   509,   510,   511,   512,   513,  1276,   514,   515,
6946
     516,   517,   518,     0,   520,   521,  1277,   523,     0,   524,
6947
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
6948
     535,   536,  1278,     0,   538,   539,     0,   540,   541,   542,
6949
     543,   544,   545,   546,   547,   548,   549,     0,   550,  1279,
6950
    1280,     0,     0,   553,   554,  1281,   556,  1282,  1283,   558,
6951
     559,   560,   561,   562,   563,   564,     0,  1284,   565,   566,
6952
     567,   568,   569,  1285,     0,   570,   571,   572,   573,   574,
6953
     575,  1286,     0,   577,   578,   579,   580,   581,   582,     0,
6954
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
6955
     590,  1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,  1294,
6956
     600,   601,   602,   603,     0,     0,     0,     0,   232,     0,
6957
       0,     0,     0,  1296,  1297,     0,     0,     0,     0,     0,
6958
       0,     0,  1299,   233,   234,   235,   236,   237,   238,   239,
6959
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
6960
       0,     0,   244,   245,     0,   246,   247,   248,   249,   250,
6961
     251,   252,   253,   254,   255,   256,   257,   258,     0,   259,
6962
     260,   261,   262,   263,   264,     0,  1238,   265,   266,   267,
6963
     268,   269,     0,   270,   271,   272,   273,  1241,     0,  1242,
6964
     276,     0,   277,   278,   279,   280,   281,   282,   283,   284,
6965
     285,     0,   286,   287,   288,   289,   290,   291,     0,   292,
6966
     293,   294,   295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,
6967
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
6968
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
6969
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
6970
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
6971
     329,   330,   331,   332,   333,   334,   335,  1254,     0,   337,
6972
       0,   338,   339,   340,   341,     0,   342,     0,   343,   344,
6973
       0,   345,   346,   347,   348,   349,     0,   350,  1257,     0,
6974
     352,   353,   354,   355,     0,   356,   357,   358,   359,   360,
6975
     361,   362,   363,   364,   365,     0,   366,   367,   368,   369,
6976
     370,   371,   372,     0,   373,   374,   375,   376,   377,   378,
6977
     379,   380,   381,     0,   382,     0,   383,   384,   385,   386,
6978
     387,   388,   389,   390,   391,   392,  3618,     0,   393,  1262,
6979
     395,   396,   397,     0,   398,   399,   400,  1263,  1264,   401,
6980
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
6981
     412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
6982
     422,   423,   424,     0,   425,   426,   427,   428,     0,  1269,
6983
     430,   431,   432,   433,   434,     0,   435,   436,     0,   824,
6984
     437,   438,   439,     0,     0,   440,   441,   442,   443,   444,
6985
     445,  1272,   447,   448,   449,   450,   451,   452,   453,   454,
6986
     455,     0,   456,   457,  1273,   459,   460,   461,   462,   463,
6987
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
6988
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
6989
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
6990
     491,   492,   493,   494,   495,   496,   497,   498,   499,  3619,
6991
     501,   502,   503,   504,   505,   506,   507,   508,    41,   509,
6992
     510,   511,   512,   513,  1276,   514,   515,   516,   517,   518,
6993
     519,   520,   521,   522,   523,     0,   524,   525,   526,   527,
6994
     528,   529,   530,   531,   532,   533,   534,   535,   536,  1278,
6995
       0,   538,   539,    45,   540,   541,   542,   543,   544,   545,
6996
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
6997
     553,   554,  1281,   556,  1282,     0,   558,   559,   560,   561,
6998
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
6999
    1285,     0,   570,   571,   572,   573,   574,  1164,   576,     0,
7000
     577,   578,   579,   580,   581,   582,     0,     0,   583,     0,
7001
      50,   584,   585,   586,   587,   588,   589,   590,  1287,  1288,
7002
    1289,  1290,   595,  1291,  1292,  1293,  1294,  3620,   601,   602,
7003
     603,     0,     0,    51,     0,   232,     0,     0,     0,     0,
7004
       0,     0,     0,     0,     0,     0,     0,     0,     0,  3621,
7005
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
7006
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
7007
     245,     0,   246,   247,   248,   249,   250,   251,   252,   253,
7008
     254,   255,   256,   257,   258,     0,   259,   260,   261,   262,
7009
     263,   264,     0,  1238,   265,   266,   267,   268,   269,     0,
7010
     270,   271,   272,   273,  1241,     0,  1242,   276,     0,   277,
7011
     278,   279,   280,   281,   282,   283,   284,   285,     0,   286,
7012
     287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
7013
    1243,  1244,  1245,  1246,  1247,  1248,  1249,   297,   298,   299,
7014
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
7015
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
7016
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
7017
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
7018
     332,   333,   334,   335,  1254,     0,   337,     0,   338,   339,
7019
     340,   341,     0,   342,     0,   343,   344,     0,   345,   346,
7020
     347,   348,   349,     0,   350,  1257,     0,   352,   353,   354,
7021
     355,     0,   356,   357,   358,   359,   360,   361,   362,   363,
7022
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
7023
       0,   373,   374,   375,   376,   377,   378,   379,   380,   381,
7024
       0,   382,     0,   383,   384,   385,   386,   387,   388,   389,
7025
     390,   391,   392,  3618,     0,   393,  1262,   395,   396,   397,
7026
       0,   398,   399,   400,  1263,  1264,   401,   402,   403,   404,
7027
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7028
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
7029
       0,   425,   426,   427,   428,     0,  1269,   430,   431,   432,
7030
     433,   434,     0,   435,   436,     0,   824,   437,   438,   439,
7031
       0,     0,   440,   441,   442,   443,   444,   445,  1272,   447,
7032
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
7033
     457,  1273,   459,   460,   461,   462,   463,     0,   464,   465,
7034
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
7035
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
7036
     485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
7037
     494,   495,   496,   497,   498,   499,  3619,   501,   502,   503,
7038
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
7039
     513,  1276,   514,   515,   516,   517,   518,   519,   520,   521,
7040
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
7041
     531,   532,   533,   534,   535,   536,  1278,     0,   538,   539,
7042
       0,   540,   541,   542,   543,   544,   545,   546,   547,   548,
7043
     549,     0,   550,   551,   552,     0,     0,   553,   554,  1281,
7044
     556,  1282,     0,   558,   559,   560,   561,   562,   563,   564,
7045
       0,     0,   565,   566,   567,   568,   569,  1285,     0,   570,
7046
     571,   572,   573,   574,   575,   576,     0,   577,   578,   579,
7047
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
7048
     586,   587,   588,   589,   590,  1287,  1288,  1289,  1290,   595,
7049
    1291,  1292,  1293,  1294,  3620,   601,   602,   603,     0,     0,
7050
       0,     0,   232,     0,     0,     0,     0,     0,     0,     0,
7051
       0,     0,     0,     0,     0,     0,  3621,   233,   234,   235,
7052
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
7053
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
7054
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
7055
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
7056
    1238,   265,   266,   267,   268,   269,     0,   270,   271,   272,
7057
     273,  1241,     0,  1242,   276,     0,   277,   278,   279,   280,
7058
     281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
7059
     290,   291,     0,   292,   293,   294,   295,  1243,  1244,  1245,
7060
    1246,  1247,  1248,  1249,   297,   298,   299,   300,   301,   302,
7061
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
7062
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
7063
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
7064
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
7065
     335,  1254,     0,   337,     0,   338,   339,   340,   341,     0,
7066
     342,     0,   343,   344,     0,   345,   346,   347,   348,   349,
7067
       0,   350,  1257,     0,   352,   353,   354,   355,     0,   356,
7068
     357,   358,   359,   360,   361,   362,   363,   364,   365,     0,
7069
     366,   367,   368,   369,   370,   371,   372,     0,   373,   374,
7070
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
7071
     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
7072
       0,     0,   393,  1262,   395,   396,   397,     0,   398,   399,
7073
     400,  1263,  1264,   401,   402,   403,   404,   405,   406,   407,
7074
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
7075
     418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
7076
     427,   428,     0,  1269,   430,   431,   432,   433,   434,     0,
7077
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
7078
     441,   442,   443,   444,   445,  1272,   447,   448,   449,   450,
7079
     451,   452,   453,   454,   455,     0,   456,   457,  1273,   459,
7080
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
7081
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
7082
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
7083
     488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
7084
     497,   498,   499,  3619,   501,   502,   503,   504,   505,   506,
7085
     507,   508,     0,   509,   510,   511,   512,   513,  1276,   514,
7086
     515,   516,   517,   518,   519,   520,   521,   522,   523,     0,
7087
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7088
     534,   535,   536,  1278,     0,   538,   539,     0,   540,   541,
7089
     542,   543,   544,   545,   546,   547,   548,   549,     0,   550,
7090
     551,   552,     0,     0,   553,   554,  1281,   556,  1282,     0,
7091
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
7092
     566,   567,   568,   569,  1285,     0,   570,   571,   572,   573,
7093
     574,   575,   576,     0,   577,   578,   579,   580,   581,   582,
7094
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
7095
     589,   590,  1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,
7096
    1294,  3620,   601,   602,   603,     0,     0,     0,     0,   232,
7097
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7098
       0,     0,     0,    52,   233,   234,   235,   236,   237,   238,
7099
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
7100
       0,     0,     0,   244,   245,     0,   246,   247,   248,   249,
7101
     250,   251,   252,   253,   254,   255,   256,   257,   258,     0,
7102
     259,   260,   261,   262,   263,   264,     0,  1238,   265,   266,
7103
     267,   268,   269,     0,   270,   271,   272,   273,  1241,     0,
7104
    1242,   276,     0,   277,   278,   279,   280,   281,   282,   283,
7105
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
7106
     292,   293,   294,   295,  1243,  1244,  1245,  1246,  1247,  1248,
7107
    1249,   297,   298,   299,   300,   301,   302,   303,   304,   305,
7108
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
7109
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
7110
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
7111
     328,   329,   330,   331,   332,   333,   334,   335,  1254,     0,
7112
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
7113
     344,     0,   345,   346,   347,   348,   349,     0,   350,  1257,
7114
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
7115
     360,   361,   362,   363,   364,   365,     0,   366,   367,   368,
7116
     369,   370,   371,   372,     0,   373,   374,   375,   376,   377,
7117
     378,   379,   380,   381,     0,   382,     0,   383,   384,   385,
7118
     386,   387,   388,   389,   390,   391,   392,     0,     0,   393,
7119
    1262,   395,   396,   397,     0,   398,   399,   400,  1263,  1264,
7120
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
7121
     411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
7122
     421,   422,   423,   424,     0,   425,   426,   427,   428,     0,
7123
    1269,   430,   431,   432,   433,   434,     0,   435,   436,     0,
7124
       0,   437,   438,   439,     0,     0,   440,   441,   442,   443,
7125
     444,   445,  1272,   447,   448,   449,   450,   451,   452,   453,
7126
     454,   455,     0,   456,   457,  1273,   459,   460,   461,   462,
7127
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
7128
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
7129
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
7130
       0,   491,   492,   493,   494,   495,   496,   497,   498,   499,
7131
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
7132
     509,   510,   511,   512,   513,  1276,   514,   515,   516,   517,
7133
     518,   519,   520,   521,   522,   523,     0,   524,   525,   526,
7134
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
7135
    1278,     0,   538,   539,     0,   540,   541,   542,   543,   544,
7136
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
7137
       0,   553,   554,  1281,   556,  1282,     0,   558,   559,   560,
7138
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
7139
     569,  1285,     0,   570,   571,   572,   573,   574,   575,   576,
7140
       0,   577,   578,   579,   580,   581,   582,     0,     0,   583,
7141
       0,     0,   584,   585,   586,   587,   588,   589,   590,  1287,
7142
    1288,  1289,  1290,   595,  1291,  1292,  1293,  1294,   600,   601,
7143
     602,   603,     0,     0,     0,     0,   232,     0,     0,     0,
7144
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7145
    4223,   233,   234,   235,   236,   237,   238,   239,   240,     0,
7146
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
7147
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
7148
     253,   254,   255,   256,   257,   258,     0,   259,   260,   261,
7149
     262,   263,   264,     0,  1238,   265,   266,   267,   268,   269,
7150
       0,   270,   271,   272,   273,  1241,     0,  1242,   276,     0,
7151
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
7152
     286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
7153
     295,  1243,  1244,  1245,  1246,  1247,  1248,  1249,   297,   298,
7154
     299,   300,   301,   302,   303,   304,   305,     0,   306,     0,
7155
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
7156
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
7157
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
7158
     331,   332,   333,   334,   335,  1254,     0,   337,     0,   338,
7159
     339,   340,   341,     0,   342,     0,   343,   344,     0,   345,
7160
     346,   347,   348,   349,     0,   350,  1257,     0,   352,   353,
7161
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
7162
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
7163
     372,     0,   373,   374,   375,   376,   377,   378,   379,   380,
7164
     381,     0,   382,     0,   383,   384,   385,   386,   387,   388,
7165
     389,   390,   391,   392,     0,     0,   393,  1262,   395,   396,
7166
     397,     0,   398,   399,   400,  1263,  1264,   401,   402,   403,
7167
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
7168
     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
7169
     424,     0,   425,   426,   427,   428,     0,  1269,   430,   431,
7170
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
7171
     439,     0,     0,   440,   441,   442,   443,   444,   445,  1272,
7172
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
7173
     456,   457,  1273,   459,   460,   461,   462,   463,     0,   464,
7174
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
7175
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
7176
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
7177
     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
7178
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
7179
     512,   513,  1276,   514,   515,   516,   517,   518,   519,   520,
7180
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
7181
     530,   531,   532,   533,   534,   535,   536,  1278,     0,   538,
7182
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
7183
     548,   549,     0,   550,   551,   552,     0,     0,   553,   554,
7184
    1281,   556,  1282,     0,   558,   559,   560,   561,   562,   563,
7185
     564,     0,     0,   565,   566,   567,   568,   569,  1285,     0,
7186
     570,   571,   572,   573,   574,   575,   576,     0,   577,   578,
7187
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
7188
     585,   586,   587,   588,   589,   590,  1287,  1288,  1289,  1290,
7189
     595,  1291,  1292,  1293,  1294,   600,   601,   602,   603,     0,
7190
       0,     0,     0,   232,     0,     0,     0,     0,     0,     0,
7191
       0,     0,     0,     0,     0,     0,     0,  4230,   233,   234,
7192
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
7193
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
7194
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
7195
     256,   257,   258,     0,   259,   260,   261,   262,   263,   264,
7196
       0,  1238,   265,   266,   267,   268,   269,     0,   270,   271,
7197
     272,   273,  1241,     0,  1242,   276,     0,   277,   278,   279,
7198
     280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
7199
     289,   290,   291,     0,   292,   293,   294,   295,  1243,  1244,
7200
    1245,  1246,  1247,  1248,  1249,   297,   298,   299,   300,   301,
7201
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
7202
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
7203
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
7204
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
7205
     334,   335,  1254,     0,   337,     0,   338,   339,   340,   341,
7206
       0,   342,     0,   343,   344,     0,   345,   346,   347,   348,
7207
     349,     0,   350,  1257,     0,   352,   353,   354,   355,     0,
7208
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
7209
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
7210
     374,   375,   376,   377,   378,   379,   380,   381,     0,   382,
7211
       0,   383,   384,   385,   386,   387,   388,   389,   390,   391,
7212
     392,     0,     0,   393,  1262,   395,   396,   397,     0,   398,
7213
     399,   400,  1263,  1264,   401,   402,   403,   404,   405,   406,
7214
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
7215
     417,   418,   419,   420,   421,   422,   423,   424,     0,   425,
7216
     426,   427,   428,     0,  1269,   430,   431,   432,   433,   434,
7217
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
7218
     440,   441,   442,   443,   444,   445,  1272,   447,   448,   449,
7219
     450,   451,   452,   453,   454,   455,     0,   456,   457,  1273,
7220
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
7221
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
7222
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
7223
     487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
7224
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
7225
     506,   507,   508,     0,   509,   510,   511,   512,   513,  1276,
7226
     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
7227
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
7228
     533,   534,   535,   536,  1278,     0,   538,   539,     0,   540,
7229
     541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
7230
     550,   551,   552,     0,     0,   553,   554,  1281,   556,  1282,
7231
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
7232
     565,   566,   567,   568,   569,  1285,     0,   570,   571,   572,
7233
     573,   574,   575,   576,     0,   577,   578,   579,   580,   581,
7234
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
7235
     588,   589,   590,  1287,  1288,  1289,  1290,   595,  1291,  1292,
7236
    1293,  1294,   600,   601,   602,   603,     0,     0,     0,     0,
7237
     877,  1511,   673,     0,     0,     0,   735,     0,     0,     0,
7238
       0,     0,     0,     0,  5327,   233,   234,   235,   236,   237,
7239
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
7240
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
7241
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
7242
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
7243
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
7244
       0,   275,   276,     0,   277,   278,   279,   280,   281,   282,
7245
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
7246
       0,   292,   293,   294,   295,     0,     0,     0,   296,     0,
7247
       0,     0,   297,   298,   299,   300,   301,   302,   303,   304,
7248
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
7249
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
7250
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
7251
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
7252
    1937,   337,     0,   338,   339,   340,   341,     0,   342,     0,
7253
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
7254
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
7255
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
7256
     368,   369,   370,   371,   372,     0,   373,   374,   375,   376,
7257
     377,   378,   379,   380,   381,     0,   382,     0,   383,   384,
7258
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
7259
     393,   394,   395,   396,   397,     0,   398,   399,   400,     0,
7260
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
7261
     410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
7262
     420,   421,   422,   423,   424,     0,   425,   426,   427,   428,
7263
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
7264
    1938,     0,   437,   438,   439,     0,     0,   440,   441,   442,
7265
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
7266
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
7267
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
7268
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
7269
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
7270
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
7271
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
7272
       0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
7273
     517,   518,   519,   520,   521,   522,   523,     0,   524,   525,
7274
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
7275
     536,   537,     0,   538,   539,     0,   540,   541,   542,   543,
7276
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
7277
       0,     0,   553,   554,   555,   556,   557,  1939,   558,   559,
7278
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
7279
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
7280
     576,     0,   577,   578,   579,   580,   581,   582,     0,     0,
7281
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
7282
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
7283
     601,   602,   603,     0,     0,     0,     0,   877,     0,     0,
7284
       0,     0,  1512,  1513,  5142,     0,     0,     0,     0,     0,
7285
       0,  5143,   233,   234,   235,   236,   237,   238,   239,   240,
7286
       0,   241,   242,   243,     3,     4,     0,     0,     0,     0,
7287
       0,   244,   245,     0,   246,   247,   248,   249,   250,   251,
7288
     252,   253,   254,   255,   256,   257,   258,     0,   259,   260,
7289
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
7290
     269,     0,   270,   271,   272,   273,   274,     0,   275,   276,
7291
       0,   277,   278,   279,   280,   281,   282,   283,   284,   285,
7292
       0,   286,   287,   288,   289,   290,   291,     0,   292,   293,
7293
     294,   295,     0,     0,     0,   296,     0,     0,     0,   297,
7294
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
7295
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
7296
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
7297
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
7298
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
7299
     338,   339,   340,   341,     0,   342,     0,   343,   344,     0,
7300
     345,   346,   347,   348,   349,     0,   350,   351,     0,   352,
7301
     353,   354,   355,     0,   356,   357,   358,   359,   360,   361,
7302
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
7303
     371,   372,     0,   373,   374,   375,   376,   377,   378,   379,
7304
     380,   381,     0,   382,     0,   383,   384,   385,   386,   387,
7305
     388,   389,   390,   391,   392,     0,     0,   393,   394,   395,
7306
     396,   397,     0,   398,   399,   400,     0,     0,   401,   402,
7307
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
7308
     413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
7309
     423,   424,     0,   425,   426,   427,   428,     0,   429,   430,
7310
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
7311
     438,   439,     0,     0,   440,   441,   442,   443,   444,   445,
7312
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
7313
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
7314
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
7315
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
7316
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
7317
     492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
7318
     502,   503,   504,   505,   506,   507,   508,    41,   509,   510,
7319
     511,   512,   513,     0,   514,   515,   516,   517,   518,   519,
7320
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
7321
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
7322
     538,   539,    45,   540,   541,   542,   543,   544,   545,   546,
7323
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
7324
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
7325
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
7326
       0,   570,   571,   572,   573,   574,  1164,   576,     0,   577,
7327
     578,   579,   580,   581,   582,     0,     0,   583,     0,    50,
7328
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
7329
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
7330
       0,     0,    51,     0,   232,     0,     0,     0,     0,     0,
7331
       0,     0,     0,     0,     0,     0,     0,     0,    52,   233,
7332
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
7333
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
7334
       0,   246,   247,   248,   249,   250,   251,   252,   253,   254,
7335
     255,   256,   257,   258,     0,   259,   260,   261,   262,   263,
7336
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
7337
     271,   272,   273,   274,     0,   275,   276,     0,   277,   278,
7338
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
7339
     288,   289,   290,   291,     0,   292,   293,   294,   295,     0,
7340
       0,     0,   296,     0,     0,     0,   297,   298,   299,   300,
7341
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
7342
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
7343
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
7344
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
7345
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
7346
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
7347
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
7348
       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
7349
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
7350
     373,   374,   375,   376,   377,   378,   379,   380,   381,     0,
7351
     382,     0,   383,   384,   385,   386,   387,   388,   389,   390,
7352
     391,   392,     0,     0,   393,   394,   395,   396,   397,     0,
7353
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
7354
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
7355
     416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
7356
     425,   426,   427,   428,     0,   429,   430,   431,   432,   433,
7357
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
7358
       0,   440,   441,   442,   443,   444,   445,   446,   447,   448,
7359
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
7360
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7361
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
7362
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
7363
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
7364
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
7365
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
7366
       0,   514,   515,   516,   517,   518,   519,   520,   521,   522,
7367
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
7368
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
7369
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
7370
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
7371
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
7372
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
7373
     572,   573,   574,   575,   576,     0,   577,   578,   579,   580,
7374
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
7375
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
7376
     597,   598,   599,   600,   601,   602,   603,     0,     0,     0,
7377
       0,   611,     0,     0,     0,     0,     0,     0,     0,     0,
7378
       0,     0,     0,     0,     0,  4910,   233,   234,   235,   236,
7379
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
7380
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
7381
     248,     0,   250,   251,   252,   253,   254,   255,     0,   257,
7382
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
7383
     265,   266,   267,   268,   269,     0,   270,   271,   272,   273,
7384
     274,     0,     0,   276,     0,   277,   278,   279,   280,   281,
7385
       0,   283,   284,   285,     0,   286,   287,   288,   289,   290,
7386
     291,     0,     0,   293,   294,   295,     0,     0,     0,     0,
7387
       0,     0,     0,   297,   298,   299,   300,   301,   302,   303,
7388
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
7389
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
7390
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
7391
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
7392
     336,     0,   337,     0,   338,   339,   340,   341,     0,   342,
7393
       0,   343,     0,     0,     0,   346,   347,   348,   349,     0,
7394
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
7395
     358,   359,   360,     0,   362,   363,   364,   365,     0,   366,
7396
     367,   368,   369,   370,   371,   372,     0,   373,     0,   375,
7397
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
7398
       0,     0,   386,     0,   388,   389,   390,   391,   392,     0,
7399
       0,   393,   394,     0,   396,     0,     0,   398,   399,   400,
7400
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
7401
     409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
7402
     419,   420,   421,   422,     0,   424,     0,   425,   426,     0,
7403
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
7404
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
7405
     442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
7406
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
7407
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
7408
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
7409
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
7410
     489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
7411
     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
7412
     508,    41,   509,   510,   511,   512,   513,     0,   514,   515,
7413
     516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
7414
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
7415
     535,   536,   537,     0,   538,   539,    45,   540,   541,   542,
7416
       0,   544,   545,   546,   547,   548,   549,     0,   550,   551,
7417
     552,     0,     0,   553,   554,   555,   556,   557,     0,   558,
7418
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
7419
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
7420
    1164,   576,     0,   577,     0,   579,   580,   581,   582,     0,
7421
       0,   583,     0,    50,   584,   585,   586,   587,   588,   589,
7422
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
7423
     600,   601,   602,   603,     0,     0,    51,     0,   611,     0,
7424
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7425
       0,     0,    52,   233,   234,   235,   236,   237,   238,   239,
7426
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
7427
       0,     0,   244,   245,     0,   246,   247,   248,     0,   250,
7428
     251,   252,   253,   254,   255,     0,   257,   258,     0,   259,
7429
     260,   261,   262,   263,   264,     0,     0,   265,   266,   267,
7430
     268,   269,     0,   270,   271,   272,   273,   274,     0,     0,
7431
     276,     0,   277,   278,   279,   280,   281,     0,   283,   284,
7432
     285,     0,   286,   287,   288,   289,   290,   291,     0,     0,
7433
     293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
7434
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
7435
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
7436
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
7437
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
7438
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
7439
       0,   338,   339,   340,   341,     0,   342,     0,   343,     0,
7440
       0,     0,   346,   347,   348,   349,     0,   350,   351,     0,
7441
     352,   353,   354,   355,     0,   356,   357,   358,   359,   360,
7442
       0,   362,   363,   364,   365,     0,   366,   367,   368,   369,
7443
     370,   371,   372,     0,   373,     0,   375,   376,   377,   378,
7444
     379,   380,   381,     0,   382,     0,   383,     0,     0,   386,
7445
       0,   388,   389,   390,   391,   392,     0,     0,   393,   394,
7446
       0,   396,     0,     0,   398,   399,   400,     0,     0,   401,
7447
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
7448
     412,   413,   414,   415,   416,   417,     0,   419,   420,   421,
7449
     422,     0,   424,     0,   425,   426,     0,   428,     0,   429,
7450
     430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
7451
     437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
7452
       0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
7453
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
7454
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
7455
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
7456
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
7457
     491,   492,     0,   494,   495,   496,   497,   498,   499,   500,
7458
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
7459
     510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
7460
       0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
7461
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
7462
       0,   538,   539,     0,   540,   541,   542,     0,   544,   545,
7463
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
7464
     553,   554,   555,   556,   557,     0,   558,   559,   560,   561,
7465
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
7466
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
7467
     577,     0,   579,   580,   581,   582,     0,     0,   583,     0,
7468
       0,   584,   585,   586,   587,   588,   589,   590,   591,   592,
7469
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
7470
     603,     0,     0,     0,     0,   611,     0,     0,     0,     0,
7471
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1357,
7472
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
7473
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
7474
     245,     0,   246,   247,   248,     0,   250,   251,   252,   253,
7475
     254,   255,     0,   257,   258,     0,   259,   260,   261,   262,
7476
     263,   264,     0,     0,   265,   266,   267,   268,   269,     0,
7477
     270,   271,   272,   273,   274,     0,     0,   276,     0,   277,
7478
     278,   279,   280,   281,     0,   283,   284,   285,     0,   286,
7479
     287,   288,   289,   290,   291,     0,     0,   293,   294,   295,
7480
       0,     0,     0,     0,     0,     0,     0,   297,   298,   299,
7481
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
7482
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
7483
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
7484
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
7485
     332,   333,   334,   335,   336,     0,   337,     0,   338,   339,
7486
     340,   341,     0,   342,     0,   343,     0,     0,     0,   346,
7487
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
7488
     355,     0,   356,   357,   358,   359,   360,     0,   362,   363,
7489
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
7490
       0,   373,     0,   375,   376,   377,   378,   379,   380,   381,
7491
       0,   382,     0,   383,     0,     0,   386,     0,   388,   389,
7492
     390,   391,   392,     0,     0,   393,   394,     0,   396,     0,
7493
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
7494
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7495
     415,   416,   417,     0,   419,   420,   421,   422,     0,   424,
7496
       0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
7497
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
7498
       0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
7499
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
7500
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
7501
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
7502
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
7503
     485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
7504
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
7505
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
7506
     513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
7507
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
7508
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
7509
       0,   540,   541,   542,     0,   544,   545,   546,   547,   548,
7510
     549,     0,   550,   551,   552,     0,     0,   553,   554,   555,
7511
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
7512
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
7513
     571,   572,   573,   574,   575,   576,     0,   577,     0,   579,
7514
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
7515
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
7516
     596,   597,   598,   599,   600,   601,   602,   603,     0,     0,
7517
       0,     0,   611,     0,     0,     0,     0,     0,     0,     0,
7518
       0,     0,     0,     0,     0,     0,  2952,   233,   234,   235,
7519
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
7520
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
7521
     247,   248,     0,   250,   251,   252,   253,   254,   255,     0,
7522
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
7523
       0,   265,   266,   267,   268,   269,     0,   270,   271,   272,
7524
     273,   274,     0,     0,   276,     0,   277,   278,   279,   280,
7525
     281,     0,   283,   284,   285,     0,   286,   287,   288,   289,
7526
     290,   291,     0,     0,   293,   294,   295,     0,     0,     0,
7527
       0,     0,     0,     0,   297,   298,   299,   300,   301,   302,
7528
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
7529
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
7530
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
7531
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
7532
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
7533
     342,     0,   343,     0,     0,     0,   346,   347,   348,   349,
7534
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
7535
     357,   358,   359,   360,     0,   362,   363,   364,   365,     0,
7536
     366,   367,   368,   369,   370,   371,   372,     0,   373,     0,
7537
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
7538
     383,     0,     0,   386,     0,   388,   389,   390,   391,   392,
7539
       0,     0,   393,   394,     0,   396,     0,     0,   398,   399,
7540
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
7541
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
7542
       0,   419,   420,   421,   422,     0,   424,     0,   425,   426,
7543
       0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
7544
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
7545
     441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
7546
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
7547
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
7548
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
7549
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
7550
     488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
7551
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
7552
     507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
7553
     515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
7554
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7555
     534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
7556
     542,     0,   544,   545,   546,   547,   548,   549,     0,   550,
7557
     551,   552,     0,     0,   553,   554,   555,   556,   557,     0,
7558
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
7559
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
7560
     574,   575,   576,     0,   577,     0,   579,   580,   581,   582,
7561
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
7562
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
7563
     599,   600,   601,   602,   603,     0,     0,     0,     0,   611,
7564
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7565
       0,     0,     0,  4138,   233,   234,   235,   236,   237,   238,
7566
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
7567
       0,     0,     0,   244,   245,     0,   246,   247,   248,     0,
7568
     250,   251,   252,   253,   254,   255,     0,   257,   258,     0,
7569
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
7570
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
7571
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
7572
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
7573
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
7574
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
7575
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
7576
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
7577
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
7578
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
7579
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
7580
       0,     0,     0,   346,   347,   348,   349,     0,   350,   351,
7581
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
7582
     360,     0,   362,   363,   364,   365,     0,   366,   367,   368,
7583
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
7584
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
7585
     386,     0,   388,   389,   390,   391,   392,     0,     0,   393,
7586
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
7587
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
7588
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
7589
     421,   422,     0,   424,     0,   425,   426,     0,   428,     0,
7590
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
7591
       0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
7592
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
7593
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
7594
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
7595
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
7596
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
7597
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
7598
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
7599
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
7600
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
7601
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
7602
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
7603
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
7604
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
7605
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
7606
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
7607
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
7608
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
7609
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
7610
     602,   603,     0,     0,     0,     0,     0,     0,     0,  1078,
7611
    1511,   673,     0,     0,   891,   735,     0,     0,     0,     0,
7612
    4591,   892,   893,   894,   233,   234,   235,   236,   237,   238,
7613
     239,   240,  1647,   241,   242,   243,  1648,  1649,  1650,  1651,
7614
    1652,  1653,  1654,   244,   245,  1655,   246,   247,   248,   249,
7615
     250,   251,   252,   253,     0,  1079,   256,  1080,  1081,  1656,
7616
     259,   260,   261,   262,   263,   264,  1657,  1658,   265,   266,
7617
    1082,  1083,   269,  1659,   270,   271,   272,   273,     0,  1660,
7618
     275,   276,  1661,   277,   278,   279,   280,   281,   282,   283,
7619
     284,   285,  1662,   286,   287,   288,   289,   290,   291,  1663,
7620
     292,   293,   294,   295,  1664,  1665,  1666,   296,  1667,  1668,
7621
    1669,   297,   298,   299,   300,   301,   302,  1084,  1085,   305,
7622
    1670,   306,  1671,   307,   308,   309,   310,   311,   312,  1672,
7623
     313,   314,   315,   316,  1673,  1674,   317,   318,  1086,   320,
7624
     321,  1675,   322,   323,   324,  1676,   325,   326,   327,  1677,
7625
     328,   329,   330,   331,     0,   333,   334,   335,     0,  1678,
7626
     337,  1679,   338,   339,  1087,   341,  1680,   342,  1681,   343,
7627
     344,  1682,   345,   346,   347,   348,   349,  1683,   350,     0,
7628
    1684,     0,   353,   354,   355,  1685,   356,   357,   358,   359,
7629
     360,   361,   362,   363,   364,   365,  1686,   366,   367,   368,
7630
     369,   370,   371,   372,  1687,   373,   374,     0,   376,   377,
7631
     378,   379,  1089,  1090,  1688,  1091,  1689,   383,   384,   385,
7632
     386,   387,   388,   389,   390,   391,   392,  1690,  1691,   393,
7633
       0,   395,   396,   397,  1692,   398,   399,   400,  1693,  1694,
7634
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
7635
     411,   412,   413,   414,   415,   416,  1092,   418,  1093,   420,
7636
     421,   422,   423,  3887,  1695,   425,   426,   427,   428,  1696,
7637
       0,   430,  1094,   432,   433,   434,  1697,   435,   436,  1698,
7638
    1699,  3888,   438,   439,  1700,  1701,   440,   441,     0,   443,
7639
     444,   445,     0,   447,   448,   449,   450,   451,   452,   453,
7640
     454,   455,  1702,   456,   457,     0,   459,     0,   461,   462,
7641
     463,  1703,   464,   465,   466,   467,   468,   469,   470,   471,
7642
     472,   473,  1095,   475,   476,   477,   478,  1704,   479,   480,
7643
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
7644
    1705,   491,   492,   493,   494,   495,   496,   497,   498,     0,
7645
     500,   501,   502,   503,   504,   505,   506,   507,   508,  1706,
7646
     509,   510,   511,   512,   513,  1707,   514,   515,  2191,   517,
7647
     518,   519,   520,   521,  1097,   523,  1708,   524,   525,   526,
7648
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
7649
       0,  1709,   538,   539,  1710,   540,   541,   542,   543,   544,
7650
     545,   546,   547,   548,   549,  1711,   550,  1098,  1099,  1712,
7651
    1713,   553,   554,     0,   556,     0,  1714,   558,   559,   560,
7652
     561,   562,   563,   564,  1715,  1716,   565,   566,   567,   568,
7653
     569,  1717,  1718,   570,   571,   572,   573,   574,     0,  1100,
7654
    1719,   577,   578,   579,   580,   581,   582,  1720,  1721,   583,
7655
    1722,  1723,   584,   585,   586,   587,   588,   589,     0,     0,
7656
       0,     0,     0,     0,     0,     0,     0,     0,     0,   601,
7657
     602,   603,     0,     0,     0,   897,   898,   899,     0,     0,
7658
       0,  3889,  3890,   902,   903,   904,   905,  1078,  1511,   673,
7659
       0,     0,   891,   735,     0,     0,     0,     0,     0,   892,
7660
     893,   894,   233,   234,   235,   236,   237,   238,   239,   240,
7661
    1647,   241,   242,   243,  1648,  1649,  1650,  1651,  1652,  1653,
7662
    1654,   244,   245,  1655,   246,   247,   248,   249,   250,   251,
7663
     252,   253,     0,  1079,   256,  1080,  1081,  1656,   259,   260,
7664
     261,   262,   263,   264,  1657,  1658,   265,   266,  1082,  1083,
7665
     269,  1659,   270,   271,   272,   273,     0,  1660,   275,   276,
7666
    1661,   277,   278,   279,   280,   281,   282,   283,   284,   285,
7667
    1662,   286,   287,   288,   289,   290,   291,  1663,   292,   293,
7668
     294,   295,  1664,  1665,  1666,   296,  1667,  1668,  1669,   297,
7669
     298,   299,   300,   301,   302,  1084,  1085,   305,  1670,   306,
7670
    1671,   307,   308,   309,   310,   311,   312,  1672,   313,   314,
7671
     315,   316,  1673,  1674,   317,   318,  1086,   320,   321,  1675,
7672
     322,   323,   324,  1676,   325,   326,   327,  1677,   328,   329,
7673
     330,   331,     0,   333,   334,   335,     0,  1678,   337,  1679,
7674
     338,   339,  1087,   341,  1680,   342,  1681,   343,   344,  1682,
7675
     345,   346,   347,   348,   349,  1683,   350,     0,  1684,     0,
7676
     353,   354,   355,  1685,   356,   357,   358,   359,   360,   361,
7677
     362,   363,   364,   365,  1686,   366,   367,   368,   369,   370,
7678
     371,   372,  1687,   373,   374,     0,   376,   377,   378,   379,
7679
    1089,  1090,  1688,  1091,  1689,   383,   384,   385,   386,   387,
7680
     388,   389,   390,   391,   392,  1690,  1691,   393,     0,   395,
7681
     396,   397,  1692,   398,   399,   400,  1693,  1694,   401,   402,
7682
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
7683
     413,   414,   415,   416,  1092,   418,  1093,   420,   421,   422,
7684
     423,  4318,  1695,   425,   426,   427,   428,  1696,     0,   430,
7685
    1094,   432,   433,   434,  1697,   435,   436,  1698,  1699,  3888,
7686
     438,   439,  1700,  1701,   440,   441,     0,   443,   444,   445,
7687
       0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
7688
    1702,   456,   457,     0,   459,     0,   461,   462,   463,  1703,
7689
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
7690
    1095,   475,   476,   477,   478,  1704,   479,   480,   481,   482,
7691
     483,   484,   485,   486,   487,   488,   489,   490,  1705,   491,
7692
     492,   493,   494,   495,   496,   497,   498,     0,   500,   501,
7693
     502,   503,   504,   505,   506,   507,   508,  1706,   509,   510,
7694
     511,   512,   513,  1707,   514,   515,  2191,   517,   518,   519,
7695
     520,   521,  1097,   523,  1708,   524,   525,   526,   527,   528,
7696
     529,   530,   531,   532,   533,   534,   535,   536,     0,  1709,
7697
     538,   539,  1710,   540,   541,   542,   543,   544,   545,   546,
7698
     547,   548,   549,  1711,   550,  1098,  1099,  1712,  1713,   553,
7699
     554,     0,   556,     0,  1714,   558,   559,   560,   561,   562,
7700
     563,   564,  1715,  1716,   565,   566,   567,   568,   569,  1717,
7701
    1718,   570,   571,   572,   573,   574,     0,  1100,  1719,   577,
7702
     578,   579,   580,   581,   582,  1720,  1721,   583,  1722,  1723,
7703
     584,   585,   586,   587,   588,   589,     0,     0,     0,     0,
7704
       0,     0,     0,     0,     0,     0,     0,   601,   602,   603,
7705
       0,     0,     0,   897,   898,   899,     0,     0,     0,  3889,
7706
    3890,   902,   903,   904,   905,   611,     0,     0,     0,     0,
7707
     891,     0,     0,     0,     0,     0,     0,   892,   893,   894,
7708
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
7709
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
7710
     245,     0,   246,   247,   248,     0,   250,   251,   252,   253,
7711
     254,   255,     0,   257,   258,     0,   259,   260,   261,   262,
7712
     263,   264,     0,     0,   265,   266,   267,   268,   269,     0,
7713
     270,   895,   272,   273,   274,     0,     0,   276,     0,   277,
7714
     278,   279,   280,   281,     0,   283,   284,   285,     0,   286,
7715
     287,   288,   289,   290,   291,     0,     0,   293,   294,   295,
7716
       0,     0,     0,     0,     0,     0,     0,   297,   298,   299,
7717
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
7718
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
7719
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
7720
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
7721
     332,   333,   334,   335,   336,     0,   896,     0,   338,   339,
7722
     340,   341,     0,   342,     0,   343,     0,     0,     0,   346,
7723
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
7724
     355,     0,   356,   357,   358,   359,   360,     0,   362,   363,
7725
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
7726
       0,   373,     0,   375,   376,   377,   378,   379,   380,   381,
7727
       0,   382,     0,   383,     0,     0,   386,     0,   388,   389,
7728
     390,   391,   392,     0,     0,   393,   394,     0,   396,     0,
7729
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
7730
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7731
     415,   416,   417,     0,   419,   420,   421,   422,     0,   424,
7732
       0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
7733
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
7734
       0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
7735
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
7736
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
7737
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
7738
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
7739
     485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
7740
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
7741
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
7742
     513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
7743
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
7744
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
7745
       0,   540,   541,   542,     0,   544,   545,   546,   547,   548,
7746
     549,     0,   550,   551,   552,     0,     0,   553,   554,   555,
7747
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
7748
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
7749
     571,   572,   573,   574,   575,   576,     0,   577,     0,   579,
7750
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
7751
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
7752
     596,   597,   598,   599,   600,   601,   602,   603,     0,     0,
7753
       0,   897,   898,   899,     0,     0,     0,   900,   901,   902,
7754
     903,   904,   905,   611,     0,     0,     0,     0,   891,     0,
7755
       0,     0,     0,     0,     0,   892,   893,   894,   233,   234,
7756
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
7757
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
7758
     246,   247,   248,     0,   250,   251,   252,   253,   254,   255,
7759
       0,   257,   258,     0,   259,   260,   261,   262,   263,   264,
7760
       0,     0,   265,   266,   267,   268,   269,     0,   270,  1027,
7761
     272,   273,   274,     0,     0,   276,     0,   277,   278,   279,
7762
     280,   281,     0,   283,   284,   285,     0,   286,   287,   288,
7763
     289,   290,   291,     0,     0,   293,   294,   295,     0,     0,
7764
       0,     0,     0,     0,     0,   297,   298,   299,   300,   301,
7765
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
7766
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
7767
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
7768
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
7769
     334,   335,   336,     0,  1028,     0,   338,   339,   340,   341,
7770
       0,   342,     0,   343,     0,     0,     0,   346,   347,   348,
7771
     349,     0,   350,   351,     0,   352,   353,   354,   355,     0,
7772
     356,   357,   358,   359,   360,     0,   362,   363,   364,   365,
7773
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
7774
       0,   375,   376,   377,   378,   379,   380,   381,     0,   382,
7775
       0,   383,     0,     0,   386,     0,   388,   389,   390,   391,
7776
     392,     0,     0,   393,   394,     0,   396,     0,     0,   398,
7777
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
7778
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
7779
     417,     0,   419,   420,   421,   422,     0,   424,     0,   425,
7780
     426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
7781
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
7782
     440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
7783
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
7784
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
7785
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
7786
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
7787
     487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
7788
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
7789
     506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
7790
     514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
7791
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
7792
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
7793
     541,   542,     0,   544,   545,   546,   547,   548,   549,     0,
7794
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
7795
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
7796
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
7797
     573,   574,   575,   576,     0,   577,     0,   579,   580,   581,
7798
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
7799
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
7800
     598,   599,   600,   601,   602,   603,     0,     0,     0,   897,
7801
     898,   899,     0,     0,     0,   900,   901,   902,   903,   904,
7802
     905,   611,     0,     0,     0,     0,   891,     0,     0,     0,
7803
       0,     0,     0,   892,   893,   894,   233,   234,   235,   236,
7804
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
7805
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
7806
     248,     0,   250,   251,   252,   253,   254,   255,     0,   257,
7807
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
7808
     265,   266,   267,   268,   269,     0,   270,  1128,   272,   273,
7809
     274,     0,     0,   276,     0,   277,   278,   279,   280,   281,
7810
       0,   283,   284,   285,     0,   286,   287,   288,   289,   290,
7811
     291,     0,     0,   293,   294,   295,     0,     0,     0,     0,
7812
       0,     0,     0,   297,   298,   299,   300,   301,   302,   303,
7813
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
7814
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
7815
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
7816
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
7817
     336,     0,  1129,     0,   338,   339,   340,   341,     0,   342,
7818
       0,   343,     0,     0,     0,   346,   347,   348,   349,     0,
7819
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
7820
     358,   359,  1130,     0,   362,   363,   364,   365,     0,   366,
7821
     367,   368,   369,   370,   371,   372,     0,   373,     0,   375,
7822
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
7823
       0,     0,   386,     0,   388,   389,   390,   391,   392,     0,
7824
       0,   393,   394,     0,   396,     0,     0,   398,   399,   400,
7825
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
7826
     409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
7827
     419,   420,   421,   422,     0,   424,     0,   425,   426,     0,
7828
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
7829
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
7830
     442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
7831
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
7832
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
7833
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
7834
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
7835
     489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
7836
     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
7837
     508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
7838
     516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
7839
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
7840
     535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
7841
       0,   544,   545,   546,   547,   548,   549,     0,   550,   551,
7842
     552,     0,     0,   553,   554,   555,   556,   557,     0,   558,
7843
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
7844
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
7845
     575,   576,     0,   577,     0,   579,   580,   581,   582,     0,
7846
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
7847
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
7848
     600,   601,   602,   603,     0,     0,     0,   897,   898,   899,
7849
       0,     0,     0,   900,   901,   902,   903,   904,   905,   611,
7850
       0,     0,     0,     0,   891,     0,     0,     0,     0,     0,
7851
       0,   892,   893,   894,   233,   234,   235,   236,   237,   238,
7852
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
7853
       0,     0,     0,   244,   245,     0,   246,   247,   248,     0,
7854
     250,   251,   252,   253,   254,   255,     0,   257,   258,     0,
7855
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
7856
     267,   268,   269,     0,   270,  1746,   272,   273,   274,     0,
7857
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
7858
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
7859
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
7860
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
7861
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
7862
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
7863
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
7864
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
7865
    1747,     0,   338,   339,   340,   341,     0,   342,     0,   343,
7866
       0,     0,     0,   346,   347,   348,   349,     0,   350,   351,
7867
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
7868
     360,     0,   362,   363,   364,   365,     0,   366,   367,   368,
7869
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
7870
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
7871
     386,     0,   388,   389,   390,   391,   392,     0,     0,   393,
7872
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
7873
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
7874
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
7875
     421,   422,     0,   424,     0,   425,   426,     0,   428,     0,
7876
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
7877
       0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
7878
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
7879
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
7880
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
7881
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
7882
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
7883
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
7884
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
7885
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
7886
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
7887
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
7888
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
7889
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
7890
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
7891
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
7892
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
7893
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
7894
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
7895
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
7896
     602,   603,     0,     0,     0,   897,   898,   899,     0,     0,
7897
       0,   900,   901,   902,   903,   904,   905,   611,     0,     0,
7898
       0,     0,   891,     0,     0,     0,     0,     0,     0,   892,
7899
     893,   894,   233,   234,   235,   236,   237,   238,   239,   240,
7900
       0,   241,   242,   243,     0,     0,     0,     0,     0,     0,
7901
       0,   244,   245,     0,   246,   247,   248,     0,   250,   251,
7902
     252,   253,   254,   255,     0,   257,   258,     0,   259,   260,
7903
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
7904
     269,     0,   270,   271,   272,   273,   274,     0,     0,   276,
7905
       0,   277,   278,   279,   280,   281,     0,   283,   284,   285,
7906
       0,   286,   287,   288,   289,   290,   291,     0,     0,   293,
7907
     294,   295,     0,     0,     0,     0,     0,     0,     0,   297,
7908
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
7909
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
7910
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
7911
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
7912
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
7913
     338,   339,   340,   341,     0,   342,     0,   343,     0,     0,
7914
       0,   346,   347,   348,   349,     0,   350,   351,     0,   352,
7915
     353,   354,   355,     0,   356,   357,   358,   359,   360,     0,
7916
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
7917
     371,   372,     0,   373,     0,   375,   376,   377,   378,   379,
7918
     380,   381,     0,   382,     0,   383,     0,     0,   386,     0,
7919
     388,   389,   390,   391,   392,     0,     0,   393,   394,     0,
7920
     396,     0,     0,   398,   399,   400,     0,     0,   401,   402,
7921
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
7922
     413,   414,   415,   416,   417,     0,   419,   420,   421,   422,
7923
       0,   424,     0,   425,   426,     0,   428,     0,   429,   430,
7924
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
7925
     438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
7926
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
7927
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
7928
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
7929
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
7930
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
7931
     492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
7932
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
7933
     511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
7934
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
7935
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
7936
     538,   539,     0,   540,   541,   542,     0,   544,   545,   546,
7937
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
7938
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
7939
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
7940
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
7941
       0,   579,   580,   581,   582,     0,     0,   583,     0,     0,
7942
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
7943
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
7944
       0,     0,     0,   897,   898,   899,     0,     0,     0,   900,
7945
     901,   902,   903,   904,   905,   611,     0,     0,     0,     0,
7946
     891,     0,     0,     0,     0,     0,     0,   892,   893,   894,
7947
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
7948
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
7949
     245,     0,   246,   247,   248,     0,   250,   251,   252,   253,
7950
     254,   255,     0,   257,   258,     0,   259,   260,   261,   262,
7951
     263,   264,     0,     0,   265,   266,   267,   268,   269,     0,
7952
     270,  3030,   272,   273,   274,     0,     0,   276,     0,   277,
7953
     278,   279,   280,   281,     0,   283,   284,   285,     0,   286,
7954
     287,   288,   289,   290,   291,     0,     0,   293,   294,   295,
7955
       0,     0,     0,     0,     0,     0,     0,   297,   298,   299,
7956
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
7957
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
7958
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
7959
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
7960
     332,   333,   334,   335,   336,     0,  3031,     0,   338,   339,
7961
     340,   341,     0,   342,     0,   343,     0,     0,     0,   346,
7962
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
7963
     355,     0,   356,   357,   358,   359,   360,     0,   362,   363,
7964
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
7965
       0,   373,     0,   375,   376,   377,   378,   379,   380,   381,
7966
       0,   382,     0,   383,     0,     0,   386,     0,   388,   389,
7967
     390,   391,   392,     0,     0,   393,   394,     0,   396,     0,
7968
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
7969
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7970
     415,   416,   417,     0,   419,   420,   421,   422,     0,   424,
7971
       0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
7972
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
7973
       0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
7974
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
7975
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
7976
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
7977
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
7978
     485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
7979
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
7980
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
7981
     513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
7982
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
7983
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
7984
       0,   540,   541,   542,     0,   544,   545,   546,   547,   548,
7985
     549,     0,   550,   551,   552,     0,     0,   553,   554,   555,
7986
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
7987
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
7988
     571,   572,   573,   574,   575,   576,     0,   577,     0,   579,
7989
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
7990
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
7991
     596,   597,   598,   599,   600,   601,   602,   603,     0,     0,
7992
       0,   897,   898,   899,     0,     0,     0,   900,   901,   902,
7993
     903,   904,   905,   611,     0,     0,     0,     0,   891,     0,
7994
       0,     0,     0,     0,     0,   892,   893,   894,   233,   234,
7995
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
7996
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
7997
     246,   247,   248,     0,   250,   251,   252,   253,   254,   255,
7998
       0,   257,   258,     0,   259,   260,   261,   262,   263,   264,
7999
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
8000
     272,   273,   274,     0,     0,   276,     0,   277,   278,   279,
8001
     280,   281,     0,   283,   284,   285,     0,   286,   287,   288,
8002
     289,   290,   291,     0,     0,   293,   294,   295,     0,     0,
8003
       0,     0,     0,     0,     0,   297,   298,   299,   300,   301,
8004
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
8005
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
8006
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
8007
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
8008
     334,   335,   336,     0,   337,     0,   338,   339,   340,   341,
8009
       0,   342,     0,   343,     0,     0,     0,   346,   347,   348,
8010
     349,     0,   350,   351,     0,   352,   353,   354,   355,     0,
8011
     356,   357,   358,   359,   360,     0,   362,   363,   364,   365,
8012
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
8013
       0,   375,   376,   377,   378,   379,   380,   381,     0,   382,
8014
       0,   383,     0,     0,   386,     0,   388,   389,   390,   391,
8015
     392,     0,     0,   393,   394,     0,   396,     0,     0,   398,
8016
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
8017
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
8018
     417,     0,   419,   420,   421,   422,     0,   424,     0,   425,
8019
     426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
8020
       0,   435,   436,     0,     0,  4884,   438,   439,     0,     0,
8021
     440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
8022
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
8023
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
8024
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
8025
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
8026
     487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
8027
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
8028
     506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
8029
     514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
8030
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
8031
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
8032
     541,   542,     0,   544,   545,   546,   547,   548,   549,     0,
8033
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
8034
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
8035
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
8036
     573,   574,   575,   576,     0,   577,     0,   579,   580,   581,
8037
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
8038
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
8039
     598,   599,   600,   601,   602,   603,  1646,     0,     0,   897,
8040
     898,   899,     0,     0,     0,   900,   901,   902,   903,   904,
8041
     905,   233,   234,   235,   236,   237,   238,   239,   240,  1647,
8042
     241,   242,   243,  1648,  1649,  1650,  1651,  1652,  1653,  1654,
8043
     244,   245,  1655,   246,   247,   248,   249,   250,   251,   252,
8044
     253,   254,   255,   256,   257,   258,  1656,   259,   260,   261,
8045
     262,   263,   264,  1657,  1658,   265,   266,   267,   268,   269,
8046
    1659,   270,   271,   272,   273,   274,  1660,   275,   276,  1661,
8047
     277,   278,   279,   280,   281,   282,   283,   284,   285,  1662,
8048
     286,   287,   288,   289,   290,   291,  1663,   292,   293,   294,
8049
     295,  1664,  1665,  1666,   296,  1667,  1668,  1669,   297,   298,
8050
     299,   300,   301,   302,   303,   304,   305,  1670,   306,  1671,
8051
     307,   308,   309,   310,   311,   312,  1672,   313,   314,   315,
8052
     316,  1673,  1674,   317,   318,   319,   320,   321,  1675,   322,
8053
     323,   324,  1676,   325,   326,   327,  1677,   328,   329,   330,
8054
     331,   332,   333,   334,   335,   336,  1678,   337,  1679,   338,
8055
     339,   340,   341,  1680,   342,  1681,   343,   344,  1682,   345,
8056
     346,   347,   348,   349,  1683,   350,   351,  1684,   352,   353,
8057
     354,   355,  1685,   356,   357,   358,   359,   360,   361,   362,
8058
     363,   364,   365,  1686,   366,   367,   368,   369,   370,   371,
8059
     372,  1687,   373,   374,   375,   376,   377,   378,   379,   380,
8060
     381,  1688,   382,  1689,   383,   384,   385,   386,   387,   388,
8061
     389,   390,   391,   392,  1690,  1691,   393,   394,   395,   396,
8062
     397,  1692,   398,   399,   400,  1693,  1694,   401,   402,   403,
8063
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
8064
     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
8065
     424,  1695,   425,   426,   427,   428,  1696,   429,   430,   431,
8066
     432,   433,   434,  1697,   435,   436,  1698,  1699,   437,   438,
8067
     439,  1700,  1701,   440,   441,   442,   443,   444,   445,   446,
8068
     447,   448,   449,   450,   451,   452,   453,   454,   455,  1702,
8069
     456,   457,   458,   459,   460,   461,   462,   463,  1703,   464,
8070
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
8071
     475,   476,   477,   478,  1704,   479,   480,   481,   482,   483,
8072
     484,   485,   486,   487,   488,   489,   490,  1705,   491,   492,
8073
     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
8074
     503,   504,   505,   506,   507,   508,  1706,   509,   510,   511,
8075
     512,   513,  1707,   514,   515,   516,   517,   518,   519,   520,
8076
     521,   522,   523,  1708,   524,   525,   526,   527,   528,   529,
8077
     530,   531,   532,   533,   534,   535,   536,   537,  1709,   538,
8078
     539,  1710,   540,   541,   542,   543,   544,   545,   546,   547,
8079
     548,   549,  1711,   550,   551,   552,  1712,  1713,   553,   554,
8080
     555,   556,   557,  1714,   558,   559,   560,   561,   562,   563,
8081
     564,  1715,  1716,   565,   566,   567,   568,   569,  1717,  1718,
8082
     570,   571,   572,   573,   574,   575,   576,  1719,   577,   578,
8083
     579,   580,   581,   582,  1720,  1721,   583,  1722,  1723,   584,
8084
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
8085
     595,   596,   597,   598,   599,   600,   601,   602,   603,   611,
8086
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8087
    1724,     0,     0,     0,   233,   234,   235,   236,   237,   238,
8088
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
8089
       0,     0,     0,   244,   245,     0,   246,   247,   248,     0,
8090
     250,   251,   252,   253,   254,   255,     0,   257,   258,     0,
8091
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
8092
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
8093
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
8094
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
8095
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
8096
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
8097
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
8098
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
8099
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
8100
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
8101
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
8102
       0,     0,     0,   346,   347,   348,   349,     0,   350,   351,
8103
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
8104
     360,     0,   362,   363,   364,   365,     0,   366,   367,   368,
8105
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
8106
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
8107
     386,     0,   388,   389,   390,   391,   392,     0,     0,   393,
8108
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
8109
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
8110
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
8111
     421,   422,     0,   424,     0,   425,   426,     0,   428,     0,
8112
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
8113
       0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
8114
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
8115
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
8116
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
8117
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
8118
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
8119
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
8120
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
8121
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
8122
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
8123
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
8124
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
8125
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
8126
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
8127
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
8128
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
8129
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
8130
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
8131
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
8132
     602,   603,   611,     0,     0,     0,     0,     0,     0,     0,
8133
       0,     0,     0,   829,     0,     0,     0,   233,   234,   235,
8134
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
8135
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
8136
     247,   248,     0,   250,   251,   252,   253,   254,   255,     0,
8137
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
8138
       0,   265,   266,   267,   268,   269,     0,   270,   271,   272,
8139
     273,   274,     0,     0,   276,     0,   277,   278,   279,   280,
8140
     281,     0,   283,   284,   285,     0,   286,   287,   288,   289,
8141
     290,   291,     0,     0,   293,   294,   295,     0,     0,     0,
8142
       0,     0,     0,     0,   297,   298,   299,   300,   301,   302,
8143
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
8144
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
8145
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
8146
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
8147
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
8148
     342,     0,   343,     0,     0,     0,   346,   347,   348,   349,
8149
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
8150
     357,   358,   359,   360,     0,   362,   363,   364,   365,     0,
8151
     366,   367,   368,   369,   370,   371,   372,     0,   373,     0,
8152
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
8153
     383,     0,     0,   386,     0,   388,   389,   390,   391,   392,
8154
       0,     0,   393,   394,     0,   396,     0,     0,   398,   399,
8155
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
8156
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
8157
       0,   419,   420,   421,   422,     0,   424,     0,   425,   426,
8158
       0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
8159
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
8160
     441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
8161
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
8162
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
8163
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
8164
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8165
     488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
8166
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
8167
     507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
8168
     515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
8169
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8170
     534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
8171
     542,     0,   544,   545,   546,   547,   548,   549,     0,   550,
8172
     551,   552,     0,     0,   553,   554,   555,   556,   557,     0,
8173
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
8174
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
8175
     574,   575,   576,     0,   577,     0,   579,   580,   581,   582,
8176
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
8177
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
8178
     599,   600,   601,   602,   603,  1078,     0,     0,     0,     0,
8179
       0,     0,     0,     0,     0,     0,  5294,     0,     0,     0,
8180
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
8181
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
8182
     245,     0,   246,   247,   248,   249,   250,   251,   252,   253,
8183
       0,  1079,   256,  1080,  1081,     0,   259,   260,   261,   262,
8184
     263,   264,     0,     0,   265,   266,  1082,  1083,   269,     0,
8185
     270,   271,   272,   273,     0,     0,   275,   276,     0,   277,
8186
     278,   279,   280,   281,   282,   283,   284,   285,     0,   286,
8187
     287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
8188
       0,     0,     0,   296,     0,     0,     0,   297,   298,   299,
8189
     300,   301,   302,  1084,  1085,   305,     0,   306,     0,   307,
8190
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
8191
       0,     0,   317,   318,  1086,   320,   321,     0,   322,   323,
8192
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
8193
       0,   333,   334,   335,     0,     0,   337,     0,   338,   339,
8194
    1087,   341,     0,   342,     0,   343,   344,     0,   345,   346,
8195
     347,   348,   349,     0,   350,     0,     0,     0,   353,   354,
8196
     355,     0,   356,   357,   358,   359,   360,   361,   362,   363,
8197
     364,   365,  2187,   366,   367,   368,   369,   370,   371,   372,
8198
       0,   373,   374,  2188,   376,   377,   378,   379,  1089,  1090,
8199
       0,  1091,     0,   383,   384,   385,   386,   387,   388,   389,
8200
     390,   391,   392,     0,     0,   393,     0,   395,   396,   397,
8201
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
8202
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
8203
     415,   416,  1092,   418,  1093,   420,   421,   422,   423,     0,
8204
       0,   425,   426,   427,   428,     0,     0,   430,  1094,   432,
8205
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
8206
       0,  2189,   440,   441,  2190,   443,   444,   445,     0,   447,
8207
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
8208
     457,     0,   459,     0,   461,   462,   463,     0,   464,   465,
8209
     466,   467,   468,   469,   470,   471,   472,   473,  1095,   475,
8210
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
8211
     485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
8212
     494,   495,   496,   497,   498,     0,   500,   501,   502,   503,
8213
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
8214
     513,     0,   514,   515,  2191,   517,   518,   519,   520,   521,
8215
    1097,   523,     0,   524,   525,   526,   527,   528,   529,   530,
8216
     531,   532,   533,   534,   535,   536,     0,     0,   538,   539,
8217
       0,   540,   541,   542,   543,   544,   545,   546,   547,   548,
8218
     549,     0,   550,  1098,  1099,     0,     0,   553,   554,     0,
8219
     556,     0,     0,   558,   559,   560,   561,   562,   563,   564,
8220
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
8221
     571,   572,   573,   574,     0,  1100,  2192,   577,   578,   579,
8222
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
8223
     586,   587,   588,   589,     0,     0,  2514,     0,     0,     0,
8224
       0,     0,     0,     0,     0,   601,   602,   603,     0,     0,
8225
       0,   233,   234,   235,   236,   237,   238,   239,   240,  2193,
8226
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
8227
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
8228
     253,     0,  1079,   256,  1080,  1081,     0,   259,   260,   261,
8229
     262,   263,   264,     0,     0,   265,   266,  1082,  1083,   269,
8230
       0,   270,   271,   272,   273,     0,     0,   275,   276,     0,
8231
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
8232
     286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
8233
     295,     0,     0,     0,   296,     0,     0,     0,   297,   298,
8234
     299,   300,   301,   302,  1084,  1085,   305,     0,   306,     0,
8235
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
8236
     316,     0,     0,   317,   318,  1086,   320,   321,     0,   322,
8237
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
8238
     331,     0,   333,   334,   335,     0,     0,   337,     0,   338,
8239
     339,  1087,   341,     0,   342,     0,   343,   344,     0,   345,
8240
     346,   347,   348,   349,     0,   350,     0,     0,     0,   353,
8241
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
8242
     363,   364,   365,  2187,   366,   367,   368,   369,   370,   371,
8243
     372,     0,   373,   374,  2188,   376,   377,   378,   379,  1089,
8244
    1090,     0,  1091,     0,   383,   384,   385,   386,   387,   388,
8245
     389,   390,   391,   392,     0,     0,   393,     0,   395,   396,
8246
     397,     0,   398,   399,   400,     0,     0,   401,   402,   403,
8247
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
8248
     414,   415,   416,  1092,   418,  1093,   420,   421,   422,   423,
8249
       0,     0,   425,   426,   427,   428,     0,     0,   430,  1094,
8250
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
8251
     439,     0,  2189,   440,   441,  2190,   443,   444,   445,     0,
8252
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
8253
     456,   457,     0,   459,     0,   461,   462,   463,     0,   464,
8254
     465,   466,   467,   468,   469,   470,   471,   472,   473,  1095,
8255
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
8256
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
8257
     493,   494,   495,   496,   497,   498,     0,   500,   501,   502,
8258
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
8259
     512,   513,     0,   514,   515,  2191,   517,   518,   519,   520,
8260
     521,  1097,   523,     0,   524,   525,   526,   527,   528,   529,
8261
     530,   531,   532,   533,   534,   535,   536,     0,     0,   538,
8262
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
8263
     548,   549,     0,   550,  1098,  1099,     0,     0,   553,   554,
8264
       0,   556,     0,     0,   558,   559,   560,   561,   562,   563,
8265
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
8266
     570,   571,   572,   573,   574,     0,  1100,  2192,   577,   578,
8267
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
8268
     585,   586,   587,   588,   589,     0,     0,   877,  1511,   673,
8269
       0,     0,     0,   735,     0,     0,   601,   602,   603,     0,
8270
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
8271
    2193,   241,   242,   243,     0,     0,     0,     0,     0,     0,
8272
       0,   244,   245,     0,   246,   247,   248,   249,   250,   251,
8273
     252,   253,   254,   255,   256,   257,   258,     0,   259,   260,
8274
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
8275
     269,     0,   270,   271,   272,   273,   274,     0,   275,   276,
8276
       0,   277,   278,   279,   280,   281,   282,   283,   284,   285,
8277
       0,   286,   287,   288,   289,   290,   291,     0,   292,   293,
8278
     294,   295,     0,     0,     0,   296,     0,     0,     0,   297,
8279
     298,   299,   300,   301,   302,   303,   304,   305,  2118,   306,
8280
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
8281
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
8282
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
8283
     330,   331,   332,   333,   334,   335,   336,  1937,   337,     0,
8284
     338,   339,   340,   341,     0,   342,     0,   343,   344,     0,
8285
     345,   346,   347,   348,   349,     0,   350,   351,     0,   352,
8286
     353,   354,   355,     0,   356,   357,   358,   359,   360,   361,
8287
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
8288
     371,   372,     0,   373,   374,   375,   376,   377,   378,   379,
8289
     380,   381,     0,   382,     0,   383,   384,   385,   386,   387,
8290
     388,   389,   390,   391,   392,     0,     0,   393,   394,   395,
8291
     396,   397,     0,   398,   399,   400,     0,     0,   401,   402,
8292
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8293
     413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8294
     423,   424,     0,   425,   426,   427,   428,     0,   429,   430,
8295
     431,   432,   433,   434,     0,   435,   436,  1938,     0,   437,
8296
     438,   439,     0,     0,   440,   441,   442,   443,   444,   445,
8297
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
8298
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
8299
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
8300
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
8301
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
8302
     492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
8303
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
8304
     511,   512,   513,     0,   514,   515,   516,   517,   518,   519,
8305
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
8306
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
8307
     538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
8308
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
8309
     554,   555,   556,   557,  1939,   558,   559,   560,   561,   562,
8310
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
8311
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
8312
     578,   579,   580,   581,   582,     0,     0,   583,     0,     0,
8313
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
8314
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
8315
     877,  1511,   673,     0,     0,     0,   735,     0,     0,  1512,
8316
    1513,     0,     0,     0,     0,   233,   234,   235,   236,   237,
8317
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
8318
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
8319
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
8320
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
8321
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
8322
       0,   275,   276,     0,   277,   278,   279,   280,   281,   282,
8323
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
8324
       0,   292,   293,   294,   295,     0,     0,     0,   296,     0,
8325
       0,     0,   297,   298,   299,   300,   301,   302,   303,   304,
8326
     305,  2123,   306,     0,   307,   308,   309,   310,   311,   312,
8327
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
8328
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
8329
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
8330
    1937,   337,     0,   338,   339,   340,   341,     0,   342,     0,
8331
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
8332
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
8333
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
8334
     368,   369,   370,   371,   372,     0,   373,   374,   375,   376,
8335
     377,   378,   379,   380,   381,     0,   382,     0,   383,   384,
8336
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
8337
     393,   394,   395,   396,   397,     0,   398,   399,   400,     0,
8338
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
8339
     410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
8340
     420,   421,   422,   423,   424,     0,   425,   426,   427,   428,
8341
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
8342
    1938,     0,   437,   438,   439,     0,     0,   440,   441,   442,
8343
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
8344
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
8345
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
8346
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
8347
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
8348
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
8349
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
8350
       0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
8351
     517,   518,   519,   520,   521,   522,   523,     0,   524,   525,
8352
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8353
     536,   537,     0,   538,   539,     0,   540,   541,   542,   543,
8354
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
8355
       0,     0,   553,   554,   555,   556,   557,  1939,   558,   559,
8356
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
8357
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
8358
     576,     0,   577,   578,   579,   580,   581,   582,     0,     0,
8359
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
8360
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
8361
     601,   602,   603,   877,  1511,   673,     0,     0,     0,   735,
8362
       0,     0,  1512,  1513,     0,     0,     0,     0,   233,   234,
8363
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
8364
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
8365
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
8366
     256,   257,   258,     0,   259,   260,   261,   262,   263,   264,
8367
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
8368
     272,   273,   274,     0,   275,   276,     0,   277,   278,   279,
8369
     280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
8370
     289,   290,   291,     0,   292,   293,   294,   295,     0,     0,
8371
       0,   296,     0,     0,     0,   297,   298,   299,   300,   301,
8372
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
8373
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
8374
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
8375
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
8376
     334,   335,   336,  1937,   337,     0,   338,   339,   340,   341,
8377
       0,   342,     0,   343,   344,     0,   345,   346,   347,   348,
8378
     349,     0,   350,   351,     0,   352,   353,   354,   355,     0,
8379
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
8380
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
8381
     374,   375,   376,   377,   378,   379,   380,   381,     0,   382,
8382
       0,   383,   384,   385,   386,   387,   388,   389,   390,   391,
8383
     392,     0,     0,   393,   394,   395,   396,   397,     0,   398,
8384
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
8385
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
8386
     417,   418,   419,   420,   421,   422,   423,   424,     0,   425,
8387
     426,   427,   428,     0,   429,   430,   431,   432,   433,   434,
8388
       0,   435,   436,  1938,     0,   437,   438,   439,     0,     0,
8389
     440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
8390
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
8391
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
8392
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
8393
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
8394
     487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
8395
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
8396
     506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
8397
     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8398
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
8399
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
8400
     541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
8401
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
8402
    1939,   558,   559,   560,   561,   562,   563,   564,     0,     0,
8403
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
8404
     573,   574,   575,   576,     0,   577,   578,   579,   580,   581,
8405
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
8406
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
8407
     598,   599,   600,   601,   602,   603,   877,     0,   673,     0,
8408
       0,     0,   735,     0,     0,  1512,  1513,     0,     0,     0,
8409
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
8410
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
8411
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
8412
     253,   254,   255,   256,   257,   258,     0,   259,   260,   261,
8413
     262,   263,   264,     0,     0,   265,   266,   267,   268,   269,
8414
       0,   270,   271,   272,   273,   274,     0,   275,   276,     0,
8415
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
8416
     286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
8417
     295,     0,     0,     0,   296,     0,     0,     0,   297,   298,
8418
     299,   300,   301,   302,   303,   304,   305,  2984,   306,     0,
8419
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
8420
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
8421
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
8422
     331,   332,   333,   334,   335,   336,  1937,   337,     0,   338,
8423
     339,   340,   341,     0,   342,     0,   343,   344,     0,   345,
8424
     346,   347,   348,   349,     0,   350,   351,     0,   352,   353,
8425
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
8426
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
8427
     372,     0,   373,   374,   375,   376,   377,   378,   379,   380,
8428
     381,     0,   382,     0,   383,   384,   385,   386,   387,   388,
8429
     389,   390,   391,   392,     0,     0,   393,   394,   395,   396,
8430
     397,     0,   398,   399,   400,     0,     0,   401,   402,   403,
8431
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
8432
     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
8433
     424,     0,   425,   426,   427,   428,     0,   429,   430,   431,
8434
     432,   433,   434,     0,   435,   436,  1938,     0,   437,   438,
8435
     439,     0,     0,   440,   441,   442,   443,   444,   445,   446,
8436
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
8437
     456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
8438
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
8439
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
8440
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
8441
     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
8442
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
8443
     512,   513,     0,   514,   515,   516,   517,   518,   519,   520,
8444
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
8445
     530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
8446
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
8447
     548,   549,     0,   550,   551,   552,     0,     0,   553,   554,
8448
     555,   556,   557,  1939,   558,   559,   560,   561,   562,   563,
8449
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
8450
     570,   571,   572,   573,   574,   575,   576,     0,   577,   578,
8451
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
8452
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
8453
     595,   596,   597,   598,   599,   600,   601,   602,   603,   611,
8454
       0,     0,     0,     0,     0,   735,     0,     0,   747,   748,
8455
       0,     0,     0,     0,   233,   736,   235,   236,   237,   238,
8456
     239,   240,   737,   241,   242,   243,     0,     0,     0,     0,
8457
       0,     0,     0,   244,   245,     0,   246,   247,   248,     0,
8458
     250,   738,   252,   253,   254,   255,     0,   257,   258,     0,
8459
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
8460
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
8461
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
8462
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
8463
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
8464
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
8465
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
8466
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
8467
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
8468
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
8469
     337,     0,   338,   739,   340,   341,     0,   342,     0,   740,
8470
       0,   741,     0,   346,   347,   348,   349,     0,   350,   351,
8471
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
8472
     360,     0,   362,   363,   364,   365,   742,   366,   367,   368,
8473
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
8474
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
8475
     386,     0,   388,   389,   390,   391,   743,     0,     0,   393,
8476
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
8477
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
8478
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
8479
     744,   422,     0,   424,     0,   425,   426,     0,   428,     0,
8480
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
8481
       0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
8482
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
8483
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
8484
     463,     0,   745,   465,   466,   467,   468,   469,   470,   471,
8485
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
8486
     481,   746,   483,   484,   485,   486,   487,   488,   489,   490,
8487
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
8488
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
8489
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
8490
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
8491
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
8492
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
8493
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
8494
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
8495
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
8496
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
8497
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
8498
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
8499
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
8500
     602,   603,  1646,  5523,   673,     0,     0,     0,   735,     0,
8501
       0,   747,   748,     0,     0,     0,     0,   233,   234,   235,
8502
     236,   237,   238,   239,   240,  1647,   241,   242,   243,  1648,
8503
    1649,  1650,  1651,  1652,  1653,  1654,   244,   245,  1655,   246,
8504
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
8505
     257,   258,  1656,   259,   260,   261,   262,   263,   264,  1657,
8506
    1658,   265,   266,   267,   268,   269,  1659,   270,   271,   272,
8507
     273,   274,  1660,   275,   276,  1661,   277,   278,   279,   280,
8508
     281,   282,   283,   284,   285,  1662,   286,   287,   288,   289,
8509
     290,   291,  1663,   292,   293,   294,   295,  1664,  1665,  1666,
8510
     296,  1667,  1668,  1669,   297,   298,   299,   300,   301,   302,
8511
     303,   304,   305,  1670,   306,  1671,   307,   308,   309,   310,
8512
     311,   312,  1672,   313,   314,   315,   316,  1673,  1674,   317,
8513
     318,   319,   320,   321,  1675,   322,   323,   324,  1676,   325,
8514
     326,   327,  1677,   328,   329,   330,   331,   332,   333,   334,
8515
     335,   336,  1678,   337,  1679,   338,   339,   340,   341,  1680,
8516
     342,  1681,   343,   344,  1682,   345,   346,   347,   348,   349,
8517
    1683,   350,   351,  1684,   352,   353,   354,   355,  1685,   356,
8518
     357,   358,   359,   360,   361,   362,   363,   364,   365,  1686,
8519
     366,   367,   368,   369,   370,   371,   372,  1687,   373,   374,
8520
     375,   376,   377,   378,   379,   380,   381,  1688,   382,  1689,
8521
     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
8522
    1690,  1691,   393,   394,   395,   396,   397,  1692,   398,   399,
8523
     400,  1693,  1694,   401,   402,   403,   404,   405,   406,   407,
8524
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
8525
     418,   419,   420,   421,   422,   423,   424,  1695,   425,   426,
8526
     427,   428,  1696,   429,   430,   431,   432,   433,   434,  1697,
8527
     435,   436,  1698,  1699,   437,   438,   439,  1700,  1701,   440,
8528
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
8529
     451,   452,   453,   454,   455,  1702,   456,   457,   458,   459,
8530
     460,   461,   462,   463,  1703,   464,   465,   466,   467,   468,
8531
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
8532
    1704,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8533
     488,   489,   490,  1705,   491,   492,   493,   494,   495,   496,
8534
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
8535
     507,   508,  1706,   509,   510,   511,   512,   513,  1707,   514,
8536
     515,   516,   517,   518,   519,   520,   521,   522,   523,  1708,
8537
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8538
     534,   535,   536,   537,  1709,   538,   539,  1710,   540,   541,
8539
     542,   543,   544,   545,   546,   547,   548,   549,  1711,   550,
8540
     551,   552,  1712,  1713,   553,   554,   555,   556,   557,  1714,
8541
     558,   559,   560,   561,   562,   563,   564,  1715,  1716,   565,
8542
     566,   567,   568,   569,  1717,  1718,   570,   571,   572,   573,
8543
     574,   575,   576,  1719,   577,   578,   579,   580,   581,   582,
8544
    1720,  1721,   583,  1722,  1723,   584,   585,   586,   587,   588,
8545
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
8546
     599,   600,   601,   602,   603,  1646,     0,     0,     0,     0,
8547
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8548
     233,   234,   235,   236,   237,   238,   239,   240,  1647,   241,
8549
     242,   243,  1648,  1649,  1650,  1651,  1652,  1653,  1654,   244,
8550
     245,  1655,   246,   247,   248,   249,   250,   251,   252,   253,
8551
     254,   255,   256,   257,   258,  1656,   259,   260,   261,   262,
8552
     263,   264,  1657,  1658,   265,   266,   267,   268,   269,  1659,
8553
     270,   271,   272,   273,   274,  1660,   275,   276,  1661,   277,
8554
     278,   279,   280,   281,   282,   283,   284,   285,  1662,   286,
8555
     287,   288,   289,   290,   291,  1663,   292,   293,   294,   295,
8556
    1664,  1665,  1666,   296,  1667,  1668,  1669,   297,   298,   299,
8557
     300,   301,   302,   303,   304,   305,  1670,   306,  1671,   307,
8558
     308,   309,   310,   311,   312,  1672,   313,   314,   315,   316,
8559
    1673,  1674,   317,   318,   319,   320,   321,  1675,   322,   323,
8560
     324,  1676,   325,   326,   327,  1677,   328,   329,   330,   331,
8561
     332,   333,   334,   335,   336,  1678,   337,  1679,   338,   339,
8562
     340,   341,  1680,   342,  1681,   343,   344,  1682,   345,   346,
8563
     347,   348,   349,  1683,   350,   351,  1684,   352,   353,   354,
8564
     355,  1685,   356,   357,   358,   359,   360,   361,   362,   363,
8565
     364,   365,  1686,   366,   367,   368,   369,   370,   371,   372,
8566
    1687,   373,   374,   375,   376,   377,   378,   379,   380,   381,
8567
    1688,   382,  1689,   383,   384,   385,   386,   387,   388,   389,
8568
     390,   391,   392,  1690,  1691,   393,   394,   395,   396,   397,
8569
    1692,   398,   399,   400,  1693,  1694,   401,   402,   403,   404,
8570
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
8571
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
8572
    1695,   425,   426,   427,   428,  1696,   429,   430,   431,   432,
8573
     433,   434,  1697,   435,   436,  1698,  1699,   437,   438,   439,
8574
    1700,  1701,   440,   441,   442,   443,   444,   445,   446,   447,
8575
     448,   449,   450,   451,   452,   453,   454,   455,  1702,   456,
8576
     457,   458,   459,   460,   461,   462,   463,  1703,   464,   465,
8577
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
8578
     476,   477,   478,  1704,   479,   480,   481,   482,   483,   484,
8579
     485,   486,   487,   488,   489,   490,  1705,   491,   492,   493,
8580
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
8581
     504,   505,   506,   507,   508,  1706,   509,   510,   511,   512,
8582
     513,  1707,   514,   515,   516,   517,   518,   519,   520,   521,
8583
     522,   523,  1708,   524,   525,   526,   527,   528,   529,   530,
8584
     531,   532,   533,   534,   535,   536,   537,  1709,   538,   539,
8585
    1710,   540,   541,   542,   543,   544,   545,   546,   547,   548,
8586
     549,  1711,   550,   551,   552,  1712,  1713,   553,   554,   555,
8587
     556,   557,  1714,   558,   559,   560,   561,   562,   563,   564,
8588
    1715,  1716,   565,   566,   567,   568,   569,  1717,  1718,   570,
8589
     571,   572,   573,   574,   575,   576,  1719,   577,   578,   579,
8590
     580,   581,   582,  1720,  1721,   583,  1722,  1723,   584,   585,
8591
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
8592
     596,   597,   598,   599,   600,   601,   602,   603,  1646,     0,
8593
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8594
       0,     0,     0,   233,   234,   235,   236,  3102,   238,   239,
8595
     240,  1647,   241,   242,   243,  1648,  1649,  1650,  1651,  1652,
8596
    1653,  1654,   244,   245,  1655,   246,   247,   248,   249,   250,
8597
     251,   252,   253,   254,   255,   256,   257,   258,  1656,   259,
8598
     260,   261,   262,   263,   264,  1657,  1658,   265,   266,   267,
8599
     268,   269,  1659,   270,   271,   272,   273,   274,  1660,   275,
8600
     276,  1661,   277,   278,   279,   280,   281,   282,   283,   284,
8601
     285,  1662,   286,   287,   288,   289,   290,   291,  1663,   292,
8602
     293,   294,   295,  1664,  1665,  1666,   296,  1667,  1668,  1669,
8603
     297,   298,   299,   300,   301,   302,   303,   304,   305,  1670,
8604
     306,  1671,   307,   308,   309,   310,   311,   312,  1672,   313,
8605
     314,   315,   316,  1673,  1674,   317,   318,   319,  3103,   321,
8606
    1675,   322,   323,   324,  1676,   325,   326,   327,  1677,   328,
8607
     329,   330,   331,   332,   333,   334,   335,   336,  1678,   337,
8608
    1679,   338,   339,   340,   341,  1680,   342,  1681,   343,   344,
8609
    1682,   345,   346,   347,   348,   349,  1683,   350,   351,  1684,
8610
     352,   353,   354,   355,  1685,   356,   357,   358,   359,   360,
8611
     361,   362,   363,   364,   365,  1686,   366,   367,   368,   369,
8612
     370,   371,   372,  1687,   373,   374,   375,   376,   377,   378,
8613
     379,   380,   381,  1688,   382,  1689,   383,   384,   385,   386,
8614
     387,   388,   389,   390,   391,   392,  1690,  1691,   393,   394,
8615
     395,   396,   397,  1692,   398,   399,   400,  1693,  1694,   401,
8616
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
8617
     412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
8618
     422,   423,   424,  1695,   425,   426,   427,   428,  1696,   429,
8619
     430,   431,   432,   433,   434,  1697,   435,   436,  1698,  1699,
8620
     437,   438,   439,  1700,  1701,   440,   441,   442,   443,   444,
8621
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
8622
     455,  1702,   456,   457,   458,   459,   460,   461,   462,   463,
8623
    1703,   464,   465,   466,   467,   468,   469,   470,   471,   472,
8624
     473,   474,   475,   476,   477,   478,  1704,   479,   480,   481,
8625
     482,   483,   484,   485,   486,   487,   488,   489,   490,  1705,
8626
     491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
8627
     501,   502,   503,   504,   505,   506,   507,   508,  1706,   509,
8628
     510,   511,   512,   513,  1707,  3104,   515,   516,   517,   518,
8629
     519,   520,   521,   522,   523,  1708,   524,   525,   526,   527,
8630
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
8631
    1709,   538,   539,  1710,   540,   541,   542,   543,   544,   545,
8632
     546,   547,   548,   549,  1711,   550,   551,   552,  1712,  1713,
8633
     553,   554,   555,   556,   557,  1714,   558,   559,   560,   561,
8634
     562,   563,   564,  1715,  1716,   565,   566,   567,   568,   569,
8635
    1717,  1718,   570,   571,   572,   573,   574,   575,   576,  1719,
8636
     577,   578,   579,   580,   581,   582,  1720,  1721,   583,  1722,
8637
    1723,   584,   585,   586,   587,   588,   589,   590,   591,   592,
8638
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
8639
     603,   232,     0,     0,     0,     0,     0,     0,     0,     0,
8640
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
8641
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
8642
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
8643
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
8644
     258,     0,   259,   260,   261,   262,   263,   264,     0,  1238,
8645
     265,   266,   267,   268,   269,     0,   270,   271,   272,   273,
8646
    1241,     0,  1242,   276,     0,   277,   278,   279,   280,   281,
8647
     282,   283,   284,   285,     0,   286,   287,   288,   289,   290,
8648
     291,     0,   292,   293,   294,   295,  1243,  1244,  1245,  1246,
8649
    1247,  1248,  1249,   297,   298,   299,   300,   301,   302,   303,
8650
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
8651
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
8652
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
8653
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
8654
    1254,     0,   337,     0,   338,   339,   340,   341,     0,   342,
8655
       0,   343,   344,     0,   345,   346,   347,   348,   349,     0,
8656
     350,  1257,     0,   352,   353,   354,   355,     0,   356,   357,
8657
     358,   359,   360,   361,   362,   363,   364,   365,     0,   366,
8658
     367,   368,   369,   370,   371,   372,     0,   373,   374,   375,
8659
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
8660
     384,   385,   386,   387,   388,   389,   390,   391,   392,     0,
8661
       0,   393,  1262,   395,   396,   397,     0,   398,   399,   400,
8662
    1263,  1264,   401,   402,   403,   404,   405,   406,   407,   408,
8663
     409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
8664
     419,   420,   421,   422,   423,   424,     0,   425,   426,   427,
8665
     428,     0,  1269,   430,   431,   432,   433,   434,     0,   435,
8666
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
8667
     442,   443,   444,   445,  1272,   447,   448,   449,   450,   451,
8668
     452,   453,   454,   455,     0,   456,   457,  1273,   459,   460,
8669
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
8670
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
8671
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
8672
     489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
8673
     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
8674
     508,     0,   509,   510,   511,   512,   513,  1276,   514,   515,
8675
     516,   517,   518,   519,   520,   521,   522,   523,     0,   524,
8676
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
8677
     535,   536,  1278,     0,   538,   539,     0,   540,   541,   542,
8678
     543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
8679
     552,     0,     0,   553,   554,  1281,   556,  1282,     0,   558,
8680
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
8681
     567,   568,   569,  1285,     0,   570,   571,   572,   573,   574,
8682
     575,   576,     0,   577,   578,   579,   580,   581,   582,     0,
8683
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
8684
     590,  1287,  1288,  1289,  1290,   595,  1291,  1292,  1293,  1294,
8685
     600,   601,   602,   603,   877,     0,   673,     0,     0,     0,
8686
       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
8687
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
8688
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
8689
       0,   246,   247,   248,   249,   250,   251,   252,   253,   254,
8690
     255,   256,   257,   258,     0,   259,   260,   261,   262,   263,
8691
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
8692
     271,   272,   273,   274,     0,   275,   276,     0,   277,   278,
8693
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
8694
     288,   289,   290,   291,     0,   292,   293,   294,   295,     0,
8695
       0,     0,   296,     0,     0,     0,   297,   298,   299,   300,
8696
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
8697
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
8698
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
8699
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
8700
     333,   334,   335,   336,  1937,   337,     0,   338,   339,   340,
8701
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
8702
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
8703
       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
8704
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
8705
     373,   374,   375,   376,   377,   378,   379,   380,   381,     0,
8706
     382,     0,   383,   384,   385,   386,   387,   388,   389,   390,
8707
     391,   392,     0,     0,   393,   394,   395,   396,   397,     0,
8708
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
8709
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
8710
     416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
8711
     425,   426,   427,   428,     0,   429,   430,   431,   432,   433,
8712
     434,     0,   435,   436,  1938,     0,   437,   438,   439,     0,
8713
       0,   440,   441,   442,   443,   444,   445,   446,   447,   448,
8714
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
8715
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
8716
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
8717
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
8718
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
8719
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
8720
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
8721
       0,   514,   515,   516,   517,   518,   519,   520,   521,   522,
8722
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
8723
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
8724
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
8725
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
8726
     557,  1939,   558,   559,   560,   561,   562,   563,   564,     0,
8727
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
8728
     572,   573,   574,   575,   576,     0,   577,   578,   579,   580,
8729
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
8730
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
8731
     597,   598,   599,   600,   601,   602,   603,   877,     0,     0,
8732
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8733
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
8734
     915,   241,   242,   243,     0,     0,     0,     0,     0,     0,
8735
       0,   244,   245,     0,   246,   247,   248,   249,   250,   251,
8736
     252,   253,   254,   255,   256,   257,   258,     0,   259,   260,
8737
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
8738
     269,     0,   270,   271,   272,   273,   274,     0,   275,   276,
8739
       0,   277,   278,   279,   280,   281,   282,   283,   284,   285,
8740
       0,   286,   287,   288,   289,   290,   291,     0,   292,   293,
8741
     294,   295,     0,     0,     0,   296,     0,     0,   878,   297,
8742
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
8743
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
8744
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
8745
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
8746
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
8747
     338,   339,   340,   341,     0,   342,     0,   343,   344,     0,
8748
     345,   346,   347,   348,   349,     0,   350,   351,     0,   352,
8749
     353,   354,   355,     0,   356,   357,   358,   359,   360,   361,
8750
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
8751
     371,   372,     0,   373,   374,   375,   376,   377,   378,   379,
8752
     380,   381,     0,   382,     0,   383,   384,   385,   386,   387,
8753
     388,   389,   390,   391,   392,     0,     0,   393,   394,   395,
8754
     396,   397,     0,   398,   399,   400,     0,     0,   401,   402,
8755
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
8756
     413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8757
     423,   424,     0,   425,   426,   427,   428,     0,   429,   430,
8758
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
8759
     438,   439,     0,     0,   440,   441,   442,   443,   444,   445,
8760
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
8761
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
8762
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
8763
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
8764
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
8765
     492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
8766
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
8767
     511,   512,   513,   879,   514,   515,   516,   517,   518,   519,
8768
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
8769
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
8770
     538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
8771
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
8772
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
8773
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
8774
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
8775
     578,   579,   580,   581,   582,     0,     0,   583,     0,     0,
8776
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
8777
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
8778
     877,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8779
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
8780
     238,   239,   240,   936,   241,   242,   243,     0,     0,     0,
8781
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
8782
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
8783
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
8784
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
8785
       0,   275,   276,     0,   277,   278,   279,   280,   281,   282,
8786
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
8787
       0,   292,   293,   294,   295,     0,     0,     0,   296,     0,
8788
       0,   878,   297,   298,   299,   300,   301,   302,   303,   304,
8789
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
8790
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
8791
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
8792
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
8793
       0,   337,     0,   338,   339,   340,   341,     0,   342,     0,
8794
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
8795
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
8796
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
8797
     368,   369,   370,   371,   372,     0,   373,   374,   375,   376,
8798
     377,   378,   379,   380,   381,     0,   382,     0,   383,   384,
8799
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
8800
     393,   394,   395,   396,   397,     0,   398,   399,   400,     0,
8801
       0,   401,   402,   403,   404,   937,   406,   407,   408,   409,
8802
     410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
8803
     420,   421,   422,   423,   424,     0,   425,   426,   427,   428,
8804
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
8805
       0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
8806
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
8807
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
8808
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
8809
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
8810
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
8811
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
8812
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
8813
       0,   509,   510,   511,   512,   513,   879,   514,   515,   516,
8814
     517,   518,   519,   520,   521,   522,   523,     0,   524,   525,
8815
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8816
     536,   537,     0,   538,   539,     0,   540,   541,   542,   543,
8817
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
8818
       0,     0,   553,   554,   555,   556,   557,     0,   558,   559,
8819
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
8820
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
8821
     576,     0,   577,   578,   579,   580,   581,   582,     0,     0,
8822
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
8823
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
8824
     601,   602,   603,   877,     0,     0,     0,     0,     0,     0,
8825
       0,     0,     0,     0,     0,     0,     0,     0,   233,   234,
8826
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
8827
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
8828
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
8829
     256,   257,   258,     0,   259,   260,   261,   262,   263,   264,
8830
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
8831
     272,   273,   274,     0,   275,   276,     0,   277,   278,   279,
8832
     280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
8833
     289,   290,   291,     0,   292,   293,   294,   295,     0,     0,
8834
       0,   296,     0,     0,   878,   297,   298,   299,   300,   301,
8835
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
8836
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
8837
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
8838
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
8839
     334,   335,   336,     0,   337,     0,   338,   339,   340,   341,
8840
       0,   342,     0,   343,   344,     0,   345,   346,   347,   348,
8841
     349,     0,   350,   351,     0,   352,   353,   354,   355,     0,
8842
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
8843
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
8844
     374,   375,   376,   377,   378,   379,   380,   381,     0,   382,
8845
       0,   383,   384,   385,   386,   387,   388,   389,   390,   391,
8846
     392,     0,     0,   393,   394,   395,   396,   397,     0,   398,
8847
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
8848
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
8849
     417,   418,   419,   420,   421,   422,   423,   424,     0,   425,
8850
     426,   427,   428,     0,   429,   430,   431,   432,   433,   434,
8851
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
8852
     440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
8853
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
8854
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
8855
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
8856
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
8857
     487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
8858
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
8859
     506,   507,   508,     0,   509,   510,   511,   512,   513,   879,
8860
     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
8861
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
8862
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
8863
     541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
8864
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
8865
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
8866
     565,   566,   567,   568,   569,  2454,     0,   570,   571,   572,
8867
     573,   574,   575,   576,     0,   577,   578,   579,   580,   581,
8868
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
8869
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
8870
     598,   599,   600,   601,   602,   603,   877,     0,     0,     0,
8871
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8872
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
8873
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
8874
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
8875
     253,   254,   255,   256,   257,   258,     0,   259,   260,   261,
8876
     262,   263,   264,     0,     0,   265,   266,   267,   268,   269,
8877
       0,   270,   271,   272,   273,   274,     0,   275,   276,     0,
8878
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
8879
     286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
8880
     295,     0,     0,     0,   296,     0,     0,   878,   297,   298,
8881
     299,   300,   301,   302,   303,   304,   305,     0,   306,     0,
8882
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
8883
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
8884
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
8885
     331,   332,   333,   334,   335,   336,     0,   337,     0,   338,
8886
     339,   340,   341,     0,   342,     0,   343,   344,     0,   345,
8887
     346,   347,   348,   349,     0,   350,   351,  3464,   352,   353,
8888
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
8889
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
8890
     372,     0,   373,   374,   375,   376,   377,   378,   379,   380,
8891
     381,     0,   382,     0,   383,   384,   385,   386,   387,   388,
8892
     389,   390,   391,   392,     0,     0,   393,   394,   395,   396,
8893
     397,     0,   398,   399,   400,     0,     0,   401,   402,   403,
8894
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
8895
     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
8896
     424,     0,   425,   426,   427,   428,     0,   429,   430,   431,
8897
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
8898
     439,     0,     0,   440,   441,   442,   443,   444,   445,   446,
8899
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
8900
     456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
8901
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
8902
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
8903
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
8904
     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
8905
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
8906
     512,   513,   879,   514,   515,   516,   517,   518,   519,   520,
8907
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
8908
     530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
8909
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
8910
     548,   549,     0,   550,   551,   552,     0,     0,   553,   554,
8911
     555,   556,   557,     0,   558,   559,   560,   561,   562,   563,
8912
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
8913
     570,   571,   572,   573,   574,   575,   576,     0,   577,   578,
8914
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
8915
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
8916
     595,   596,   597,   598,   599,   600,   601,   602,   603,   877,
8917
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8918
       0,     0,     0,     0,   233,   234,   235,   236,   237,   238,
8919
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
8920
       0,     0,     0,   244,   245,     0,   246,   247,   248,   249,
8921
     250,   251,   252,   253,   254,   255,   256,   257,   258,     0,
8922
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
8923
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
8924
     275,   276,     0,   277,   278,   279,   280,   281,   282,   283,
8925
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
8926
     292,   293,   294,   295,     0,     0,     0,   296,     0,     0,
8927
     878,   297,   298,   299,   300,   301,   302,   303,   304,   305,
8928
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
8929
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
8930
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
8931
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
8932
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
8933
     344,     0,   345,   346,   347,   348,   349,     0,   350,   351,
8934
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
8935
     360,   361,   362,   363,   364,   365,     0,   366,   367,   368,
8936
     369,   370,   371,   372,     0,   373,   374,   375,   376,   377,
8937
     378,   379,   380,   381,     0,   382,     0,   383,   384,   385,
8938
     386,   387,   388,   389,   390,   391,   392,     0,     0,   393,
8939
     394,   395,   396,   397,     0,   398,   399,   400,     0,     0,
8940
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
8941
     411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
8942
     421,   422,   423,   424,     0,   425,   426,   427,   428,     0,
8943
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
8944
       0,   437,   438,   439,     0,     0,   440,   441,   442,   443,
8945
     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
8946
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
8947
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
8948
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
8949
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
8950
       0,   491,   492,   493,   494,   495,   496,   497,   498,   499,
8951
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
8952
     509,   510,   511,   512,   513,   879,   514,   515,   516,   517,
8953
     518,   519,   520,   521,   522,   523,     0,   524,   525,   526,
8954
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
8955
     537,     0,   538,   539,     0,   540,   541,   542,   543,   544,
8956
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
8957
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
8958
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
8959
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
8960
       0,   577,   578,   579,   580,   581,   582,     0,     0,   583,
8961
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
8962
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
8963
     602,   603,   877,     0,     0,     0,     0,     0,     0,     0,
8964
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
8965
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
8966
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
8967
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
8968
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
8969
       0,   265,   266,   267,   268,   269,     0,   270,   271,   272,
8970
     273,   274,     0,   275,   276,     0,   277,   278,   279,   280,
8971
     281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
8972
     290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
8973
     296,     0,     0,   878,   297,   298,   299,   300,   301,   302,
8974
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
8975
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
8976
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
8977
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
8978
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
8979
     342,     0,   343,   344,     0,   345,   346,   347,   348,   349,
8980
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
8981
     357,   358,   359,   360,   361,   362,   363,   364,   365,     0,
8982
     366,   367,   368,   369,   370,   371,   372,     0,   373,   374,
8983
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
8984
     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
8985
       0,     0,   393,   394,   395,   396,   397,     0,   398,   399,
8986
     400,     0,     0,   401,   402,   403,   404,  1047,   406,   407,
8987
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
8988
     418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
8989
     427,   428,     0,   429,   430,   431,   432,   433,   434,     0,
8990
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
8991
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
8992
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
8993
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
8994
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
8995
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8996
     488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
8997
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
8998
     507,   508,     0,   509,   510,   511,   512,   513,   879,   514,
8999
     515,   516,   517,   518,   519,   520,   521,   522,   523,     0,
9000
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9001
     534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
9002
     542,   543,   544,   545,   546,   547,   548,   549,     0,   550,
9003
     551,   552,     0,     0,   553,   554,   555,   556,   557,     0,
9004
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
9005
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
9006
     574,   575,   576,     0,   577,   578,   579,   580,   581,   582,
9007
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
9008
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
9009
     599,   600,   601,   602,   603,   877,     0,     0,     0,     0,
9010
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9011
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
9012
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
9013
     245,     0,   246,   247,   248,   249,   250,   251,   252,   253,
9014
     254,   255,   256,   257,   258,     0,   259,   260,   261,   262,
9015
     263,   264,     0,     0,   265,   266,   267,   268,   269,     0,
9016
     270,   271,   272,   273,   274,     0,   275,   276,     0,   277,
9017
     278,   279,   280,   281,   282,   283,   284,   285,     0,   286,
9018
     287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
9019
       0,     0,     0,   296,     0,     0,   878,   297,   298,   299,
9020
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
9021
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
9022
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
9023
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
9024
     332,   333,   334,   335,   336,     0,   337,     0,   338,   339,
9025
     340,   341,     0,   342,     0,   343,   344,     0,   345,   346,
9026
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
9027
     355,     0,   356,   357,   358,   359,  1123,   361,   362,   363,
9028
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
9029
       0,   373,   374,   375,   376,   377,   378,   379,   380,   381,
9030
       0,   382,     0,   383,   384,   385,   386,   387,   388,   389,
9031
     390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9032
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
9033
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
9034
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
9035
       0,   425,   426,   427,   428,     0,   429,   430,   431,   432,
9036
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
9037
       0,     0,   440,   441,   442,   443,   444,   445,   446,   447,
9038
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
9039
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
9040
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
9041
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
9042
     485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
9043
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
9044
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
9045
     513,   879,   514,   515,   516,   517,   518,   519,   520,   521,
9046
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
9047
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
9048
       0,   540,   541,   542,   543,   544,   545,   546,   547,   548,
9049
     549,     0,   550,   551,   552,     0,     0,   553,   554,   555,
9050
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
9051
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
9052
     571,   572,   573,   574,   575,   576,     0,   577,   578,   579,
9053
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
9054
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
9055
     596,   597,   598,   599,   600,   601,   602,   603,   877,     0,
9056
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9057
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
9058
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
9059
       0,     0,   244,   245,     0,   246,   247,   248,   249,   250,
9060
     251,   252,   253,   254,   255,   256,   257,   258,     0,   259,
9061
     260,   261,   262,   263,   264,     0,     0,   265,   266,   267,
9062
     268,   269,     0,   270,   271,   272,   273,   274,     0,   275,
9063
     276,     0,   277,   278,   279,   280,   281,   282,   283,   284,
9064
     285,     0,   286,   287,   288,   289,   290,   291,     0,   292,
9065
     293,   294,   295,     0,     0,     0,   296,     0,     0,   878,
9066
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
9067
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
9068
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
9069
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
9070
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
9071
       0,   338,   339,   340,   341,     0,   342,     0,   343,   344,
9072
       0,   345,   346,   347,   348,   349,     0,   350,   351,     0,
9073
     352,   353,   354,   355,     0,   356,   357,   358,   359,  1136,
9074
     361,   362,   363,   364,   365,     0,   366,   367,   368,   369,
9075
     370,   371,   372,     0,   373,   374,   375,   376,   377,   378,
9076
     379,   380,   381,     0,   382,     0,   383,   384,   385,   386,
9077
     387,   388,   389,   390,   391,   392,     0,     0,   393,   394,
9078
     395,   396,   397,     0,   398,   399,   400,     0,     0,   401,
9079
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
9080
     412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
9081
     422,   423,   424,     0,   425,   426,   427,   428,     0,   429,
9082
     430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
9083
     437,   438,   439,     0,     0,   440,   441,   442,   443,   444,
9084
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
9085
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
9086
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
9087
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
9088
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
9089
     491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
9090
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
9091
     510,   511,   512,   513,   879,   514,   515,   516,   517,   518,
9092
     519,   520,   521,   522,   523,     0,   524,   525,   526,   527,
9093
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
9094
       0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
9095
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
9096
     553,   554,   555,   556,   557,     0,   558,   559,   560,   561,
9097
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
9098
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
9099
     577,   578,   579,   580,   581,   582,     0,     0,   583,     0,
9100
       0,   584,   585,   586,   587,   588,   589,   590,   591,   592,
9101
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
9102
     603,   877,     0,     0,     0,     0,     0,     0,     0,     0,
9103
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
9104
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
9105
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
9106
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
9107
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
9108
     265,   266,   267,   268,   269,     0,   270,   271,   272,   273,
9109
     274,     0,   275,   276,     0,   277,   278,   279,   280,   281,
9110
     282,   283,   284,   285,     0,   286,   287,   288,   289,   290,
9111
     291,     0,   292,   293,   294,   295,     0,     0,     0,   296,
9112
       0,     0,   878,   297,   298,   299,   300,   301,   302,   303,
9113
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
9114
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
9115
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
9116
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
9117
     336,     0,   337,     0,   338,   339,   340,   341,     0,   342,
9118
       0,   343,   344,     0,   345,   346,   347,   348,   349,     0,
9119
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
9120
     358,   359,  1148,   361,   362,   363,   364,   365,     0,   366,
9121
     367,   368,   369,   370,   371,   372,     0,   373,   374,   375,
9122
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
9123
     384,   385,   386,   387,   388,   389,   390,   391,   392,     0,
9124
       0,   393,   394,   395,   396,   397,     0,   398,   399,   400,
9125
       0,     0,   401,   402,   403,   404,  1149,   406,   407,   408,
9126
     409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
9127
     419,   420,   421,   422,   423,   424,     0,   425,   426,   427,
9128
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
9129
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
9130
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
9131
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
9132
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
9133
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
9134
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
9135
     489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
9136
     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
9137
     508,     0,   509,   510,   511,   512,   513,   879,   514,   515,
9138
     516,   517,   518,   519,   520,   521,   522,   523,     0,   524,
9139
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
9140
     535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
9141
     543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
9142
     552,     0,     0,   553,   554,   555,   556,   557,     0,   558,
9143
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
9144
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
9145
     575,   576,     0,   577,   578,   579,   580,   581,   582,     0,
9146
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
9147
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
9148
     600,   601,   602,   603,   877,     0,   673,     0,     0,     0,
9149
       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
9150
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
9151
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
9152
       0,   246,   247,   248,   249,   250,   251,   252,   253,   254,
9153
     255,   256,   257,   258,     0,   259,   260,   261,   262,   263,
9154
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
9155
     271,   272,   273,   274,     0,   275,   276,     0,   277,   278,
9156
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
9157
     288,   289,   290,   291,     0,   292,   293,   294,   295,     0,
9158
       0,     0,   296,     0,     0,     0,   297,   298,   299,   300,
9159
     301,   302,   303,   304,   305,  2103,   306,     0,   307,   308,
9160
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
9161
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
9162
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
9163
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
9164
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
9165
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
9166
       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
9167
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
9168
     373,   374,   375,   376,   377,   378,   379,   380,   381,     0,
9169
     382,     0,   383,   384,   385,   386,   387,   388,   389,   390,
9170
     391,   392,     0,     0,   393,   394,   395,   396,   397,     0,
9171
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
9172
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
9173
     416,   417,   418,   419,   420,   421,   422,   423,   424,     0,
9174
     425,   426,   427,   428,     0,   429,   430,   431,   432,   433,
9175
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
9176
       0,   440,   441,   442,   443,   444,   445,   446,   447,   448,
9177
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
9178
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
9179
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
9180
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
9181
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
9182
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
9183
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
9184
       0,   514,   515,   516,   517,   518,   519,   520,   521,   522,
9185
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
9186
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
9187
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
9188
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
9189
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
9190
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
9191
     572,   573,   574,   575,   576,     0,   577,   578,   579,   580,
9192
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
9193
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
9194
     597,   598,   599,   600,   601,   602,   603,   877,     0,     0,
9195
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9196
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
9197
       0,   241,   242,   243,     3,     4,     0,     0,     0,     0,
9198
       0,   244,   245,     0,   246,   247,   248,   249,   250,   251,
9199
     252,   253,   254,   255,   256,   257,   258,     0,   259,   260,
9200
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
9201
     269,     0,   270,   271,   272,   273,   274,     0,   275,   276,
9202
       0,   277,   278,   279,   280,   281,   282,   283,   284,   285,
9203
       0,   286,   287,   288,   289,   290,   291,     0,   292,   293,
9204
     294,   295,     0,     0,     0,   296,     0,     0,     0,   297,
9205
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
9206
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
9207
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
9208
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
9209
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
9210
     338,   339,   340,   341,     0,   342,     0,   343,   344,     0,
9211
     345,   346,   347,   348,   349,     0,   350,   351,     0,   352,
9212
     353,   354,   355,     0,   356,   357,   358,   359,   360,   361,
9213
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
9214
     371,   372,     0,   373,   374,   375,   376,   377,   378,   379,
9215
     380,   381,     0,   382,     0,   383,   384,   385,   386,   387,
9216
     388,   389,   390,   391,   392,     0,     0,   393,   394,   395,
9217
     396,   397,     0,   398,   399,   400,     0,     0,   401,   402,
9218
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
9219
     413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
9220
     423,   424,     0,   425,   426,   427,   428,     0,   429,   430,
9221
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
9222
     438,   439,     0,     0,   440,   441,   442,   443,   444,   445,
9223
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
9224
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
9225
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
9226
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
9227
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
9228
     492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
9229
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
9230
     511,   512,   513,     0,   514,   515,   516,   517,   518,   519,
9231
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
9232
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
9233
     538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
9234
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
9235
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
9236
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
9237
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
9238
     578,   579,   580,   581,   582,     0,     0,   583,     0,     0,
9239
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
9240
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
9241
     877,     0,   673,     0,     0,     0,     0,     0,     0,     0,
9242
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
9243
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
9244
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
9245
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
9246
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
9247
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
9248
       0,   275,   276,     0,   277,   278,   279,   280,   281,   282,
9249
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
9250
       0,   292,   293,   294,   295,     0,     0,     0,   296,     0,
9251
       0,     0,   297,   298,   299,   300,   301,   302,   303,   304,
9252
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
9253
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
9254
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
9255
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
9256
       0,   337,     0,   338,   339,   340,   341,     0,   342,     0,
9257
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
9258
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
9259
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
9260
     368,   369,   370,   371,   372,     0,   373,   374,   375,   376,
9261
     377,   378,   379,   380,   381,     0,   382,     0,   383,   384,
9262
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
9263
     393,   394,   395,   396,   397,     0,   398,   399,   400,     0,
9264
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
9265
     410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
9266
     420,   421,   422,   423,   424,     0,   425,   426,   427,   428,
9267
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
9268
       0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
9269
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
9270
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
9271
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
9272
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
9273
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
9274
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
9275
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
9276
       0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
9277
     517,   518,   519,   520,   521,   522,   523,     0,   524,   525,
9278
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
9279
     536,   537,     0,   538,   539,     0,   540,   541,   542,   543,
9280
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
9281
       0,     0,   553,   554,   555,   556,   557,     0,   558,   559,
9282
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
9283
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
9284
     576,     0,   577,   578,   579,   580,   581,   582,     0,     0,
9285
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
9286
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
9287
     601,   602,   603,   877,     0,   673,     0,     0,     0,     0,
9288
       0,     0,     0,     0,     0,     0,     0,     0,   233,   234,
9289
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
9290
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
9291
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
9292
     256,   257,   258,     0,   259,   260,   261,   262,   263,   264,
9293
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
9294
     272,   273,   274,     0,   275,   276,     0,   277,   278,   279,
9295
     280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
9296
     289,   290,   291,     0,   292,   293,   294,   295,     0,     0,
9297
       0,   296,     0,     0,     0,   297,   298,   299,   300,   301,
9298
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
9299
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
9300
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
9301
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
9302
     334,   335,   336,     0,   337,     0,   338,   339,   340,   341,
9303
       0,   342,     0,   343,   344,     0,   345,   346,   347,   348,
9304
     349,     0,   350,   351,     0,   352,   353,   354,   355,     0,
9305
     356,   357,   358,   359,  1923,   361,   362,   363,   364,   365,
9306
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
9307
     374,   375,   376,   377,   378,   379,   380,   381,     0,   382,
9308
       0,   383,   384,   385,   386,   387,   388,   389,   390,   391,
9309
     392,     0,     0,   393,   394,   395,   396,   397,     0,   398,
9310
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
9311
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
9312
     417,   418,   419,   420,   421,   422,   423,   424,     0,   425,
9313
     426,   427,   428,     0,   429,   430,   431,   432,   433,   434,
9314
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
9315
     440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
9316
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
9317
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
9318
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
9319
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
9320
     487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
9321
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
9322
     506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
9323
     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
9324
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
9325
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
9326
     541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
9327
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
9328
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
9329
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
9330
     573,   574,   575,   576,     0,   577,   578,   579,   580,   581,
9331
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
9332
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
9333
     598,   599,   600,   601,   602,   603,   232,     0,     0,     0,
9334
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9335
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
9336
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
9337
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
9338
     253,   254,   255,   256,   257,   258,     0,   259,   260,   261,
9339
     262,   263,   264,     0,     0,   265,   266,   267,   268,   269,
9340
       0,   270,   271,   272,   273,   274,     0,   275,   276,     0,
9341
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
9342
     286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
9343
     295,     0,     0,     0,   296,     0,     0,     0,   297,   298,
9344
     299,   300,   301,   302,   303,   304,   305,     0,   306,     0,
9345
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
9346
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
9347
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
9348
     331,   332,   333,   334,   335,   336,     0,   337,     0,   338,
9349
     339,   340,   341,     0,   342,     0,   343,   344,     0,   345,
9350
     346,   347,   348,   349,     0,   350,   351,     0,   352,   353,
9351
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
9352
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
9353
     372,     0,   373,   374,   375,   376,   377,   378,   379,   380,
9354
     381,     0,   382,     0,   383,   384,   385,   386,   387,   388,
9355
     389,   390,   391,   392,     0,     0,   393,   394,   395,   396,
9356
     397,     0,   398,   399,   400,     0,     0,   401,   402,   403,
9357
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
9358
     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
9359
     424,     0,   425,   426,   427,   428,     0,   429,   430,   431,
9360
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
9361
     439,     0,     0,   440,   441,   442,   443,   444,   445,   446,
9362
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
9363
     456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
9364
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
9365
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
9366
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
9367
     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
9368
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
9369
     512,   513,     0,   514,   515,   516,   517,   518,   519,   520,
9370
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
9371
     530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
9372
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
9373
     548,   549,     0,   550,   551,   552,     0,     0,   553,   554,
9374
     555,   556,   557,     0,   558,   559,   560,   561,   562,   563,
9375
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
9376
     570,   571,   572,   573,   574,   575,   576,     0,   577,   578,
9377
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
9378
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
9379
     595,   596,   597,   598,   599,   600,   601,   602,   603,   232,
9380
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9381
       0,     0,     0,     0,   233,   234,   235,   236,   237,   238,
9382
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
9383
       0,     0,     0,   244,   245,     0,   246,   247,   248,   249,
9384
     250,   251,   252,   253,   254,   255,   256,   257,   258,     0,
9385
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
9386
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
9387
     275,   276,     0,   277,   278,   279,   280,   281,   282,   283,
9388
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
9389
     292,   293,   294,   295,     0,     0,     0,   296,     0,     0,
9390
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
9391
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
9392
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
9393
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
9394
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
9395
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
9396
     344,     0,   345,   346,   347,   348,   349,     0,   350,   351,
9397
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
9398
    1070,   361,   362,   363,   364,   365,     0,   366,   367,   368,
9399
     369,   370,   371,   372,     0,   373,   374,   375,   376,   377,
9400
     378,   379,   380,   381,     0,   382,     0,   383,   384,   385,
9401
     386,   387,   388,   389,   390,   391,   392,     0,     0,   393,
9402
     394,   395,   396,   397,     0,   398,   399,   400,     0,     0,
9403
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
9404
     411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
9405
     421,   422,   423,   424,     0,   425,   426,   427,   428,     0,
9406
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
9407
       0,   437,   438,   439,     0,     0,   440,   441,   442,   443,
9408
     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
9409
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
9410
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
9411
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
9412
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
9413
       0,   491,   492,   493,   494,   495,   496,   497,   498,   499,
9414
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
9415
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
9416
     518,   519,   520,   521,   522,   523,     0,   524,   525,   526,
9417
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
9418
     537,     0,   538,   539,     0,   540,   541,   542,   543,   544,
9419
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
9420
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
9421
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
9422
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
9423
       0,   577,   578,   579,   580,   581,   582,     0,     0,   583,
9424
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
9425
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
9426
     602,   603,   232,     0,     0,     0,     0,     0,     0,     0,
9427
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
9428
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
9429
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
9430
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
9431
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
9432
       0,   265,   266,   267,   268,   269,     0,   270,   271,   272,
9433
     273,   274,     0,   275,   276,     0,   277,   278,   279,   280,
9434
     281,   282,   283,   284,   285,     0,   286,   287,   288,   289,
9435
     290,   291,     0,   292,   293,   294,   295,     0,     0,     0,
9436
     296,     0,     0,     0,   297,   298,   299,   300,   301,   302,
9437
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
9438
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
9439
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
9440
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
9441
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
9442
     342,     0,   343,   344,     0,   345,   346,   347,   348,   349,
9443
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
9444
     357,   358,   359,  1120,   361,   362,   363,   364,   365,     0,
9445
     366,   367,   368,   369,   370,   371,   372,     0,   373,   374,
9446
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
9447
     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
9448
       0,     0,   393,   394,   395,   396,   397,     0,   398,   399,
9449
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
9450
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
9451
     418,   419,   420,   421,   422,   423,   424,     0,   425,   426,
9452
     427,   428,     0,   429,   430,   431,   432,   433,   434,     0,
9453
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
9454
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
9455
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
9456
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
9457
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
9458
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
9459
     488,   489,   490,     0,   491,   492,   493,   494,   495,   496,
9460
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
9461
     507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
9462
     515,   516,   517,   518,   519,   520,   521,   522,   523,     0,
9463
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9464
     534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
9465
     542,   543,   544,   545,   546,   547,   548,   549,     0,   550,
9466
     551,   552,     0,     0,   553,   554,   555,   556,   557,     0,
9467
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
9468
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
9469
     574,   575,   576,     0,   577,   578,   579,   580,   581,   582,
9470
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
9471
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
9472
     599,   600,   601,   602,   603,   232,     0,     0,     0,     0,
9473
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9474
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
9475
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
9476
     245,     0,   246,   247,   248,   249,   250,   251,   252,   253,
9477
     254,   255,   256,   257,   258,     0,   259,   260,   261,   262,
9478
     263,   264,     0,     0,   265,   266,   267,   268,   269,     0,
9479
     270,   271,   272,   273,   274,     0,   275,   276,     0,   277,
9480
     278,   279,   280,   281,   282,   283,   284,   285,     0,   286,
9481
     287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
9482
       0,     0,     0,   296,     0,     0,     0,   297,   298,   299,
9483
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
9484
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
9485
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
9486
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
9487
     332,   333,   334,   335,   336,     0,   337,     0,   338,   339,
9488
     340,   341,     0,   342,     0,   343,   344,     0,   345,   346,
9489
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
9490
     355,     0,   356,   357,   358,   359,  1134,   361,   362,   363,
9491
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
9492
       0,   373,   374,   375,   376,   377,   378,   379,   380,   381,
9493
       0,   382,     0,   383,   384,   385,   386,   387,   388,   389,
9494
     390,   391,   392,     0,     0,   393,   394,   395,   396,   397,
9495
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
9496
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
9497
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
9498
       0,   425,   426,   427,   428,     0,   429,   430,   431,   432,
9499
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
9500
       0,     0,   440,   441,   442,   443,   444,   445,   446,   447,
9501
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
9502
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
9503
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
9504
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
9505
     485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
9506
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
9507
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
9508
     513,     0,   514,   515,   516,   517,   518,   519,   520,   521,
9509
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
9510
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
9511
       0,   540,   541,   542,   543,   544,   545,   546,   547,   548,
9512
     549,     0,   550,   551,   552,     0,     0,   553,   554,   555,
9513
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
9514
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
9515
     571,   572,   573,   574,   575,   576,     0,   577,   578,   579,
9516
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
9517
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
9518
     596,   597,   598,   599,   600,   601,   602,   603,   232,     0,
9519
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9520
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
9521
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
9522
       0,     0,   244,   245,     0,   246,   247,   248,   249,   250,
9523
     251,   252,   253,   254,   255,   256,   257,   258,     0,   259,
9524
     260,   261,   262,   263,   264,     0,     0,   265,   266,   267,
9525
     268,   269,     0,   270,   271,   272,   273,   274,     0,   275,
9526
     276,     0,   277,   278,   279,   280,   281,   282,   283,   284,
9527
     285,     0,   286,   287,   288,   289,   290,   291,     0,   292,
9528
     293,   294,   295,     0,     0,     0,   296,     0,     0,     0,
9529
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
9530
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
9531
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
9532
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
9533
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
9534
       0,   338,   339,   340,   341,     0,   342,     0,   343,   344,
9535
       0,   345,   346,   347,   348,   349,     0,   350,   351,     0,
9536
     352,   353,   354,   355,     0,   356,   357,   358,   359,  1138,
9537
     361,   362,   363,   364,   365,     0,   366,   367,   368,   369,
9538
     370,   371,   372,     0,   373,   374,   375,   376,   377,   378,
9539
     379,   380,   381,     0,   382,     0,   383,   384,   385,   386,
9540
     387,   388,   389,   390,   391,   392,     0,     0,   393,   394,
9541
     395,   396,   397,     0,   398,   399,   400,     0,     0,   401,
9542
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
9543
     412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
9544
     422,   423,   424,     0,   425,   426,   427,   428,     0,   429,
9545
     430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
9546
     437,   438,   439,     0,     0,   440,   441,   442,   443,   444,
9547
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
9548
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
9549
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
9550
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
9551
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
9552
     491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
9553
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
9554
     510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
9555
     519,   520,   521,   522,   523,     0,   524,   525,   526,   527,
9556
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
9557
       0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
9558
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
9559
     553,   554,   555,   556,   557,     0,   558,   559,   560,   561,
9560
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
9561
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
9562
     577,   578,   579,   580,   581,   582,     0,     0,   583,     0,
9563
       0,   584,   585,   586,   587,   588,   589,   590,   591,   592,
9564
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
9565
     603,   877,     0,     0,     0,     0,     0,     0,     0,     0,
9566
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
9567
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
9568
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
9569
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
9570
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
9571
     265,   266,   267,   268,   269,     0,   270,   271,   272,   273,
9572
     274,     0,   275,   276,     0,   277,   278,   279,   280,   281,
9573
     282,   283,   284,   285,     0,   286,   287,   288,   289,   290,
9574
     291,     0,   292,   293,   294,   295,     0,     0,     0,   296,
9575
       0,     0,     0,   297,   298,   299,   300,   301,   302,   303,
9576
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
9577
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
9578
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
9579
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
9580
     336,     0,   337,     0,   338,   339,   340,   341,     0,   342,
9581
       0,   343,   344,     0,   345,   346,   347,   348,   349,     0,
9582
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
9583
     358,   359,   360,   361,   362,   363,   364,   365,     0,   366,
9584
     367,   368,   369,   370,   371,   372,     0,   373,   374,   375,
9585
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
9586
     384,   385,   386,   387,   388,   389,   390,   391,   392,     0,
9587
       0,   393,   394,   395,   396,   397,     0,   398,   399,   400,
9588
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
9589
     409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
9590
     419,   420,   421,   422,   423,   424,     0,   425,   426,   427,
9591
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
9592
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
9593
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
9594
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
9595
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
9596
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
9597
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
9598
     489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
9599
     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
9600
     508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
9601
     516,   517,   518,   519,   520,   521,   522,   523,     0,   524,
9602
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
9603
     535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
9604
     543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
9605
     552,     0,     0,   553,   554,   555,   556,   557,     0,   558,
9606
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
9607
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
9608
     575,   576,     0,   577,   578,   579,   580,   581,   582,     0,
9609
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
9610
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
9611
     600,   601,   602,   603,   611,     0,     0,     0,     0,     0,
9612
       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
9613
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
9614
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
9615
       0,   246,   247,   248,     0,   250,   251,   252,   253,   254,
9616
     255,     0,   257,   258,     0,   259,   260,   261,   262,   263,
9617
     264,     0,     0,   265,   266,   267,   268,   269,  2227,   270,
9618
     271,   272,   273,   274,     0,     0,   276,  2306,   277,   278,
9619
     279,   280,   281,     0,   283,   284,   285,  2228,   286,   287,
9620
     288,   289,   290,   291,     0,     0,   293,   294,   295,     0,
9621
       0,     0,     0,     0,     0,     0,   297,   298,   299,   300,
9622
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
9623
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
9624
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
9625
       0,   325,   326,   327,     0,  2307,   329,   330,   331,   332,
9626
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
9627
     341,     0,   342,  2230,   343,     0,     0,     0,   346,   347,
9628
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
9629
       0,   356,   357,   358,   359,  2308,     0,   362,   363,   364,
9630
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
9631
     373,     0,   375,   376,   377,   378,   379,   380,   381,     0,
9632
     382,     0,   383,     0,     0,   386,     0,   388,   389,   390,
9633
     391,   392,     0,     0,   393,   394,     0,   396,     0,     0,
9634
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
9635
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
9636
     416,   417,     0,   419,   420,   421,   422,     0,   424,     0,
9637
     425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
9638
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
9639
       0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
9640
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
9641
     458,   459,   460,   461,   462,   463,  2231,   464,   465,   466,
9642
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
9643
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
9644
     486,   487,   488,   489,   490,     0,   491,   492,     0,   494,
9645
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
9646
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
9647
       0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
9648
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
9649
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
9650
     540,   541,   542,     0,   544,   545,   546,   547,   548,   549,
9651
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
9652
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
9653
    2232,   565,   566,   567,   568,   569,     0,     0,   570,   571,
9654
     572,   573,   574,   575,   576,     0,   577,     0,   579,   580,
9655
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
9656
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
9657
     597,   598,   599,   600,   601,   602,   603,   611,     0,     0,
9658
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9659
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
9660
       0,   241,   242,   243,     0,     0,     0,     0,     0,     0,
9661
       0,   244,   245,     0,   246,   247,   248,     0,   250,   251,
9662
     252,   253,   254,   255,     0,   257,   258,     0,   259,   260,
9663
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
9664
     269,  2227,   270,   271,   272,   273,   274,     0,     0,   276,
9665
       0,   277,   278,   279,   280,   281,     0,   283,   284,   285,
9666
    2228,   286,   287,   288,   289,   290,   291,     0,     0,   293,
9667
     294,   295,     0,     0,     0,     0,     0,     0,     0,   297,
9668
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
9669
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
9670
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
9671
     322,   323,   324,     0,   325,   326,   327,     0,  2307,   329,
9672
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
9673
     338,   339,   340,   341,     0,   342,  2230,   343,     0,     0,
9674
       0,   346,   347,   348,   349,     0,   350,   351,     0,   352,
9675
     353,   354,   355,     0,   356,   357,   358,   359,   360,     0,
9676
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
9677
     371,   372,     0,   373,     0,   375,   376,   377,   378,   379,
9678
     380,   381,     0,   382,     0,   383,     0,     0,   386,     0,
9679
     388,   389,   390,   391,   392,     0,     0,   393,   394,     0,
9680
     396,  3316,     0,   398,   399,   400,     0,     0,   401,   402,
9681
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
9682
     413,   414,   415,   416,   417,     0,   419,   420,   421,   422,
9683
       0,   424,     0,   425,   426,     0,   428,     0,   429,   430,
9684
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
9685
     438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
9686
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
9687
       0,   456,   457,   458,   459,   460,   461,   462,   463,  2231,
9688
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
9689
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
9690
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
9691
     492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
9692
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
9693
     511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
9694
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
9695
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
9696
     538,   539,     0,   540,   541,   542,     0,   544,   545,   546,
9697
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
9698
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
9699
     563,   564,     0,  2232,   565,   566,   567,   568,   569,     0,
9700
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
9701
       0,   579,   580,   581,   582,     0,     0,   583,     0,     0,
9702
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
9703
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
9704
     611,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9705
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
9706
     792,   239,   240,   754,   241,   242,   243,     0,     0,     0,
9707
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
9708
       0,   250,   251,   252,   253,   254,   255,     0,   257,   258,
9709
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
9710
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
9711
       0,     0,   276,     0,   277,   278,   279,   280,   281,     0,
9712
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
9713
     755,     0,   293,   294,   295,     0,     0,     0,     0,     0,
9714
       0,     0,   297,   298,   299,   300,   301,   302,   303,   304,
9715
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
9716
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
9717
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
9718
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
9719
       0,   337,     0,   338,   339,   340,   341,     0,   342,     0,
9720
     343,     0,     0,     0,   346,   347,   348,   349,   793,   350,
9721
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
9722
     359,   360,     0,   362,   363,   364,   365,     0,   366,   367,
9723
     368,   369,   370,   371,   372,     0,   373,     0,   375,   376,
9724
     377,   378,   379,   380,   381,     0,   382,     0,   383,     0,
9725
       0,   386,     0,   388,   389,   390,   391,   392,     0,     0,
9726
     393,   394,     0,   396,     0,     0,   398,   399,   400,     0,
9727
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
9728
     410,   411,   412,   413,   414,   415,   416,   417,     0,   419,
9729
     420,   421,   422,     0,   424,     0,   425,   426,     0,   428,
9730
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
9731
       0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
9732
       0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
9733
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
9734
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
9735
     471,   472,   473,   474,   475,   476,   477,   478,   756,   479,
9736
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
9737
     490,     0,   491,   492,     0,   494,   495,   496,   497,   498,
9738
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
9739
     757,   509,   510,   511,   512,   513,     0,   514,   515,   516,
9740
     517,   518,     0,   520,   521,   522,   523,     0,   524,   525,
9741
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
9742
     536,   537,     0,   538,   539,     0,   540,   541,   542,     0,
9743
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
9744
       0,     0,   553,   554,   555,   556,   557,     0,   558,   559,
9745
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
9746
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
9747
     576,     0,   577,     0,   579,   580,   581,   582,     0,     0,
9748
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
9749
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
9750
     601,   602,   603,   611,     0,     0,     0,     0,     0,     0,
9751
       0,     0,     0,     0,     0,     0,     0,     0,   233,   234,
9752
     235,   236,   237,   238,   239,   240,   754,   241,   242,   243,
9753
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
9754
     246,   247,   248,     0,   250,   251,   252,   253,   254,   255,
9755
       0,   257,   258,     0,   259,   260,   261,   262,   263,   264,
9756
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
9757
     272,   273,   274,     0,     0,   276,     0,   277,   278,   279,
9758
     280,   281,     0,   283,   284,   285,     0,   286,   287,   288,
9759
     289,   290,   291,   755,     0,   293,   294,   295,     0,     0,
9760
       0,     0,     0,     0,     0,   297,   298,   299,   300,   301,
9761
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
9762
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
9763
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
9764
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
9765
     334,   335,   336,     0,   337,     0,   338,   339,   340,   341,
9766
       0,   342,     0,   343,     0,     0,     0,   346,   347,   348,
9767
     349,  2991,   350,   351,     0,   352,   353,   354,   355,     0,
9768
     356,   357,   358,   359,   360,     0,   362,   363,   364,   365,
9769
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
9770
       0,   375,   376,   377,   378,   379,   380,   381,     0,   382,
9771
       0,   383,     0,     0,   386,     0,   388,   389,   390,   391,
9772
     392,     0,     0,   393,   394,     0,   396,     0,     0,   398,
9773
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
9774
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
9775
     417,     0,   419,   420,   421,   422,     0,   424,     0,   425,
9776
     426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
9777
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
9778
     440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
9779
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
9780
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
9781
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
9782
     478,   756,   479,   480,   481,   482,   483,   484,   485,   486,
9783
     487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
9784
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
9785
     506,   507,   508,   757,   509,   510,   511,   512,   513,     0,
9786
     514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
9787
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
9788
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
9789
     541,   542,     0,   544,   545,   546,   547,   548,   549,     0,
9790
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
9791
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
9792
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
9793
     573,   574,   575,   576,     0,   577,     0,   579,   580,   581,
9794
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
9795
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
9796
     598,   599,   600,   601,   602,   603,   611,     0,     0,     0,
9797
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9798
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
9799
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
9800
     244,   245,     0,   246,   247,   248,     0,   250,   251,   252,
9801
     253,   254,   255,     0,   257,   258,     0,   259,   260,   261,
9802
     262,   263,   264,     0,     0,   265,   266,   267,   268,   269,
9803
    2227,   270,   271,   272,   273,   274,     0,     0,   276,     0,
9804
     277,   278,   279,   280,   281,     0,   283,   284,   285,  2228,
9805
     286,   287,   288,   289,   290,   291,     0,     0,   293,   294,
9806
     295,     0,     0,     0,     0,     0,     0,     0,   297,   298,
9807
     299,   300,   301,   302,   303,   304,   305,     0,   306,     0,
9808
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
9809
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
9810
     323,   324,     0,   325,   326,   327,     0,  2307,   329,   330,
9811
     331,   332,   333,   334,   335,   336,     0,   337,     0,   338,
9812
     339,   340,   341,     0,   342,  2230,   343,     0,     0,     0,
9813
     346,   347,   348,   349,     0,   350,   351,     0,   352,   353,
9814
     354,   355,     0,   356,   357,   358,   359,   360,     0,   362,
9815
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
9816
     372,     0,   373,     0,   375,   376,   377,   378,   379,   380,
9817
     381,     0,   382,     0,   383,     0,     0,   386,     0,   388,
9818
     389,   390,   391,   392,     0,     0,   393,   394,     0,   396,
9819
       0,     0,   398,   399,   400,     0,     0,   401,   402,   403,
9820
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
9821
     414,   415,   416,   417,     0,   419,   420,   421,   422,     0,
9822
     424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
9823
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
9824
     439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
9825
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
9826
     456,   457,   458,   459,   460,   461,   462,   463,  2231,   464,
9827
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
9828
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
9829
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
9830
       0,   494,   495,   496,   497,   498,   499,   500,   501,   502,
9831
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
9832
     512,   513,     0,   514,   515,   516,   517,   518,     0,   520,
9833
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
9834
     530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
9835
     539,     0,   540,   541,   542,     0,   544,   545,   546,   547,
9836
     548,   549,     0,   550,   551,   552,     0,     0,   553,   554,
9837
     555,   556,   557,     0,   558,   559,   560,   561,   562,   563,
9838
     564,     0,  2232,   565,   566,   567,   568,   569,     0,     0,
9839
     570,   571,   572,   573,   574,   575,   576,     0,   577,     0,
9840
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
9841
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
9842
     595,   596,   597,   598,   599,   600,   601,   602,   603,   611,
9843
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9844
       0,     0,     0,     0,   233,   234,   235,   236,   237,   238,
9845
     239,   240,   754,   241,   242,   243,     0,     0,     0,     0,
9846
       0,     0,     0,   244,   245,     0,   246,   247,   248,     0,
9847
     250,   251,   252,   253,   254,   255,     0,   257,   258,     0,
9848
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
9849
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
9850
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
9851
     284,   285,     0,   286,   287,   288,   289,   290,   291,   755,
9852
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
9853
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
9854
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
9855
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
9856
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
9857
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
9858
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
9859
       0,     0,     0,   346,   347,   348,   349,     0,   350,   351,
9860
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
9861
     360,     0,   362,   363,   364,   365,     0,   366,   367,   368,
9862
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
9863
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
9864
     386,     0,   388,   389,   390,   391,   392,     0,     0,   393,
9865
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
9866
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
9867
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
9868
     421,   422,     0,   424,     0,   425,   426,     0,   428,     0,
9869
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
9870
       0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
9871
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
9872
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
9873
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
9874
     472,   473,   474,   475,   476,   477,   478,   756,   479,   480,
9875
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
9876
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
9877
     500,   501,   502,   503,   504,   505,   506,   507,   508,   757,
9878
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
9879
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
9880
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
9881
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
9882
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
9883
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
9884
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
9885
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
9886
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
9887
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
9888
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
9889
     602,   603,   611,     0,     0,     0,     0,     0,     0,     0,
9890
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
9891
     236,   237,   238,   239,   240,  1964,   241,   242,   243,     0,
9892
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
9893
     247,   248,     0,   250,   251,   252,   253,   254,   255,     0,
9894
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
9895
       0,   265,   266,   267,   268,   269,     0,   270,   271,   272,
9896
     273,   274,     0,     0,   276,     0,   277,   278,   279,   280,
9897
     281,     0,   283,   284,   285,     0,   286,   287,   288,   289,
9898
     290,   291,     0,     0,   293,   294,   295,     0,     0,     0,
9899
       0,     0,     0,     0,   297,   298,   299,  1965,   301,   302,
9900
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
9901
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
9902
    1966,   319,   320,   321,     0,   322,   323,   324,     0,   325,
9903
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
9904
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
9905
     342,  1967,   343,     0,     0,     0,  1968,   347,   348,   349,
9906
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
9907
     357,   358,   359,   360,     0,   362,   363,   364,   365,     0,
9908
     366,   367,   368,   369,   370,   371,   372,     0,   373,     0,
9909
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
9910
     383,     0,     0,   386,     0,   388,   389,  1969,  1970,   392,
9911
       0,     0,   393,   394,     0,   396,     0,     0,   398,   399,
9912
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
9913
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
9914
       0,   419,   420,   421,   422,     0,   424,     0,   425,   426,
9915
       0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
9916
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
9917
     441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
9918
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
9919
     460,   461,   462,   463,     0,   464,   465,   466,  1971,   468,
9920
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
9921
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
9922
     488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
9923
    1972,   498,   499,   500,   501,   502,  1973,   504,   505,   506,
9924
     507,   508,     0,  1974,   510,   511,   512,   513,     0,   514,
9925
     515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
9926
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9927
     534,   535,   536,   537,     0,   538,   539,  1975,  1976,   541,
9928
     542,     0,  1977,   545,   546,   547,   548,   549,     0,   550,
9929
     551,   552,     0,     0,   553,   554,   555,   556,   557,     0,
9930
     558,   559,  1978,   561,   562,   563,   564,     0,     0,   565,
9931
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
9932
     574,   575,   576,     0,   577,     0,   579,   580,   581,   582,
9933
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
9934
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
9935
     599,   600,   601,   602,   603,   611,     0,     0,     0,     0,
9936
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9937
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
9938
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
9939
     245,     0,   246,   247,   248,     0,   250,   251,   252,   253,
9940
     254,   255,     0,   257,   258,     0,   259,   260,   261,   262,
9941
     263,   264,     0,     0,   265,   266,   267,   268,   269,     0,
9942
     270,   271,   272,   273,   274,     0,     0,   276,     0,   277,
9943
     278,   279,   280,   281,     0,   283,   284,   285,     0,   286,
9944
     287,   288,   289,   290,   291,   755,     0,   293,   294,   295,
9945
       0,     0,     0,     0,     0,     0,     0,   297,   298,   299,
9946
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
9947
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
9948
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
9949
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
9950
     332,   333,   334,   335,   336,     0,   337,     0,   338,   339,
9951
     340,   341,     0,   342,     0,   343,     0,     0,     0,   346,
9952
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
9953
     355,     0,   356,   357,   358,   359,   360,     0,   362,   363,
9954
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
9955
       0,   373,     0,   375,   376,   377,   378,   379,   380,   381,
9956
       0,   382,     0,   383,     0,     0,   386,     0,   388,   389,
9957
     390,   391,   392,     0,     0,   393,   394,     0,   396,     0,
9958
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
9959
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
9960
     415,   416,   417,     0,   419,   420,   421,   422,     0,   424,
9961
       0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
9962
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
9963
       0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
9964
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
9965
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
9966
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
9967
     476,   477,   478,   756,   479,   480,   481,   482,   483,   484,
9968
     485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
9969
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
9970
     504,   505,   506,   507,   508,   757,   509,   510,   511,   512,
9971
     513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
9972
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
9973
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
9974
       0,   540,   541,   542,     0,   544,   545,   546,   547,   548,
9975
     549,     0,   550,   551,   552,     0,     0,   553,   554,   555,
9976
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
9977
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
9978
     571,   572,   573,   574,   575,   576,     0,   577,     0,   579,
9979
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
9980
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
9981
     596,   597,   598,   599,   600,   601,   602,   603,   611,     0,
9982
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9983
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
9984
     240,   928,   241,   242,   243,     0,     0,     0,     0,     0,
9985
       0,     0,   244,   245,     0,   246,   247,   248,     0,   250,
9986
     251,   252,   253,   254,   255,     0,   257,   258,     0,   259,
9987
     260,   261,   262,   263,   264,     0,     0,   265,   266,   267,
9988
     268,   269,     0,   270,   271,   272,   273,   274,     0,     0,
9989
     276,     0,   277,   278,   279,   280,   281,     0,   283,   284,
9990
     285,     0,   286,   287,   288,   289,   290,   291,     0,     0,
9991
     293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
9992
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
9993
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
9994
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
9995
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
9996
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
9997
       0,   338,   339,   340,   341,     0,   342,     0,   343,     0,
9998
       0,     0,   346,   347,   348,   349,     0,   350,   351,     0,
9999
     352,   353,   354,   355,     0,   356,   357,   358,   359,   929,
10000
       0,   362,   363,   364,   365,     0,   366,   367,   368,   369,
10001
     370,   371,   372,     0,   373,     0,   375,   376,   377,   378,
10002
     379,   380,   381,     0,   382,     0,   383,     0,     0,   386,
10003
       0,   388,   389,   390,   391,   392,     0,     0,   393,   394,
10004
       0,   396,     0,     0,   398,   399,   400,     0,     0,   401,
10005
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
10006
     412,   413,   414,   415,   416,   417,     0,   419,   420,   421,
10007
     422,     0,   424,     0,   425,   426,     0,   428,     0,   429,
10008
     430,   431,   432,   433,   434,     0,   435,   436,     0,   824,
10009
     437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
10010
       0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
10011
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
10012
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
10013
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
10014
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
10015
     491,   492,     0,   494,   495,   496,   497,   498,   499,   500,
10016
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
10017
     510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
10018
       0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
10019
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
10020
       0,   538,   539,     0,   540,   541,   542,     0,   544,   545,
10021
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
10022
     553,   554,   555,   556,   557,     0,   558,   559,   560,   561,
10023
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
10024
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
10025
     577,     0,   579,   580,   581,   582,     0,     0,   583,     0,
10026
       0,   584,   585,   586,   587,   588,   589,   590,   591,   592,
10027
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
10028
     603,   611,     0,     0,     0,     0,     0,     0,     0,     0,
10029
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
10030
     237,   238,   239,   240,  3083,   241,   242,   243,     0,     0,
10031
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
10032
     248,     0,   250,   251,   252,   253,   254,   255,     0,   257,
10033
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
10034
     265,   266,   267,   268,   269,     0,   270,   271,   272,   273,
10035
     274,     0,     0,   276,     0,   277,   278,   279,   280,   281,
10036
       0,   283,   284,   285,     0,   286,   287,   288,   289,   290,
10037
     291,     0,     0,   293,   294,   295,     0,     0,     0,     0,
10038
       0,     0,     0,   297,   298,   299,   300,   301,   302,   303,
10039
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
10040
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
10041
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
10042
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
10043
     336,     0,   337,     0,   338,   339,   340,   341,     0,   342,
10044
       0,   343,     0,     0,     0,   346,   347,   348,   349,     0,
10045
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
10046
     358,   359,   360,     0,   362,   363,   364,   365,     0,   366,
10047
     367,   368,   369,   370,   371,   372,     0,   373,     0,   375,
10048
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
10049
       0,     0,   386,     0,   388,   389,   390,   391,   392,     0,
10050
       0,   393,   394,     0,   396,     0,     0,   398,   399,   400,
10051
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
10052
     409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
10053
     419,   420,   421,   422,     0,   424,     0,   425,   426,     0,
10054
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
10055
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
10056
     442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
10057
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
10058
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
10059
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
10060
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
10061
     489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
10062
     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
10063
     508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
10064
     516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
10065
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
10066
     535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
10067
       0,   544,   545,   546,   547,   548,   549,     0,   550,   551,
10068
     552,     0,     0,   553,   554,   555,   556,   557,     0,   558,
10069
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
10070
     567,   568,   569,  3084,     0,   570,   571,   572,   573,   574,
10071
     575,   576,     0,   577,     0,   579,   580,   581,   582,     0,
10072
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
10073
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
10074
     600,   601,   602,   603,   611,     0,     0,     0,     0,     0,
10075
       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
10076
     234,   235,   236,   237,   238,   239,   240,  3096,   241,   242,
10077
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
10078
       0,   246,   247,   248,     0,   250,   251,   252,   253,   254,
10079
     255,     0,   257,   258,     0,   259,   260,   261,   262,   263,
10080
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
10081
     271,   272,   273,   274,     0,     0,   276,     0,   277,   278,
10082
     279,   280,   281,     0,   283,   284,   285,     0,   286,   287,
10083
     288,   289,   290,   291,     0,     0,   293,   294,   295,     0,
10084
       0,     0,     0,     0,     0,     0,   297,   298,   299,   300,
10085
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
10086
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
10087
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
10088
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
10089
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
10090
     341,     0,   342,     0,   343,     0,     0,     0,   346,   347,
10091
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
10092
       0,   356,   357,   358,   359,   360,     0,   362,   363,   364,
10093
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
10094
     373,     0,   375,   376,   377,   378,   379,   380,   381,     0,
10095
     382,     0,   383,     0,     0,   386,     0,   388,   389,   390,
10096
     391,   392,     0,     0,   393,   394,     0,   396,     0,     0,
10097
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
10098
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
10099
     416,   417,     0,   419,   420,   421,   422,     0,   424,     0,
10100
     425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
10101
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
10102
       0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
10103
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
10104
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
10105
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
10106
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
10107
     486,   487,   488,   489,   490,     0,   491,   492,     0,   494,
10108
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
10109
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
10110
       0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
10111
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
10112
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
10113
     540,   541,   542,     0,   544,   545,   546,   547,   548,   549,
10114
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
10115
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
10116
       0,   565,   566,   567,   568,   569,  3097,     0,   570,   571,
10117
     572,   573,   574,   575,   576,     0,   577,     0,   579,   580,
10118
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
10119
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
10120
     597,   598,   599,   600,   601,   602,   603,   611,     0,     0,
10121
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10122
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
10123
     612,   241,   242,   243,     0,     0,     0,     0,     0,     0,
10124
       0,   244,   245,     0,   246,   247,   248,     0,   250,   251,
10125
     252,   253,   254,   255,     0,   257,   258,     0,   259,   260,
10126
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
10127
     269,     0,   270,   271,   272,   273,   274,     0,     0,   276,
10128
       0,   277,   278,   279,   280,   281,     0,   283,   284,   285,
10129
       0,   286,   287,   288,   289,   290,   291,     0,     0,   293,
10130
     294,   295,     0,     0,     0,     0,     0,     0,     0,   297,
10131
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
10132
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
10133
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
10134
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
10135
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
10136
     338,   339,   340,   341,     0,   342,     0,   343,     0,     0,
10137
       0,   346,   347,   348,   349,     0,   350,   351,     0,   352,
10138
     353,   354,   355,     0,   356,   357,   358,   359,   360,     0,
10139
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
10140
     371,   372,     0,   373,     0,   375,   376,   377,   378,   379,
10141
     380,   381,     0,   382,     0,   383,     0,     0,   386,     0,
10142
     388,   389,   390,   391,   392,     0,     0,   393,   394,     0,
10143
     396,     0,     0,   398,   399,   400,     0,     0,   401,   402,
10144
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
10145
     413,   414,   415,   416,   417,     0,   419,   420,   421,   422,
10146
       0,   424,     0,   425,   426,     0,   428,     0,   429,   430,
10147
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
10148
     438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
10149
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
10150
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
10151
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
10152
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
10153
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
10154
     492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
10155
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
10156
     511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
10157
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
10158
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
10159
     538,   539,     0,   540,   541,   542,     0,   544,   545,   546,
10160
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
10161
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
10162
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
10163
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
10164
       0,   579,   580,   581,   582,     0,     0,   583,     0,     0,
10165
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
10166
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
10167
     611,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10168
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
10169
     238,   239,   240,   664,   241,   242,   243,     0,     0,     0,
10170
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
10171
       0,   250,   251,   252,   253,   254,   255,     0,   257,   258,
10172
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
10173
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
10174
       0,     0,   276,     0,   277,   278,   279,   280,   281,     0,
10175
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
10176
       0,     0,   293,   294,   295,     0,     0,     0,     0,     0,
10177
       0,     0,   297,   298,   299,   300,   301,   302,   303,   304,
10178
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
10179
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
10180
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
10181
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
10182
       0,   337,     0,   338,   339,   340,   341,     0,   342,     0,
10183
     343,     0,     0,     0,   346,   347,   348,   349,     0,   350,
10184
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
10185
     359,   360,     0,   362,   363,   364,   365,     0,   366,   367,
10186
     368,   369,   370,   371,   372,     0,   373,     0,   375,   376,
10187
     377,   378,   379,   380,   381,     0,   382,     0,   383,     0,
10188
       0,   386,     0,   388,   389,   390,   391,   392,     0,     0,
10189
     393,   394,     0,   396,     0,     0,   398,   399,   400,     0,
10190
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
10191
     410,   411,   412,   413,   414,   415,   416,   417,     0,   419,
10192
     420,   421,   422,     0,   424,     0,   425,   426,     0,   428,
10193
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
10194
       0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
10195
       0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
10196
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
10197
     665,   463,     0,   464,   465,   466,   467,   468,   469,   470,
10198
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
10199
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
10200
     490,     0,   491,   492,     0,   494,   495,   496,   497,   498,
10201
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
10202
       0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
10203
     517,   518,     0,   520,   521,   522,   523,     0,   524,   525,
10204
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
10205
     536,   537,     0,   538,   539,     0,   540,   541,   542,     0,
10206
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
10207
       0,     0,   553,   554,   555,   556,   557,     0,   558,   559,
10208
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
10209
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
10210
     576,     0,   577,     0,   579,   580,   581,   582,     0,     0,
10211
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
10212
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
10213
     601,   602,   603,   611,     0,     0,     0,     0,     0,     0,
10214
       0,     0,     0,     0,     0,     0,     0,     0,   233,   234,
10215
     235,   236,   237,   238,   239,   240,   784,   241,   242,   243,
10216
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
10217
     246,   247,   248,     0,   250,   251,   252,   253,   254,   255,
10218
       0,   257,   258,     0,   259,   260,   261,   262,   263,   264,
10219
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
10220
     272,   273,   274,     0,     0,   276,     0,   277,   278,   279,
10221
     280,   281,     0,   283,   284,   285,     0,   286,   287,   288,
10222
     289,   290,   291,     0,     0,   293,   294,   295,     0,     0,
10223
       0,     0,     0,     0,     0,   297,   298,   299,   300,   301,
10224
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
10225
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
10226
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
10227
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
10228
     334,   335,   336,     0,   337,     0,   338,   339,   340,   341,
10229
       0,   342,     0,   343,     0,     0,     0,   346,   347,   348,
10230
     349,     0,   350,   351,     0,   352,   353,   354,   355,     0,
10231
     356,   357,   358,   359,   360,     0,   362,   363,   364,   365,
10232
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
10233
       0,   375,   376,   377,   378,   379,   380,   381,     0,   382,
10234
       0,   383,     0,     0,   386,     0,   388,   389,   390,   391,
10235
     392,     0,     0,   393,   394,     0,   396,     0,     0,   398,
10236
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
10237
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
10238
     417,     0,   419,   420,   421,   422,     0,   424,     0,   425,
10239
     426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
10240
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
10241
     440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
10242
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
10243
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
10244
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
10245
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
10246
     487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
10247
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
10248
     506,   507,   508,     0,   509,   510,   511,   512,   785,     0,
10249
     514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
10250
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
10251
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
10252
     541,   542,     0,   544,   545,   546,   547,   548,   549,     0,
10253
     550,   786,   552,     0,     0,   787,   554,   555,   556,   557,
10254
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
10255
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
10256
     573,   574,   575,   576,     0,   577,     0,   579,   580,   581,
10257
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
10258
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
10259
     598,   599,   600,   601,   602,   603,   611,     0,     0,     0,
10260
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10261
       0,   233,   234,   235,   236,   237,   238,   239,   240,   818,
10262
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
10263
     244,   245,     0,   246,   247,   248,     0,   250,   251,   252,
10264
     253,   254,   255,     0,   257,   258,     0,   259,   260,   261,
10265
     262,   263,   264,     0,     0,   265,   266,   267,   268,   269,
10266
       0,   270,   271,   272,   273,   274,     0,     0,   276,     0,
10267
     277,   278,   279,   280,   281,     0,   283,   284,   285,     0,
10268
     286,   287,   288,   289,   290,   291,     0,     0,   293,   294,
10269
     295,     0,     0,     0,     0,     0,     0,     0,   297,   298,
10270
     299,   300,   301,   302,   303,   304,   305,     0,   306,     0,
10271
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
10272
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
10273
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
10274
     331,   332,   333,   334,   335,   336,     0,   337,     0,   338,
10275
     339,   340,   341,     0,   342,     0,   343,     0,     0,     0,
10276
     346,   347,   348,   349,     0,   350,   351,     0,   352,   353,
10277
     354,   355,     0,   356,   357,   358,   359,   360,     0,   362,
10278
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
10279
     372,     0,   373,     0,   375,   376,   377,   378,   379,   380,
10280
     381,     0,   382,     0,   383,     0,     0,   386,     0,   388,
10281
     389,   390,   391,   392,     0,     0,   393,   394,     0,   396,
10282
       0,     0,   398,   399,   400,     0,     0,   401,   402,   403,
10283
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
10284
     414,   415,   416,   417,     0,   419,   420,   421,   422,     0,
10285
     424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
10286
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
10287
     439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
10288
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
10289
     456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
10290
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
10291
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
10292
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
10293
       0,   494,   495,   496,   497,   498,   499,   500,   501,   502,
10294
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
10295
     512,   819,     0,   514,   515,   516,   517,   518,     0,   520,
10296
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
10297
     530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
10298
     539,     0,   540,   541,   542,     0,   544,   545,   546,   547,
10299
     548,   549,     0,   550,   820,   552,     0,     0,   821,   554,
10300
     555,   556,   557,     0,   558,   559,   560,   561,   562,   563,
10301
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
10302
     570,   571,   572,   573,   574,   575,   576,     0,   577,     0,
10303
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
10304
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
10305
     595,   596,   597,   598,   599,   600,   601,   602,   603,   611,
10306
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10307
       0,     0,     0,     0,   233,   234,   235,   236,   237,   238,
10308
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
10309
       0,     0,     0,   244,   245,     0,   246,   247,   248,     0,
10310
     250,   251,   252,   253,   254,   255,     0,   257,   258,     0,
10311
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
10312
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
10313
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
10314
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
10315
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
10316
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
10317
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
10318
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
10319
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
10320
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
10321
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
10322
       0,     0,     0,   346,   347,   348,   349,     0,   350,   351,
10323
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
10324
     360,     0,   362,   363,   364,   365,     0,   366,   367,   368,
10325
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
10326
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
10327
     386,     0,   388,   389,   390,   391,   392,     0,     0,   393,
10328
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
10329
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
10330
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
10331
     421,   422,     0,   424,     0,   425,   426,     0,   428,     0,
10332
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
10333
     824,   437,   438,   439,     0,     0,   440,   441,   442,     0,
10334
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
10335
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
10336
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
10337
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
10338
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
10339
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
10340
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
10341
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
10342
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
10343
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
10344
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
10345
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
10346
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
10347
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
10348
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
10349
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
10350
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
10351
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
10352
     602,   603,   611,     0,     0,     0,     0,     0,     0,     0,
10353
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
10354
     236,   237,   238,   239,   240,   886,   241,   242,   243,     0,
10355
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
10356
     247,   248,     0,   250,   251,   252,   253,   254,   255,     0,
10357
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
10358
       0,   265,   266,   267,   268,   269,     0,   270,   271,   272,
10359
     273,   274,     0,     0,   276,     0,   277,   278,   279,   280,
10360
     281,     0,   283,   284,   285,     0,   286,   287,   288,   289,
10361
     290,   291,     0,     0,   293,   294,   295,     0,     0,     0,
10362
       0,     0,     0,     0,   297,   298,   299,   300,   301,   302,
10363
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
10364
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
10365
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
10366
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
10367
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
10368
     342,     0,   343,     0,     0,     0,   346,   347,   348,   349,
10369
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
10370
     357,   358,   359,   887,     0,   362,   363,   364,   365,     0,
10371
     366,   367,   368,   369,   370,   371,   372,     0,   373,     0,
10372
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
10373
     383,     0,     0,   386,     0,   388,   389,   390,   391,   392,
10374
       0,     0,   393,   394,     0,   396,     0,     0,   398,   399,
10375
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
10376
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
10377
       0,   419,   420,   421,   422,     0,   424,     0,   425,   426,
10378
       0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
10379
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
10380
     441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
10381
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
10382
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
10383
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
10384
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
10385
     488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
10386
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
10387
     507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
10388
     515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
10389
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
10390
     534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
10391
     542,     0,   544,   545,   546,   547,   548,   549,     0,   550,
10392
     551,   552,     0,     0,   553,   554,   555,   556,   557,     0,
10393
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
10394
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
10395
     574,   575,   576,     0,   577,     0,   579,   580,   581,   582,
10396
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
10397
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
10398
     599,   600,   601,   602,   603,   611,     0,     0,     0,     0,
10399
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10400
     233,   234,   235,   236,   237,   238,   239,   240,  1062,   241,
10401
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
10402
     245,     0,   246,   247,   248,     0,   250,   251,   252,   253,
10403
     254,   255,     0,   257,   258,     0,   259,   260,   261,   262,
10404
     263,   264,     0,     0,   265,   266,   267,   268,   269,     0,
10405
     270,   271,   272,   273,   274,     0,     0,   276,     0,   277,
10406
     278,   279,   280,   281,     0,   283,   284,   285,     0,   286,
10407
     287,   288,   289,   290,   291,     0,     0,   293,   294,   295,
10408
       0,     0,     0,     0,     0,     0,     0,   297,   298,   299,
10409
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
10410
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
10411
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
10412
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
10413
     332,   333,   334,   335,   336,     0,   337,     0,   338,   339,
10414
     340,   341,     0,   342,     0,   343,     0,     0,     0,   346,
10415
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
10416
     355,     0,   356,   357,   358,   359,   360,     0,   362,   363,
10417
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
10418
       0,   373,     0,   375,   376,   377,   378,   379,   380,   381,
10419
       0,   382,     0,   383,     0,     0,   386,     0,   388,   389,
10420
     390,   391,   392,     0,     0,   393,   394,     0,   396,     0,
10421
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
10422
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
10423
     415,   416,   417,     0,   419,   420,   421,   422,     0,   424,
10424
       0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
10425
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
10426
       0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
10427
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
10428
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
10429
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
10430
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
10431
     485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
10432
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
10433
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
10434
     513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
10435
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
10436
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
10437
       0,   540,   541,   542,     0,   544,   545,   546,   547,   548,
10438
     549,     0,   550,   551,   552,     0,     0,   553,   554,   555,
10439
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
10440
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
10441
     571,   572,   573,   574,   575,   576,     0,   577,     0,   579,
10442
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
10443
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
10444
     596,   597,   598,   599,   600,   601,   602,   603,   611,     0,
10445
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10446
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
10447
     240,  1332,   241,   242,   243,     0,     0,     0,     0,     0,
10448
       0,     0,   244,   245,     0,   246,   247,   248,     0,   250,
10449
     251,   252,   253,   254,   255,     0,   257,   258,     0,   259,
10450
     260,   261,   262,   263,   264,     0,     0,   265,   266,   267,
10451
     268,   269,     0,   270,   271,   272,   273,   274,     0,     0,
10452
     276,     0,   277,   278,   279,   280,   281,     0,   283,   284,
10453
     285,     0,   286,   287,   288,   289,   290,   291,     0,     0,
10454
     293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
10455
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
10456
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
10457
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
10458
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
10459
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
10460
       0,   338,   339,   340,   341,     0,   342,     0,   343,     0,
10461
       0,     0,   346,   347,   348,   349,     0,   350,   351,     0,
10462
     352,   353,   354,   355,     0,   356,   357,   358,   359,   360,
10463
       0,   362,   363,   364,   365,     0,   366,   367,   368,   369,
10464
     370,   371,   372,     0,   373,     0,   375,   376,   377,   378,
10465
     379,   380,   381,     0,   382,     0,   383,     0,     0,   386,
10466
       0,   388,   389,   390,   391,   392,     0,     0,   393,   394,
10467
       0,   396,     0,     0,   398,   399,   400,     0,     0,   401,
10468
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
10469
     412,   413,   414,   415,   416,   417,     0,   419,   420,   421,
10470
     422,     0,   424,     0,   425,   426,     0,   428,     0,   429,
10471
     430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
10472
     437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
10473
       0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
10474
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
10475
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
10476
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
10477
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
10478
     491,   492,     0,   494,   495,   496,   497,   498,   499,   500,
10479
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
10480
     510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
10481
       0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
10482
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
10483
       0,   538,   539,     0,   540,   541,   542,     0,   544,   545,
10484
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
10485
     553,   554,   555,   556,   557,     0,   558,   559,   560,   561,
10486
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
10487
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
10488
     577,     0,   579,   580,   581,   582,     0,     0,   583,     0,
10489
       0,   584,   585,   586,   587,   588,   589,   590,   591,   592,
10490
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
10491
     603,   611,     0,     0,     0,     0,     0,     0,     0,     0,
10492
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
10493
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
10494
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
10495
     248,  1343,   250,   251,   252,   253,   254,   255,     0,   257,
10496
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
10497
     804,   266,   267,   268,  1344,     0,   270,   271,   272,   273,
10498
     274,     0,     0,   276,     0,   277,   278,   279,   280,   281,
10499
       0,   283,   284,   285,     0,   286,   287,   288,   289,   290,
10500
     291,     0,     0,   293,   294,   295,     0,     0,     0,     0,
10501
       0,     0,     0,   297,   298,   299,   300,   301,   302,   303,
10502
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
10503
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
10504
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
10505
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
10506
     336,     0,   337,     0,   338,   339,   340,   341,     0,   342,
10507
       0,   343,     0,     0,     0,   346,   347,   348,   349,     0,
10508
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
10509
     358,   359,   360,     0,   362,   363,   364,   365,     0,   366,
10510
     367,   368,   369,   370,   371,   372,     0,   373,     0,   375,
10511
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
10512
       0,     0,   386,     0,   388,   389,   390,   391,   392,     0,
10513
       0,   393,   394,     0,   396,     0,     0,   398,   399,   400,
10514
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
10515
     409,   410,   411,   412,   413,   414,   415,   807,   417,     0,
10516
     419,   420,   421,   422,     0,   424,     0,   425,   426,     0,
10517
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
10518
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
10519
     442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
10520
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
10521
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
10522
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
10523
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
10524
     489,   490,     0,   491,   492,     0,   808,   495,   496,   497,
10525
     498,   499,   500,   501,   502,   809,   504,   505,   506,   507,
10526
     508,     0,   509,   510,   511,   512,  1336,     0,   514,   515,
10527
     516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
10528
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
10529
     535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
10530
       0,   544,   545,   546,   547,   548,   549,     0,   550,   811,
10531
     552,     0,     0,   812,   554,   555,   556,   557,     0,   558,
10532
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
10533
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
10534
     575,   576,     0,   577,     0,   579,   580,   581,   582,     0,
10535
       0,   583,     0,     0,   584,   585,   586,   587,   588,   813,
10536
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
10537
     600,   601,   602,   603,   611,     0,     0,     0,     0,     0,
10538
       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
10539
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
10540
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
10541
       0,   246,   247,   248,     0,   250,   251,   252,   253,   254,
10542
     255,     0,   257,   258,     0,   259,   260,   261,   262,   263,
10543
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
10544
     271,   272,   273,   274,     0,     0,   276,     0,   277,   278,
10545
     279,   280,   281,     0,   283,   284,   285,     0,   286,   287,
10546
     288,   289,   290,   291,     0,     0,   293,   294,   295,     0,
10547
       0,     0,     0,     0,     0,     0,   297,   298,   299,   300,
10548
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
10549
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
10550
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
10551
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
10552
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
10553
     341,     0,   342,     0,   343,     0,     0,     0,   346,   347,
10554
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
10555
       0,   356,   357,   358,   359,  1457,     0,   362,   363,   364,
10556
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
10557
     373,     0,   375,   376,   377,   378,   379,   380,   381,     0,
10558
     382,     0,   383,     0,     0,   386,     0,   388,   389,   390,
10559
     391,   392,     0,     0,   393,   394,     0,   396,     0,     0,
10560
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
10561
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
10562
     416,   417,     0,   419,   420,   421,   422,     0,   424,     0,
10563
     425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
10564
     434,     0,   435,   436,     0,   824,   437,   438,   439,     0,
10565
       0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
10566
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
10567
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
10568
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
10569
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
10570
     486,   487,   488,   489,   490,     0,   491,   492,     0,   494,
10571
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
10572
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
10573
       0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
10574
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
10575
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
10576
     540,   541,   542,     0,   544,   545,   546,   547,   548,   549,
10577
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
10578
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
10579
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
10580
     572,   573,   574,   575,   576,     0,   577,     0,   579,   580,
10581
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
10582
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
10583
     597,   598,   599,   600,   601,   602,   603,   611,     0,     0,
10584
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10585
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
10586
    1516,   241,   242,   243,     0,     0,     0,     0,     0,     0,
10587
       0,   244,   245,     0,   246,   247,   248,     0,   250,   251,
10588
     252,   253,   254,   255,     0,   257,   258,     0,   259,   260,
10589
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
10590
     269,     0,   270,   271,   272,   273,   274,     0,     0,   276,
10591
       0,   277,   278,   279,   280,   281,     0,   283,   284,   285,
10592
       0,   286,   287,   288,   289,   290,   291,     0,     0,   293,
10593
     294,   295,     0,     0,     0,     0,     0,     0,     0,   297,
10594
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
10595
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
10596
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
10597
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
10598
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
10599
     338,   339,   340,   341,     0,   342,     0,   343,     0,     0,
10600
       0,   346,   347,   348,   349,     0,   350,   351,     0,   352,
10601
     353,   354,   355,     0,   356,   357,   358,   359,  1517,     0,
10602
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
10603
     371,   372,     0,   373,     0,   375,   376,   377,   378,   379,
10604
     380,   381,     0,   382,     0,   383,     0,     0,   386,     0,
10605
     388,   389,   390,   391,   392,     0,     0,   393,   394,     0,
10606
     396,     0,     0,   398,   399,   400,     0,     0,   401,   402,
10607
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
10608
     413,   414,   415,   416,   417,     0,   419,   420,   421,   422,
10609
       0,   424,     0,   425,   426,     0,   428,     0,   429,   430,
10610
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
10611
     438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
10612
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
10613
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
10614
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
10615
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
10616
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
10617
     492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
10618
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
10619
     511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
10620
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
10621
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
10622
     538,   539,     0,   540,   541,   542,     0,   544,   545,   546,
10623
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
10624
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
10625
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
10626
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
10627
       0,   579,   580,   581,   582,     0,     0,   583,     0,     0,
10628
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
10629
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
10630
     611,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10631
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
10632
     238,   239,   240,   784,   241,   242,   243,     0,     0,     0,
10633
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
10634
       0,   250,   251,   252,   253,   254,   255,     0,   257,   258,
10635
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
10636
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
10637
       0,     0,   276,     0,   277,   278,   279,   280,   281,     0,
10638
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
10639
       0,     0,   293,   294,   295,     0,     0,     0,     0,     0,
10640
       0,     0,   297,   298,   299,   300,   301,   302,   303,   304,
10641
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
10642
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
10643
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
10644
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
10645
       0,   337,     0,   338,   339,   340,   341,     0,   342,     0,
10646
     343,     0,     0,     0,   346,   347,   348,   349,     0,   350,
10647
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
10648
     359,   360,     0,   362,   363,   364,   365,     0,   366,   367,
10649
     368,   369,   370,   371,   372,     0,   373,     0,   375,   376,
10650
     377,   378,   379,   380,   381,     0,   382,     0,   383,     0,
10651
       0,   386,     0,   388,   389,   390,   391,   392,     0,     0,
10652
     393,   394,     0,   396,     0,     0,   398,   399,   400,     0,
10653
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
10654
     410,   411,   412,   413,   414,   415,   416,   417,     0,   419,
10655
     420,   421,   422,     0,   424,     0,   425,   426,     0,   428,
10656
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
10657
       0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
10658
       0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
10659
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
10660
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
10661
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
10662
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
10663
     490,     0,   491,   492,     0,   494,   495,   496,   497,   498,
10664
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
10665
       0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
10666
     517,   518,     0,   520,   521,   522,   523,     0,   524,   525,
10667
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
10668
     536,   537,     0,   538,   539,     0,   540,   541,   542,     0,
10669
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
10670
       0,     0,   553,   554,   555,   556,   557,     0,   558,   559,
10671
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
10672
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
10673
     576,     0,   577,     0,   579,   580,   581,   582,     0,     0,
10674
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
10675
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
10676
     601,   602,   603,   611,     0,     0,     0,     0,     0,     0,
10677
       0,     0,     0,     0,     0,     0,     0,     0,   233,   234,
10678
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
10679
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
10680
     246,   247,   248,     0,   250,   251,   252,   253,   254,   255,
10681
       0,   257,   258,     0,   259,   260,   261,   262,   263,   264,
10682
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
10683
     272,   273,   274,     0,     0,   276,     0,   277,   278,   279,
10684
     280,   281,     0,   283,   284,   285,     0,   286,   287,   288,
10685
     289,   290,   291,     0,     0,   293,   294,   295,     0,     0,
10686
       0,     0,     0,     0,     0,   297,   298,   299,   300,   301,
10687
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
10688
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
10689
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
10690
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
10691
     334,   335,   336,     0,   337,     0,   338,   339,   340,   341,
10692
       0,   342,     0,   343,     0,     0,     0,   346,   347,   348,
10693
    2882,     0,   350,   351,     0,   352,   353,   354,   355,     0,
10694
     356,   357,   358,   359,   360,     0,   362,   363,   364,   365,
10695
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
10696
       0,   375,   376,   377,   378,   379,   380,   381,     0,   382,
10697
       0,   383,     0,     0,   386,     0,   388,   389,   390,   391,
10698
     392,     0,     0,   393,   394,     0,   396,     0,     0,   398,
10699
     399,  2883,     0,     0,   401,   402,   403,   404,   405,   406,
10700
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
10701
     417,     0,   419,   420,   421,   422,     0,   424,     0,   425,
10702
     426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
10703
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
10704
     440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
10705
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
10706
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
10707
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
10708
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
10709
     487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
10710
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
10711
     506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
10712
     514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
10713
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
10714
     533,   534,   535,   536,   537,     0,   538,   539,  2884,   540,
10715
     541,   542,     0,   544,   545,  2885,   547,  2886,   549,     0,
10716
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
10717
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
10718
     565,   566,  2887,   568,   569,     0,     0,   570,   571,   572,
10719
     573,   574,   575,   576,     0,   577,     0,   579,   580,   581,
10720
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
10721
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
10722
     598,   599,   600,   601,   602,   603,   611,     0,   673,     0,
10723
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10724
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
10725
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
10726
     244,   245,     0,   246,   247,   248,     0,   250,   251,   252,
10727
     253,   254,   255,     0,   257,   258,     0,   259,   260,   261,
10728
     262,   263,   264,     0,     0,   265,   266,   267,   268,   269,
10729
       0,   270,   271,   272,   273,   274,     0,     0,   276,     0,
10730
     277,   278,   279,   280,   281,     0,   283,   284,   285,     0,
10731
     286,   287,   288,   289,   290,   291,     0,     0,   293,   294,
10732
     295,     0,     0,     0,     0,     0,     0,     0,   297,   298,
10733
     299,   300,   301,   302,   303,   304,   305,     0,   306,     0,
10734
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
10735
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
10736
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
10737
     331,   332,   333,   334,   335,   336,     0,   337,     0,   338,
10738
     339,   340,   341,     0,   342,     0,   343,     0,     0,     0,
10739
     346,   347,   348,   349,     0,   350,   351,     0,   352,   353,
10740
     354,   355,     0,   356,   357,   358,   359,   360,     0,   362,
10741
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
10742
     372,     0,   373,     0,   375,   376,   377,   378,   379,   380,
10743
     381,     0,   382,     0,   383,     0,     0,   386,     0,   388,
10744
     389,   390,   391,   392,     0,     0,   393,   394,     0,   396,
10745
       0,     0,   398,   399,   400,     0,     0,   401,   402,   403,
10746
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
10747
     414,   415,   416,   417,     0,   419,   420,   421,   422,     0,
10748
     424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
10749
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
10750
     439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
10751
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
10752
     456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
10753
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
10754
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
10755
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
10756
       0,   494,   495,   496,   497,   498,   499,   500,   501,   502,
10757
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
10758
     512,   513,     0,   514,   515,   516,   517,   518,     0,   520,
10759
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
10760
     530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
10761
     539,     0,   540,   541,   542,     0,   544,   545,   546,   547,
10762
     548,   549,     0,   550,   551,   552,     0,     0,   553,   554,
10763
     555,   556,   557,     0,   558,   559,   560,   561,   562,   563,
10764
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
10765
     570,   571,   572,   573,   574,   575,   576,     0,   577,     0,
10766
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
10767
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
10768
     595,   596,   597,   598,   599,   600,   601,   602,   603,   611,
10769
       0,     0,     0,     0,     0,   735,     0,     0,     0,     0,
10770
       0,     0,     0,     0,   233,   234,   235,   236,   237,   238,
10771
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
10772
       0,     0,     0,   244,   245,     0,   246,   247,   248,     0,
10773
     250,   251,   252,   253,   254,   255,     0,   257,   258,     0,
10774
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
10775
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
10776
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
10777
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
10778
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
10779
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
10780
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
10781
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
10782
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
10783
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
10784
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
10785
       0,     0,     0,   346,   347,   348,   349,     0,   350,   351,
10786
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
10787
     360,     0,   362,   363,   364,   365,     0,   366,   367,   368,
10788
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
10789
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
10790
     386,     0,   388,   389,   390,   391,   392,     0,     0,   393,
10791
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
10792
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
10793
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
10794
     421,   422,     0,   424,     0,   425,   426,     0,   428,     0,
10795
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
10796
       0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
10797
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
10798
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
10799
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
10800
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
10801
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
10802
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
10803
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
10804
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
10805
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
10806
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
10807
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
10808
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
10809
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
10810
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
10811
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
10812
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
10813
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
10814
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
10815
     602,   603,   611,     0,     0,     0,     0,     0,     0,     0,
10816
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
10817
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
10818
       0,     0,     0,     0,  4159,     0,   244,   245,     0,   246,
10819
     247,   248,     0,   250,   251,   252,   253,   254,   255,     0,
10820
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
10821
       0,   265,   266,   267,   268,   269,     0,   270,   271,   272,
10822
     273,   274,     0,     0,   276,     0,   277,   278,   279,   280,
10823
     281,     0,   283,   284,   285,     0,   286,   287,   288,   289,
10824
     290,   291,     0,     0,   293,   294,   295,     0,     0,     0,
10825
       0,     0,     0,     0,   297,   298,   299,   300,   301,   302,
10826
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
10827
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
10828
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
10829
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
10830
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
10831
     342,     0,   343,     0,     0,     0,   346,   347,   348,   349,
10832
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
10833
     357,   358,   359,   360,     0,   362,   363,   364,   365,     0,
10834
     366,   367,   368,   369,   370,   371,   372,     0,   373,     0,
10835
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
10836
     383,     0,     0,   386,     0,   388,   389,   390,   391,   392,
10837
       0,     0,   393,   394,     0,   396,     0,     0,   398,   399,
10838
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
10839
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
10840
       0,   419,   420,   421,   422,     0,   424,     0,   425,   426,
10841
       0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
10842
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
10843
     441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
10844
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
10845
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
10846
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
10847
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
10848
     488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
10849
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
10850
     507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
10851
     515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
10852
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
10853
     534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
10854
     542,     0,   544,   545,   546,   547,   548,   549,     0,   550,
10855
     551,   552,     0,     0,   553,   554,   555,   556,   557,     0,
10856
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
10857
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
10858
     574,   575,   576,     0,   577,     0,   579,   580,   581,   582,
10859
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
10860
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
10861
     599,   600,   601,   602,   603,   611,     0,     0,     0,     0,
10862
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10863
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
10864
     242,   243,     0,     0,     0,     0,     0,  4173,     0,   244,
10865
     245,     0,   246,   247,   248,     0,   250,   251,   252,   253,
10866
     254,   255,     0,   257,   258,     0,   259,   260,   261,   262,
10867
     263,   264,     0,     0,   265,   266,   267,   268,   269,     0,
10868
     270,   271,   272,   273,   274,     0,     0,   276,     0,   277,
10869
     278,   279,   280,   281,     0,   283,   284,   285,     0,   286,
10870
     287,   288,   289,   290,   291,     0,     0,   293,   294,   295,
10871
       0,     0,     0,     0,     0,     0,     0,   297,   298,   299,
10872
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
10873
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
10874
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
10875
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
10876
     332,   333,   334,   335,   336,     0,   337,     0,   338,   339,
10877
     340,   341,     0,   342,     0,   343,     0,     0,     0,   346,
10878
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
10879
     355,     0,   356,   357,   358,   359,   360,     0,   362,   363,
10880
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
10881
       0,   373,     0,   375,   376,   377,   378,   379,   380,   381,
10882
       0,   382,     0,   383,     0,     0,   386,     0,   388,   389,
10883
     390,   391,   392,     0,     0,   393,   394,     0,   396,     0,
10884
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
10885
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
10886
     415,   416,   417,     0,   419,   420,   421,   422,     0,   424,
10887
       0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
10888
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
10889
       0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
10890
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
10891
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
10892
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
10893
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
10894
     485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
10895
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
10896
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
10897
     513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
10898
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
10899
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
10900
       0,   540,   541,   542,     0,   544,   545,   546,   547,   548,
10901
     549,     0,   550,   551,   552,     0,     0,   553,   554,   555,
10902
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
10903
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
10904
     571,   572,   573,   574,   575,   576,     0,   577,     0,   579,
10905
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
10906
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
10907
     596,   597,   598,   599,   600,   601,   602,   603,   611,     0,
10908
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10909
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
10910
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
10911
       0,     0,   244,   245,     0,   246,   247,   248,     0,   250,
10912
     251,   252,   253,   254,   255,     0,   257,   258,     0,   259,
10913
     260,   261,   262,   263,   264,     0,     0,   265,   266,   267,
10914
     268,   269,     0,   270,   271,   272,   273,   274,     0,     0,
10915
     276,     0,   277,   278,   279,   280,   281,     0,   283,   284,
10916
     285,     0,   286,   287,   288,   289,   290,   291,     0,     0,
10917
     293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
10918
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
10919
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
10920
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
10921
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
10922
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
10923
       0,   338,   339,   340,   341,     0,   342,     0,   343,     0,
10924
       0,     0,   346,   347,   348,   349,     0,   350,   351,     0,
10925
     352,   353,   354,   355,     0,   356,   357,   358,   359,   360,
10926
       0,   362,   363,   364,   365,     0,   366,   367,   368,   369,
10927
     370,   371,   372,     0,   373,     0,   375,   376,   377,   378,
10928
     379,   380,   381,     0,   382,     0,   383,     0,     0,   386,
10929
       0,   388,   389,   390,   391,   392,     0,     0,   393,   394,
10930
       0,   396,     0,     0,   398,   399,   400,     0,     0,   401,
10931
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
10932
     412,   413,   414,   415,   416,   417,     0,   419,   420,   421,
10933
     422,     0,   424,     0,   425,   426,     0,   428,     0,   429,
10934
     430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
10935
     437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
10936
       0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
10937
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
10938
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
10939
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
10940
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
10941
     491,   492,     0,   494,   495,   496,   497,   498,   499,   500,
10942
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
10943
     510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
10944
       0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
10945
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
10946
       0,   538,   539,     0,   540,   541,   542,     0,   544,   545,
10947
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
10948
     553,   554,   555,   556,   557,     0,   558,   559,   560,   561,
10949
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
10950
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
10951
     577,     0,   579,   580,   581,   582,     0,     0,   583,     0,
10952
       0,   584,   585,   586,   587,   588,   589,   590,   591,   592,
10953
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
10954
     603,   611,     0,     0,     0,     0,     0,     0,     0,     0,
10955
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
10956
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
10957
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
10958
     248,     0,   250,   251,   252,   253,   254,   255,     0,   257,
10959
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
10960
     265,   266,   267,   268,   269,     0,   270,   271,   272,   273,
10961
     274,     0,     0,   276,     0,   277,   278,   279,   280,   281,
10962
       0,   283,   284,   285,     0,   286,   287,   288,   289,   290,
10963
     291,     0,     0,   293,   294,   295,     0,     0,     0,     0,
10964
       0,     0,     0,   297,   298,   299,   300,   301,   302,   303,
10965
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
10966
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
10967
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
10968
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
10969
     336,     0,   337,     0,   338,   339,   340,   341,     0,   342,
10970
       0,   343,     0,     0,     0,   346,   347,   348,   349,     0,
10971
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
10972
     358,   359,   360,     0,   362,   363,   364,   365,     0,   366,
10973
     367,   368,   369,   370,   371,   372,     0,   373,     0,   375,
10974
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
10975
       0,     0,   386,     0,   388,   389,   390,   391,   392,     0,
10976
       0,   393,   394,     0,   396,     0,     0,   398,   399,   400,
10977
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
10978
     409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
10979
     419,   420,   421,   422,     0,   424,     0,   425,   426,     0,
10980
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
10981
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
10982
     442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
10983
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
10984
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
10985
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
10986
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
10987
     489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
10988
     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
10989
     508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
10990
     516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
10991
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
10992
     535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
10993
       0,   544,   545,   546,   547,   548,   549,     0,   550,   551,
10994
     552,     0,     0,   770,   554,   555,   556,   557,     0,   558,
10995
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
10996
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
10997
     575,   576,     0,   577,     0,   579,   580,   581,   582,     0,
10998
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
10999
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
11000
     600,   601,   602,   603,   611,     0,     0,     0,     0,     0,
11001
       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
11002
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
11003
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
11004
       0,   246,   247,   248,     0,   250,   251,   252,   253,   254,
11005
     255,     0,   257,   258,     0,   259,   260,   261,   262,   263,
11006
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
11007
     271,   272,   273,   274,     0,     0,   276,     0,   277,   278,
11008
     279,   280,   281,     0,   283,   284,   285,     0,   286,   287,
11009
     288,   289,   290,   291,     0,     0,   293,   294,   295,     0,
11010
       0,     0,     0,     0,     0,     0,   297,   298,   299,   300,
11011
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
11012
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
11013
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
11014
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
11015
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
11016
     341,     0,   342,     0,   343,     0,     0,     0,   346,   347,
11017
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
11018
       0,   356,   357,   358,   359,   360,     0,   362,   363,   364,
11019
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
11020
     373,     0,   375,   376,   377,   378,   379,   380,   381,     0,
11021
     382,     0,   383,     0,     0,   386,     0,   388,   389,   390,
11022
     391,   392,     0,     0,   393,   394,     0,   396,     0,     0,
11023
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
11024
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
11025
     416,   417,     0,   419,   420,   421,   422,     0,   424,     0,
11026
     425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
11027
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
11028
       0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
11029
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
11030
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
11031
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
11032
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
11033
     486,   487,   488,   489,   490,     0,   491,   492,     0,   494,
11034
     495,   496,   497,   498,   499,   500,   501,   782,   503,   504,
11035
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
11036
       0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
11037
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
11038
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
11039
     540,   541,   542,     0,   544,   545,   546,   547,   548,   549,
11040
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
11041
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
11042
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
11043
     572,   573,   574,   575,   576,     0,   577,     0,   579,   580,
11044
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
11045
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
11046
     597,   598,   599,   600,   601,   602,   603,   611,     0,     0,
11047
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11048
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
11049
       0,   241,   242,   243,     0,     0,     0,     0,     0,     0,
11050
       0,   244,   245,     0,   246,   247,   248,     0,   250,   251,
11051
     252,   253,   254,   255,     0,   257,   258,     0,   259,   260,
11052
     261,   262,   263,   264,     0,     0,   804,   266,   267,   268,
11053
     269,     0,   270,   271,   272,   273,   274,     0,     0,   276,
11054
       0,   277,   278,   279,   280,   281,     0,   283,   284,   285,
11055
       0,   805,   287,   288,   289,   290,   291,     0,     0,   293,
11056
     294,   295,     0,     0,     0,     0,     0,     0,     0,   297,
11057
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
11058
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
11059
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
11060
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
11061
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
11062
     338,   339,   340,   341,     0,   342,     0,   343,     0,     0,
11063
       0,   346,   347,   348,   349,     0,   350,   351,     0,   352,
11064
     353,   354,   355,     0,   356,   357,   358,   359,   360,     0,
11065
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
11066
     371,   372,     0,   373,     0,   375,   376,   377,   378,   379,
11067
     380,   381,     0,   382,     0,   383,     0,     0,   386,     0,
11068
     388,   389,   390,   391,   392,     0,     0,   393,   394,     0,
11069
     396,     0,     0,   398,   399,   806,     0,     0,   401,   402,
11070
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
11071
     413,   414,   415,   807,   417,     0,   419,   420,   421,   422,
11072
       0,   424,     0,   425,   426,     0,   428,     0,   429,   430,
11073
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
11074
     438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
11075
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
11076
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
11077
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
11078
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
11079
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
11080
     492,     0,   808,   495,   496,   497,   498,   499,   500,   501,
11081
     502,   809,   504,   505,   506,   507,   508,     0,   509,   510,
11082
     511,   512,   810,     0,   514,   515,   516,   517,   518,     0,
11083
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
11084
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
11085
     538,   539,     0,   540,   541,   542,     0,   544,   545,   546,
11086
     547,   548,   549,     0,   550,   811,   552,     0,     0,   812,
11087
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
11088
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
11089
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
11090
       0,   579,   580,   581,   582,     0,     0,   583,     0,     0,
11091
     584,   585,   586,   587,   588,   813,   590,   591,   592,   593,
11092
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
11093
     611,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11094
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
11095
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
11096
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
11097
       0,   250,   251,   252,   253,   254,   255,     0,   257,   258,
11098
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
11099
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
11100
       0,     0,   276,     0,   277,   278,   279,   280,   281,     0,
11101
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
11102
       0,     0,   293,   294,   295,     0,     0,     0,     0,     0,
11103
       0,     0,   297,   298,   299,   300,   301,   302,   303,   304,
11104
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
11105
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
11106
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
11107
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
11108
       0,   337,     0,   338,   339,   340,   341,     0,   342,     0,
11109
     343,     0,     0,     0,   346,   347,   348,   349,     0,   350,
11110
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
11111
     359,   360,     0,   362,   363,   364,   365,     0,   366,   367,
11112
     368,   369,   370,   371,   372,     0,   373,     0,   375,   376,
11113
     377,   378,   379,   380,   381,     0,   382,     0,   383,     0,
11114
       0,   386,     0,   388,   389,   390,   391,   392,     0,     0,
11115
     393,   394,     0,   396,     0,     0,   398,   399,   400,     0,
11116
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
11117
     410,   411,   412,   413,   414,   415,   416,   417,     0,   419,
11118
     420,   421,   422,     0,   424,     0,   425,   426,     0,   428,
11119
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
11120
       0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
11121
       0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
11122
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
11123
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
11124
     471,   472,   473,   474,   475,   476,   835,   478,     0,   479,
11125
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
11126
     490,     0,   491,   492,     0,   494,   495,   496,   497,   498,
11127
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
11128
       0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
11129
     517,   518,     0,   520,   521,   522,   523,     0,   524,   525,
11130
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
11131
     536,   537,     0,   538,   539,     0,   540,   541,   542,     0,
11132
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
11133
       0,     0,   553,   554,   555,   556,   557,     0,   558,   559,
11134
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
11135
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
11136
     576,     0,   577,     0,   579,   580,   581,   582,     0,     0,
11137
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
11138
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
11139
     601,   602,   603,   611,     0,     0,     0,     0,     0,     0,
11140
       0,     0,     0,     0,     0,     0,     0,     0,   233,   234,
11141
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
11142
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
11143
     246,   247,   248,     0,   250,   251,   252,   253,   254,   255,
11144
       0,   257,   258,     0,   259,   260,   261,   262,   263,   264,
11145
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
11146
     272,   273,   274,     0,     0,   276,     0,   277,   278,   279,
11147
     280,   281,     0,   283,   284,   285,     0,   286,   287,   288,
11148
     289,   290,   291,     0,     0,   293,   294,   295,     0,     0,
11149
       0,     0,     0,     0,     0,   297,   298,   299,   300,   301,
11150
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
11151
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
11152
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
11153
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
11154
     334,   335,   336,     0,   337,     0,   338,   339,   340,   341,
11155
       0,   342,     0,   343,     0,     0,     0,   346,   347,   348,
11156
     349,     0,   350,   351,     0,   352,   353,   354,   355,     0,
11157
     356,   357,   358,   359,   911,     0,   362,   363,   364,   365,
11158
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
11159
       0,   375,   376,   377,   378,   379,   380,   381,     0,   382,
11160
       0,   383,     0,     0,   386,     0,   388,   389,   390,   391,
11161
     392,     0,     0,   393,   394,     0,   396,     0,     0,   398,
11162
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
11163
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
11164
     417,     0,   419,   420,   421,   422,     0,   424,     0,   425,
11165
     426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
11166
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
11167
     440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
11168
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
11169
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
11170
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
11171
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
11172
     487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
11173
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
11174
     506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
11175
     514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
11176
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
11177
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
11178
     541,   542,     0,   544,   545,   546,   547,   548,   549,     0,
11179
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
11180
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
11181
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
11182
     573,   574,   575,   576,     0,   577,     0,   579,   580,   581,
11183
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
11184
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
11185
     598,   599,   600,   601,   602,   603,   611,     0,     0,     0,
11186
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11187
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
11188
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
11189
     244,   245,     0,   246,   247,   248,     0,   250,   251,   252,
11190
     253,   254,   255,     0,   257,   258,     0,   259,   260,   261,
11191
     262,   263,   264,     0,     0,   265,   266,   267,   268,   269,
11192
       0,   270,   271,   272,   273,   274,     0,     0,   276,     0,
11193
     277,   278,   279,   280,   281,     0,   283,   284,   285,     0,
11194
     286,   287,   288,   289,   290,   291,     0,     0,   293,   294,
11195
     295,     0,     0,     0,     0,     0,     0,     0,   297,   298,
11196
     299,   300,   301,   302,   303,   304,   305,     0,   306,     0,
11197
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
11198
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
11199
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
11200
     331,   332,   333,   334,   335,   336,     0,   337,     0,   338,
11201
     339,   340,   341,     0,   342,     0,   343,     0,     0,     0,
11202
     346,   347,   348,   349,     0,   350,   351,     0,   352,   353,
11203
     354,   355,     0,   356,   357,   358,   359,   921,     0,   362,
11204
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
11205
     372,     0,   373,     0,   375,   376,   377,   378,   379,   380,
11206
     381,     0,   382,     0,   383,     0,     0,   386,     0,   388,
11207
     389,   390,   391,   392,     0,     0,   393,   394,     0,   396,
11208
       0,     0,   398,   399,   400,     0,     0,   401,   402,   403,
11209
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
11210
     414,   415,   416,   417,     0,   419,   420,   421,   422,     0,
11211
     424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
11212
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
11213
     439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
11214
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
11215
     456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
11216
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
11217
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
11218
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
11219
       0,   494,   495,   496,   497,   498,   499,   500,   501,   502,
11220
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
11221
     512,   513,     0,   514,   515,   516,   517,   518,     0,   520,
11222
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
11223
     530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
11224
     539,     0,   540,   541,   542,     0,   544,   545,   546,   547,
11225
     548,   549,     0,   550,   551,   552,     0,     0,   553,   554,
11226
     555,   556,   557,     0,   558,   559,   560,   561,   562,   563,
11227
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
11228
     570,   571,   572,   573,   574,   575,   576,     0,   577,     0,
11229
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
11230
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
11231
     595,   596,   597,   598,   599,   600,   601,   602,   603,   611,
11232
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11233
       0,     0,     0,     0,   233,   234,   235,   236,   237,   238,
11234
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
11235
       0,     0,     0,   244,   245,     0,   246,   247,   248,     0,
11236
     250,   251,   252,   253,   254,   255,     0,   257,   258,     0,
11237
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
11238
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
11239
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
11240
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
11241
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
11242
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
11243
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
11244
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
11245
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
11246
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
11247
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
11248
       0,     0,     0,   346,   347,   348,   349,     0,   350,   351,
11249
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
11250
     940,     0,   362,   363,   364,   365,     0,   366,   367,   368,
11251
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
11252
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
11253
     386,     0,   388,   389,   390,   391,   392,     0,     0,   393,
11254
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
11255
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
11256
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
11257
     421,   422,     0,   424,     0,   425,   426,     0,   428,     0,
11258
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
11259
       0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
11260
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
11261
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
11262
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
11263
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
11264
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
11265
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
11266
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
11267
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
11268
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
11269
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
11270
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
11271
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
11272
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
11273
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
11274
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
11275
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
11276
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
11277
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
11278
     602,   603,   611,     0,     0,     0,     0,     0,     0,     0,
11279
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
11280
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
11281
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
11282
     247,   248,     0,   250,   251,   252,   253,   254,   255,     0,
11283
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
11284
       0,   265,   266,   267,   268,   269,     0,   270,   271,   272,
11285
     273,   274,     0,     0,   276,     0,   277,   278,   279,   280,
11286
     281,     0,   283,   284,   285,     0,   286,   287,   288,   289,
11287
     290,   291,     0,     0,   293,   294,   295,     0,     0,     0,
11288
       0,     0,     0,     0,   297,   298,   299,   300,   301,   302,
11289
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
11290
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
11291
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
11292
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
11293
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
11294
     342,     0,   343,     0,     0,     0,   346,   347,   348,   349,
11295
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
11296
     357,   358,   359,  1011,     0,   362,   363,   364,   365,     0,
11297
     366,   367,   368,   369,   370,   371,   372,     0,   373,     0,
11298
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
11299
     383,     0,     0,   386,     0,   388,   389,   390,   391,   392,
11300
       0,     0,   393,   394,     0,   396,     0,     0,   398,   399,
11301
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
11302
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
11303
       0,   419,   420,   421,   422,     0,   424,     0,   425,   426,
11304
       0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
11305
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
11306
     441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
11307
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
11308
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
11309
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
11310
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11311
     488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
11312
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
11313
     507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
11314
     515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
11315
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
11316
     534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
11317
     542,     0,   544,   545,   546,   547,   548,   549,     0,   550,
11318
     551,   552,     0,     0,   553,   554,   555,   556,   557,     0,
11319
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
11320
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
11321
     574,   575,   576,     0,   577,     0,   579,   580,   581,   582,
11322
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
11323
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
11324
     599,   600,   601,   602,   603,   611,     0,     0,     0,     0,
11325
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11326
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
11327
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
11328
     245,     0,   246,   247,   248,     0,   250,   251,   252,   253,
11329
     254,   255,     0,   257,   258,     0,   259,   260,   261,   262,
11330
     263,   264,     0,     0,   265,   266,   267,   268,   269,     0,
11331
     270,   271,   272,   273,   274,     0,     0,   276,     0,   277,
11332
     278,   279,   280,   281,     0,   283,   284,   285,     0,   286,
11333
     287,   288,   289,   290,   291,     0,     0,   293,   294,   295,
11334
       0,     0,     0,     0,     0,     0,     0,   297,   298,   299,
11335
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
11336
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
11337
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
11338
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
11339
     332,   333,   334,   335,   336,     0,   337,     0,   338,   339,
11340
     340,   341,     0,   342,     0,   343,     0,     0,     0,   346,
11341
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
11342
     355,     0,   356,   357,   358,   359,  1017,     0,   362,   363,
11343
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
11344
       0,   373,     0,   375,   376,   377,   378,   379,   380,   381,
11345
       0,   382,     0,   383,     0,     0,   386,     0,   388,   389,
11346
     390,   391,   392,     0,     0,   393,   394,     0,   396,     0,
11347
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
11348
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
11349
     415,   416,   417,     0,   419,   420,   421,   422,     0,   424,
11350
       0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
11351
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
11352
       0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
11353
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
11354
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
11355
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
11356
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
11357
     485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
11358
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
11359
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
11360
     513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
11361
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
11362
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
11363
       0,   540,   541,   542,     0,   544,   545,   546,   547,   548,
11364
     549,     0,   550,   551,   552,     0,     0,   553,   554,   555,
11365
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
11366
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
11367
     571,   572,   573,   574,   575,   576,     0,   577,     0,   579,
11368
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
11369
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
11370
     596,   597,   598,   599,   600,   601,   602,   603,   611,     0,
11371
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11372
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
11373
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
11374
       0,     0,   244,   245,     0,   246,   247,   248,     0,   250,
11375
     251,   252,   253,   254,   255,     0,   257,   258,     0,   259,
11376
     260,   261,   262,   263,   264,     0,     0,   265,   266,   267,
11377
     268,   269,     0,   270,   271,   272,   273,   274,     0,     0,
11378
     276,     0,   277,   278,   279,   280,   281,     0,   283,   284,
11379
     285,     0,   286,   287,   288,   289,   290,   291,     0,     0,
11380
     293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
11381
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
11382
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
11383
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
11384
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
11385
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
11386
       0,   338,   339,   340,   341,     0,   342,     0,   343,     0,
11387
       0,     0,   346,   347,   348,   349,     0,   350,   351,     0,
11388
     352,   353,   354,   355,     0,   356,   357,   358,   359,  1034,
11389
       0,   362,   363,   364,   365,     0,   366,   367,   368,   369,
11390
     370,   371,   372,     0,   373,     0,   375,   376,   377,   378,
11391
     379,   380,   381,     0,   382,     0,   383,     0,     0,   386,
11392
       0,   388,   389,   390,   391,   392,     0,     0,   393,   394,
11393
       0,   396,     0,     0,   398,   399,   400,     0,     0,   401,
11394
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
11395
     412,   413,   414,   415,   416,   417,     0,   419,   420,   421,
11396
     422,     0,   424,     0,   425,   426,     0,   428,     0,   429,
11397
     430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
11398
     437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
11399
       0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
11400
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
11401
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
11402
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
11403
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
11404
     491,   492,     0,   494,   495,   496,   497,   498,   499,   500,
11405
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
11406
     510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
11407
       0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
11408
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
11409
       0,   538,   539,     0,   540,   541,   542,     0,   544,   545,
11410
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
11411
     553,   554,   555,   556,   557,     0,   558,   559,   560,   561,
11412
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
11413
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
11414
     577,     0,   579,   580,   581,   582,     0,     0,   583,     0,
11415
       0,   584,   585,   586,   587,   588,   589,   590,   591,   592,
11416
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
11417
     603,   611,     0,     0,     0,     0,     0,     0,     0,     0,
11418
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
11419
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
11420
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
11421
     248,     0,   250,   251,   252,   253,   254,   255,     0,   257,
11422
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
11423
     265,   266,   267,   268,   269,     0,   270,   271,   272,   273,
11424
     274,     0,     0,   276,     0,   277,   278,   279,   280,   281,
11425
       0,   283,   284,   285,     0,   286,   287,   288,   289,   290,
11426
     291,     0,     0,   293,   294,   295,     0,     0,     0,     0,
11427
       0,     0,     0,   297,   298,   299,   300,   301,   302,   303,
11428
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
11429
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
11430
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
11431
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
11432
     336,     0,   337,     0,   338,   339,   340,   341,     0,   342,
11433
       0,   343,     0,     0,     0,   346,   347,   348,   349,     0,
11434
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
11435
     358,   359,  1037,     0,   362,   363,   364,   365,     0,   366,
11436
     367,   368,   369,   370,   371,   372,     0,   373,     0,   375,
11437
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
11438
       0,     0,   386,     0,   388,   389,   390,   391,   392,     0,
11439
       0,   393,   394,     0,   396,     0,     0,   398,   399,   400,
11440
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
11441
     409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
11442
     419,   420,   421,   422,     0,   424,     0,   425,   426,     0,
11443
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
11444
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
11445
     442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
11446
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
11447
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
11448
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
11449
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
11450
     489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
11451
     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
11452
     508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
11453
     516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
11454
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
11455
     535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
11456
       0,   544,   545,   546,   547,   548,   549,     0,   550,   551,
11457
     552,     0,     0,   553,   554,   555,   556,   557,     0,   558,
11458
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
11459
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
11460
     575,   576,     0,   577,     0,   579,   580,   581,   582,     0,
11461
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
11462
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
11463
     600,   601,   602,   603,   611,     0,     0,     0,     0,     0,
11464
       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
11465
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
11466
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
11467
       0,   246,   247,   248,     0,   250,   251,   252,   253,   254,
11468
     255,     0,   257,   258,     0,   259,   260,   261,   262,   263,
11469
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
11470
     271,   272,   273,   274,     0,     0,   276,     0,   277,   278,
11471
     279,   280,   281,     0,   283,   284,   285,     0,   286,   287,
11472
     288,   289,   290,   291,     0,     0,   293,   294,   295,     0,
11473
       0,     0,     0,     0,     0,     0,   297,   298,   299,   300,
11474
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
11475
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
11476
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
11477
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
11478
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
11479
     341,     0,   342,     0,   343,     0,     0,     0,   346,   347,
11480
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
11481
       0,   356,   357,   358,   359,  1039,     0,   362,   363,   364,
11482
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
11483
     373,     0,   375,   376,   377,   378,   379,   380,   381,     0,
11484
     382,     0,   383,     0,     0,   386,     0,   388,   389,   390,
11485
     391,   392,     0,     0,   393,   394,     0,   396,     0,     0,
11486
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
11487
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
11488
     416,   417,     0,   419,   420,   421,   422,     0,   424,     0,
11489
     425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
11490
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
11491
       0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
11492
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
11493
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
11494
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
11495
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
11496
     486,   487,   488,   489,   490,     0,   491,   492,     0,   494,
11497
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
11498
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
11499
       0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
11500
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
11501
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
11502
     540,   541,   542,     0,   544,   545,   546,   547,   548,   549,
11503
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
11504
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
11505
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
11506
     572,   573,   574,   575,   576,     0,   577,     0,   579,   580,
11507
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
11508
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
11509
     597,   598,   599,   600,   601,   602,   603,   611,     0,     0,
11510
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11511
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
11512
       0,   241,   242,   243,     0,     0,     0,     0,     0,     0,
11513
       0,   244,   245,     0,   246,   247,   248,     0,   250,   251,
11514
     252,   253,   254,   255,     0,   257,   258,     0,   259,   260,
11515
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
11516
     269,     0,   270,   271,   272,   273,   274,     0,     0,   276,
11517
       0,   277,   278,   279,   280,   281,     0,   283,   284,   285,
11518
       0,   286,   287,   288,   289,   290,   291,     0,     0,   293,
11519
     294,   295,     0,     0,     0,     0,     0,     0,     0,   297,
11520
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
11521
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
11522
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
11523
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
11524
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
11525
     338,   339,   340,   341,     0,   342,     0,   343,     0,     0,
11526
       0,   346,   347,   348,   349,     0,   350,   351,     0,   352,
11527
     353,   354,   355,     0,   356,   357,   358,   359,  1076,     0,
11528
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
11529
     371,   372,     0,   373,     0,   375,   376,   377,   378,   379,
11530
     380,   381,     0,   382,     0,   383,     0,     0,   386,     0,
11531
     388,   389,   390,   391,   392,     0,     0,   393,   394,     0,
11532
     396,     0,     0,   398,   399,   400,     0,     0,   401,   402,
11533
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
11534
     413,   414,   415,   416,   417,     0,   419,   420,   421,   422,
11535
       0,   424,     0,   425,   426,     0,   428,     0,   429,   430,
11536
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
11537
     438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
11538
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
11539
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
11540
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
11541
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
11542
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
11543
     492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
11544
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
11545
     511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
11546
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
11547
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
11548
     538,   539,     0,   540,   541,   542,     0,   544,   545,   546,
11549
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
11550
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
11551
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
11552
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
11553
       0,   579,   580,   581,   582,     0,     0,   583,     0,     0,
11554
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
11555
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
11556
     611,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11557
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
11558
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
11559
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
11560
       0,   250,   251,   252,   253,   254,   255,     0,   257,   258,
11561
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
11562
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
11563
       0,     0,   276,     0,   277,   278,   279,   280,   281,     0,
11564
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
11565
       0,     0,   293,   294,   295,     0,     0,     0,     0,     0,
11566
       0,     0,   297,   298,   299,   300,   301,   302,   303,   304,
11567
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
11568
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
11569
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
11570
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
11571
       0,   337,     0,   338,   339,   340,   341,     0,   342,     0,
11572
     343,     0,     0,     0,   346,   347,   348,   349,     0,   350,
11573
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
11574
     359,  1140,     0,   362,   363,   364,   365,     0,   366,   367,
11575
     368,   369,   370,   371,   372,     0,   373,     0,   375,   376,
11576
     377,   378,   379,   380,   381,     0,   382,     0,   383,     0,
11577
       0,   386,     0,   388,   389,   390,   391,   392,     0,     0,
11578
     393,   394,     0,   396,     0,     0,   398,   399,   400,     0,
11579
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
11580
     410,   411,   412,   413,   414,   415,   416,   417,     0,   419,
11581
     420,   421,   422,     0,   424,     0,   425,   426,     0,   428,
11582
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
11583
       0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
11584
       0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
11585
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
11586
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
11587
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
11588
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
11589
     490,     0,   491,   492,     0,   494,   495,   496,   497,   498,
11590
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
11591
       0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
11592
     517,   518,     0,   520,   521,   522,   523,     0,   524,   525,
11593
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
11594
     536,   537,     0,   538,   539,     0,   540,   541,   542,     0,
11595
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
11596
       0,     0,   553,   554,   555,   556,   557,     0,   558,   559,
11597
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
11598
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
11599
     576,     0,   577,     0,   579,   580,   581,   582,     0,     0,
11600
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
11601
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
11602
     601,   602,   603,   611,     0,     0,     0,     0,     0,     0,
11603
       0,     0,     0,     0,     0,     0,     0,     0,   233,   234,
11604
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
11605
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
11606
     246,   247,   248,     0,   250,   251,   252,   253,   254,   255,
11607
       0,   257,   258,     0,   259,   260,   261,   262,   263,   264,
11608
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
11609
     272,   273,   274,     0,     0,   276,     0,   277,   278,   279,
11610
     280,   281,     0,   283,   284,   285,     0,   286,   287,   288,
11611
     289,   290,   291,     0,     0,   293,   294,   295,     0,     0,
11612
       0,     0,     0,     0,     0,   297,   298,   299,   300,   301,
11613
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
11614
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
11615
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
11616
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
11617
     334,   335,   336,     0,   337,     0,   338,   339,   340,   341,
11618
       0,   342,     0,   343,     0,     0,     0,   346,   347,   348,
11619
     349,     0,   350,   351,     0,   352,   353,   354,   355,     0,
11620
     356,   357,   358,   359,  1142,     0,   362,   363,   364,   365,
11621
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
11622
       0,   375,   376,   377,   378,   379,   380,   381,     0,   382,
11623
       0,   383,     0,     0,   386,     0,   388,   389,   390,   391,
11624
     392,     0,     0,   393,   394,     0,   396,     0,     0,   398,
11625
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
11626
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
11627
     417,     0,   419,   420,   421,   422,     0,   424,     0,   425,
11628
     426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
11629
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
11630
     440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
11631
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
11632
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
11633
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
11634
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
11635
     487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
11636
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
11637
     506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
11638
     514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
11639
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
11640
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
11641
     541,   542,     0,   544,   545,   546,   547,   548,   549,     0,
11642
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
11643
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
11644
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
11645
     573,   574,   575,   576,     0,   577,     0,   579,   580,   581,
11646
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
11647
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
11648
     598,   599,   600,   601,   602,   603,   611,     0,     0,     0,
11649
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11650
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
11651
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
11652
     244,   245,     0,   246,   247,   248,     0,   250,   251,   252,
11653
     253,   254,   255,     0,   257,   258,     0,   259,   260,   261,
11654
     262,   263,   264,     0,     0,   265,   266,   267,   268,   269,
11655
       0,   270,   271,   272,   273,   274,     0,     0,   276,     0,
11656
     277,   278,   279,   280,   281,     0,   283,   284,   285,     0,
11657
     286,   287,   288,   289,   290,   291,     0,     0,   293,   294,
11658
     295,     0,     0,     0,     0,     0,     0,     0,   297,   298,
11659
     299,   300,   301,   302,   303,   304,   305,     0,   306,     0,
11660
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
11661
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
11662
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
11663
     331,   332,   333,   334,   335,   336,     0,   337,     0,   338,
11664
     339,   340,   341,     0,   342,     0,   343,     0,     0,     0,
11665
     346,   347,   348,   349,     0,   350,   351,     0,   352,   353,
11666
     354,   355,     0,   356,   357,   358,   359,  1152,     0,   362,
11667
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
11668
     372,     0,   373,     0,   375,   376,   377,   378,   379,   380,
11669
     381,     0,   382,     0,   383,     0,     0,   386,     0,   388,
11670
     389,   390,   391,   392,     0,     0,   393,   394,     0,   396,
11671
       0,     0,   398,   399,   400,     0,     0,   401,   402,   403,
11672
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
11673
     414,   415,   416,   417,     0,   419,   420,   421,   422,     0,
11674
     424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
11675
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
11676
     439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
11677
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
11678
     456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
11679
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
11680
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
11681
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
11682
       0,   494,   495,   496,   497,   498,   499,   500,   501,   502,
11683
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
11684
     512,   513,     0,   514,   515,   516,   517,   518,     0,   520,
11685
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
11686
     530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
11687
     539,     0,   540,   541,   542,     0,   544,   545,   546,   547,
11688
     548,   549,     0,   550,   551,   552,     0,     0,   553,   554,
11689
     555,   556,   557,     0,   558,   559,   560,   561,   562,   563,
11690
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
11691
     570,   571,   572,   573,   574,   575,   576,     0,   577,     0,
11692
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
11693
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
11694
     595,   596,   597,   598,   599,   600,   601,   602,   603,   611,
11695
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11696
       0,     0,     0,     0,   233,   234,   235,   236,   237,   238,
11697
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
11698
       0,     0,     0,   244,   245,     0,   246,   247,   248,     0,
11699
     250,   251,   252,   253,   254,   255,     0,   257,   258,     0,
11700
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
11701
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
11702
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
11703
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
11704
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
11705
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
11706
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
11707
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
11708
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
11709
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
11710
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
11711
       0,     0,     0,   346,   347,   348,   349,     0,   350,   351,
11712
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
11713
    1155,     0,   362,   363,   364,   365,     0,   366,   367,   368,
11714
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
11715
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
11716
     386,     0,   388,   389,   390,   391,   392,     0,     0,   393,
11717
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
11718
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
11719
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
11720
     421,   422,     0,   424,     0,   425,   426,     0,   428,     0,
11721
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
11722
       0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
11723
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
11724
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
11725
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
11726
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
11727
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
11728
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
11729
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
11730
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
11731
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
11732
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
11733
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
11734
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
11735
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
11736
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
11737
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
11738
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
11739
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
11740
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
11741
     602,   603,   611,     0,     0,     0,     0,     0,     0,     0,
11742
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
11743
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
11744
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
11745
     247,   248,     0,   250,   251,   252,   253,   254,   255,     0,
11746
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
11747
       0,   265,   266,   267,   268,   269,     0,   270,   271,   272,
11748
     273,   274,     0,     0,   276,     0,   277,   278,   279,   280,
11749
     281,     0,   283,   284,   285,     0,   286,   287,   288,   289,
11750
     290,   291,     0,     0,   293,   294,   295,     0,     0,     0,
11751
       0,     0,     0,     0,   297,   298,   299,   300,   301,   302,
11752
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
11753
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
11754
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
11755
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
11756
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
11757
     342,     0,   343,     0,     0,     0,   346,   347,   348,   349,
11758
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
11759
     357,   358,   359,  1158,     0,   362,   363,   364,   365,     0,
11760
     366,   367,   368,   369,   370,   371,   372,     0,   373,     0,
11761
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
11762
     383,     0,     0,   386,     0,   388,   389,   390,   391,   392,
11763
       0,     0,   393,   394,     0,   396,     0,     0,   398,   399,
11764
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
11765
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
11766
       0,   419,   420,   421,   422,     0,   424,     0,   425,   426,
11767
       0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
11768
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
11769
     441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
11770
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
11771
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
11772
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
11773
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11774
     488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
11775
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
11776
     507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
11777
     515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
11778
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
11779
     534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
11780
     542,     0,   544,   545,   546,   547,   548,   549,     0,   550,
11781
     551,   552,     0,     0,   553,   554,   555,   556,   557,     0,
11782
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
11783
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
11784
     574,   575,   576,     0,   577,     0,   579,   580,   581,   582,
11785
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
11786
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
11787
     599,   600,   601,   602,   603,   611,     0,     0,     0,     0,
11788
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11789
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
11790
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
11791
     245,     0,   246,   247,   248,     0,   250,   251,   252,   253,
11792
     254,   255,     0,   257,   258,     0,   259,   260,   261,   262,
11793
     263,   264,     0,     0,   804,   266,   267,   268,   269,     0,
11794
     270,   271,   272,   273,   274,     0,     0,   276,     0,   277,
11795
     278,   279,   280,   281,     0,   283,   284,   285,     0,   286,
11796
     287,   288,   289,   290,   291,     0,     0,   293,   294,   295,
11797
       0,     0,     0,     0,     0,     0,     0,   297,   298,   299,
11798
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
11799
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
11800
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
11801
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
11802
     332,   333,   334,   335,   336,     0,   337,     0,   338,   339,
11803
     340,   341,     0,   342,     0,   343,     0,     0,     0,   346,
11804
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
11805
     355,     0,   356,   357,   358,   359,   360,     0,   362,   363,
11806
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
11807
       0,   373,     0,   375,   376,   377,   378,   379,   380,   381,
11808
       0,   382,     0,   383,     0,     0,   386,     0,   388,   389,
11809
     390,   391,   392,     0,     0,   393,   394,     0,   396,     0,
11810
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
11811
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
11812
     415,   807,   417,     0,   419,   420,   421,   422,     0,   424,
11813
       0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
11814
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
11815
       0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
11816
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
11817
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
11818
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
11819
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
11820
     485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
11821
     808,   495,   496,   497,   498,   499,   500,   501,   502,   809,
11822
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
11823
    1336,     0,   514,   515,   516,   517,   518,     0,   520,   521,
11824
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
11825
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
11826
       0,   540,   541,   542,     0,   544,   545,   546,   547,   548,
11827
     549,     0,   550,   811,   552,     0,     0,   812,   554,   555,
11828
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
11829
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
11830
     571,   572,   573,   574,   575,   576,     0,   577,     0,   579,
11831
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
11832
     586,   587,   588,   813,   590,   591,   592,   593,   594,   595,
11833
     596,   597,   598,   599,   600,   601,   602,   603,   611,     0,
11834
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11835
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
11836
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
11837
       0,     0,   244,   245,     0,   246,   247,   248,     0,   250,
11838
     251,   252,   253,   254,   255,     0,   257,   258,     0,   259,
11839
     260,   261,   262,   263,   264,     0,     0,   265,   266,   267,
11840
     268,   269,     0,   270,   271,   272,   273,   274,     0,     0,
11841
     276,     0,   277,   278,   279,   280,   281,     0,   283,   284,
11842
     285,     0,   286,   287,   288,   289,   290,   291,     0,     0,
11843
     293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
11844
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
11845
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
11846
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
11847
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
11848
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
11849
       0,   338,   339,   340,   341,     0,   342,     0,   343,     0,
11850
       0,     0,   346,   347,   348,   349,     0,   350,   351,     0,
11851
     352,   353,   354,   355,     0,   356,   357,   358,   359,  1780,
11852
       0,   362,   363,   364,   365,     0,   366,   367,   368,   369,
11853
     370,   371,   372,     0,   373,     0,   375,   376,   377,   378,
11854
     379,   380,   381,     0,   382,     0,   383,     0,     0,   386,
11855
       0,   388,   389,   390,   391,   392,     0,     0,   393,   394,
11856
       0,   396,     0,     0,   398,   399,   400,     0,     0,   401,
11857
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
11858
     412,   413,   414,   415,   416,   417,     0,   419,   420,   421,
11859
     422,     0,   424,     0,   425,   426,     0,   428,     0,   429,
11860
     430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
11861
     437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
11862
       0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
11863
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
11864
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
11865
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
11866
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
11867
     491,   492,     0,   494,   495,   496,   497,   498,   499,   500,
11868
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
11869
     510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
11870
       0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
11871
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
11872
       0,   538,   539,     0,   540,   541,   542,     0,   544,   545,
11873
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
11874
     553,   554,   555,   556,   557,     0,   558,   559,   560,   561,
11875
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
11876
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
11877
     577,     0,   579,   580,   581,   582,     0,     0,   583,     0,
11878
       0,   584,   585,   586,   587,   588,   589,   590,   591,   592,
11879
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
11880
     603,   611,     0,     0,     0,     0,     0,     0,     0,     0,
11881
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
11882
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
11883
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
11884
     248,     0,   250,   251,   252,   253,   254,   255,     0,   257,
11885
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
11886
     265,   266,   267,   268,   269,     0,   270,   271,   272,   273,
11887
     274,     0,     0,   276,     0,   277,   278,   279,   280,   281,
11888
       0,   283,   284,   285,     0,   286,   287,   288,   289,   290,
11889
     291,     0,     0,   293,   294,   295,     0,     0,     0,     0,
11890
       0,     0,     0,   297,   298,   299,   300,   301,   302,   303,
11891
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
11892
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
11893
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
11894
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
11895
     336,     0,   337,     0,   338,   339,   340,   341,     0,   342,
11896
       0,   343,     0,     0,     0,   346,   347,   348,   349,     0,
11897
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
11898
     358,   359,  1820,     0,   362,   363,   364,   365,     0,   366,
11899
     367,   368,   369,   370,   371,   372,     0,   373,     0,   375,
11900
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
11901
       0,     0,   386,     0,   388,   389,   390,   391,   392,     0,
11902
       0,   393,   394,     0,   396,     0,     0,   398,   399,   400,
11903
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
11904
     409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
11905
     419,   420,   421,   422,     0,   424,     0,   425,   426,     0,
11906
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
11907
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
11908
     442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
11909
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
11910
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
11911
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
11912
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
11913
     489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
11914
     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
11915
     508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
11916
     516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
11917
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
11918
     535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
11919
       0,   544,   545,   546,   547,   548,   549,     0,   550,   551,
11920
     552,     0,     0,   553,   554,   555,   556,   557,     0,   558,
11921
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
11922
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
11923
     575,   576,     0,   577,     0,   579,   580,   581,   582,     0,
11924
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
11925
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
11926
     600,   601,   602,   603,   611,     0,     0,     0,     0,     0,
11927
       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
11928
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
11929
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
11930
       0,   246,   247,   248,     0,   250,   251,   252,   253,   254,
11931
     255,     0,   257,   258,     0,   259,   260,   261,   262,   263,
11932
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
11933
     271,   272,   273,   274,     0,     0,   276,     0,   277,   278,
11934
     279,   280,   281,     0,   283,   284,   285,     0,   286,   287,
11935
     288,   289,   290,   291,     0,     0,   293,   294,   295,     0,
11936
       0,     0,     0,     0,     0,     0,   297,   298,   299,   300,
11937
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
11938
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
11939
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
11940
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
11941
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
11942
     341,     0,   342,     0,   343,     0,     0,     0,   346,   347,
11943
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
11944
       0,   356,   357,   358,   359,  1822,     0,   362,   363,   364,
11945
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
11946
     373,     0,   375,   376,   377,   378,   379,   380,   381,     0,
11947
     382,     0,   383,     0,     0,   386,     0,   388,   389,   390,
11948
     391,   392,     0,     0,   393,   394,     0,   396,     0,     0,
11949
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
11950
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
11951
     416,   417,     0,   419,   420,   421,   422,     0,   424,     0,
11952
     425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
11953
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
11954
       0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
11955
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
11956
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
11957
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
11958
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
11959
     486,   487,   488,   489,   490,     0,   491,   492,     0,   494,
11960
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
11961
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
11962
       0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
11963
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
11964
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
11965
     540,   541,   542,     0,   544,   545,   546,   547,   548,   549,
11966
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
11967
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
11968
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
11969
     572,   573,   574,   575,   576,     0,   577,     0,   579,   580,
11970
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
11971
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
11972
     597,   598,   599,   600,   601,   602,   603,   611,     0,     0,
11973
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11974
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
11975
       0,   241,   242,   243,     0,     0,     0,     0,     0,     0,
11976
       0,   244,   245,     0,   246,   247,   248,     0,   250,   251,
11977
     252,   253,   254,   255,     0,   257,   258,     0,   259,   260,
11978
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
11979
     269,     0,   270,   271,   272,   273,   274,     0,     0,   276,
11980
       0,   277,   278,   279,   280,   281,     0,   283,   284,   285,
11981
       0,   286,   287,   288,   289,   290,   291,     0,     0,   293,
11982
     294,   295,     0,     0,     0,     0,     0,     0,     0,   297,
11983
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
11984
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
11985
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
11986
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
11987
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
11988
     338,   339,   340,   341,     0,   342,     0,   343,     0,     0,
11989
       0,   346,   347,   348,   349,     0,   350,   351,     0,   352,
11990
     353,   354,   355,     0,   356,   357,   358,   359,  1895,     0,
11991
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
11992
     371,   372,     0,   373,     0,   375,   376,   377,   378,   379,
11993
     380,   381,     0,   382,     0,   383,     0,     0,   386,     0,
11994
     388,   389,   390,   391,   392,     0,     0,   393,   394,     0,
11995
     396,     0,     0,   398,   399,   400,     0,     0,   401,   402,
11996
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
11997
     413,   414,   415,   416,   417,     0,   419,   420,   421,   422,
11998
       0,   424,     0,   425,   426,     0,   428,     0,   429,   430,
11999
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
12000
     438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
12001
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
12002
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
12003
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
12004
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
12005
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
12006
     492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
12007
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
12008
     511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
12009
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
12010
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
12011
     538,   539,     0,   540,   541,   542,     0,   544,   545,   546,
12012
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
12013
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
12014
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
12015
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
12016
       0,   579,   580,   581,   582,     0,     0,   583,     0,     0,
12017
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
12018
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
12019
     611,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12020
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
12021
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
12022
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
12023
       0,   250,   251,   252,   253,   254,   255,     0,   257,   258,
12024
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
12025
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
12026
       0,     0,   276,     0,   277,   278,   279,   280,   281,     0,
12027
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
12028
       0,     0,   293,   294,   295,     0,     0,     0,     0,     0,
12029
       0,     0,   297,   298,   299,   300,   301,   302,   303,   304,
12030
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
12031
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
12032
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
12033
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
12034
       0,   337,     0,   338,   339,   340,   341,     0,   342,     0,
12035
     343,     0,     0,     0,   346,   347,   348,   349,     0,   350,
12036
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
12037
     359,  1897,     0,   362,   363,   364,   365,     0,   366,   367,
12038
     368,   369,   370,   371,   372,     0,   373,     0,   375,   376,
12039
     377,   378,   379,   380,   381,     0,   382,     0,   383,     0,
12040
       0,   386,     0,   388,   389,   390,   391,   392,     0,     0,
12041
     393,   394,     0,   396,     0,     0,   398,   399,   400,     0,
12042
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12043
     410,   411,   412,   413,   414,   415,   416,   417,     0,   419,
12044
     420,   421,   422,     0,   424,     0,   425,   426,     0,   428,
12045
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
12046
       0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
12047
       0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
12048
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
12049
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
12050
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
12051
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12052
     490,     0,   491,   492,     0,   494,   495,   496,   497,   498,
12053
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
12054
       0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
12055
     517,   518,     0,   520,   521,   522,   523,     0,   524,   525,
12056
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
12057
     536,   537,     0,   538,   539,     0,   540,   541,   542,     0,
12058
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
12059
       0,     0,   553,   554,   555,   556,   557,     0,   558,   559,
12060
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
12061
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
12062
     576,     0,   577,     0,   579,   580,   581,   582,     0,     0,
12063
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
12064
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
12065
     601,   602,   603,   611,     0,     0,     0,     0,     0,     0,
12066
       0,     0,     0,     0,     0,     0,     0,     0,   233,   234,
12067
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
12068
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
12069
     246,   247,   248,     0,   250,   251,   252,   253,   254,   255,
12070
       0,   257,   258,     0,   259,   260,   261,   262,   263,   264,
12071
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
12072
     272,   273,   274,     0,     0,   276,     0,   277,   278,   279,
12073
     280,   281,     0,   283,   284,   285,     0,   286,   287,   288,
12074
     289,   290,   291,     0,     0,   293,   294,   295,     0,     0,
12075
       0,     0,     0,     0,     0,   297,   298,   299,   300,   301,
12076
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
12077
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
12078
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
12079
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
12080
     334,   335,   336,     0,   337,     0,   338,   339,   340,   341,
12081
       0,   342,     0,   343,     0,     0,     0,   346,   347,   348,
12082
     349,     0,   350,   351,     0,   352,   353,   354,   355,     0,
12083
     356,   357,   358,   359,  1899,     0,   362,   363,   364,   365,
12084
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
12085
       0,   375,   376,   377,   378,   379,   380,   381,     0,   382,
12086
       0,   383,     0,     0,   386,     0,   388,   389,   390,   391,
12087
     392,     0,     0,   393,   394,     0,   396,     0,     0,   398,
12088
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
12089
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
12090
     417,     0,   419,   420,   421,   422,     0,   424,     0,   425,
12091
     426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
12092
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
12093
     440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
12094
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
12095
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
12096
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
12097
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
12098
     487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
12099
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
12100
     506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
12101
     514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
12102
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
12103
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
12104
     541,   542,     0,   544,   545,   546,   547,   548,   549,     0,
12105
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
12106
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
12107
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
12108
     573,   574,   575,   576,     0,   577,     0,   579,   580,   581,
12109
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
12110
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
12111
     598,   599,   600,   601,   602,   603,   611,     0,     0,     0,
12112
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12113
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
12114
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
12115
     244,   245,     0,   246,   247,   248,     0,   250,   251,   252,
12116
     253,   254,   255,     0,   257,   258,     0,   259,   260,   261,
12117
     262,   263,   264,     0,     0,   265,   266,   267,   268,   269,
12118
       0,   270,   271,   272,   273,   274,     0,     0,   276,     0,
12119
     277,   278,   279,   280,   281,     0,   283,   284,   285,     0,
12120
     286,   287,   288,   289,   290,   291,     0,     0,   293,   294,
12121
     295,     0,     0,     0,     0,     0,     0,     0,   297,   298,
12122
     299,   300,   301,   302,   303,   304,   305,     0,   306,     0,
12123
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
12124
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
12125
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
12126
     331,   332,   333,   334,   335,   336,     0,   337,     0,   338,
12127
     339,   340,   341,     0,   342,     0,   343,     0,     0,     0,
12128
     346,   347,   348,   349,     0,   350,   351,     0,   352,   353,
12129
     354,   355,     0,   356,   357,   358,   359,   360,     0,   362,
12130
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
12131
     372,     0,   373,     0,   375,   376,   377,   378,   379,   380,
12132
     381,     0,   382,     0,   383,     0,     0,   386,     0,   388,
12133
     389,   390,   391,   392,     0,     0,   393,   394,     0,   396,
12134
       0,     0,   398,   399,   400,     0,     0,   401,   402,   403,
12135
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
12136
     414,   415,   416,   417,     0,   419,   420,   421,   422,     0,
12137
     424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
12138
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
12139
     439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
12140
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
12141
     456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
12142
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
12143
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
12144
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
12145
       0,   494,   495,   496,   497,   498,   499,   500,   501,  2003,
12146
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
12147
     512,   513,     0,   514,   515,   516,   517,   518,     0,   520,
12148
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
12149
     530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
12150
     539,     0,   540,   541,   542,     0,   544,   545,   546,   547,
12151
     548,   549,     0,   550,   551,   552,     0,     0,   553,   554,
12152
     555,   556,   557,     0,   558,   559,   560,   561,   562,   563,
12153
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
12154
     570,   571,   572,   573,   574,   575,   576,     0,   577,     0,
12155
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
12156
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
12157
     595,   596,   597,   598,   599,   600,   601,   602,   603,   611,
12158
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12159
       0,     0,     0,     0,   233,   234,   235,   236,   237,   238,
12160
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
12161
       0,  2180,     0,   244,   245,     0,   246,   247,   248,     0,
12162
     250,   251,   252,   253,   254,   255,     0,   257,   258,     0,
12163
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
12164
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
12165
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
12166
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
12167
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
12168
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
12169
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
12170
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
12171
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
12172
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
12173
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
12174
       0,     0,     0,   346,   347,   348,   349,     0,   350,   351,
12175
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
12176
     360,     0,   362,   363,   364,   365,     0,   366,   367,   368,
12177
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
12178
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
12179
     386,     0,   388,   389,   390,   391,   392,     0,     0,   393,
12180
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
12181
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
12182
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
12183
     421,   422,     0,   424,     0,   425,   426,     0,   428,     0,
12184
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
12185
       0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
12186
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
12187
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
12188
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
12189
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
12190
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12191
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
12192
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
12193
     509,   510,   511,   512,   513,     0,     0,   515,   516,   517,
12194
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
12195
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
12196
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
12197
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
12198
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
12199
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
12200
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
12201
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
12202
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
12203
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
12204
     602,   603,   611,     0,     0,     0,     0,     0,     0,     0,
12205
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
12206
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
12207
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
12208
     247,   248,     0,   250,   251,   252,   253,   254,   255,     0,
12209
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
12210
       0,   804,   266,   267,   268,   269,     0,   270,   271,   272,
12211
     273,   274,     0,     0,   276,     0,   277,   278,   279,   280,
12212
     281,     0,   283,   284,   285,     0,   286,   287,   288,   289,
12213
     290,   291,     0,     0,   293,   294,   295,     0,     0,     0,
12214
       0,     0,     0,     0,   297,   298,   299,   300,   301,   302,
12215
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
12216
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
12217
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
12218
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
12219
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
12220
     342,     0,   343,     0,     0,     0,   346,   347,   348,   349,
12221
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
12222
     357,   358,   359,   360,     0,   362,   363,   364,   365,     0,
12223
     366,   367,   368,   369,   370,   371,   372,     0,   373,     0,
12224
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
12225
     383,     0,     0,   386,     0,   388,   389,   390,   391,   392,
12226
       0,     0,   393,   394,     0,   396,     0,     0,   398,   399,
12227
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
12228
     408,   409,   410,   411,   412,   413,   414,   415,   807,   417,
12229
       0,   419,   420,   421,   422,     0,   424,     0,   425,   426,
12230
       0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
12231
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
12232
     441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
12233
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
12234
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
12235
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
12236
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12237
     488,   489,   490,     0,   491,   492,     0,   808,   495,   496,
12238
     497,   498,   499,   500,   501,   502,   809,   504,   505,   506,
12239
     507,   508,     0,   509,   510,   511,   512,  1336,     0,   514,
12240
     515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
12241
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
12242
     534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
12243
     542,     0,  2214,   545,   546,   547,   548,   549,     0,   550,
12244
     811,   552,     0,     0,   812,   554,   555,   556,   557,     0,
12245
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
12246
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
12247
     574,   575,   576,     0,   577,     0,   579,   580,   581,   582,
12248
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
12249
     813,   590,   591,   592,   593,   594,   595,   596,   597,   598,
12250
     599,   600,   601,   602,   603,   611,     0,     0,     0,     0,
12251
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12252
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
12253
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
12254
     245,     0,   246,   247,   248,     0,   250,   251,   252,   253,
12255
     254,   255,     0,   257,   258,     0,   259,   260,   261,   262,
12256
     263,   264,     0,     0,   804,   266,   267,   268,   269,     0,
12257
     270,   271,   272,   273,   274,     0,     0,   276,     0,   277,
12258
     278,   279,   280,   281,     0,   283,   284,   285,     0,   286,
12259
     287,   288,   289,   290,   291,     0,     0,   293,   294,   295,
12260
       0,     0,     0,     0,     0,     0,     0,   297,   298,   299,
12261
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
12262
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
12263
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
12264
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
12265
     332,   333,   334,   335,   336,     0,   337,     0,   338,   339,
12266
     340,   341,     0,   342,     0,   343,     0,     0,     0,   346,
12267
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
12268
     355,     0,   356,   357,   358,   359,   360,     0,   362,   363,
12269
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
12270
       0,   373,     0,   375,   376,   377,   378,   379,   380,   381,
12271
       0,   382,     0,   383,     0,     0,   386,     0,   388,   389,
12272
     390,   391,   392,     0,     0,   393,   394,     0,   396,     0,
12273
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
12274
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
12275
     415,   807,   417,     0,   419,   420,   421,   422,     0,   424,
12276
       0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
12277
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
12278
       0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
12279
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
12280
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
12281
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
12282
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
12283
     485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
12284
     808,   495,   496,   497,   498,   499,   500,   501,   502,  2291,
12285
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
12286
    2292,     0,   514,   515,   516,   517,   518,     0,   520,   521,
12287
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
12288
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
12289
       0,   540,   541,   542,     0,   544,   545,   546,   547,   548,
12290
     549,     0,   550,   811,   552,     0,     0,  2293,   554,   555,
12291
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
12292
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
12293
     571,   572,   573,   574,   575,   576,     0,   577,     0,   579,
12294
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
12295
     586,   587,   588,   813,   590,   591,   592,   593,   594,   595,
12296
     596,   597,   598,   599,   600,   601,   602,   603,   611,     0,
12297
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12298
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
12299
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
12300
       0,     0,   244,   245,     0,   246,   247,   248,     0,   250,
12301
     251,   252,   253,   254,   255,     0,   257,   258,     0,   259,
12302
     260,   261,   262,   263,   264,     0,     0,   804,   266,   267,
12303
     268,   269,     0,   270,   271,   272,   273,   274,     0,     0,
12304
     276,     0,   277,   278,   279,   280,   281,     0,   283,   284,
12305
     285,     0,   286,   287,   288,   289,   290,   291,     0,     0,
12306
     293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
12307
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
12308
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
12309
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
12310
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
12311
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
12312
       0,   338,   339,   340,   341,     0,   342,     0,   343,     0,
12313
       0,     0,   346,   347,   348,   349,     0,   350,   351,     0,
12314
     352,   353,   354,   355,     0,   356,   357,   358,   359,   360,
12315
       0,   362,   363,   364,   365,     0,   366,   367,   368,   369,
12316
     370,   371,   372,     0,   373,     0,   375,   376,   377,   378,
12317
     379,   380,   381,     0,   382,     0,   383,     0,     0,   386,
12318
       0,   388,   389,   390,   391,   392,     0,     0,   393,   394,
12319
       0,   396,     0,     0,   398,   399,   400,     0,     0,   401,
12320
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
12321
     412,   413,   414,   415,   807,   417,     0,   419,   420,   421,
12322
     422,     0,   424,     0,   425,   426,     0,   428,     0,   429,
12323
     430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
12324
     437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
12325
       0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
12326
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
12327
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
12328
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
12329
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
12330
     491,   492,     0,   808,   495,   496,   497,   498,   499,   500,
12331
     501,   502,  2370,   504,   505,   506,   507,   508,     0,   509,
12332
     510,   511,   512,  2292,     0,   514,   515,   516,   517,   518,
12333
       0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
12334
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
12335
       0,   538,   539,     0,   540,   541,   542,     0,   544,   545,
12336
     546,   547,   548,   549,     0,   550,   811,   552,     0,     0,
12337
    2293,   554,   555,   556,   557,     0,   558,   559,   560,   561,
12338
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
12339
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
12340
     577,     0,   579,   580,   581,   582,     0,     0,   583,     0,
12341
       0,   584,   585,   586,   587,   588,   813,   590,   591,   592,
12342
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
12343
     603,   611,     0,     0,     0,     0,     0,     0,     0,     0,
12344
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
12345
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
12346
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
12347
     248,     0,   250,   251,   252,   253,   254,   255,     0,   257,
12348
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
12349
     804,   266,   267,   268,   269,     0,   270,   271,   272,   273,
12350
     274,     0,     0,   276,     0,   277,   278,   279,   280,   281,
12351
       0,   283,   284,   285,     0,   286,   287,   288,   289,   290,
12352
     291,     0,     0,   293,   294,   295,     0,     0,     0,     0,
12353
       0,     0,     0,   297,   298,   299,   300,   301,   302,   303,
12354
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
12355
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
12356
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
12357
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
12358
     336,     0,   337,     0,   338,   339,   340,   341,     0,   342,
12359
       0,   343,     0,     0,     0,   346,   347,   348,   349,     0,
12360
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
12361
     358,   359,   360,     0,   362,   363,   364,   365,     0,   366,
12362
     367,   368,   369,   370,   371,   372,     0,   373,     0,   375,
12363
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
12364
       0,     0,   386,     0,   388,   389,   390,   391,   392,     0,
12365
       0,   393,   394,     0,   396,     0,     0,   398,   399,   400,
12366
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
12367
     409,   410,   411,   412,   413,   414,   415,   807,   417,     0,
12368
     419,   420,   421,   422,     0,   424,     0,   425,   426,     0,
12369
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
12370
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
12371
     442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
12372
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
12373
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
12374
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
12375
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12376
     489,   490,     0,   491,   492,     0,   808,   495,   496,   497,
12377
     498,   499,   500,   501,   502,  2387,   504,   505,   506,   507,
12378
     508,     0,   509,   510,   511,   512,  2292,     0,   514,   515,
12379
     516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
12380
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
12381
     535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
12382
       0,   544,   545,   546,   547,   548,   549,     0,   550,   811,
12383
     552,     0,     0,  2293,   554,   555,   556,   557,     0,   558,
12384
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
12385
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
12386
     575,   576,     0,   577,     0,   579,   580,   581,   582,     0,
12387
       0,   583,     0,     0,   584,   585,   586,   587,   588,   813,
12388
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
12389
     600,   601,   602,   603,   611,     0,     0,     0,     0,     0,
12390
       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
12391
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
12392
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
12393
       0,   246,   247,   248,     0,   250,   251,   252,   253,   254,
12394
     255,     0,   257,   258,     0,   259,   260,   261,   262,   263,
12395
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
12396
     271,   272,   273,   274,     0,     0,   276,     0,   277,   278,
12397
     279,   280,   281,     0,   283,   284,   285,     0,   286,   287,
12398
     288,   289,   290,   291,     0,     0,   293,   294,   295,     0,
12399
       0,     0,     0,     0,     0,     0,   297,   298,   299,   300,
12400
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
12401
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
12402
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
12403
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
12404
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
12405
     341,     0,   342,     0,   343,     0,     0,     0,   346,   347,
12406
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
12407
       0,   356,   357,   358,   359,  2598,     0,   362,   363,   364,
12408
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
12409
     373,     0,   375,   376,   377,   378,   379,   380,   381,     0,
12410
     382,     0,   383,     0,     0,   386,     0,   388,   389,   390,
12411
     391,   392,     0,     0,   393,   394,     0,   396,     0,     0,
12412
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
12413
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
12414
     416,   417,     0,   419,   420,   421,   422,     0,   424,     0,
12415
     425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
12416
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
12417
       0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
12418
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
12419
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
12420
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
12421
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
12422
     486,   487,   488,   489,   490,     0,   491,   492,     0,   494,
12423
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
12424
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
12425
       0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
12426
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
12427
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
12428
     540,   541,   542,     0,   544,   545,   546,   547,   548,   549,
12429
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
12430
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
12431
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
12432
     572,   573,   574,   575,   576,     0,   577,     0,   579,   580,
12433
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
12434
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
12435
     597,   598,   599,   600,   601,   602,   603,   611,     0,     0,
12436
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12437
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
12438
       0,   241,   242,   243,     0,     0,     0,     0,     0,     0,
12439
       0,   244,   245,     0,   246,   247,   248,     0,   250,   251,
12440
     252,   253,   254,   255,     0,   257,   258,     0,   259,   260,
12441
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
12442
     269,     0,   270,   271,   272,   273,   274,     0,     0,   276,
12443
       0,   277,   278,   279,   280,   281,     0,   283,   284,   285,
12444
       0,   286,   287,   288,   289,   290,   291,     0,     0,   293,
12445
     294,   295,     0,     0,     0,     0,     0,     0,     0,   297,
12446
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
12447
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
12448
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
12449
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
12450
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
12451
     338,   339,   340,   341,     0,   342,     0,   343,     0,     0,
12452
       0,   346,   347,   348,   349,     0,   350,   351,     0,   352,
12453
     353,   354,   355,     0,   356,   357,   358,   359,  2602,     0,
12454
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
12455
     371,   372,     0,   373,     0,   375,   376,   377,   378,   379,
12456
     380,   381,     0,   382,     0,   383,     0,     0,   386,     0,
12457
     388,   389,   390,   391,   392,     0,     0,   393,   394,     0,
12458
     396,     0,     0,   398,   399,   400,     0,     0,   401,   402,
12459
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
12460
     413,   414,   415,   416,   417,     0,   419,   420,   421,   422,
12461
       0,   424,     0,   425,   426,     0,   428,     0,   429,   430,
12462
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
12463
     438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
12464
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
12465
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
12466
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
12467
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
12468
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
12469
     492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
12470
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
12471
     511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
12472
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
12473
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
12474
     538,   539,     0,   540,   541,   542,     0,   544,   545,   546,
12475
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
12476
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
12477
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
12478
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
12479
       0,   579,   580,   581,   582,     0,     0,   583,     0,     0,
12480
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
12481
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
12482
     611,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12483
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
12484
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
12485
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
12486
       0,   250,   251,   252,   253,   254,   255,     0,   257,   258,
12487
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
12488
     266,   267,   268,   269,     0,   270,   271,   272,   273,   274,
12489
       0,     0,   276,     0,   277,   278,   279,   280,   281,     0,
12490
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
12491
       0,     0,   293,   294,   295,     0,     0,     0,     0,     0,
12492
       0,     0,   297,   298,   299,   300,   301,   302,   303,   304,
12493
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
12494
       0,   313,   314,   315,   316,     0,     0,   317,   318,   319,
12495
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
12496
       0,   328,   329,   330,   331,   332,   333,   334,   335,   336,
12497
       0,   337,     0,   338,   339,   340,   341,     0,   342,     0,
12498
     343,     0,     0,     0,   346,   347,   348,   349,     0,   350,
12499
     351,     0,   352,   353,   354,   355,     0,   356,   357,   358,
12500
     359,  2675,     0,   362,   363,   364,   365,     0,   366,   367,
12501
     368,   369,   370,   371,   372,     0,   373,     0,   375,   376,
12502
     377,   378,   379,   380,   381,     0,   382,     0,   383,     0,
12503
       0,   386,     0,   388,   389,   390,   391,   392,     0,     0,
12504
     393,   394,     0,   396,     0,     0,   398,   399,   400,     0,
12505
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12506
     410,   411,   412,   413,   414,   415,   416,   417,     0,   419,
12507
     420,   421,   422,     0,   424,     0,   425,   426,     0,   428,
12508
       0,   429,   430,   431,   432,   433,   434,     0,   435,   436,
12509
       0,     0,   437,   438,   439,     0,     0,   440,   441,   442,
12510
       0,   444,     0,   446,   447,   448,   449,   450,   451,   452,
12511
     453,   454,   455,     0,   456,   457,   458,   459,   460,   461,
12512
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
12513
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
12514
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12515
     490,     0,   491,   492,     0,   494,   495,   496,   497,   498,
12516
     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
12517
       0,   509,   510,   511,   512,   513,     0,   514,   515,   516,
12518
     517,   518,     0,   520,   521,   522,   523,     0,   524,   525,
12519
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
12520
     536,   537,     0,   538,   539,     0,   540,   541,   542,     0,
12521
     544,   545,   546,   547,   548,   549,     0,   550,   551,   552,
12522
       0,     0,   553,   554,   555,   556,   557,     0,   558,   559,
12523
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
12524
     568,   569,     0,     0,   570,   571,   572,   573,   574,   575,
12525
     576,     0,   577,     0,   579,   580,   581,   582,     0,     0,
12526
     583,     0,     0,   584,   585,   586,   587,   588,   589,   590,
12527
     591,   592,   593,   594,   595,   596,   597,   598,   599,   600,
12528
     601,   602,   603,   611,     0,     0,     0,     0,     0,     0,
12529
       0,     0,     0,     0,     0,     0,     0,     0,   233,   234,
12530
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
12531
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
12532
     246,   247,   248,     0,   250,   251,   252,   253,   254,   255,
12533
       0,   257,   258,     0,   259,   260,   261,   262,   263,   264,
12534
       0,     0,   265,   266,   267,   268,   269,     0,   270,   271,
12535
     272,   273,   274,     0,     0,   276,     0,   277,   278,   279,
12536
     280,   281,     0,   283,   284,   285,     0,   286,   287,   288,
12537
     289,   290,   291,     0,     0,   293,   294,   295,     0,     0,
12538
       0,     0,     0,     0,     0,   297,   298,   299,   300,   301,
12539
     302,   303,   304,   305,     0,   306,     0,   307,   308,   309,
12540
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
12541
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
12542
     325,   326,   327,     0,   328,   329,   330,   331,   332,   333,
12543
     334,   335,   336,     0,   337,     0,   338,   339,   340,   341,
12544
       0,   342,     0,   343,     0,     0,     0,   346,   347,   348,
12545
     349,     0,   350,   351,     0,   352,   353,   354,   355,     0,
12546
     356,   357,   358,   359,  3002,     0,   362,   363,   364,   365,
12547
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
12548
       0,   375,   376,   377,   378,   379,   380,   381,     0,   382,
12549
       0,   383,     0,     0,   386,     0,   388,   389,   390,   391,
12550
     392,     0,     0,   393,   394,     0,   396,     0,     0,   398,
12551
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
12552
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
12553
     417,     0,   419,   420,   421,   422,     0,   424,     0,   425,
12554
     426,     0,   428,     0,   429,   430,   431,   432,   433,   434,
12555
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
12556
     440,   441,   442,     0,   444,     0,   446,   447,   448,   449,
12557
     450,   451,   452,   453,   454,   455,     0,   456,   457,   458,
12558
     459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
12559
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
12560
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
12561
     487,   488,   489,   490,     0,   491,   492,     0,   494,   495,
12562
     496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
12563
     506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
12564
     514,   515,   516,   517,   518,     0,   520,   521,   522,   523,
12565
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
12566
     533,   534,   535,   536,   537,     0,   538,   539,     0,   540,
12567
     541,   542,     0,   544,   545,   546,   547,   548,   549,     0,
12568
     550,   551,   552,     0,     0,   553,   554,   555,   556,   557,
12569
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
12570
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
12571
     573,   574,   575,   576,     0,   577,     0,   579,   580,   581,
12572
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
12573
     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
12574
     598,   599,   600,   601,   602,   603,   611,     0,     0,     0,
12575
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12576
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
12577
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
12578
     244,   245,     0,   246,   247,   248,     0,   250,   251,   252,
12579
     253,   254,   255,     0,   257,   258,     0,   259,   260,   261,
12580
     262,   263,   264,     0,     0,   804,   266,   267,   268,   269,
12581
       0,   270,   271,   272,   273,   274,     0,     0,   276,     0,
12582
     277,   278,   279,   280,   281,     0,   283,   284,   285,     0,
12583
     286,   287,   288,   289,   290,   291,     0,     0,   293,   294,
12584
     295,     0,     0,     0,     0,     0,     0,     0,   297,   298,
12585
     299,   300,   301,   302,   303,   304,   305,     0,   306,     0,
12586
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
12587
     316,     0,     0,   317,   318,   319,   320,   321,     0,   322,
12588
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
12589
     331,   332,   333,   334,   335,   336,     0,   337,     0,   338,
12590
     339,   340,   341,     0,   342,     0,   343,     0,     0,     0,
12591
     346,   347,   348,   349,     0,   350,   351,     0,   352,   353,
12592
     354,   355,     0,   356,   357,   358,   359,   360,     0,   362,
12593
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
12594
     372,     0,   373,     0,   375,   376,   377,   378,   379,   380,
12595
     381,     0,   382,     0,   383,     0,     0,   386,     0,   388,
12596
     389,   390,   391,   392,     0,     0,   393,   394,     0,   396,
12597
       0,     0,   398,   399,   400,     0,     0,   401,   402,   403,
12598
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
12599
     414,   415,   807,   417,     0,   419,   420,   421,   422,     0,
12600
     424,     0,   425,   426,     0,   428,     0,   429,   430,   431,
12601
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
12602
     439,     0,     0,   440,   441,   442,     0,   444,     0,   446,
12603
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
12604
     456,   457,   458,   459,   460,   461,   462,   463,     0,   464,
12605
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
12606
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
12607
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
12608
       0,   808,   495,   496,   497,   498,   499,   500,   501,   502,
12609
     809,   504,   505,   506,   507,   508,     0,   509,   510,   511,
12610
     512,  2292,     0,   514,   515,   516,   517,   518,     0,   520,
12611
     521,   522,   523,     0,   524,   525,   526,   527,   528,   529,
12612
     530,   531,   532,   533,   534,   535,   536,   537,     0,   538,
12613
     539,     0,   540,   541,   542,     0,   544,   545,   546,   547,
12614
     548,   549,     0,   550,   811,   552,     0,     0,  2293,   554,
12615
     555,   556,   557,     0,   558,   559,   560,   561,   562,   563,
12616
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
12617
     570,   571,   572,   573,   574,   575,   576,     0,   577,     0,
12618
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
12619
     585,   586,   587,   588,   813,   590,   591,   592,   593,   594,
12620
     595,   596,   597,   598,   599,   600,   601,   602,   603,   611,
12621
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12622
       0,     0,     0,     0,   233,   234,   235,   236,   237,   238,
12623
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
12624
       0,     0,     0,   244,   245,     0,   246,   247,   248,     0,
12625
     250,   251,   252,   253,   254,   255,     0,   257,   258,     0,
12626
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
12627
     267,   268,   269,     0,   270,   271,   272,   273,   274,     0,
12628
       0,   276,     0,   277,   278,   279,   280,   281,     0,   283,
12629
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
12630
       0,   293,   294,   295,     0,     0,     0,     0,     0,     0,
12631
       0,   297,   298,   299,   300,   301,   302,   303,   304,   305,
12632
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
12633
     313,   314,   315,   316,     0,     0,   317,   318,   319,   320,
12634
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
12635
     328,   329,   330,   331,   332,   333,   334,   335,   336,     0,
12636
     337,     0,   338,   339,   340,   341,     0,   342,     0,   343,
12637
       0,     0,     0,   346,   347,   348,   349,     0,   350,   351,
12638
       0,   352,   353,   354,   355,     0,   356,   357,   358,   359,
12639
    3071,     0,   362,   363,   364,   365,     0,   366,   367,   368,
12640
     369,   370,   371,   372,     0,   373,     0,   375,   376,   377,
12641
     378,   379,   380,   381,     0,   382,     0,   383,     0,     0,
12642
     386,     0,   388,   389,   390,   391,   392,     0,     0,   393,
12643
     394,     0,   396,     0,     0,   398,   399,   400,     0,     0,
12644
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
12645
     411,   412,   413,   414,   415,   416,   417,     0,   419,   420,
12646
     421,   422,     0,   424,     0,   425,   426,     0,   428,     0,
12647
     429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
12648
       0,   437,   438,   439,     0,     0,   440,   441,   442,     0,
12649
     444,     0,   446,   447,   448,   449,   450,   451,   452,   453,
12650
     454,   455,     0,   456,   457,   458,   459,   460,   461,   462,
12651
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
12652
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
12653
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
12654
       0,   491,   492,     0,   494,   495,   496,   497,   498,   499,
12655
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
12656
     509,   510,   511,   512,   513,     0,   514,   515,   516,   517,
12657
     518,     0,   520,   521,   522,   523,     0,   524,   525,   526,
12658
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
12659
     537,     0,   538,   539,     0,   540,   541,   542,     0,   544,
12660
     545,   546,   547,   548,   549,     0,   550,   551,   552,     0,
12661
       0,   553,   554,   555,   556,   557,     0,   558,   559,   560,
12662
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
12663
     569,     0,     0,   570,   571,   572,   573,   574,   575,   576,
12664
       0,   577,     0,   579,   580,   581,   582,     0,     0,   583,
12665
       0,     0,   584,   585,   586,   587,   588,   589,   590,   591,
12666
     592,   593,   594,   595,   596,   597,   598,   599,   600,   601,
12667
     602,   603,   611,     0,     0,     0,     0,     0,     0,     0,
12668
       0,     0,     0,     0,     0,     0,     0,   233,   234,   235,
12669
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
12670
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
12671
     247,   248,     0,   250,   251,   252,   253,   254,   255,     0,
12672
     257,   258,     0,   259,   260,   261,   262,   263,   264,     0,
12673
       0,   265,   266,   267,   268,   269,     0,   270,   271,   272,
12674
     273,   274,     0,     0,   276,     0,   277,   278,   279,   280,
12675
     281,     0,   283,   284,   285,     0,   286,   287,   288,   289,
12676
     290,   291,     0,     0,   293,   294,   295,     0,     0,     0,
12677
       0,     0,     0,     0,   297,   298,   299,   300,   301,   302,
12678
     303,   304,   305,     0,   306,     0,   307,   308,   309,   310,
12679
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
12680
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
12681
     326,   327,     0,   328,   329,   330,   331,   332,   333,   334,
12682
     335,   336,     0,   337,     0,   338,   339,   340,   341,     0,
12683
     342,     0,   343,     0,     0,     0,   346,   347,   348,   349,
12684
       0,   350,   351,     0,   352,   353,   354,   355,     0,   356,
12685
     357,   358,   359,  3086,     0,   362,   363,   364,   365,     0,
12686
     366,   367,   368,   369,   370,   371,   372,     0,   373,     0,
12687
     375,   376,   377,   378,   379,   380,   381,     0,   382,     0,
12688
     383,     0,     0,   386,     0,   388,   389,   390,   391,   392,
12689
       0,     0,   393,   394,     0,   396,     0,     0,   398,   399,
12690
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
12691
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
12692
       0,   419,   420,   421,   422,     0,   424,     0,   425,   426,
12693
       0,   428,     0,   429,   430,   431,   432,   433,   434,     0,
12694
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
12695
     441,   442,     0,   444,     0,   446,   447,   448,   449,   450,
12696
     451,   452,   453,   454,   455,     0,   456,   457,   458,   459,
12697
     460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
12698
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
12699
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12700
     488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
12701
     497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
12702
     507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
12703
     515,   516,   517,   518,     0,   520,   521,   522,   523,     0,
12704
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
12705
     534,   535,   536,   537,     0,   538,   539,     0,   540,   541,
12706
     542,     0,   544,   545,   546,   547,   548,   549,     0,   550,
12707
     551,   552,     0,     0,   553,   554,   555,   556,   557,     0,
12708
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
12709
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
12710
     574,   575,   576,     0,   577,     0,   579,   580,   581,   582,
12711
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
12712
     589,   590,   591,   592,   593,   594,   595,   596,   597,   598,
12713
     599,   600,   601,   602,   603,   611,     0,     0,     0,     0,
12714
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12715
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
12716
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
12717
     245,     0,   246,   247,   248,     0,   250,   251,   252,   253,
12718
     254,   255,     0,   257,   258,     0,   259,   260,   261,   262,
12719
     263,   264,     0,     0,   265,   266,   267,   268,   269,     0,
12720
     270,   271,   272,   273,   274,     0,     0,   276,     0,   277,
12721
     278,   279,   280,   281,     0,   283,   284,   285,     0,   286,
12722
     287,   288,   289,   290,   291,     0,     0,   293,   294,   295,
12723
       0,     0,     0,     0,     0,     0,     0,   297,   298,   299,
12724
     300,   301,   302,   303,   304,   305,     0,   306,     0,   307,
12725
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
12726
       0,     0,   317,   318,   319,   320,   321,     0,   322,   323,
12727
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
12728
     332,   333,   334,   335,   336,     0,   337,     0,   338,   339,
12729
     340,   341,     0,   342,     0,   343,     0,     0,     0,   346,
12730
     347,   348,   349,     0,   350,   351,     0,   352,   353,   354,
12731
     355,     0,   356,   357,   358,   359,  3088,     0,   362,   363,
12732
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
12733
       0,   373,     0,   375,   376,   377,   378,   379,   380,   381,
12734
       0,   382,     0,   383,     0,     0,   386,     0,   388,   389,
12735
     390,   391,   392,     0,     0,   393,   394,     0,   396,     0,
12736
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
12737
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
12738
     415,   416,   417,     0,   419,   420,   421,   422,     0,   424,
12739
       0,   425,   426,     0,   428,     0,   429,   430,   431,   432,
12740
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
12741
       0,     0,   440,   441,   442,     0,   444,     0,   446,   447,
12742
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
12743
     457,   458,   459,   460,   461,   462,   463,     0,   464,   465,
12744
     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
12745
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
12746
     485,   486,   487,   488,   489,   490,     0,   491,   492,     0,
12747
     494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
12748
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
12749
     513,     0,   514,   515,   516,   517,   518,     0,   520,   521,
12750
     522,   523,     0,   524,   525,   526,   527,   528,   529,   530,
12751
     531,   532,   533,   534,   535,   536,   537,     0,   538,   539,
12752
       0,   540,   541,   542,     0,   544,   545,   546,   547,   548,
12753
     549,     0,   550,   551,   552,     0,     0,   553,   554,   555,
12754
     556,   557,     0,   558,   559,   560,   561,   562,   563,   564,
12755
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
12756
     571,   572,   573,   574,   575,   576,     0,   577,     0,   579,
12757
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
12758
     586,   587,   588,   589,   590,   591,   592,   593,   594,   595,
12759
     596,   597,   598,   599,   600,   601,   602,   603,   611,     0,
12760
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12761
       0,     0,     0,   233,   234,   235,   236,   237,   238,   239,
12762
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
12763
       0,     0,   244,   245,     0,   246,   247,   248,     0,   250,
12764
     251,   252,   253,   254,   255,     0,   257,   258,     0,   259,
12765
     260,   261,   262,   263,   264,     0,     0,   265,   266,   267,
12766
     268,   269,     0,   270,   271,   272,   273,   274,     0,     0,
12767
     276,     0,   277,   278,   279,   280,   281,     0,   283,   284,
12768
     285,     0,   286,   287,   288,   289,   290,   291,     0,     0,
12769
     293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
12770
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
12771
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
12772
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
12773
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
12774
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
12775
       0,   338,   339,   340,   341,     0,   342,     0,   343,     0,
12776
       0,     0,   346,   347,   348,   349,     0,   350,   351,     0,
12777
     352,   353,   354,   355,     0,   356,   357,   358,   359,  3233,
12778
       0,   362,   363,   364,   365,     0,   366,   367,   368,   369,
12779
     370,   371,   372,     0,   373,     0,   375,   376,   377,   378,
12780
     379,   380,   381,     0,   382,     0,   383,     0,     0,   386,
12781
       0,   388,   389,   390,   391,   392,     0,     0,   393,   394,
12782
       0,   396,     0,     0,   398,   399,   400,     0,     0,   401,
12783
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
12784
     412,   413,   414,   415,   416,   417,     0,   419,   420,   421,
12785
     422,     0,   424,     0,   425,   426,     0,   428,     0,   429,
12786
     430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
12787
     437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
12788
       0,   446,   447,   448,   449,   450,   451,   452,   453,   454,
12789
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
12790
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
12791
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
12792
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
12793
     491,   492,     0,   494,   495,   496,   497,   498,   499,   500,
12794
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
12795
     510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
12796
       0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
12797
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
12798
       0,   538,   539,     0,   540,   541,   542,     0,   544,   545,
12799
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
12800
     553,   554,   555,   556,   557,     0,   558,   559,   560,   561,
12801
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
12802
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
12803
     577,     0,   579,   580,   581,   582,     0,     0,   583,     0,
12804
       0,   584,   585,   586,   587,   588,   589,   590,   591,   592,
12805
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
12806
     603,   611,     0,     0,     0,     0,     0,     0,     0,     0,
12807
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
12808
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
12809
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
12810
     248,     0,   250,   251,   252,   253,   254,   255,     0,   257,
12811
     258,     0,   259,   260,   261,   262,   263,   264,     0,     0,
12812
     265,   266,   267,   268,   269,     0,   270,   271,   272,   273,
12813
     274,     0,     0,   276,     0,   277,   278,   279,   280,   281,
12814
       0,   283,   284,   285,     0,   286,   287,   288,   289,   290,
12815
     291,     0,     0,   293,   294,   295,     0,     0,     0,     0,
12816
       0,     0,     0,   297,   298,   299,   300,   301,   302,   303,
12817
     304,   305,     0,   306,     0,   307,   308,   309,   310,   311,
12818
     312,     0,   313,   314,   315,   316,     0,     0,   317,  3270,
12819
     319,   320,   321,     0,   322,   323,   324,     0,   325,   326,
12820
     327,     0,   328,   329,   330,   331,   332,   333,   334,   335,
12821
     336,     0,   337,     0,   338,   339,   340,   341,     0,   342,
12822
       0,   343,     0,     0,     0,   346,   347,   348,   349,     0,
12823
     350,   351,     0,   352,   353,   354,   355,     0,   356,   357,
12824
     358,   359,   360,     0,   362,   363,   364,   365,     0,   366,
12825
     367,   368,   369,   370,   371,   372,     0,   373,     0,   375,
12826
     376,   377,   378,   379,   380,   381,     0,   382,     0,   383,
12827
       0,     0,   386,     0,   388,   389,   390,   391,   392,     0,
12828
       0,   393,   394,     0,   396,     0,     0,   398,   399,   400,
12829
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
12830
     409,   410,   411,   412,   413,   414,   415,   416,   417,     0,
12831
     419,   420,   421,   422,     0,   424,     0,   425,   426,     0,
12832
     428,     0,   429,   430,   431,   432,   433,   434,     0,   435,
12833
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
12834
     442,     0,   444,     0,   446,   447,   448,   449,   450,   451,
12835
     452,   453,   454,   455,     0,   456,   457,   458,   459,   460,
12836
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
12837
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
12838
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
12839
     489,   490,     0,   491,   492,     0,   494,   495,   496,   497,
12840
     498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
12841
     508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
12842
     516,   517,   518,     0,   520,   521,   522,   523,     0,   524,
12843
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
12844
     535,   536,   537,     0,   538,   539,     0,   540,   541,   542,
12845
       0,   544,   545,   546,   547,   548,   549,     0,   550,   551,
12846
     552,     0,     0,   553,   554,   555,   556,   557,     0,   558,
12847
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
12848
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
12849
     575,   576,     0,   577,     0,   579,   580,   581,   582,     0,
12850
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
12851
     590,   591,   592,   593,   594,   595,   596,   597,   598,   599,
12852
     600,   601,   602,   603,   611,     0,     0,     0,     0,     0,
12853
       0,     0,     0,     0,     0,     0,     0,     0,     0,   233,
12854
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
12855
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
12856
       0,   246,   247,   248,     0,   250,   251,   252,   253,   254,
12857
     255,     0,   257,   258,     0,   259,   260,   261,   262,   263,
12858
     264,     0,     0,   265,   266,   267,   268,   269,     0,   270,
12859
     271,   272,   273,   274,     0,     0,   276,     0,   277,   278,
12860
     279,   280,   281,     0,   283,   284,   285,     0,   286,   287,
12861
     288,   289,   290,   291,     0,     0,   293,   294,   295,     0,
12862
       0,     0,     0,     0,     0,     0,   297,   298,   299,   300,
12863
     301,   302,   303,   304,   305,     0,   306,     0,   307,   308,
12864
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
12865
       0,   317,   318,   319,   320,   321,     0,   322,   323,   324,
12866
       0,   325,   326,   327,     0,   328,   329,   330,   331,   332,
12867
     333,   334,   335,   336,     0,   337,     0,   338,   339,   340,
12868
     341,     0,   342,     0,   343,     0,     0,     0,   346,   347,
12869
     348,   349,     0,   350,   351,     0,   352,   353,   354,   355,
12870
       0,   356,   357,   358,   359,  4438,     0,   362,   363,   364,
12871
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
12872
     373,     0,   375,   376,   377,   378,   379,   380,   381,     0,
12873
     382,     0,   383,     0,     0,   386,     0,   388,   389,   390,
12874
     391,   392,     0,     0,   393,   394,     0,   396,     0,     0,
12875
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
12876
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
12877
     416,   417,     0,   419,   420,   421,   422,     0,   424,     0,
12878
     425,   426,     0,   428,     0,   429,   430,   431,   432,   433,
12879
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
12880
       0,   440,   441,   442,     0,   444,     0,   446,   447,   448,
12881
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
12882
     458,   459,   460,   461,   462,   463,     0,   464,   465,   466,
12883
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
12884
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
12885
     486,   487,   488,   489,   490,     0,   491,   492,     0,   494,
12886
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
12887
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
12888
       0,   514,   515,   516,   517,   518,     0,   520,   521,   522,
12889
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
12890
     532,   533,   534,   535,   536,   537,     0,   538,   539,     0,
12891
     540,   541,   542,     0,   544,   545,   546,   547,   548,   549,
12892
       0,   550,   551,   552,     0,     0,   553,   554,   555,   556,
12893
     557,     0,   558,   559,   560,   561,   562,   563,   564,     0,
12894
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
12895
     572,   573,   574,   575,   576,     0,   577,     0,   579,   580,
12896
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
12897
     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
12898
     597,   598,   599,   600,   601,   602,   603,   611,     0,     0,
12899
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12900
       0,     0,   233,   234,   235,   236,   237,   238,   239,   240,
12901
       0,   241,   242,   243,     0,     0,     0,     0,     0,     0,
12902
       0,   244,   245,     0,   246,   247,   248,     0,   250,   251,
12903
     252,   253,   254,   255,     0,   257,   258,     0,   259,   260,
12904
     261,   262,   263,   264,     0,     0,   265,   266,   267,   268,
12905
     269,     0,   270,   271,   272,   273,   274,     0,     0,   276,
12906
       0,   277,   278,   279,   280,   281,     0,   283,   284,   285,
12907
       0,   286,   287,   288,   289,   290,   291,     0,     0,   293,
12908
     294,   295,     0,     0,     0,     0,     0,     0,     0,   297,
12909
     298,   299,   300,   301,   302,   303,   304,   305,     0,   306,
12910
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
12911
     315,   316,     0,     0,   317,   318,   319,   320,   321,     0,
12912
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
12913
     330,   331,   332,   333,   334,   335,   336,     0,   337,     0,
12914
     338,   339,   340,   341,     0,   342,     0,   343,     0,     0,
12915
       0,   346,   347,   348,   349,     0,   350,   351,     0,   352,
12916
     353,   354,     0,     0,   356,   357,   358,   359,   360,     0,
12917
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
12918
     371,   372,     0,   373,     0,   375,   376,   377,   378,   379,
12919
     380,   381,     0,   382,     0,   383,     0,     0,   386,     0,
12920
     388,   389,   390,   391,   392,     0,     0,   393,   394,     0,
12921
     396,     0,     0,   398,   399,   400,     0,     0,   401,   402,
12922
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
12923
     413,   414,   415,   416,   417,     0,   419,   420,   421,   422,
12924
       0,   424,     0,   425,   426,     0,   428,     0,   429,   430,
12925
     431,   432,   433,   434,     0,   435,   436,     0,     0,   437,
12926
     438,   439,     0,     0,   440,   441,   442,     0,   444,     0,
12927
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
12928
       0,   456,   457,   458,   459,   460,   461,   462,   463,     0,
12929
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
12930
     474,   475,   476,   477,   478,     0,   479,   480,   481,   482,
12931
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
12932
     492,     0,   494,   495,   496,   497,   498,   499,   500,   501,
12933
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
12934
     511,   512,   513,     0,   514,   515,   516,   517,   518,     0,
12935
     520,   521,   522,   523,     0,   524,   525,   526,   527,   528,
12936
     529,   530,   531,   532,   533,   534,   535,   536,   537,     0,
12937
     538,   539,     0,   540,   541,   542,     0,   544,   545,   546,
12938
     547,   548,   549,     0,   550,   551,   552,     0,     0,   553,
12939
     554,   555,   556,   557,     0,   558,   559,   560,   561,   562,
12940
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
12941
       0,   570,   571,   572,   573,   574,   575,   576,     0,   577,
12942
       0,   579,   580,   581,   582,     0,     0,   583,     0,     0,
12943
     584,   585,   586,   587,   588,   589,   590,   591,   592,   593,
12944
     594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
12945
    1078,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12946
       0,     0,     0,     0,     0,   233,   234,   235,   236,   237,
12947
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
12948
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
12949
     249,   250,   251,   252,   253,     0,  1079,   256,  1080,  1081,
12950
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
12951
     266,  1082,  1083,   269,     0,   270,   271,   272,   273,     0,
12952
       0,   275,   276,     0,   277,   278,   279,   280,   281,   282,
12953
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
12954
       0,   292,   293,   294,   295,     0,     0,     0,   296,     0,
12955
       0,     0,   297,   298,   299,   300,   301,   302,  1084,  1085,
12956
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
12957
       0,   313,   314,   315,   316,     0,     0,   317,   318,  1086,
12958
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
12959
       0,   328,   329,   330,   331,     0,   333,   334,   335,     0,
12960
       0,   337,     0,   338,   339,  1087,   341,     0,   342,     0,
12961
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
12962
       0,     0,     0,   353,   354,   355,     0,   356,   357,   358,
12963
     359,   360,   361,   362,   363,   364,   365,  2187,   366,   367,
12964
     368,   369,   370,   371,   372,     0,   373,   374,  2188,   376,
12965
     377,   378,   379,  1089,  1090,     0,  1091,     0,   383,   384,
12966
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
12967
     393,     0,   395,   396,   397,     0,   398,   399,   400,     0,
12968
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
12969
     410,   411,   412,   413,   414,   415,   416,  1092,   418,  1093,
12970
     420,   421,   422,   423,     0,     0,   425,   426,   427,   428,
12971
       0,     0,   430,  1094,   432,   433,   434,     0,   435,   436,
12972
       0,     0,   437,   438,   439,     0,     0,   440,   441,  2190,
12973
     443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
12974
     453,   454,   455,     0,   456,   457,     0,   459,     0,   461,
12975
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
12976
     471,   472,   473,  1095,   475,   476,   477,   478,     0,   479,
12977
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
12978
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
12979
       0,   500,   501,   502,   503,   504,   505,   506,   507,   508,
12980
       0,   509,   510,   511,   512,   513,     0,   514,   515,  2191,
12981
     517,   518,   519,   520,   521,  1097,   523,     0,   524,   525,
12982
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
12983
     536,     0,     0,   538,   539,     0,   540,   541,   542,   543,
12984
     544,   545,   546,   547,   548,   549,     0,   550,  1098,  1099,
12985
       0,     0,   553,   554,     0,   556,     0,     0,   558,   559,
12986
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
12987
     568,   569,     0,     0,   570,   571,   572,   573,   574,     0,
12988
    1100,  2192,   577,   578,   579,   580,   581,   582,     0,     0,
12989
     583,     0,     0,   584,   585,   586,   587,   588,   589,  1078,
12990
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12991
     601,   602,   603,     0,   233,   234,   235,   236,   237,   238,
12992
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
12993
       0,     0,     0,   244,   245,     0,   246,   247,   248,   249,
12994
     250,   251,   252,   253,     0,  1079,   256,  1080,  1081,     0,
12995
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
12996
    1082,  1083,   269,     0,   270,   271,   272,   273,     0,     0,
12997
     275,   276,     0,   277,   278,   279,   280,   281,   282,   283,
12998
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
12999
     292,   293,   294,   295,     0,     0,     0,   296,     0,     0,
13000
       0,   297,   298,   299,   300,   301,   302,  1084,  1085,   305,
13001
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
13002
     313,   314,   315,   316,     0,     0,   317,   318,  1086,   320,
13003
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
13004
     328,   329,   330,   331,     0,   333,   334,   335,     0,     0,
13005
     337,     0,   338,   339,  1087,   341,     0,   342,     0,   343,
13006
     344,     0,   345,   346,   347,   348,   349,     0,   350,     0,
13007
       0,     0,   353,   354,   355,     0,   356,   357,   358,   359,
13008
     360,   361,   362,   363,   364,   365,     0,   366,   367,   368,
13009
     369,   370,   371,   372,     0,   373,   374,     0,   376,   377,
13010
     378,   379,  1089,  1090,     0,  1091,     0,   383,   384,   385,
13011
     386,   387,   388,   389,   390,   391,   392,     0,     0,   393,
13012
       0,   395,   396,   397,     0,   398,   399,   400,     0,     0,
13013
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
13014
     411,   412,   413,   414,   415,   416,  1092,   418,  1093,   420,
13015
     421,   422,   423,     0,     0,   425,   426,   427,   428,  2287,
13016
       0,   430,  1094,   432,   433,   434,     0,   435,   436,     0,
13017
       0,   437,   438,   439,     0,     0,   440,   441,     0,   443,
13018
     444,   445,     0,   447,   448,   449,   450,   451,   452,   453,
13019
     454,   455,     0,   456,   457,     0,   459,     0,   461,   462,
13020
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
13021
     472,   473,  1095,   475,   476,   477,   478,     0,   479,   480,
13022
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
13023
       0,   491,   492,   493,   494,   495,   496,   497,   498,     0,
13024
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
13025
     509,   510,   511,   512,   513,     0,   514,   515,  2191,   517,
13026
     518,   519,   520,   521,  1097,   523,     0,   524,   525,   526,
13027
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
13028
       0,     0,   538,   539,  3993,   540,   541,   542,   543,   544,
13029
     545,   546,   547,   548,   549,     0,   550,  1098,  1099,     0,
13030
       0,   553,   554,     0,   556,     0,     0,   558,   559,   560,
13031
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
13032
     569,     0,     0,   570,   571,   572,   573,   574,     0,  1100,
13033
       0,   577,   578,   579,   580,   581,   582,     0,     0,   583,
13034
       0,     0,   584,   585,   586,   587,   588,   589,   611,     0,
13035
       0,     0,     0,     0,     0,     0,     0,     0,     0,   601,
13036
     602,   603,     0,   233,   234,   235,   236,   237,   238,   239,
13037
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
13038
       0,     0,   244,   245,     0,   246,   247,   248,     0,   250,
13039
     251,   252,   253,   254,   255,     0,   257,   258,     0,   259,
13040
     260,   261,   262,   263,   264,     0,     0,   265,   266,   267,
13041
     268,   269,     0,   270,   271,   272,   273,   274,     0,     0,
13042
     276,     0,   277,   278,   279,   280,   281,     0,   283,   284,
13043
     285,     0,   286,   287,   288,   289,   290,   291,     0,     0,
13044
     293,   294,   295,     0,     0,     0,     0,     0,     0,     0,
13045
     297,   298,   299,   300,   301,   302,   303,   304,   305,     0,
13046
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
13047
     314,   315,   316,     0,     0,   317,   318,   319,   320,   321,
13048
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
13049
     329,   330,   331,   332,   333,   334,   335,   336,     0,   337,
13050
       0,   338,   339,   340,   341,     0,   342,     0,   343,     0,
13051
       0,     0,   346,   347,   348,   349,     0,   350,   351,     0,
13052
     352,     0,   354,   355,     0,   356,   357,   358,   359,   360,
13053
       0,   362,   363,   364,   365,     0,   366,   367,   368,   369,
13054
     370,   371,   372,     0,   373,     0,   375,   376,   377,   378,
13055
     379,   380,   381,     0,   382,     0,   383,     0,     0,   386,
13056
       0,   388,   389,   390,   391,   392,     0,     0,   393,   394,
13057
       0,   396,     0,     0,   398,   399,   400,     0,     0,   401,
13058
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
13059
     412,   413,   414,   415,   416,   417,     0,   419,   420,   421,
13060
     422,     0,   424,     0,   425,   426,     0,   428,     0,   429,
13061
     430,   431,   432,   433,   434,     0,   435,   436,     0,     0,
13062
     437,   438,   439,     0,     0,   440,   441,   442,     0,   444,
13063
       0,   446,   447,   448,   449,   450,   451,   452,     0,   454,
13064
     455,     0,   456,   457,   458,   459,   460,   461,   462,   463,
13065
       0,   464,   465,   466,   467,   468,   469,   470,   471,     0,
13066
     473,   474,   475,   476,   477,   478,     0,   479,   480,   481,
13067
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
13068
     491,   492,     0,   494,   495,   496,   497,   498,   499,     0,
13069
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
13070
     510,   511,   512,   513,     0,   514,   515,   516,   517,   518,
13071
       0,   520,   521,   522,   523,     0,   524,   525,   526,   527,
13072
     528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
13073
       0,   538,   539,     0,   540,   541,   542,     0,   544,   545,
13074
     546,   547,   548,   549,     0,   550,   551,   552,     0,     0,
13075
     553,   554,   555,   556,   557,     0,   558,   559,   560,   561,
13076
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
13077
       0,     0,   570,   571,   572,   573,   574,   575,   576,     0,
13078
     577,     0,   579,   580,   581,   582,     0,     0,   583,     0,
13079
       0,   584,   585,   586,   587,   588,   589,   590,   591,   592,
13080
     593,   594,   595,   596,   597,   598,   599,   600,   601,   602,
13081
     603,  1078,     0,     0,     0,     0,     0,     0,     0,     0,
13082
       0,     0,     0,     0,     0,     0,   233,   234,   235,   236,
13083
     237,   238,   239,   240,     0,   241,   242,   243,     0,     0,
13084
       0,     0,     0,     0,     0,   244,   245,     0,   246,   247,
13085
     248,   249,   250,   251,   252,   253,     0,  1079,   256,  1080,
13086
    1081,     0,   259,   260,   261,   262,   263,   264,     0,     0,
13087
     265,   266,  1082,  1083,   269,     0,   270,   271,   272,   273,
13088
       0,     0,   275,   276,     0,   277,   278,   279,   280,   281,
13089
     282,   283,   284,   285,     0,   286,   287,   288,   289,   290,
13090
     291,     0,   292,   293,   294,   295,     0,     0,     0,   296,
13091
       0,     0,     0,   297,   298,   299,   300,   301,   302,  1084,
13092
    1085,   305,     0,   306,     0,   307,   308,   309,   310,   311,
13093
     312,     0,   313,   314,   315,   316,     0,     0,   317,   318,
13094
    1086,   320,   321,     0,   322,   323,   324,     0,   325,   326,
13095
     327,     0,   328,   329,   330,   331,     0,   333,   334,   335,
13096
       0,     0,   337,     0,   338,   339,  1087,   341,     0,   342,
13097
       0,   343,   344,     0,   345,   346,   347,   348,   349,     0,
13098
     350,     0,     0,     0,   353,   354,   355,     0,   356,   357,
13099
     358,   359,   360,   361,   362,   363,   364,   365,     0,   366,
13100
     367,   368,   369,   370,   371,   372,     0,   373,   374,     0,
13101
     376,   377,   378,   379,  1089,  1090,     0,  1091,     0,   383,
13102
     384,   385,   386,   387,   388,   389,   390,   391,   392,     0,
13103
       0,   393,     0,   395,   396,   397,     0,   398,   399,   400,
13104
       0,     0,   401,   402,   403,   404,   405,   406,   407,   408,
13105
     409,   410,   411,   412,   413,   414,   415,   416,  1092,   418,
13106
    1093,   420,   421,   422,   423,  2359,     0,   425,   426,   427,
13107
     428,     0,     0,   430,  1094,   432,   433,   434,     0,   435,
13108
     436,     0,     0,   437,   438,   439,     0,     0,   440,   441,
13109
       0,   443,   444,   445,     0,   447,   448,   449,   450,   451,
13110
     452,   453,   454,   455,     0,   456,   457,     0,   459,     0,
13111
     461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
13112
     470,   471,   472,   473,  1095,   475,   476,   477,   478,     0,
13113
     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
13114
     489,   490,     0,   491,   492,   493,   494,   495,   496,   497,
13115
     498,     0,   500,   501,   502,   503,   504,   505,   506,   507,
13116
     508,     0,   509,   510,   511,   512,   513,     0,   514,   515,
13117
    1096,   517,   518,   519,   520,   521,  1097,   523,     0,   524,
13118
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
13119
     535,   536,     0,     0,   538,   539,     0,   540,   541,   542,
13120
     543,   544,   545,   546,   547,   548,   549,     0,   550,  1098,
13121
    1099,     0,     0,   553,   554,     0,   556,     0,     0,   558,
13122
     559,   560,   561,   562,   563,   564,     0,     0,   565,   566,
13123
     567,   568,   569,     0,     0,   570,   571,   572,   573,   574,
13124
       0,  1100,     0,   577,   578,   579,   580,   581,   582,     0,
13125
       0,   583,     0,     0,   584,   585,   586,   587,   588,   589,
13126
    1078,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13127
       0,   601,   602,   603,     0,   233,   234,   235,   236,   237,
13128
     238,   239,   240,     0,   241,   242,   243,     0,     0,     0,
13129
       0,     0,     0,     0,   244,   245,     0,   246,   247,   248,
13130
     249,   250,   251,   252,   253,     0,  1079,   256,  1080,  1081,
13131
       0,   259,   260,   261,   262,   263,   264,     0,     0,   265,
13132
     266,  1082,  1083,   269,     0,   270,   271,   272,   273,     0,
13133
       0,   275,   276,     0,   277,   278,   279,   280,   281,   282,
13134
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
13135
       0,   292,   293,   294,   295,     0,     0,     0,   296,     0,
13136
       0,     0,   297,   298,   299,   300,   301,   302,  1084,  1085,
13137
     305,     0,   306,     0,   307,   308,   309,   310,   311,   312,
13138
       0,   313,   314,   315,   316,     0,     0,   317,   318,  1086,
13139
     320,   321,     0,   322,   323,   324,     0,   325,   326,   327,
13140
       0,   328,   329,   330,   331,     0,   333,   334,   335,     0,
13141
       0,   337,     0,   338,   339,  1087,   341,     0,   342,     0,
13142
     343,   344,     0,   345,   346,   347,   348,   349,     0,   350,
13143
       0,     0,     0,   353,   354,   355,     0,   356,   357,   358,
13144
     359,   360,   361,   362,   363,   364,   365,     0,   366,   367,
13145
     368,   369,   370,   371,   372,     0,   373,   374,     0,   376,
13146
     377,   378,   379,  1089,  1090,     0,  1091,     0,   383,   384,
13147
     385,   386,   387,   388,   389,   390,   391,   392,     0,     0,
13148
     393,     0,   395,   396,   397,     0,   398,   399,   400,     0,
13149
       0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
13150
     410,   411,   412,   413,   414,   415,   416,  1092,   418,  1093,
13151
     420,   421,   422,   423,  3799,     0,   425,   426,   427,   428,
13152
       0,     0,   430,  1094,   432,   433,   434,     0,   435,   436,
13153
       0,     0,   437,   438,   439,     0,     0,   440,   441,     0,
13154
     443,   444,   445,     0,   447,   448,   449,   450,   451,   452,
13155
     453,   454,   455,     0,   456,   457,     0,   459,     0,   461,
13156
     462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
13157
     471,   472,   473,  1095,   475,   476,   477,   478,     0,   479,
13158
     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
13159
     490,     0,   491,   492,   493,   494,   495,   496,   497,   498,
13160
       0,   500,   501,   502,   503,   504,   505,   506,   507,   508,
13161
       0,   509,   510,   511,   512,   513,     0,   514,   515,  1096,
13162
     517,   518,   519,   520,   521,  1097,   523,     0,   524,   525,
13163
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
13164
     536,     0,     0,   538,   539,     0,   540,   541,   542,   543,
13165
     544,   545,   546,   547,   548,   549,     0,   550,  1098,  1099,
13166
       0,     0,   553,   554,     0,   556,     0,     0,   558,   559,
13167
     560,   561,   562,   563,   564,     0,     0,   565,   566,   567,
13168
     568,   569,     0,     0,   570,   571,   572,   573,   574,     0,
13169
    1100,     0,   577,   578,   579,   580,   581,   582,     0,     0,
13170
     583,     0,     0,   584,   585,   586,   587,   588,   589,  1078,
13171
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13172
     601,   602,   603,     0,   233,   234,   235,   236,   237,   238,
13173
     239,   240,     0,   241,   242,   243,     0,     0,     0,     0,
13174
       0,     0,     0,   244,   245,     0,   246,   247,   248,   249,
13175
     250,   251,   252,   253,     0,  1079,   256,  1080,  1081,     0,
13176
     259,   260,   261,   262,   263,   264,     0,     0,   265,   266,
13177
    1082,  1083,   269,     0,   270,   271,   272,   273,     0,     0,
13178
     275,   276,     0,   277,   278,   279,   280,   281,   282,   283,
13179
     284,   285,     0,   286,   287,   288,   289,   290,   291,     0,
13180
     292,   293,   294,   295,     0,     0,     0,   296,     0,     0,
13181
       0,   297,   298,   299,   300,   301,   302,  1084,  1085,   305,
13182
       0,   306,     0,   307,   308,   309,   310,   311,   312,     0,
13183
     313,   314,   315,   316,     0,     0,   317,   318,  1086,   320,
13184
     321,     0,   322,   323,   324,     0,   325,   326,   327,     0,
13185
     328,   329,   330,   331,     0,   333,   334,   335,     0,     0,
13186
     337,     0,   338,   339,  1087,   341,  5361,   342,     0,   343,
13187
     344,     0,   345,   346,   347,   348,   349,     0,   350,     0,
13188
       0,     0,   353,   354,   355,     0,   356,   357,   358,   359,
13189
     360,   361,   362,   363,   364,   365,     0,   366,   367,   368,
13190
     369,   370,   371,   372,     0,   373,   374,     0,   376,   377,
13191
     378,   379,  1089,  1090,     0,  1091,     0,   383,   384,   385,
13192
     386,   387,   388,   389,   390,   391,   392,     0,     0,   393,
13193
       0,   395,   396,   397,     0,   398,   399,   400,     0,     0,
13194
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
13195
     411,   412,   413,   414,   415,   416,  1092,   418,  1093,   420,
13196
     421,   422,   423,     0,     0,   425,   426,   427,   428,     0,
13197
       0,   430,  1094,   432,   433,   434,     0,   435,   436,     0,
13198
       0,   437,   438,   439,     0,     0,   440,   441,     0,   443,
13199
     444,   445,     0,   447,   448,   449,   450,   451,   452,   453,
13200
     454,   455,     0,   456,   457,     0,   459,     0,   461,   462,
13201
     463,     0,   464,   465,   466,   467,   468,   469,   470,   471,
13202
     472,   473,  1095,   475,   476,   477,   478,     0,   479,   480,
13203
     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
13204
       0,   491,   492,   493,   494,   495,   496,   497,   498,     0,
13205
     500,   501,   502,   503,   504,   505,   506,   507,   508,     0,
13206
     509,   510,   511,   512,   513,     0,   514,   515,  1096,   517,
13207
     518,   519,   520,   521,  1097,   523,     0,   524,   525,   526,
13208
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
13209
       0,     0,   538,   539,     0,   540,   541,   542,   543,   544,
13210
     545,   546,   547,   548,   549,     0,   550,  1098,  1099,     0,
13211
       0,   553,   554,     0,   556,     0,     0,   558,   559,   560,
13212
     561,   562,   563,   564,     0,     0,   565,   566,   567,   568,
13213
     569,     0,     0,   570,   571,   572,   573,   574,     0,  1100,
13214
       0,   577,   578,   579,   580,   581,   582,     0,     0,   583,
13215
       0,     0,   584,   585,   586,   587,   588,   589,  1078,     0,
13216
       0,     0,     0,     0,     0,     0,     0,     0,     0,   601,
13217
     602,   603,     0,   233,   234,   235,   236,   237,   238,   239,
13218
     240,     0,   241,   242,   243,     0,     0,     0,     0,     0,
13219
       0,     0,   244,   245,     0,   246,   247,   248,   249,   250,
13220
     251,   252,   253,     0,  1079,   256,  1080,  1081,     0,   259,
13221
     260,   261,   262,   263,   264,     0,     0,   265,   266,  1082,
13222
    1083,   269,     0,   270,   271,   272,   273,     0,     0,   275,
13223
     276,     0,   277,   278,   279,   280,   281,   282,   283,   284,
13224
     285,     0,   286,   287,   288,   289,   290,   291,     0,   292,
13225
     293,   294,   295,     0,     0,     0,   296,     0,     0,     0,
13226
     297,   298,   299,   300,   301,   302,  1084,  1085,   305,     0,
13227
     306,     0,   307,   308,   309,   310,   311,   312,     0,   313,
13228
     314,   315,   316,     0,     0,   317,   318,  1086,   320,   321,
13229
       0,   322,   323,   324,     0,   325,   326,   327,     0,   328,
13230
     329,   330,   331,     0,   333,   334,   335,     0,     0,   337,
13231
       0,   338,   339,  1087,   341,     0,   342,     0,   343,   344,
13232
       0,   345,   346,   347,   348,   349,     0,   350,     0,     0,
13233
       0,   353,   354,   355,     0,   356,   357,   358,   359,  1088,
13234
     361,   362,   363,   364,   365,     0,   366,   367,   368,   369,
13235
     370,   371,   372,     0,   373,   374,     0,   376,   377,   378,
13236
     379,  1089,  1090,     0,  1091,     0,   383,   384,   385,   386,
13237
     387,   388,   389,   390,   391,   392,     0,     0,   393,     0,
13238
     395,   396,   397,     0,   398,   399,   400,     0,     0,   401,
13239
     402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
13240
     412,   413,   414,   415,   416,  1092,   418,  1093,   420,   421,
13241
     422,   423,     0,     0,   425,   426,   427,   428,     0,     0,
13242
     430,  1094,   432,   433,   434,     0,   435,   436,     0,     0,
13243
     437,   438,   439,     0,     0,   440,   441,     0,   443,   444,
13244
     445,     0,   447,   448,   449,   450,   451,   452,   453,   454,
13245
     455,     0,   456,   457,     0,   459,     0,   461,   462,   463,
13246
       0,   464,   465,   466,   467,   468,   469,   470,   471,   472,
13247
     473,  1095,   475,   476,   477,   478,     0,   479,   480,   481,
13248
     482,   483,   484,   485,   486,   487,   488,   489,   490,     0,
13249
     491,   492,   493,   494,   495,   496,   497,   498,     0,   500,
13250
     501,   502,   503,   504,   505,   506,   507,   508,     0,   509,
13251
     510,   511,   512,   513,     0,   514,   515,  1096,   517,   518,
13252
     519,   520,   521,  1097,   523,     0,   524,   525,   526,   527,
13253
     528,   529,   530,   531,   532,   533,   534,   535,   536,     0,
13254
       0,   538,   539,     0,   540,   541,   542,   543,   544,   545,
13255
     546,   547,   548,   549,     0,   550,  1098,  1099,     0,     0,
13256
     553,   554,     0,   556,     0,     0,   558,   559,   560,   561,
13257
     562,   563,   564,     0,     0,   565,   566,   567,   568,   569,
13258
       0,     0,   570,   571,   572,   573,   574,     0,  1100,     0,
13259
     577,   578,   579,   580,   581,   582,     0,     0,   583,     0,
13260
       0,   584,   585,   586,   587,   588,   589,  1078,     0,     0,
13261
       0,     0,     0,     0,     0,     0,     0,     0,   601,   602,
13262
     603,     0,   233,   234,   235,   236,   237,   238,   239,   240,
13263
       0,   241,   242,   243,     0,     0,     0,     0,     0,     0,
13264
       0,   244,   245,     0,   246,   247,   248,   249,   250,   251,
13265
     252,   253,     0,  1079,   256,  1080,  1081,     0,   259,   260,
13266
     261,   262,   263,   264,     0,     0,   265,   266,  1082,  1083,
13267
     269,     0,   270,   271,   272,   273,     0,     0,   275,   276,
13268
       0,   277,   278,   279,   280,   281,   282,   283,   284,   285,
13269
       0,   286,   287,   288,   289,   290,   291,     0,   292,   293,
13270
     294,   295,     0,     0,     0,   296,     0,     0,     0,   297,
13271
     298,   299,   300,   301,   302,  1084,  1085,   305,     0,   306,
13272
       0,   307,   308,   309,   310,   311,   312,     0,   313,   314,
13273
     315,   316,     0,     0,   317,   318,  1086,   320,   321,     0,
13274
     322,   323,   324,     0,   325,   326,   327,     0,   328,   329,
13275
     330,   331,     0,   333,   334,   335,     0,     0,   337,     0,
13276
     338,   339,  1087,   341,     0,   342,     0,   343,   344,     0,
13277
     345,   346,   347,   348,   349,     0,   350,     0,     0,     0,
13278
     353,   354,   355,     0,   356,   357,   358,   359,  1146,   361,
13279
     362,   363,   364,   365,     0,   366,   367,   368,   369,   370,
13280
     371,   372,     0,   373,   374,     0,   376,   377,   378,   379,
13281
    1089,  1090,     0,  1091,     0,   383,   384,   385,   386,   387,
13282
     388,   389,   390,   391,   392,     0,     0,   393,     0,   395,
13283
     396,   397,     0,   398,   399,   400,     0,     0,   401,   402,
13284
     403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
13285
     413,   414,   415,   416,  1092,   418,  1093,   420,   421,   422,
13286
     423,     0,     0,   425,   426,   427,   428,     0,     0,   430,
13287
    1094,   432,   433,   434,     0,   435,   436,     0,     0,   437,
13288
     438,   439,     0,     0,   440,   441,     0,   443,   444,   445,
13289
       0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
13290
       0,   456,   457,     0,   459,     0,   461,   462,   463,     0,
13291
     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
13292
    1095,   475,   476,   477,   478,     0,   479,   480,   481,   482,
13293
     483,   484,   485,   486,   487,   488,   489,   490,     0,   491,
13294
     492,   493,   494,   495,   496,   497,   498,     0,   500,   501,
13295
     502,   503,   504,   505,   506,   507,   508,     0,   509,   510,
13296
     511,   512,   513,     0,   514,   515,  1096,   517,   518,   519,
13297
     520,   521,  1097,   523,     0,   524,   525,   526,   527,   528,
13298
     529,   530,   531,   532,   533,   534,   535,   536,     0,     0,
13299
     538,   539,     0,   540,   541,   542,   543,   544,   545,   546,
13300
     547,   548,   549,     0,   550,  1098,  1099,     0,     0,   553,
13301
     554,     0,   556,     0,     0,   558,   559,   560,   561,   562,
13302
     563,   564,     0,     0,   565,   566,   567,   568,   569,     0,
13303
       0,   570,   571,   572,   573,   574,     0,  1100,     0,   577,
13304
     578,   579,   580,   581,   582,     0,     0,   583,     0,     0,
13305
     584,   585,   586,   587,   588,   589,  1078,     0,     0,     0,
13306
       0,     0,     0,     0,     0,     0,     0,   601,   602,   603,
13307
       0,   233,   234,   235,   236,   237,   238,   239,   240,     0,
13308
     241,   242,   243,     0,     0,     0,     0,     0,     0,     0,
13309
     244,   245,     0,   246,   247,   248,   249,   250,   251,   252,
13310
     253,     0,  1079,   256,  1080,  1081,     0,   259,   260,   261,
13311
     262,   263,   264,     0,     0,   265,   266,  1082,  1083,   269,
13312
       0,   270,   271,   272,   273,     0,     0,   275,   276,     0,
13313
     277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
13314
     286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
13315
     295,     0,     0,     0,   296,     0,     0,     0,   297,   298,
13316
     299,   300,   301,   302,  1084,  1085,   305,     0,   306,     0,
13317
     307,   308,   309,   310,   311,   312,     0,   313,   314,   315,
13318
     316,     0,     0,   317,   318,  1086,   320,   321,     0,   322,
13319
     323,   324,     0,   325,   326,   327,     0,   328,   329,   330,
13320
     331,     0,   333,   334,   335,     0,     0,   337,     0,   338,
13321
     339,  1087,   341,     0,   342,     0,   343,   344,     0,   345,
13322
     346,   347,   348,   349,     0,   350,     0,     0,     0,   353,
13323
     354,   355,     0,   356,   357,   358,   359,   360,   361,   362,
13324
     363,   364,   365,     0,   366,   367,   368,   369,   370,   371,
13325
     372,     0,   373,   374,     0,   376,   377,   378,   379,  1089,
13326
    1090,     0,  1091,     0,   383,   384,   385,   386,   387,   388,
13327
     389,   390,   391,   392,     0,     0,   393,     0,   395,   396,
13328
     397,     0,   398,   399,   400,     0,     0,   401,   402,   403,
13329
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
13330
     414,   415,   416,  1092,   418,  1093,   420,   421,   422,   423,
13331
       0,     0,   425,   426,   427,   428,     0,     0,   430,  1094,
13332
     432,   433,   434,     0,   435,   436,     0,     0,   437,   438,
13333
     439,     0,     0,   440,   441,     0,   443,   444,   445,     0,
13334
     447,   448,   449,   450,   451,   452,   453,   454,   455,     0,
13335
     456,   457,     0,   459,     0,   461,   462,   463,     0,   464,
13336
     465,   466,   467,   468,   469,   470,   471,   472,   473,  1095,
13337
     475,   476,   477,   478,     0,   479,   480,   481,   482,   483,
13338
     484,   485,   486,   487,   488,   489,   490,     0,   491,   492,
13339
     493,   494,   495,   496,   497,   498,     0,   500,   501,   502,
13340
     503,   504,   505,   506,   507,   508,     0,   509,   510,   511,
13341
     512,   513,     0,   514,   515,  1096,   517,   518,   519,   520,
13342
     521,  1097,   523,     0,   524,   525,   526,   527,   528,   529,
13343
     530,   531,   532,   533,   534,   535,   536,     0,     0,   538,
13344
     539,     0,   540,   541,   542,   543,   544,   545,   546,   547,
13345
     548,   549,     0,   550,  1098,  1099,     0,     0,   553,   554,
13346
       0,   556,     0,     0,   558,   559,   560,   561,   562,   563,
13347
     564,     0,     0,   565,   566,   567,   568,   569,     0,     0,
13348
     570,   571,   572,   573,   574,     0,  1100,     0,   577,   578,
13349
     579,   580,   581,   582,     0,     0,   583,     0,     0,   584,
13350
     585,   586,   587,   588,   589,  1078,     0,     0,     0,     0,
13351
       0,     0,     0,     0,     0,     0,   601,   602,   603,     0,
13352
     233,   234,   235,   236,   237,   238,   239,   240,     0,   241,
13353
     242,   243,     0,     0,     0,     0,     0,     0,     0,   244,
13354
     245,     0,   246,   247,   248,   249,   250,   251,   252,   253,
13355
       0,  1079,   256,  1080,  1081,     0,   259,   260,   261,   262,
13356
     263,   264,     0,     0,   265,   266,  1082,  1083,   269,     0,
13357
     270,   271,   272,   273,     0,     0,   275,   276,     0,   277,
13358
     278,   279,   280,   281,   282,   283,   284,   285,     0,   286,
13359
     287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
13360
       0,     0,     0,   296,     0,     0,     0,   297,   298,   299,
13361
     300,   301,   302,  1084,  1085,   305,     0,   306,     0,   307,
13362
     308,   309,   310,   311,   312,     0,   313,   314,   315,   316,
13363
       0,     0,   317,   318,  1086,   320,   321,     0,   322,   323,
13364
     324,     0,   325,   326,   327,     0,   328,   329,   330,   331,
13365
       0,   333,   334,   335,     0,     0,   337,     0,   338,   339,
13366
    1087,   341,     0,   342,     0,   343,   344,     0,   345,   346,
13367
     347,   348,   349,     0,   350,     0,     0,     0,   353,   354,
13368
     355,     0,   356,   357,   358,   359,   360,   361,   362,   363,
13369
     364,   365,     0,   366,   367,   368,   369,   370,   371,   372,
13370
       0,   373,   374,     0,   376,   377,   378,   379,  1089,  1090,
13371
       0,  1091,     0,   383,   384,   385,   386,   387,   388,   389,
13372
     390,   391,   392,     0,     0,   393,     0,   395,   396,   397,
13373
       0,   398,   399,   400,     0,     0,   401,   402,   403,   404,
13374
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
13375
     415,   416,  1092,   418,  1093,   420,   421,   422,   423,     0,
13376
       0,   425,   426,   427,   428,     0,     0,   430,  1094,   432,
13377
     433,   434,     0,   435,   436,     0,     0,   437,   438,   439,
13378
       0,     0,   440,   441,     0,   443,   444,   445,     0,   447,
13379
     448,   449,   450,   451,   452,   453,   454,   455,     0,   456,
13380
     457,     0,   459,     0,   461,   462,   463,     0,   464,   465,
13381
     466,   467,   468,   469,   470,   471,   472,   473,  1095,   475,
13382
     476,   477,   478,     0,   479,   480,   481,   482,   483,   484,
13383
     485,   486,   487,   488,   489,   490,     0,   491,   492,   493,
13384
     494,   495,   496,   497,   498,     0,   500,   501,   502,   503,
13385
     504,   505,   506,   507,   508,     0,   509,   510,   511,   512,
13386
     513,     0,   514,   515,  2191,   517,   518,   519,   520,   521,
13387
    1097,   523,     0,   524,   525,   526,   527,   528,   529,   530,
13388
     531,   532,   533,   534,   535,   536,     0,     0,   538,   539,
13389
       0,   540,   541,   542,   543,   544,   545,   546,   547,   548,
13390
     549,     0,   550,  1098,  1099,     0,     0,   553,   554,     0,
13391
     556,     0,     0,   558,   559,   560,   561,   562,   563,   564,
13392
       0,     0,   565,   566,   567,   568,   569,     0,     0,   570,
13393
     571,   572,   573,   574,     0,  1100,     0,   577,   578,   579,
13394
     580,   581,   582,     0,     0,   583,     0,     0,   584,   585,
13395
     586,   587,   588,   589,  1078,     0,     0,     0,     0,     0,
13396
       0,     0,     0,     0,     0,   601,   602,   603,     0,   233,
13397
     234,   235,   236,   237,   238,   239,   240,     0,   241,   242,
13398
     243,     0,     0,     0,     0,     0,     0,     0,   244,   245,
13399
       0,   246,   247,   248,   249,   250,   251,   252,   253,     0,
13400
    1079,   256,  1080,  1081,     0,   259,   260,   261,   262,   263,
13401
     264,     0,     0,   265,   266,  1082,  1083,   269,     0,   270,
13402
     271,   272,   273,     0,     0,   275,   276,     0,   277,   278,
13403
     279,   280,   281,   282,   283,   284,   285,     0,   286,   287,
13404
     288,   289,   290,   291,     0,   292,   293,   294,   295,     0,
13405
       0,     0,   296,     0,     0,     0,   297,   298,   299,   300,
13406
     301,   302,  1084,  1085,   305,     0,   306,     0,   307,   308,
13407
     309,   310,   311,   312,     0,   313,   314,   315,   316,     0,
13408
       0,   317,   318,  1086,   320,   321,     0,   322,   323,   324,
13409
       0,   325,   326,   327,     0,   328,   329,   330,   331,     0,
13410
     333,   334,   335,     0,     0,   337,     0,   338,   339,  1087,
13411
     341,     0,   342,     0,   343,   344,     0,   345,   346,   347,
13412
     348,   349,     0,   350,     0,     0,     0,   353,   354,   355,
13413
       0,   356,   357,   358,   359,   360,   361,   362,   363,   364,
13414
     365,     0,   366,   367,   368,   369,   370,   371,   372,     0,
13415
     373,   374,     0,   376,   377,   378,   379,  1089,  1090,     0,
13416
    1091,     0,   383,   384,   385,   386,   387,   388,   389,   390,
13417
     391,   392,     0,     0,   393,     0,   395,   396,   397,     0,
13418
     398,   399,   400,     0,     0,   401,   402,   403,   404,   405,
13419
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
13420
     416,  1092,   418,  1093,   420,   421,   422,   423,     0,     0,
13421
     425,   426,   427,   428,     0,     0,   430,  1094,   432,   433,
13422
     434,     0,   435,   436,     0,     0,   437,   438,   439,     0,
13423
       0,   440,   441,     0,   443,   444,   445,     0,   447,   448,
13424
     449,   450,   451,   452,   453,   454,   455,     0,   456,   457,
13425
       0,   459,     0,   461,   462,   463,     0,   464,   465,   466,
13426
     467,   468,   469,   470,   471,   472,   473,  1095,   475,   476,
13427
     477,   478,     0,   479,   480,   481,   482,   483,   484,   485,
13428
     486,   487,   488,   489,   490,     0,   491,   492,   493,   494,
13429
     495,   496,   497,   498,     0,   500,   501,   502,   503,   504,
13430
     505,   506,   507,   508,     0,   509,   510,   511,   512,   513,
13431
       0,   514,   515,     0,   517,   518,   519,   520,   521,  1097,
13432
     523,     0,   524,   525,   526,   527,   528,   529,   530,   531,
13433
     532,   533,   534,   535,   536,     0,     0,   538,   539,     0,
13434
     540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
13435
       0,   550,  1098,  1099,     0,     0,   553,   554,     0,   556,
13436
       0,     0,   558,   559,   560,   561,   562,   563,   564,     0,
13437
       0,   565,   566,   567,   568,   569,     0,     0,   570,   571,
13438
     572,   573,   574,     0,  1100,     0,   577,   578,   579,   580,
13439
     581,   582,     0,     0,   583,     0,     0,   584,   585,   586,
13440
     587,   588,   589,  1078,     0,     0,     0,     0,     0,     0,
13441
       0,     0,     0,     0,   601,   602,   603,     0,   233,   234,
13442
     235,   236,   237,   238,   239,   240,     0,   241,   242,   243,
13443
       0,     0,     0,     0,     0,     0,     0,   244,   245,     0,
13444
     246,   247,   248,   249,   250,   251,   252,   253,     0,     0,
13445
     256,     0,     0,     0,   259,   260,   261,   262,   263,   264,
13446
       0,     0,   265,   266,     0,     0,   269,     0,   270,   271,
13447
     272,   273,     0,     0,   275,   276,     0,   277,   278,   279,
13448
     280,   281,   282,   283,   284,   285,     0,   286,   287,   288,
13449
     289,   290,   291,     0,   292,   293,   294,   295,     0,     0,
13450
       0,   296,     0,     0,     0,   297,   298,   299,   300,   301,
13451
     302,     0,     0,   305,     0,   306,     0,   307,   308,   309,
13452
     310,   311,   312,     0,   313,   314,   315,   316,     0,     0,
13453
     317,   318,   319,   320,   321,     0,   322,   323,   324,     0,
13454
     325,   326,   327,     0,   328,   329,   330,   331,     0,   333,
13455
     334,   335,     0,     0,   337,     0,   338,   339,     0,   341,
13456
       0,   342,     0,   343,   344,     0,   345,   346,   347,   348,
13457
     349,     0,   350,     0,     0,     0,   353,   354,   355,     0,
13458
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
13459
       0,   366,   367,   368,   369,   370,   371,   372,     0,   373,
13460
     374,     0,   376,   377,   378,   379,     0,     0,     0,     0,
13461
       0,   383,   384,   385,   386,   387,   388,   389,   390,   391,
13462
     392,     0,     0,   393,     0,   395,   396,   397,     0,   398,
13463
     399,   400,     0,     0,   401,   402,   403,   404,   405,   406,
13464
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
13465
       0,   418,     0,   420,   421,   422,   423,     0,     0,   425,
13466
     426,   427,   428,     0,     0,   430,     0,   432,   433,   434,
13467
       0,   435,   436,     0,     0,   437,   438,   439,     0,     0,
13468
     440,   441,     0,   443,   444,   445,     0,   447,   448,   449,
13469
     450,   451,   452,   453,   454,   455,     0,   456,   457,     0,
13470
     459,     0,   461,   462,   463,     0,   464,   465,   466,   467,
13471
     468,   469,   470,   471,   472,   473,     0,   475,   476,   477,
13472
     478,     0,   479,   480,   481,   482,   483,   484,   485,   486,
13473
     487,   488,   489,   490,     0,   491,   492,   493,   494,   495,
13474
     496,   497,   498,     0,   500,   501,   502,   503,   504,   505,
13475
     506,   507,   508,     0,   509,   510,   511,   512,   513,     0,
13476
     514,   515,     0,   517,   518,   519,   520,   521,     0,   523,
13477
       0,   524,   525,   526,   527,   528,   529,   530,   531,   532,
13478
     533,   534,   535,   536,     0,     0,   538,   539,     0,   540,
13479
     541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
13480
     550,     0,     0,     0,     0,   553,   554,     0,   556,     0,
13481
       0,   558,   559,   560,   561,   562,   563,   564,     0,     0,
13482
     565,   566,   567,   568,   569,     0,     0,   570,   571,   572,
13483
     573,   574,     0,     0,     0,   577,   578,   579,   580,   581,
13484
     582,     0,     0,   583,     0,     0,   584,   585,   586,   587,
13485
     588,   589,  5010,     0,     0,     0,     0,     0,     0,     0,
13486
       0,     0,     0,   601,   602,   603,     0,   233,   234,   235,
13487
     236,   237,   238,   239,   240,     0,   241,   242,   243,     0,
13488
       0,     0,     0,     0,     0,     0,   244,   245,     0,   246,
13489
     247,   248,     0,   250,   251,   252,   253,     0,     0,     0,
13490
       0,     0,     0,   259,   260,   261,   262,   263,   264,     0,
13491
       0,   265,   266,     0,     0,   269,     0,   270,   271,   272,
13492
     273,     0,     0,     0,   276,     0,   277,   278,   279,   280,
13493
     281,     0,   283,   284,   285,     0,   286,   287,   288,   289,
13494
     290,   291,     0,     0,   293,   294,   295,     0,     0,     0,
13495
       0,     0,     0,     0,   297,   298,   299,   300,   301,   302,
13496
       0,     0,   305,     0,   306,     0,   307,   308,   309,   310,
13497
     311,   312,     0,   313,   314,   315,   316,     0,     0,   317,
13498
     318,   319,   320,   321,     0,   322,   323,   324,     0,   325,
13499
     326,   327,     0,   328,   329,   330,   331,     0,   333,   334,
13500
     335,     0,     0,   337,     0,   338,   339,     0,   341,     0,
13501
     342,     0,   343,     0,     0,     0,   346,   347,   348,   349,
13502
       0,   350,     0,     0,     0,   353,   354,   355,     0,   356,
13503
     357,   358,   359,   360,     0,   362,   363,   364,   365,     0,
13504
     366,   367,   368,   369,   370,   371,   372,     0,   373,     0,
13505
       0,   376,   377,   378,   379,     0,     0,     0,     0,     0,
13506
     383,     0,     0,   386,     0,   388,   389,   390,   391,   392,
13507
       0,     0,   393,     0,     0,   396,     0,     0,   398,   399,
13508
     400,     0,     0,   401,   402,   403,   404,   405,   406,   407,
13509
     408,   409,   410,   411,   412,   413,   414,   415,   416,     0,
13510
       0,     0,   420,   421,   422,     0,     0,     0,   425,   426,
13511
       0,   428,     0,     0,   430,     0,   432,   433,   434,     0,
13512
     435,   436,     0,     0,   437,   438,   439,     0,     0,   440,
13513
     441,     0,     0,   444,     0,     0,   447,   448,   449,   450,
13514
     451,   452,   453,   454,   455,     0,   456,   457,     0,   459,
13515
       0,   461,   462,   463,     0,   464,   465,   466,   467,   468,
13516
     469,   470,   471,   472,   473,     0,   475,   476,   477,   478,
13517
       0,   479,   480,   481,   482,   483,   484,   485,   486,   487,
13518
     488,   489,   490,     0,   491,   492,     0,   494,   495,   496,
13519
     497,   498,     0,   500,   501,   502,   503,   504,   505,   506,
13520
     507,   508,     0,   509,   510,   511,   512,   513,     0,   514,
13521
     515,     0,   517,   518,     0,   520,   521,     0,   523,     0,
13522
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
13523
     534,   535,   536,     0,     0,   538,   539,     0,   540,   541,
13524
     542,     0,   544,   545,   546,   547,   548,   549,     0,   550,
13525
       0,     0,     0,     0,   553,   554,     0,   556,     0,     0,
13526
     558,   559,   560,   561,   562,   563,   564,     0,     0,   565,
13527
     566,   567,   568,   569,     0,     0,   570,   571,   572,   573,
13528
     574,     0,     0,     0,   577,     0,   579,   580,   581,   582,
13529
       0,     0,   583,     0,     0,   584,   585,   586,   587,   588,
13530
     589,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13531
       0,     0,   601,   602,   603
13532
};
13533
13534
static const yytype_int16 yycheck[] =
13535
{
13536
       7,   207,    52,    45,     0,   755,   756,   757,     0,     0,
13537
     640,   761,   922,     0,   955,    23,     0,    24,    37,    26,
13538
    1168,    29,  1190,    30,  1126,   854,    22,   805,    35,    36,
13539
      37,   185,    39,   803,   939,    42,    43,  1568,    45,   957,
13540
      47,   953,  1443,  1096,  1487,  2569,   863,  2534,   923,   193,
13541
     674,    14,   827,  2894,   951,  2735,   828,  1099,   207,  2607,
13542
     202,  1221,    22,  1040,  1480,  1732,   212,   812,   210,    46,
13543
    1504,   213,  1493,  2597,  1084,  1085,   889,  2009,  1816,  3075,
13544
    2943,   227,  2547,   717,  1094,  3691,  1487,  1636,  3102,  1029,
13545
    3104,    24,  3395,    19,  3048,  3398,  2195,  2196,     7,  2443,
13546
     875,     9,  2711,  3646,    37,  2420,  1046,  3294,    16,  1014,
13547
    3302,   674,   631,  1018,  3743,  3302,  2952,   187,  1023,   722,
13548
     172,  3371,  2358,  3687,   187,  4228,  3592,   712,  1033,  2160,
13549
    3929,  3985,  3621,  1990,  3973,  3313,  2917,  4575,  4465,    36,
13550
     922,  2097,     0,  1048,  3627,  2053,    43,  4468,   930,  4626,
13551
       0,     0,     0,  2826,     0,  2030,     0,     0,   696,   941,
13552
     723,   699,     0,  1830,     0,   684,  1600,  1601,     0,  1420,
13553
      51,  1592,  1077,  3972,     0,     0,  2162,  4737,  1472,   221,
13554
       0,    42,  2130,  1921,   808,   960,   193,   194,   195,   196,
13555
    2138,   198,  2962,  1082,  1083,   202,  4609,   204,   851,  4419,
13556
     207,   851,  3369,   210,  1093,  3667,   213,  3555,  4649,   216,
13557
      11,   218,     5,  4591,   221,  4593,     5,     0,     0,   226,
13558
       0,   228,   230,  3626,    40,  3628,   873,     0,     0,     5,
13559
       5,   698,    35,  4889,     5,    58,     9,  1531,  1280,     5,
13560
    1250,  1251,    13,    14,    29,   808,   713,  4467,  4689,    26,
13561
     114,    11,  4988,    26,  1548,     5,  1006,    76,  4926,  4777,
13562
    1270,  4696,  4697,    13,    14,     9,   913,    26,     5,  3978,
13563
       5,   918,  1435,  3982,     5,    39,    13,    14,   160,    81,
13564
      40,     0,     5,  2956,    39,     5,    76,     5,     5,   119,
13565
       9,     5,  1634,  1635,    42,     5,    86,    58,  1115,   121,
13566
     165,  2537,  2490,  3050,  2492,    26,   165,    26,  2496,    50,
13567
    2498,  2499,    33,    73,    76,     9,    58,     5,    76,  2507,
13568
    2508,  2509,     4,   107,    86,   190,   177,     9,     3,     4,
13569
       5,   165,     3,   274,     9,   146,    76,   190,    67,   114,
13570
     146,  4052,  4053,   268,  4055,  4056,  4057,  4058,  4059,     5,
13571
    1239,  1240,   165,  4723,   307,  1168,   177,    86,   165,    30,
13572
      31,   268,    58,    89,   293,   279,   119,    76,   293,   167,
13573
      27,   274,   160,   268,     4,  4788,   255,  1266,    58,     9,
13574
     133,   114,   165,   165,   319,   165,   293,   271,     3,    58,
13575
     165,   834,   165,   165,   210,    82,    58,   319,   293,    71,
13576
      40,   255,   107,   347,   116,   403,   361,   190,   190,  1386,
13577
     190,    32,    36,    58,  2650,   144,  2652,   190,   190,   354,
13578
     403,   388,    42,   343,  2382,   426,    22,   157,   118,   145,
13579
      93,    22,    11,   162,   255,   114,   442,   436,   332,   114,
13580
     117,   140,  1360,  3691,   343,  3693,   165,   288,   387,    11,
13581
      24,  1348,  4779,   388,   471,   482,  4621,  4778,   273,   486,
13582
    5196,    40,    73,   278,   165,  4630,   360,  4908,   289,   486,
13583
      85,   190,    46,    86,   165,  4853,   192,   275,    40,  1420,
13584
      26,   160,   488,   484,    11,   484,   425,    33,    58,   388,
13585
     488,   640,   638,   164,    73,   166,   166,  5015,   644,   123,
13586
    2458,  1554,   214,   438,   424,   488,   327,     5,   171,   186,
13587
     333,    73,   658,   165,     0,    26,   438,   484,   165,   360,
13588
     297,   211,    33,   138,   254,  1300,   147,  1151,   172,   484,
13589
     263,   484,    58,  1346,   209,   389,    22,   133,  1351,  1352,
13590
     484,   329,   133,   484,   693,   330,   258,   450,   205,   302,
13591
     255,   430,   363,  1328,   178,   484,   231,   363,   343,   484,
13592
     345,   116,   218,   165,  1482,  3312,    52,  1170,    11,   256,
13593
     210,   485,   333,   357,   488,   263,   305,   484,   355,   430,
13594
     445,   196,   380,    29,   403,  4955,   135,  3779,  1151,   484,
13595
     403,   333,  3779,   147,   424,   165,   403,  1537,  5254,   271,
13596
     484,  1225,   484,   315,   426,  1168,   332,   471,  5085,   430,
13597
    1773,   618,  5280,   403,   416,   314,  3803,   624,   395,   626,
13598
     397,   385,   629,   408,   631,   484,   633,   623,   403,   388,
13599
     385,   623,   623,   640,  5194,   488,   623,   333,   645,   623,
13600
     647,   403,   435,     8,  1584,   403,    11,  1460,   655,   370,
13601
      15,    16,    17,   333,   488,     4,     5,  1470,  1563,  4125,
13602
       9,  1566,  1225,   403,   333,   488,  1133,    32,   484,  4152,
13603
    5406,   333,   679,   723,  4163,   727,  1458,   684,  4167,   480,
13604
     295,   484,   689,   431,  5005,  5203,   693,  5014,   333,   696,
13605
     419,   484,   699,   619,   403,   484,   471,  5132,  3694,  1574,
13606
     854,   187,   475,   476,   487,   487,   482,   487,   484,   716,
13607
     486,   486,   447,   484,   487,   487,   447,  1160,   484,  1343,
13608
     480,  4069,  1634,  1635,  1636,   767,   722,   488,   736,  1196,
13609
     738,  3981,   740,   468,   484,  1632,  1518,   468,   746,   483,
13610
    1207,  1375,  1555,   484,  4206,  1558,  1559,   484,  4151,   484,
13611
    4153,  1404,  2094,   484,  1404,  1222,   475,   476,   721,  2995,
13612
     767,   484,   488,   723,   484,   436,   484,   484,   487,   360,
13613
     484,   977,   842,   780,   484,   782,   488,   347,  4881,   842,
13614
    1343,   475,   476,   403,  3962,   484,   828,   488,  1351,  1352,
13615
     403,  1959,   488,   475,   476,   802,   803,   488,   805,   806,
13616
     475,   476,   417,   810,   153,  4516,  5324,   333,   488,  1396,
13617
     425,   431,  1641,   428,   484,   445,   858,   824,   962,   488,
13618
    4731,   828,  5263,  1925,   370,  1765,   488,   834,   977,  1770,
13619
     872,   973,  1479,   424,  4463,  5276,   488,   979,   468,   846,
13620
     982,   488,   750,   488,   488,   475,   476,   212,   844,    34,
13621
      26,   858,   844,   844,  5232,  2276,  1299,   844,  3382,   370,
13622
     844,  4028,   108,  2306,  1966,   872,  2965,   437,  2967,   114,
13623
    5197,   482,   832,   428,  3339,   486,  1978,  1887,  5199,  3194,
13624
     378,   379,   484,   890,   330,  1532,   119,   441,   895,   896,
13625
      58,  2922,   441,   174,  5412,  1525,   475,   476,   477,   478,
13626
     479,   480,  1549,  3899,   109,    82,     5,     4,     5,  3679,
13627
     275,   312,     9,   122,   263,   477,   478,   479,   480,   926,
13628
     927,  2796,  2797,   107,   119,  5338,  2801,   210,  2891,   114,
13629
    2479,  1744,  3886,  2354,   107,   165,   343,  2923,  5379,  5416,
13630
    5417,    83,  5346,   119,   109,   806,   953,   954,   194,   810,
13631
     477,   478,   479,   480,   835,   962,  2207,  5177,    22,  2907,
13632
      48,  5521,   488,  2838,  2839,  5483,   973,  1410,    83,  4768,
13633
     977,   204,   979,  1862,  1863,   982,   293,   182,  5198,   114,
13634
    2943,   107,     3,   125,   279,  4896,   844,     5,     5,   107,
13635
    2898,   998,  3665,   194,   844,   844,   844,  2953,   844,  5326,
13636
     844,   844,  2296,   107,  5325,    67,   844,   865,   844,   204,
13637
     125,   177,   844,  1020,  5452,   279,  4622,   182,   844,   844,
13638
    1027,  1028,  3803,   436,   844,  4631,   255,   143,   204,   926,
13639
     927,   166,   475,   476,   477,   478,   479,   480,   243,  3275,
13640
    3276,   246,   287,  1050,  1051,  1052,   273,  1054,   117,  1056,
13641
    1057,  4005,   262,  2910,    75,  5532,   153,   338,   177,  2590,
13642
      38,   410,    30,    31,    85,     3,  4532,     5,    20,   133,
13643
     273,   289,  2220,   182,    97,  1825,   119,   484,   243,   256,
13644
     159,   246,   144,   484,  5411,   345,  3274,   255,  3951,   255,
13645
    2008,  4580,   208,  4576,   279,   273,  4585,   185,    22,  4588,
13646
     162,   347,   190,  5507,   469,   470,   471,   114,   353,   327,
13647
     475,   476,   477,   478,   479,   480,   137,   186,   327,  1126,
13648
    2061,  1128,  1129,    22,   259,    93,   475,   476,    83,    28,
13649
     327,  2565,  2050,  4972,   243,  1061,   255,   623,  2191,   227,
13650
      24,   387,   388,   388,   241,   113,   351,   244,   408,   291,
13651
      22,   174,   259,  1160,   118,    67,    28,   367,   277,   288,
13652
     116,   204,    46,   279,   263,   333,   263,   484,  5007,  5023,
13653
     125,   109,  4971,   403,  1170,  5086,   291,   353,  2096,   147,
13654
    4483,   360,  2094,  1190,  1191,  5096,   351,   432,  1195,  2605,
13655
    1197,   424,   360,   488,   146,  3294,  1974,  1975,    83,    93,
13656
     445,   162,   114,  3302,   388,   488,   403,  5006,  4458,   133,
13657
     188,  1218,     3,   234,  1221,   388,   411,  1224,   166,   113,
13658
    3251,   300,    86,   468,   488,   289,  4222,  5330,  5331,   424,
13659
    1237,   360,   255,   243,   133,   464,   722,   723,   484,   484,
13660
     125,   471,   351,   305,   182,   263,   263,   211,   424,  1299,
13661
     114,   258,  4266,   147,   396,   482,   486,   169,   463,   486,
13662
    1267,   133,   388,   327,   430,  1173,  2207,  1175,   289,  1177,
13663
     388,  1179,  2047,  1181,  1182,  1183,  1861,   365,     5,   484,
13664
    1188,   396,   190,  2195,   388,   216,   471,   170,  1295,  1296,
13665
    1297,   426,  1299,  3392,  1928,    83,   360,   482,   463,   484,
13666
     485,   486,   418,   488,  5013,   243,   484,   263,   246,   488,
13667
     353,   430,  1319,   410,   128,  4879,   130,   424,  1370,  1389,
13668
    1390,   205,  1392,   114,   255,  4573,  1389,  1390,   388,  1392,
13669
    1849,  1965,  1935,  1918,   268,  1969,   291,   125,   288,  1973,
13670
     347,   351,  1976,  1977,   292,    22,   258,   176,   231,  4815,
13671
    1357,   263,  1890,   277,    59,   323,   842,   419,   844,   293,
13672
    4849,  4609,    67,   116,  1406,   429,   289,  1905,  4204,   445,
13673
    1908,   167,   393,  1936,  4622,   396,  1525,   400,   475,   476,
13674
    5009,   424,  5485,  4631,  1391,   353,    22,   288,  1395,  1396,
13675
     289,   343,   468,   305,   258,  2173,   106,  2338,  2028,  1406,
13676
    1407,  1408,   167,  1410,   327,   126,   291,   331,   332,   321,
13677
     360,   363,  1855,   351,   114,   136,  3940,   289,   366,   327,
13678
     388,    22,  2363,   331,   360,  1432,  1893,    28,   327,   323,
13679
    1968,    26,   363,  1971,  1972,   338,   360,   360,  4047,   117,
13680
    1907,   396,   360,  2030,  4910,   198,  3994,    11,   155,  4915,
13681
    4916,  2038,   360,  1920,   268,   327,   133,   147,   108,   353,
13682
    1467,   360,   240,    26,   432,  1472,    26,   258,   436,   738,
13683
     739,   740,   263,  4665,   743,   744,   745,   445,  4665,  1486,
13684
    1487,  2422,  2392,   183,   753,   314,  5472,     3,   360,  1496,
13685
     405,   143,  1499,   424,   388,  5204,    76,   133,    50,  2439,
13686
     468,   217,   255,   291,   304,   258,    86,   419,   186,    73,
13687
     275,   396,   395,   309,   397,   344,   484,  4767,  1525,    79,
13688
    1527,   228,   425,  2305,  1531,   463,   231,    87,   426,  1455,
13689
      85,   241,   133,   128,   244,   304,   279,   445,   432,   422,
13690
    4788,  1548,   277,  1550,   194,  2647,  1553,  1589,  5091,  5092,
13691
     484,   445,   488,   105,   289,   115,   403,   157,   258,    75,
13692
     468,   484,   484,  2150,  2007,   128,  2009,  2479,   289,    85,
13693
     488,   126,  2015,  5559,   468,  3507,   228,  4755,  2021,  2022,
13694
    2023,   136,  1589,  2396,    88,   289,   484,  2528,  2031,  2032,
13695
     484,  2404,   327,  2036,  2407,  1602,  1603,  1604,  1605,  1606,
13696
    2372,  2373,  3917,  2543,  2376,   405,   327,   350,   396,   116,
13697
    2392,   160,   289,  1620,   289,   329,   289,  3961,  1626,   345,
13698
     220,   137,   171,   183,   471,  5334,   130,  1634,  1635,  1636,
13699
    2570,  2571,  2572,  2573,   116,   195,   405,  3952,    94,   486,
13700
     168,   190,  2582,  2425,  2473,  2474,  2475,  3178,   448,  3065,
13701
     327,   203,   327,   289,   327,  3618,   360,  2220,  3621,  3534,
13702
    3535,  3536,  3537,   353,    11,  3540,  3541,  3542,  3543,  3544,
13703
    3545,  3546,  3547,  3548,  3549,   426,   405,   168,  2460,   448,
13704
    3779,  1539,   408,   360,  1170,  3873,  1544,   360,  1792,  3877,
13705
    3878,   327,  3880,    40,  2213,   170,  1902,   347,   388,   143,
13706
    1844,  5410,   437,   255,  3803,   170,  3255,   214,  3446,   167,
13707
     166,   155,  3261,  2618,  1818,   343,   160,   345,   234,   448,
13708
    5429,  3596,  3597,   155,   360,  1732,    73,  1734,  3691,  4725,
13709
    3693,   445,   214,   484,   289,   106,   445,   387,   388,  1746,
13710
    1747,   253,   432,   201,   200,    64,    65,  1233,   445,  1891,
13711
     216,   258,  1901,  1902,   468,   445,   231,  1615,   161,   215,
13712
     272,  1619,  1769,   331,   208,   240,   231,  1253,   323,   225,
13713
    2542,  5021,   327,   289,   488,  5484,   258,  3198,   468,   488,
13714
     408,  1788,   310,  4019,   228,  4021,   128,   336,   130,   255,
13715
     161,   488,   360,   196,   484,   251,   228,   349,  1284,  1806,
13716
    1807,  1808,  1809,  5051,   445,   360,   166,  4985,   315,     0,
13717
    4662,   327,  1819,  1299,   342,   331,   128,   377,   130,  1826,
13718
     380,  5530,  5428,  1830,  5002,   196,   270,   355,   445,  5372,
13719
    4510,   353,  3000,   315,  1841,   279,  2303,  1844,   270,   327,
13720
     200,   153,  1849,   165,   360,   315,  4800,   488,  1855,   315,
13721
    2600,   342,  4704,  5562,   319,   215,   327,   348,   328,  2378,
13722
    5038,  3527,   369,   391,   355,   225,   388,   331,   190,   160,
13723
     241,   488,   360,   244,   289,   289,  2817,   393,   487,  2028,
13724
     396,   337,  2823,  1890,  1891,   488,   356,  2700,  4902,   360,
13725
    3556,   445,    29,   184,  1901,  1902,   360,   363,  1905,   390,
13726
     391,  1908,  1171,  1389,  1390,  1174,  1392,  1176,  5211,  1178,
13727
     432,  1180,   327,   327,   468,  1184,   258,    54,  1925,  1926,
13728
     395,   343,   397,   414,   307,  1932,   268,  1934,  4452,   445,
13729
     395,  4418,   397,  5539,   488,   408,  4616,    43,  4618,  1935,
13730
     319,     8,  3376,  1985,    11,   360,   258,   422,    15,    16,
13731
      17,   263,  1959,  5201,   376,  4796,   268,   422,   424,  1966,
13732
      66,  1968,   484,  2973,  1971,  1972,   267,  1974,  1975,    76,
13733
    4457,  1978,  4437,   438,   418,   354,  1936,   337,  1985,    86,
13734
     128,  2000,   130,   237,   167,   258,  2610,  1994,  3951,   160,
13735
     263,   438,  1999,  2000,  1990,   160,  2003,   447,  1990,  1990,
13736
    2007,  5179,  2009,  1990,   218,   153,  1990,  2014,  2015,   388,
13737
    4246,  4247,     4,   184,  2021,  2022,  2023,     9,   468,   184,
13738
    2027,  2028,  2029,  2030,  2031,  2032,  2033,  2034,  3695,  2036,
13739
    4269,  2038,  2039,   155,  3909,  2042,  4275,  1945,   160,  1947,
13740
     313,  1949,  2666,  1951,  1532,  1953,   350,  2610,    67,  1957,
13741
    2057,  2058,  2059,  2060,    73,   155,  2262,  2064,  2065,   438,
13742
     160,  1549,  2069,  2697,  2893,  2072,  1999,    86,  2075,  2076,
13743
    2077,  2078,  2079,  2080,  2081,  2082,  2083,    23,  2085,   484,
13744
    2006,  5035,     6,    29,  2091,  2092,  2899,  2094,    12,   395,
13745
    5338,   397,  4407,   347,  2101,   114,    20,   116,   410,   242,
13746
     143,   445,  5098,  2666,   447,     4,   228,   484,   420,  2253,
13747
       9,   289,   155,  2262,    38,   263,   917,   160,  2260,  2562,
13748
     268,  2263,  2264,  2130,   468,   468,   309,  2134,   228,   483,
13749
    4993,  2138,  5335,  2140,   488,   936,   289,   483,   939,   393,
13750
    5318,   484,   488,  2150,   485,   212,  2963,   488,   270,   327,
13751
     169,  2896,  2159,  2160,   479,     4,  2302,   408,   445,   484,
13752
       9,   486,   345,  5426,   273,   208,  2173,  5415,   422,   278,
13753
     270,  2131,  2132,  2180,   327,  2182,  3051,  2620,  1539,   198,
13754
    5428,   468,   360,  1544,   482,   228,   484,  2178,   486,  3357,
13755
     408,   445,  4380,   447,  4382,  4383,   913,   484,  4386,  3367,
13756
    4163,   918,  3077,  2222,  4167,  2224,  2213,   360,   275,  2796,
13757
    2797,   479,  2220,   329,  2801,  2222,   484,  2224,   486,  3750,
13758
     350,    35,  5425,   406,  2854,  3963,  5404,   270,    57,   412,
13759
     484,  5494,   237,  2275,  2241,  2381,   279,   240,  5079,   258,
13760
     237,    55,   289,   395,   263,   397,  2253,   240,  2255,  2256,
13761
     447,  2838,  2839,  2260,  1615,  2262,  2263,  2264,  1619,  2266,
13762
      90,  2268,   410,    92,  5260,  2272,  5529,   289,  2275,   194,
13763
    3052,   468,   420,    13,    14,   485,    94,  5540,   488,  5482,
13764
     327,   484,   116,   486,   331,   485,   305,   484,   488,  2296,
13765
     184,  5539,   106,   122,  5557,   482,  5499,   484,  3741,  2306,
13766
    5478,   323,   321,    30,    31,   327,  3727,  2314,  2315,  5572,
13767
     242,  2457,     8,   360,  3748,  2322,  3750,  3984,  4633,    15,
13768
      16,    17,   151,  5586,  2331,   408,   160,  3487,  5531,   485,
13769
    2372,  2373,   488,   445,  2376,   447,  2899,  2809,   360,  2811,
13770
    2812,   485,   347,  3255,   488,  2352,  3128,    82,   166,  3261,
13771
    2357,  2358,   353,  5556,   485,  2798,  2990,   488,   187,  3299,
13772
    3301,   484,  3783,   486,   198,  2372,  2373,  2810,  3345,  2376,
13773
     485,  2378,  2379,   488,  5577,   418,  3418,  3419,  5374,   193,
13774
     485,   485,   200,   488,   488,    54,   485,   388,   393,   488,
13775
    2636,  2637,  2638,  3017,   223,  2402,   393,   215,  2405,  2842,
13776
     419,  3306,   469,   470,   471,   438,  3347,   225,   475,   476,
13777
     477,   478,   479,   480,   445,   485,   447,   422,   488,  2426,
13778
    2427,   255,   218,   485,   258,   422,   488,   241,   350,   258,
13779
     244,   432,   485,   251,   484,   488,  2443,  2880,  2445,  2446,
13780
     445,   255,   447,     9,   445,   395,   237,   397,   445,  1935,
13781
     447,  4943,   484,  4945,  3017,   273,   395,  4949,   397,  4951,
13782
     289,   290,   485,  4987,   445,   488,   447,   468,   343,   344,
13783
    2477,  2478,  2479,  5469,   288,   485,  2483,   487,  5026,   484,
13784
     143,  3294,  2489,   484,   848,   485,   850,   484,   488,  3302,
13785
    2497,   485,   155,  2500,   488,   343,   344,   160,   327,  2506,
13786
    2542,   485,   331,   487,  1990,  4997,   335,   273,    23,   485,
13787
    4746,  2518,   488,  2520,    29,   344,   343,   344,   332,   337,
13788
    2987,  2988,  4710,   352,  3692,   485,   347,  2534,   488,  5370,
13789
    2537,   360,  2539,   485,   485,  2542,   488,   488,   485,  2546,
13790
     354,   488,  2549,   485,   373,   208,   488,   485,   485,    54,
13791
     488,   488,   381,   488,  2561,  2562,   347,   485,   438,   485,
13792
     488,   375,   488,   343,   344,   228,  4665,  4882,  4168,  3970,
13793
    4170,  3987,   485,  5253,   484,   488,  2583,  4892,   485,   275,
13794
    2066,   488,  3332,  5227,  5228,  2548,  2593,     8,  2595,   485,
13795
      11,   436,   488,   485,    86,  2739,   488,   485,  5352,  5353,
13796
     488,  2592,   393,  2745,    43,   465,  2748,   270,   426,  2751,
13797
    4573,   440,   485,  2620,   486,   488,   279,  4580,   485,    40,
13798
     485,   488,  4585,   488,   276,  4588,   214,    48,  3569,     8,
13799
     485,   422,    11,   488,   276,   273,    15,    16,    17,   403,
13800
    2647,   160,  2649,  2650,  2651,  2652,  4609,   485,   485,   273,
13801
     488,   488,    73,  4528,   445,   465,   447,   485,  3576,  4622,
13802
     488,   276,   485,    43,     8,   488,  3676,    11,  4631,   259,
13803
     260,    15,    16,    17,   485,   465,   214,   488,   170,  3146,
13804
    2687,   164,   485,  3496,  3308,   488,  3310,   485,    32,   477,
13805
     488,  4790,  2178,   484,  2040,   488,    40,  2043,  3165,  3471,
13806
       8,   484,   194,    11,    48,  2854,   485,    15,    16,    17,
13807
     485,   485,   485,   488,   488,   230,   485,   436,   485,   488,
13808
     141,   488,  2729,  5564,    32,    54,   210,   485,     8,    73,
13809
     488,    11,  2739,   165,   484,    15,    16,    17,  2745,   231,
13810
    3637,  2748,   486,   485,  2751,  3308,   488,  3310,  2798,  5590,
13811
    4281,   485,    32,  2760,   488,   418,  3674,   485,   449,   485,
13812
     488,  2768,   488,   353,   185,   327,  2773,  3391,  2917,   190,
13813
     484,   484,   484,   469,   470,   471,   148,   190,   484,   475,
13814
     476,   477,   478,   479,   480,   485,   278,   486,   488,  2796,
13815
    2797,  2798,  2842,   148,  2801,   273,   237,   143,   388,   190,
13816
     327,   273,  2809,  2810,  2811,  2812,   227,   485,   148,   155,
13817
     488,   190,   190,   148,   160,  2822,  5340,   273,  2825,   482,
13818
    2827,  4264,   485,   486,   485,  4788,  3460,   488,  3391,   160,
13819
    5317,  2838,  2839,   212,   327,  2842,   226,  3778,   148,  3780,
13820
     485,   185,   432,   488,  3749,   485,   190,  2854,   488,  2856,
13821
     116,  2858,   426,  2860,   275,   445,  3323,  3632,  3325,   242,
13822
     485,  3802,   208,   488,   485,   273,   484,   488,   212,   213,
13823
     267,   485,   485,  2880,   488,   488,   485,  2884,   468,   488,
13824
    3821,   438,   228,   227,  2891,   485,  4849,   485,   488,   350,
13825
     488,   408,     3,   160,   484,   237,   275,  2947,   485,   218,
13826
    2907,   488,  3719,   395,   212,   397,   347,  2914,  2885,  2886,
13827
    2887,   484,    23,   485,  2910,    67,   408,   261,  2910,  2910,
13828
     258,    35,  2929,  2910,   270,   485,  2910,   419,   488,   484,
13829
     422,   275,   212,   279,   278,   258,  2943,   449,   237,  4814,
13830
    2947,   273,   160,  2950,   365,  2952,    43,  3534,  3535,  3536,
13831
    3537,   258,   393,  3540,  3541,  3542,  3543,  3544,  3545,  3546,
13832
    3547,  3548,  3549,    43,   258,   485,  3779,   275,   488,   413,
13833
     258,   289,   237,   237,    85,    85,   485,   160,  3883,   488,
13834
    3567,   422,  2891,   289,  3859,   438,  2993,   438,  2995,   485,
13835
    3803,   485,   488,  3000,   488,   275,   485,   485,   485,   488,
13836
     488,   488,   148,   237,   445,   347,   447,   308,   237,  3596,
13837
    3597,   485,   485,  5537,   488,   488,   148,   484,   148,  3486,
13838
    3027,   365,  3029,  3030,  3031,   301,   485,   138,     8,   488,
13839
    4993,    11,   435,   148,  2943,    15,    16,    17,   485,   485,
13840
    3869,   488,   488,   484,   484,   466,    34,   485,   347,   287,
13841
     488,   393,   148,   484,   475,   476,   477,   478,   479,   480,
13842
      40,   485,  4115,   485,   488,   484,   488,   485,    48,   148,
13843
     488,   485,   418,   260,   488,   485,   449,   488,   488,   190,
13844
     422,   485,   347,   347,   488,   196,  3529,   148,  5051,   148,
13845
     469,   470,   471,    73,   393,   148,   475,   476,   477,   478,
13846
     479,   480,   148,   445,   485,   447,  2592,   488,   485,   485,
13847
     148,   488,   488,   347,   485,   353,   485,   488,   347,   488,
13848
    3563,   485,   466,   422,   488,   469,   470,   471,   393,   393,
13849
     148,   475,   476,   477,   478,   479,   480,  3144,   485,   160,
13850
     485,   488,   484,   488,   488,  3294,   445,   148,   447,   485,
13851
     388,   485,   488,  3302,   488,   148,   148,   422,   422,   393,
13852
       0,   469,   470,   471,   393,  3608,   353,   475,   476,   477,
13853
     478,   479,   480,   485,   485,   148,   488,   488,   148,  5054,
13854
     445,   445,   447,   447,   295,   484,   273,   388,   422,   469,
13855
     470,   471,   484,   422,   432,   475,   476,   477,   478,   479,
13856
     480,   388,    35,   226,   160,   185,   160,   445,   273,     8,
13857
     190,   445,    11,   447,   484,     5,   445,     5,   447,   484,
13858
     484,   736,  4035,   738,   484,   740,   484,   338,   160,   484,
13859
     468,   746,   747,   748,   484,   484,   484,   484,  5201,   484,
13860
       5,    40,     5,   484,   484,   432,   484,   227,  3255,    48,
13861
     484,   484,   484,    93,  3261,   484,   484,   484,   445,  4427,
13862
     484,     5,  4180,  3270,   484,     5,   446,   484,  3275,  3276,
13863
     484,   484,   484,   484,    73,   386,     8,   484,   484,    11,
13864
     484,   468,  4200,    15,    16,    17,   484,   484,   484,   285,
13865
     210,    97,    35,   488,   488,   275,   226,   484,   485,    35,
13866
     487,   160,   488,   143,   270,   160,   417,  3314,  3315,  3316,
13867
     268,   360,  2798,   403,   425,   155,   347,   428,   403,   403,
13868
     160,   437,  3909,   347,  3331,   165,   403,   486,   403,   403,
13869
     347,   171,   228,   403,   174,   403,   471,   403,    86,   179,
13870
     347,   148,   141,  3385,   273,   273,   352,   223,   403,   403,
13871
    3357,  3358,   263,   403,   425,   293,  2842,   393,   273,   273,
13872
    3367,  3368,  3369,   268,   343,   484,  3373,   183,   208,   403,
13873
     403,   484,  4773,  2859,   889,  5338,    86,   289,  3385,   488,
13874
     190,   148,   426,   426,   403,   365,   185,   273,   228,  2875,
13875
    3381,   190,   403,   403,   388,  4029,  4030,  4031,  4032,  4033,
13876
     403,   388,   108,   403,   403,  2891,   273,    54,   403,    54,
13877
     248,   277,   403,  3404,   403,   312,   347,   403,   403,   403,
13878
     403,   403,   403,   293,  2910,  4195,   403,   403,   227,  3471,
13879
     270,   393,   293,   273,   403,   403,   403,    42,   403,   279,
13880
      42,   347,   403,  3450,   403,     7,   488,   315,   403,   489,
13881
    3604,   212,  5415,   485,   273,   212,   212,  2943,   212,   449,
13882
    4273,  2947,   273,   212,  3471,  5428,     8,  3934,  3935,    11,
13883
     212,   273,   273,    15,    16,    17,   275,   212,   212,   212,
13884
    3487,   403,   445,    35,   148,    24,   466,   413,   273,   469,
13885
     470,   471,   148,    35,   334,   475,   476,   477,   478,   479,
13886
     480,   114,  3509,   258,   445,   426,   484,   148,   148,   148,
13887
     437,  3518,   445,   273,   234,   268,    35,  3524,   160,  3526,
13888
     258,   258,  3529,    35,   484,   218,   349,  3534,  3535,  3536,
13889
    3537,   258,   484,  3540,  3541,  3542,  3543,  3544,  3545,  3546,
13890
    3547,  3548,  3549,   275,   484,    34,  3553,  3554,   388,   401,
13891
     401,   148,  3602,    35,   403,   403,  3563,   482,  4188,   482,
13892
    3567,   403,   403,   148,  3571,   484,   365,   148,  4155,   426,
13893
    4482,  3621,  3579,    55,   148,  3582,  5539,  3584,   418,   426,
13894
    5455,  5456,   148,   267,   262,   403,  3593,   165,   441,  3596,
13895
    3597,   484,    11,   248,  3601,  3602,   248,   488,   401,  3606,
13896
     484,  3608,   442,   484,   444,   445,   403,   174,  3615,  3616,
13897
    3617,  3618,   156,   405,  3621,  3622,   165,   488,   183,  3626,
13898
    3627,  3628,   485,   183,   106,   208,  3633,   216,   484,    35,
13899
    3779,   274,   363,  3610,  3611,  3612,  3613,   426,   488,    54,
13900
     347,   485,   482,   488,   282,   485,   486,   487,   484,   426,
13901
    3657,   263,   216,  1168,  3803,   216,   263,   403,  4408,  4102,
13902
     242,   408,   403,   484,  3671,   438,  3673,   466,   350,   160,
13903
     212,   218,   263,   403,   150,   273,   475,   476,   477,   478,
13904
     479,   480,    43,   369,  3691,  3692,  3693,   258,  3695,   150,
13905
      50,    57,   226,   226,   226,   343,   271,   393,   403,   150,
13906
       8,   273,   488,    11,   273,  3712,  3713,  3714,  3715,  3618,
13907
     150,   193,  3621,  4347,  4348,   184,  4350,   327,   403,   315,
13908
     357,   401,   403,   279,    35,   212,    92,  4895,   426,   426,
13909
     218,   311,    40,   275,  3741,    95,   271,   469,   470,   471,
13910
      48,   194,   471,   475,   476,   477,   478,   479,   480,   471,
13911
     148,   268,   160,  3760,    35,   438,   122,   485,   391,   241,
13912
     120,   162,   244,   393,   312,    73,   268,   484,   148,  5300,
13913
     357,   484,   148,   255,  4715,   148,   268,   137,   258,    35,
13914
     258,   141,  3691,   273,  3693,   151,   218,  4230,   273,   181,
13915
     181,   160,  4940,    35,  4261,   485,   161,   465,   465,   246,
13916
     351,   161,  3810,   482,   164,   218,   288,   357,   485,   485,
13917
     485,   485,   160,   273,  4719,   258,   190,   488,   190,     8,
13918
     180,   187,    11,   190,   449,   488,   190,   190,  4930,   488,
13919
    4932,  1346,    23,   141,   172,   403,  1351,  1352,   484,   165,
13920
     245,   445,   273,    54,   488,   408,   267,   388,  3855,   485,
13921
     332,    40,  4665,   485,   438,   165,   218,   223,   485,    48,
13922
     285,   485,   485,   485,   485,   484,   294,     8,   485,   485,
13923
      11,  4338,   354,   488,    15,    16,    17,   185,   165,   485,
13924
     403,   484,   190,   484,    73,   485,   465,   284,   442,   484,
13925
     484,    32,   258,   375,  3901,  3381,   484,   467,  3905,   274,
13926
    3907,    35,  3909,   263,   274,   236,   424,   432,    54,  3916,
13927
     194,   271,   442,   471,   273,  3922,   273,   148,  3404,   227,
13928
     276,    55,   273,   289,   290,  3932,   403,   469,   470,   471,
13929
     403,   484,   403,   475,   476,   477,   478,   479,   480,   484,
13930
    3947,  4528,   449,   202,  3951,  1460,   263,   403,   148,   258,
13931
    4537,   360,   141,   313,  3961,  1470,   277,   352,   148,   352,
13932
     148,   327,   352,  3970,   226,   331,  4744,   275,  4435,   335,
13933
     194,   150,   106,  3980,   471,   488,   403,  3984,   344,   228,
13934
     426,  3988,  3989,  5151,  5152,   423,   352,   403,  3979,   295,
13935
     295,   403,   403,  4623,   360,  5143,   185,  1512,  1513,  4442,
13936
     403,   190,   238,   485,   238,  4834,   238,   373,   347,   403,
13937
     347,   347,  4019,   347,  4021,   381,   403,   403,   403,   403,
13938
     403,  4028,   273,   258,   403,   360,   148,    42,   485,   212,
13939
     485,   485,   403,   483,   212,   169,   212,   212,   227,  4188,
13940
    1555,   177,  3951,  1558,  1559,   403,  4676,     3,   403,   485,
13941
     485,   488,     3,   160,  4061,    43,   329,   365,   107,   193,
13942
     413,   485,   488,   160,   484,  4072,   271,   485,    35,   273,
13943
     148,   212,   148,   403,   440,   160,   177,   484,   148,   483,
13944
     426,   483,   426,   347,   347,   485,   275,   347,   357,   347,
13945
     347,   276,   488,     8,   146,  4102,    11,   212,   146,   212,
13946
      15,    16,    17,   212,   212,  4112,  4113,   241,   212,   212,
13947
     244,  1626,  4119,  4120,   212,  5027,  3602,  4124,   212,   139,
13948
     165,   255,  4129,    11,  5292,  4132,  4133,  4940,   482,   285,
13949
    4137,  4138,  3618,   160,   275,  3621,  4143,  4144,  4145,  4146,
13950
    4147,   488,   485,   485,  4151,  4152,  4153,   437,  4155,  4156,
13951
     442,   165,  4159,     0,   288,   484,  4163,   485,   466,    35,
13952
    4167,   485,   485,   488,   165,   484,  4173,   475,   476,   477,
13953
     478,   479,   480,   488,   468,   174,   365,   334,   485,    55,
13954
     484,  4188,   485,   485,   274,   431,    84,   413,  4195,   160,
13955
      35,   403,  4199,   426,   218,   202,   426,  4204,   332,  4666,
13956
    5141,  4220,    54,   148,     7,   484,  4197,  4198,  4842,   393,
13957
     377,   169,   413,  4220,   352,     8,  4223,   403,    11,  4853,
13958
     354,   403,   403,  4230,   347,   327,   403,  4814,   347,  1744,
13959
     106,   107,   403,   485,    54,   485,   445,   485,   114,  4246,
13960
    4247,   375,   393,  5391,   484,   432,    93,    40,   160,   150,
13961
      73,   148,  4839,  5163,  4163,    48,   107,  4264,  4167,   413,
13962
    4268,   293,   485,   212,   212,   212,   212,   484,   197,  4277,
13963
     484,  4278,   216,   403,    35,   449,   273,   466,   488,   322,
13964
      73,   488,   485,   293,    80,   484,   475,   476,   477,   478,
13965
     479,   480,   488,   169,   488,  5236,   143,   212,   403,   413,
13966
    4934,   357,   171,   107,   484,   165,   212,   165,   155,   320,
13967
      54,   483,   485,   160,   443,   485,   484,   193,   165,   485,
13968
    4327,   485,   443,   488,   171,   285,   485,   174,   469,   470,
13969
     471,   484,   179,   485,   475,   476,   477,   478,   479,   480,
13970
     484,   215,  4349,  5093,  1859,   283,   392,   215,   141,   484,
13971
     280,    54,   179,   471,  1869,   268,  1871,  4364,   413,   403,
13972
     275,   208,  1877,   165,  4927,   241,   445,    73,   244,  1884,
13973
     191,   196,   184,   263,   263,   471,  4819,  4940,    54,   255,
13974
     393,   228,   258,    67,   403,   403,   403,     7,   488,  4396,
13975
     193,   148,   185,   488,   485,   212,   484,   190,   167,   202,
13976
     203,   165,   114,    35,   426,  4412,   190,   210,    35,   212,
13977
     213,  4418,   288,   268,   357,   484,  4859,   426,   258,   162,
13978
    4427,   160,   357,   270,   227,   268,   273,    35,  5062,   445,
13979
      54,   165,   279,   445,   227,  4442,   273,   484,   160,   199,
13980
     276,   165,   210,   484,   484,   320,   431,   374,  4455,   485,
13981
    4457,   485,   293,   484,   484,   484,   332,  5087,   444,   215,
13982
     485,    86,   129,  4454,   273,  3951,   403,  5054,   321,    35,
13983
    4676,   148,   403,   160,  4623,   165,   484,   121,   354,  4486,
13984
     485,   484,   275,     3,   484,    35,   484,   334,     8,   484,
13985
     484,    11,   484,  3979,   183,    15,    16,    17,   263,   375,
13986
     194,   377,  2017,  2018,   380,   484,   239,   484,   357,  2024,
13987
    2025,   485,    32,   148,   107,    35,  4665,   134,   441,    35,
13988
      40,  4528,   485,   277,   372,   344,   344,  4676,    48,   413,
13989
    4537,   485,    54,  4675,   372,    54,    35,  2052,    77,   431,
13990
    5481,   388,   484,   484,   484,   484,   183,  4554,  4555,   178,
13991
     484,  4558,   488,    73,   469,   470,   471,   160,   393,   426,
13992
     475,   476,   477,   478,   479,   480,  4573,   393,     7,  4576,
13993
     255,   418,   365,  4580,   484,   273,   485,   393,  4585,  4721,
13994
    5143,  4588,  4589,     5,  4591,   154,  4593,     7,  4595,  4596,
13995
     449,   484,   147,   484,    67,   442,   276,   444,   445,    67,
13996
     129,   445,  4609,   445,  4611,  5048,   430,   320,   484,   431,
13997
     488,   484,   484,  5554,    35,  4622,  4623,  4624,  4625,  4626,
13998
     360,   165,  5065,   393,  4631,   318,  5069,   403,  5071,   263,
13999
     134,   196,   273,   273,   484,   482,   357,    35,   485,   486,
14000
     487,  5582,    35,   371,  2159,  2160,   276,   442,  5235,   191,
14001
      25,   484,   167,   276,   167,   485,   488,   485,    54,   119,
14002
     343,   403,   424,     5,  4573,   185,   357,   144,  4675,  4676,
14003
     190,  4580,   485,   466,   484,   343,  4585,  4163,   484,  4588,
14004
     280,  4167,   475,   476,   477,   478,   479,   480,    21,   328,
14005
     484,   432,   212,   213,  4602,   484,   484,   389,   488,   263,
14006
    4609,    76,   488,    32,   484,  2220,   147,   227,   394,   484,
14007
     165,  4197,  4198,  4622,  4721,   403,    77,  4724,   485,  5282,
14008
     281,   343,  4631,   372,   372,   484,   445,   445,   844,  4736,
14009
     167,   484,  4739,   108,   167,  1618,   881,  4744,  2546,  4746,
14010
    2899,   261,  2425,  1352,  2347,  4787,  4753,  3077,  3778,  3752,
14011
    5282,  5278,  3292,  3885,  2452,   275,   131,  4748,   278,  4953,
14012
    5141,  3932,  4769,  5391,   927,     8,  4773,   142,    11,  5356,
14013
    4773,   926,  4398,   193,  4743,  2994,  2687,  5259,  5376,  4786,
14014
    4787,  4788,   202,  4622,  5171,  5170,  5302,   162,  5415,  2998,
14015
     210,  5420,   167,   213,  4785,  5576,  3965,    40,  3980,  2314,
14016
    5102,  3923,  2531,  3773,  3103,    48,  2531,  4814,  3343,  4859,
14017
    4817,   923,  4819,  4436,  3948,  2525,  4750,  3359,  5393,  4759,
14018
    5582,  5554,     0,   626,  4736,  3301,  5315,  3296,  5391,  4913,
14019
      73,  4678,  4839,  1783,  5111,   638,  4681,    29,  4845,  4038,
14020
    4878,   644,  4849,  2146,   219,   365,  4853,  1197,  5496,  5285,
14021
    4631,  4891,  4859,  2196,  3987,   658,  5027,  1832,  2972,  1008,
14022
    1901,  4868,  1995,  3232,   675,   240,  1995,  1841,  5455,  5456,
14023
    1996,   674,  3802,  3347,  3821,  5343,   679,  5542,  4008,  4788,
14024
    1439,  2396,   685,  4890,  2140,  4010,   689,   690,  4895,  2404,
14025
     823,  1936,  2407,   696,  2131,   698,   699,  2139,   141,  4605,
14026
    3968,  4199,   710,  5252,  3671,  2914,  1374,  1329,  2176,   712,
14027
     713,  2929,  1398,  4920,  2150,    93,  1399,  3636,  5245,  4185,
14028
     723,  5073,  2175,  4930,  4931,  4932,  4933,  1401,  3621,  4152,
14029
    4169,  4850,  3618,   308,   309,  5051,  1406,   312,  5087,  5050,
14030
    4849,  3672,   185,  5548,  3618,  5360,   466,   190,  5459,   469,
14031
     470,   471,  5235,  1866,  4817,   475,   476,   477,   478,   479,
14032
     480,  3571,  4969,   338,  4599,   143,   341,  5248,  4454,  5249,
14033
    2859,  2089,   347,  2483,  2769,  2857,  1626,   155,    -1,   354,
14034
    2092,    -1,   160,  4990,   227,    -1,  4993,   165,    -1,    -1,
14035
      -1,    -1,    -1,   171,    -1,    -1,   174,    -1,    -1,   802,
14036
     803,   179,    -1,    -1,    -1,   808,    -1,    -1,   383,    -1,
14037
      -1,    -1,  5003,   388,    -1,    -1,    -1,    -1,   393,    -1,
14038
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14039
     208,   834,   275,    -1,    -1,    -1,    -1,    -1,   413,    -1,
14040
      -1,  5048,    -1,    -1,  5051,    -1,    -1,  5054,    -1,    -1,
14041
     228,  5058,    -1,    -1,    -1,    -1,    -1,    -1,  5065,    -1,
14042
      -1,    -1,  5069,   438,  5071,    -1,  5073,    -1,    -1,    -1,
14043
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5085,    -1,
14044
    5087,    -1,    -1,    -1,  4993,    -1,  5077,    -1,    -1,    -1,
14045
      -1,    -1,   270,    -1,  4580,   273,  5103,    -1,    -1,  4585,
14046
      -1,   279,  4588,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14047
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2633,  2634,
14048
      -1,    -1,   365,    -1,  2639,  5267,    -1,    -1,    -1,    -1,
14049
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14050
      -1,    -1,  5051,    -1,  5151,  5152,    -1,    -1,    -1,    -1,
14051
     953,   954,   955,    -1,    -1,    -1,   334,    -1,    -1,   962,
14052
      -1,    -1,    -1,    -1,    -1,    -1,   969,    -1,    -1,    -1,
14053
     973,    -1,    -1,    -1,    -1,  5182,   979,    -1,    -1,   982,
14054
      -1,    -1,  5189,    -1,    -1,  2700,  5193,    -1,    -1,    -1,
14055
     203,    -1,   995,    -1,  5201,    -1,    -1,    -1,    -1,   212,
14056
      -1,    -1,  5344,  5345,    -1,    -1,   626,  1010,    -1,    -1,
14057
     388,    -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,  5226,
14058
    5227,  5228,    -1,   466,    -1,  5232,    -1,    -1,  5235,    -1,
14059
      -1,    -1,   475,   476,   477,   478,   479,   480,  5245,    -1,
14060
     418,  5248,    -1,    -1,    -1,  5252,    -1,    -1,    -1,    -1,
14061
      -1,    -1,    -1,  1056,  1057,    -1,    -1,    -1,    -1,   679,
14062
    5267,    -1,  4748,    -1,   442,    -1,   444,   445,    -1,   689,
14063
      -1,    -1,    -1,    -1,    -1,    -1,   696,  5284,    -1,   699,
14064
      -1,    -1,    -1,    -1,    -1,  5292,    -1,    -1,    -1,    -1,
14065
      -1,    -1,  5201,  1096,    -1,    -1,    -1,    -1,    -1,  4785,
14066
      -1,    -1,     8,    -1,   482,    11,    -1,   485,   486,   487,
14067
    5317,    57,    -1,    -1,    -1,  5322,    -1,    -1,    -1,    -1,
14068
    5327,    -1,    -1,    -1,    -1,  5316,    -1,    -1,    -1,    -1,
14069
    1133,  5338,    -1,    -1,    40,    -1,    -1,  5344,  5345,  5346,
14070
      -1,    -1,    48,    -1,    -1,    -1,    92,  5343,  1151,  5356,
14071
      -1,  5343,  5343,  5360,    -1,    -1,  5343,  1160,    -1,  5343,
14072
      -1,    -1,    -1,  4849,    -1,  1168,    -1,    73,    -1,    -1,
14073
      -1,    -1,    -1,  4859,  5381,    -1,    -1,    -1,    -1,    -1,
14074
      -1,  5431,  2897,    -1,  2899,    -1,    -1,    -1,    -1,    -1,
14075
      -1,     8,    -1,  1196,    11,    -1,    -1,    -1,    15,    16,
14076
      17,    -1,  1205,    -1,  1207,   151,  2921,  2922,  5415,  5416,
14077
    5417,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,  1222,
14078
      -1,  5428,  1225,    40,    -1,    -1,    -1,    -1,    -1,  5338,
14079
      -1,    48,    -1,    -1,  1237,  5431,    -1,    -1,    -1,  5431,
14080
    5431,   187,    -1,    -1,  5431,  5587,  5588,  5431,  5455,  5456,
14081
      -1,    -1,    -1,    -1,    -1,    -1,    73,    -1,    -1,    -1,
14082
    5467,    -1,    -1,    -1,  1267,    -1,    -1,    -1,    -1,    -1,
14083
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   223,    -1,   185,
14084
      -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,    -1,    -1,
14085
      -1,    -1,  1295,  1296,  1297,    -1,  1299,    -1,    -1,    -1,
14086
    5507,    -1,    -1,    -1,    -1,    -1,  5415,  4993,    -1,    -1,
14087
    5517,    -1,   258,    -1,    -1,    -1,  1319,  5003,    -1,  5428,
14088
      -1,   227,    -1,    -1,    -1,  5532,    -1,    -1,    -1,    -1,
14089
      -1,    -1,  5539,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14090
    1343,  5548,   962,    -1,   290,  5552,  5542,    -1,  1351,  1352,
14091
    5542,  5542,    -1,   973,    -1,  5542,    -1,    -1,  5542,   979,
14092
      -1,    -1,   982,    -1,    -1,    -1,    -1,    -1,   185,   275,
14093
      -1,    -1,    -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,
14094
    5587,  5588,    -1,    -1,    -1,   331,    -1,   333,  1391,   335,
14095
      -1,  5077,  1395,  1396,    -1,   212,   213,    -1,   344,    -1,
14096
      -1,    -1,    -1,    -1,    -1,    -1,   352,  1410,    -1,    -1,
14097
     227,  1414,    -1,    -1,   360,    -1,    -1,  1420,    -1,    -1,
14098
      -1,    -1,    -1,    -1,    -1,   638,    -1,   373,    -1,    -1,
14099
    5539,   644,    -1,    -1,    -1,   381,  1056,  1057,    -1,    -1,
14100
      -1,    -1,    -1,    -1,   261,   658,    -1,    -1,    -1,    -1,
14101
      -1,     0,    -1,    -1,    -1,    -1,    -1,    -1,   275,   365,
14102
      -1,   278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
14103
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1480,    -1,    28,
14104
      -1,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    35,
14105
      -1,    -1,    -1,    -1,   440,    44,    -1,    -1,    47,    -1,
14106
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    56,    -1,    -1,
14107
      -1,    57,    -1,    -1,    -1,    -1,    -1,     8,  1521,    68,
14108
      11,    70,    71,    -1,    15,    16,    17,    -1,    -1,    78,
14109
      -1,    80,    -1,    -1,    -1,    -1,  3251,    -1,    -1,    -1,
14110
      -1,    32,    91,    -1,    93,    -1,    92,    -1,   365,    40,
14111
      -1,  1554,    -1,    -1,    -1,    -1,    -1,    48,    -1,    -1,
14112
     466,   110,    -1,    -1,   113,    -1,    -1,    -1,    -1,   475,
14113
     476,   477,   478,   479,   480,    -1,    -1,    -1,   127,  3294,
14114
     129,    -1,    73,    -1,   133,    -1,    -1,  3302,    -1,    -1,
14115
     139,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   147,    -1,
14116
     149,    -1,    -1,    -1,    -1,   151,   155,    -1,    -1,    -1,
14117
      -1,  3326,    -1,  1616,    -1,    -1,    -1,    -1,    -1,    -1,
14118
      -1,    -1,   171,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14119
    5316,  1634,  1635,  1636,    -1,    -1,    -1,    -1,    -1,    -1,
14120
     189,   187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   466,
14121
      -1,    -1,   469,   470,   471,    -1,    -1,  5343,   475,   476,
14122
     477,   478,   479,   480,    -1,    -1,    -1,    -1,    -1,    -1,
14123
      -1,   488,   218,    -1,    -1,    -1,    -1,   223,    -1,    -1,
14124
     229,   230,    -1,    -1,    -1,    -1,   235,    -1,    -1,    -1,
14125
      -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,   247,   190,
14126
    3415,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14127
      -1,   260,   258,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14128
      -1,   212,   213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14129
      -1,    -1,    -1,    -1,  1737,    -1,   227,    -1,    -1,    -1,
14130
      -1,    -1,    -1,    -1,   290,  5431,    -1,    -1,    -1,    -1,
14131
      -1,  1754,    -1,    -1,   303,    -1,    -1,    -1,    -1,    -1,
14132
    1763,    -1,    -1,    -1,    -1,    -1,    -1,  1770,   317,    -1,
14133
     261,    -1,  1775,    -1,   323,   324,    -1,   326,    -1,    -1,
14134
      -1,  3496,   331,    -1,   275,   331,    -1,   336,    -1,   335,
14135
     339,  1794,    -1,    -1,    -1,    -1,    -1,   346,   344,  1802,
14136
      -1,  1804,    -1,   352,   353,    -1,   352,    -1,    -1,    -1,
14137
      -1,   360,    -1,  1816,   360,   364,    -1,    -1,    -1,    -1,
14138
      -1,    -1,    -1,    -1,    -1,    -1,   375,   373,    -1,    -1,
14139
      -1,  1834,    -1,    -1,    -1,   381,    -1,    -1,  1841,   388,
14140
      -1,  1844,    -1,    -1,    -1,  1848,    -1,    -1,    -1,    -1,
14141
      -1,    -1,  1855,    -1,    -1,    -1,  5542,    -1,  1861,    -1,
14142
     406,    -1,   411,    -1,    -1,    -1,    57,    -1,    -1,    -1,
14143
    1873,    -1,   421,    -1,   365,    -1,    -1,    -1,   427,    -1,
14144
      -1,    -1,    -1,   432,    -1,    -1,    -1,  1890,  1891,    -1,
14145
    1893,  1894,    -1,    -1,   440,    -1,   445,    -1,   444,    -1,
14146
      -1,    92,  1905,    -1,  1907,  1908,    -1,    -1,    -1,    -1,
14147
      -1,    -1,    -1,    -1,  1917,  1918,    -1,  1920,  1921,   468,
14148
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14149
      -1,   122,    -1,  1936,    -1,   484,    -1,    -1,   487,    -1,
14150
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14151
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14152
     151,    -1,    -1,    -1,    -1,  1968,    -1,    -1,  1971,  1972,
14153
      -1,    -1,    -1,    -1,    -1,   466,    -1,    -1,   469,   470,
14154
     471,    -1,    -1,    -1,   475,   476,   477,   478,   479,   480,
14155
      -1,    -1,    -1,    -1,    -1,    -1,   187,    -1,    -1,    -1,
14156
      -1,    -1,    -1,    -1,  2007,    -1,  2009,    -1,    -1,    -1,
14157
      -1,  2014,  2015,    -1,    -1,    -1,    -1,    -1,  2021,  2022,
14158
    2023,    -1,    -1,    -1,  2027,    -1,  2029,  2030,  2031,  2032,
14159
    2033,  2034,   223,  2036,    -1,  2038,  2039,    -1,    -1,  2042,
14160
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14161
      -1,    -1,    -1,  2056,  2057,  2058,  2059,  2060,  2061,    -1,
14162
      -1,    -1,  2065,    -1,  3779,    -1,  2069,   258,    35,  2072,
14163
      -1,    -1,  2075,  2076,  2077,  2078,  2079,  2080,  2081,  2082,
14164
    2083,    -1,  2085,    -1,    -1,    -1,    -1,    -1,  3803,  2092,
14165
      57,  2094,    -1,    -1,    -1,  3810,    -1,    -1,   289,   290,
14166
      -1,    -1,     8,    -1,    -1,    11,    -1,    -1,    -1,    15,
14167
      16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14168
      -1,    -1,    -1,    -1,    -1,    92,    32,    -1,    -1,    -1,
14169
      -1,  2134,    -1,    -1,    40,    -1,   327,    -1,    -1,    -1,
14170
     331,    -1,    48,    -1,   335,    -1,    -1,  2150,    -1,    -1,
14171
      -1,    -1,    -1,   344,    -1,    -1,  2159,  2160,    -1,    -1,
14172
      -1,   352,    -1,    -1,    -1,    -1,    -1,    73,    -1,   360,
14173
      -1,    -1,    -1,    -1,  3889,  3890,    -1,    -1,    -1,    -1,
14174
      -1,  2184,   373,    -1,   151,    -1,    -1,    -1,  2191,    -1,
14175
     381,    -1,  2195,  2196,    -1,    -1,    -1,    -1,    -1,  2202,
14176
      -1,    -1,    -1,    -1,  2207,  2208,    -1,    -1,    -1,  2212,
14177
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2220,    -1,    -1,
14178
     187,  1841,    -1,    -1,  1844,    -1,    -1,    -1,    -1,    -1,
14179
      -1,    -1,    -1,    -1,    -1,  2238,    -1,    -1,  2241,    -1,
14180
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   440,
14181
    2253,   218,    -1,    -1,  2257,    -1,   223,  2260,    -1,    -1,
14182
    2263,  2264,    -1,    -1,    -1,    -1,    -1,    -1,  2271,    -1,
14183
    1890,  1891,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,
14184
      -1,  2284,    -1,    -1,   190,  1905,    -1,    -1,  1908,    -1,
14185
      -1,   258,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2302,
14186
    2303,    -1,    -1,    -1,    -1,    -1,   212,   213,  2311,    -1,
14187
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14188
    4035,   227,    -1,   290,    -1,    20,    -1,    -1,    -1,    -1,
14189
      25,  2334,  2335,    -1,    -1,  2338,    -1,    -1,    -1,    -1,
14190
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1968,    -1,
14191
      -1,  1971,  1972,    -1,    -1,   261,    -1,    -1,  2361,    -1,
14192
    2363,    -1,    -1,    -1,   331,  2368,    61,    -1,   335,   275,
14193
      -1,  2374,   278,    -1,    -1,    22,    -1,   344,  2381,    74,
14194
      -1,    28,  2385,    22,    -1,   352,    -1,  2390,    -1,    28,
14195
      -1,    -1,    -1,   360,    -1,    90,    -1,    -1,    -1,    -1,
14196
      -1,     8,    18,  1616,    11,    -1,   373,  2410,    15,    16,
14197
      17,    27,  2415,    -1,   381,    -1,  2419,    -1,    -1,  2422,
14198
      -1,    -1,    -1,    -1,    71,    32,    -1,    -1,    -1,  2432,
14199
      -1,  2434,    71,    40,    -1,    -1,   131,    -1,    -1,   406,
14200
      -1,    48,    -1,    -1,  2447,    -1,    -1,   142,    -1,    -1,
14201
      -1,    -1,    -1,    -1,  2457,    -1,    -1,    -1,    -1,   365,
14202
      -1,    -1,    -1,    -1,    -1,    -1,    73,   162,    -1,    -1,
14203
      -1,    -1,   167,   440,  2477,  2478,  2479,   444,    -1,   126,
14204
    2483,    -1,    -1,   122,    -1,    -1,   133,   126,    -1,   136,
14205
      -1,    -1,    -1,    -1,   133,    -1,    -1,   136,    -1,    -1,
14206
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14207
      -1,    -1,    -1,    -1,   161,  2518,  2519,    -1,    -1,    -1,
14208
      -1,    -1,   161,    -1,    -1,  2528,    -1,    -1,    -1,    -1,
14209
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14210
      -1,    -1,    -1,    -1,    -1,   240,    -1,    -1,    -1,   196,
14211
      -1,    -1,    -1,  4268,    -1,    -1,    -1,   196,  4273,  2562,
14212
     466,    -1,  4277,   469,   470,   471,    -1,    -1,    -1,   475,
14213
     476,   477,   478,   479,   480,    -1,    -1,    -1,   185,   485,
14214
     275,  1794,    -1,   190,    -1,    -1,    -1,  4302,  4303,  1802,
14215
      -1,  1804,  4307,  4308,    -1,    -1,    -1,    -1,    -1,    -1,
14216
      -1,    -1,  2605,  1816,    -1,   212,   213,  2610,   255,    -1,
14217
      -1,   258,    -1,   308,   309,    -1,   255,  2620,    -1,   258,
14218
     227,   268,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   268,
14219
     277,    -1,    -1,  2253,    -1,    -1,    -1,    -1,   277,    -1,
14220
    2260,    -1,   289,  2263,  2264,    -1,   341,    -1,    -1,    -1,
14221
     289,    -1,   347,    -1,   261,    -1,    -1,    -1,    -1,   354,
14222
      -1,    -1,   357,  2666,    -1,    -1,    -1,    -1,   275,    -1,
14223
      -1,   278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14224
     327,  1894,    -1,   330,   331,    -1,    -1,    -1,   327,    -1,
14225
      -1,   330,   331,   388,    -1,    -1,    -1,    -1,    -1,    -1,
14226
      -1,    -1,    -1,   398,    -1,    -1,  2709,    -1,  1921,    -1,
14227
      -1,   406,    -1,   360,    -1,    -1,    -1,    -1,   413,    22,
14228
      -1,   360,  2725,    -1,  2727,    28,    -1,    -1,    -1,    -1,
14229
      -1,    -1,  2735,    -1,    -1,    -1,  2739,    -1,    41,  2742,
14230
      -1,    -1,  2745,   438,    -1,  2748,    -1,    -1,  2751,    -1,
14231
      -1,    -1,    -1,    -1,  2757,    -1,    -1,    -1,   365,    -1,
14232
      -1,    -1,    -1,    -1,    -1,  2768,    -1,    -1,    71,    -1,
14233
    2773,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14234
      -1,    -1,   429,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14235
     429,    -1,    -1,  2796,  2797,  2798,    -1,    -1,  2801,    -1,
14236
      -1,    -1,    -1,    -1,    -1,    -1,  2809,  2810,  2811,  2812,
14237
      -1,    -1,    -1,    -1,  2817,    -1,    -1,    -1,    -1,  2822,
14238
    2823,   124,  2825,   126,  2827,    -1,    -1,    -1,    -1,    -1,
14239
     133,    -1,    -1,   136,    -1,  2838,  2839,    -1,    -1,  2842,
14240
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14241
      -1,    -1,    -1,  2856,    -1,  2858,    -1,  2860,   161,   466,
14242
      -1,    -1,   469,   470,   471,    -1,    -1,    -1,   475,   476,
14243
     477,   478,   479,   480,    -1,    -1,    -1,  2880,   485,    -1,
14244
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2891,    -1,
14245
      -1,     8,    -1,   196,    11,    -1,  2899,    -1,    15,    16,
14246
      17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14247
      -1,  2914,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14248
      -1,    -1,    -1,    40,    -1,    -1,  2929,    -1,    -1,    -1,
14249
      -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14250
    2943,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14251
    4665,    -1,   255,    -1,    -1,   258,    73,    -1,    -1,  2962,
14252
      -1,    -1,  2965,    -1,  2967,   268,    -1,    -1,    -1,  2972,
14253
       8,  2184,    -1,    11,   277,    -1,    -1,    15,    16,    17,
14254
      -1,    -1,    -1,    -1,  2987,  2988,   289,    -1,    -1,  2202,
14255
    2993,    -1,    -1,    -1,    32,  2208,    -1,    -1,    -1,  2212,
14256
      -1,    -1,    40,    -1,   620,    -1,    -1,    -1,    -1,    -1,
14257
      48,  3014,    -1,    -1,  3017,    -1,    -1,    -1,  3021,    -1,
14258
      -1,    -1,    -1,    -1,   327,  2238,    -1,   330,   331,    -1,
14259
      -1,    -1,    -1,    -1,    -1,    73,    -1,  3040,    -1,    -1,
14260
      -1,    -1,    22,    -1,    -1,    -1,    -1,    -1,    28,    -1,
14261
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   360,   674,   675,
14262
      -1,    41,  3065,    -1,    -1,    -1,    -1,    -1,   185,    -1,
14263
      -1,  2284,    -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,
14264
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2302,
14265
      -1,    71,    -1,    -1,    -1,   212,   213,    -1,    -1,  3102,
14266
    3103,  3104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14267
     227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2739,
14268
      -1,    -1,  2335,  3126,    -1,  2745,   429,    -1,  2748,    -1,
14269
      -1,  2751,    -1,  3136,    -1,  3138,    -1,    -1,    -1,    -1,
14270
      -1,    -1,   122,  3146,   261,    -1,   126,   185,  2361,    -1,
14271
      -1,    -1,   190,   133,   770,  2368,   136,    -1,   275,    -1,
14272
      -1,  2374,  3165,    22,    -1,    -1,    -1,    -1,  2381,    28,
14273
      -1,    -1,  2385,    -1,   212,   213,    35,  2390,    -1,    -1,
14274
     796,   161,    -1,    -1,    -1,    -1,    -1,    -1,   804,   227,
14275
      -1,   807,   808,   809,    -1,    -1,    55,  2410,    -1,    -1,
14276
      -1,    -1,  2415,    -1,    -1,    -1,  2419,    -1,    -1,    -1,
14277
    4925,  4926,    71,    -1,    -1,    -1,   196,    -1,    -1,  2432,
14278
      -1,  2434,    -1,   261,    -1,  4940,  3229,    -1,    -1,    -1,
14279
      -1,    -1,    -1,    -1,  2447,    -1,    -1,   275,    -1,    -1,
14280
     278,    -1,    -1,    -1,  2457,    -1,  3249,   106,   365,    -1,
14281
      -1,    -1,  3255,    -1,    -1,    -1,    -1,    -1,  3261,    -1,
14282
      -1,    -1,    -1,    -1,    -1,    -1,  3269,   126,    -1,    -1,
14283
      -1,  2891,    -1,    -1,   133,   255,    -1,   136,   258,    -1,
14284
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   268,    -1,
14285
      -1,  3294,    -1,    -1,    -1,    -1,    -1,   277,  3301,  3302,
14286
      -1,    -1,   161,    -1,    -1,  3308,    -1,  3310,    -1,   289,
14287
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14288
    3323,    -1,  3325,  2943,    -1,    -1,    -1,   365,    -1,    -1,
14289
      -1,    -1,    -1,    -1,   193,    -1,    -1,   196,    -1,    -1,
14290
      -1,    -1,    -1,    -1,  3347,    -1,    -1,   327,    -1,   466,
14291
     330,   331,   469,   470,   471,    -1,    -1,    -1,   475,   476,
14292
     477,   478,   479,   480,    -1,    -1,    -1,    -1,    -1,    -1,
14293
      -1,    -1,  3375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14294
     360,    -1,   241,    -1,    -1,   244,    -1,    -1,  3391,  3392,
14295
      -1,    -1,    -1,    -1,    -1,    -1,   255,    -1,    -1,   258,
14296
      -1,    -1,    -1,  3406,    -1,    -1,    -1,    -1,    -1,   268,
14297
      -1,    -1,    -1,    -1,    -1,  5130,    -1,    -1,   277,    -1,
14298
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   466,   288,
14299
     289,   469,   470,   471,    -1,    -1,    -1,   475,   476,   477,
14300
     478,   479,   480,  3446,    -1,    -1,    -1,   485,    -1,   429,
14301
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14302
      -1,  3464,    -1,    -1,    -1,    -1,    -1,    -1,   327,    -1,
14303
      -1,   330,   331,   332,    -1,    -1,    -1,    -1,    -1,    -1,
14304
      -1,    -1,    -1,  3486,    -1,    -1,  3489,    -1,    -1,    -1,
14305
      -1,    -1,    -1,    -1,    -1,   354,  2709,    -1,    -1,    -1,
14306
      -1,   360,    -1,    -1,    -1,    -1,  3509,    -1,    -1,  3512,
14307
      -1,    -1,    -1,    -1,  2727,  3518,   375,    -1,    22,    -1,
14308
      -1,  3524,  2735,  3526,    28,    -1,  3529,    -1,    -1,    -1,
14309
    3533,  3534,  3535,  3536,  3537,  1151,    -1,  3540,  3541,  3542,
14310
    3543,  3544,  3545,  3546,  3547,  3548,  3549,    -1,    -1,    -1,
14311
    3553,  3554,  1168,    -1,    -1,  3558,    -1,    -1,    -1,    -1,
14312
    3563,    -1,    -1,  5278,  3567,  5280,  3569,    71,  3571,    -1,
14313
     429,    -1,    -1,    -1,    -1,    -1,  3579,    -1,    -1,  3582,
14314
      -1,  3584,    -1,    -1,    -1,    -1,  1202,    -1,    -1,  3592,
14315
    3593,    -1,    -1,  3596,  3597,    -1,    -1,    -1,  3601,  3602,
14316
      -1,    -1,    -1,    -1,    -1,  3608,    -1,    -1,    -1,  1225,
14317
      -1,    -1,    -1,    -1,    -1,  3618,     8,    -1,  3621,    11,
14318
      -1,    -1,   126,    15,    16,    17,    -1,    -1,    -1,   133,
14319
    3633,    -1,   136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14320
      32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    -1,
14321
      -1,    -1,    -1,    -1,  3657,    -1,    48,   161,    -1,    -1,
14322
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14323
    3673,    -1,    -1,    -1,    -1,     8,  3679,    -1,    11,    -1,
14324
      -1,    73,    15,    16,    17,  1301,    -1,    -1,  3691,    -1,
14325
    3693,    -1,   196,    -1,  1310,    -1,    -1,    -1,    -1,    32,
14326
      -1,    -1,    -1,    -1,  5419,    -1,    -1,    40,  1324,    -1,
14327
      -1,    -1,    -1,    -1,    -1,    48,    -1,    -1,    -1,  3722,
14328
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1343,    -1,    -1,
14329
    1346,  1347,    -1,    -1,    -1,  1351,  1352,    -1,    -1,     8,
14330
      73,    -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,
14331
      -1,   255,    -1,    -1,   258,    -1,    -1,  5472,    -1,    -1,
14332
      -1,    -1,    -1,    32,   268,    -1,  5481,    -1,    -1,    -1,
14333
    3773,    40,    -1,   277,    -1,  3778,  3779,  3780,    -1,    48,
14334
      -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,    -1,    -1,
14335
      -1,    -1,    -1,   185,    -1,    -1,    -1,    22,   190,  3802,
14336
    3803,  3014,    -1,    28,    73,    -1,    -1,    -1,    -1,    -1,
14337
      -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,  3821,    -1,
14338
     212,   213,    -1,   327,    -1,    -1,   330,   331,    -1,    -1,
14339
      -1,    -1,    -1,    -1,  3837,   227,    -1,  3840,    -1,  5554,
14340
      -1,    -1,    -1,    -1,  5559,    -1,    71,    -1,    -1,    -1,
14341
      -1,    -1,   185,    -1,    -1,    -1,   360,   190,    -1,    -1,
14342
      -1,    -1,    -1,    -1,    -1,    22,    -1,  5582,    -1,   261,
14343
      -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   212,
14344
     213,    -1,    -1,   275,    -1,    -1,   278,    -1,    -1,    -1,
14345
      -1,    -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,   124,
14346
      -1,   126,    -1,    -1,    -1,    -1,  3909,    -1,   133,    -1,
14347
      -1,   136,    -1,  3126,    71,    -1,   185,    -1,    -1,    -1,
14348
      -1,   190,    -1,    -1,    -1,   429,    -1,    -1,   261,    -1,
14349
      -1,  3934,  3935,    -1,    -1,  3938,   161,    -1,    -1,    -1,
14350
      -1,  3944,   275,   212,   213,   278,    -1,    -1,  3951,    -1,
14351
      -1,    -1,    -1,    -1,    -1,    -1,  1572,    -1,   227,    -1,
14352
    3963,    -1,  1578,    -1,    -1,    -1,    -1,    -1,    -1,   126,
14353
      -1,   196,    -1,   365,    -1,    -1,   133,    -1,    -1,   136,
14354
      -1,    -1,    -1,    -1,  3987,  3988,  3989,    -1,    -1,    -1,
14355
      -1,    -1,   261,    -1,    -1,    -1,    -1,    -1,  3618,    -1,
14356
      -1,  3621,    -1,    -1,   161,    -1,   275,    -1,    -1,   278,
14357
      -1,    -1,    -1,    -1,    22,    -1,    -1,    -1,    -1,    -1,
14358
      28,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14359
     255,    -1,   365,   258,    -1,  4038,  3249,    -1,    -1,   196,
14360
      -1,    -1,    -1,   268,    -1,    -1,    -1,    -1,    -1,    -1,
14361
      -1,    22,   277,    -1,    -1,    -1,    -1,    28,  4061,    -1,
14362
      -1,    -1,    -1,    71,   289,    -1,    -1,    -1,    -1,  4072,
14363
      -1,  3691,    -1,  3693,   466,    -1,    -1,   469,   470,   471,
14364
      -1,    -1,    -1,   475,   476,   477,   478,   479,   480,    -1,
14365
      -1,    -1,    -1,   485,    -1,    -1,   365,    -1,   255,  4102,
14366
      71,   258,   327,    -1,    -1,   330,   331,    -1,    -1,  4112,
14367
    4113,   268,  4115,    -1,    -1,    -1,  4119,  4120,   126,    -1,
14368
     277,  4124,  4125,    -1,    -1,   133,  4129,    -1,   136,  4132,
14369
    4133,    -1,   289,   466,  4137,   360,   469,   470,   471,    -1,
14370
    4143,    -1,   475,   476,   477,   478,   479,   480,    -1,    -1,
14371
     483,    -1,  4155,   161,    -1,   126,    -1,    -1,    -1,    -1,
14372
    4163,    -1,   133,    -1,  4167,   136,    -1,    -1,    -1,    -1,
14373
     327,    -1,    -1,   330,   331,    -1,    -1,    -1,    -1,    -1,
14374
      -1,  1797,    -1,    -1,    -1,  1801,    -1,    -1,   196,    -1,
14375
     161,    -1,  4195,    -1,    -1,    -1,    -1,   466,    -1,    -1,
14376
     469,   470,   471,   360,   429,    -1,   475,   476,   477,   478,
14377
     479,   480,    -1,    -1,    -1,    -1,   485,    -1,    -1,    -1,
14378
    4223,     8,    -1,    -1,    11,   196,    -1,  4230,    15,    16,
14379
      17,    -1,    -1,  3446,    -1,    -1,    -1,    -1,    -1,    -1,
14380
      -1,  4244,    -1,    -1,    -1,    32,    -1,   255,    -1,    -1,
14381
     258,  3464,    -1,    40,    -1,    -1,    -1,    -1,  4261,    -1,
14382
     268,    48,    -1,  4266,    -1,    -1,    -1,    -1,    -1,   277,
14383
      -1,    -1,   429,    -1,    -1,    -1,  3489,    -1,    -1,    -1,
14384
    4283,   289,    -1,    -1,   255,    -1,    73,   258,    -1,    -1,
14385
      -1,    -1,    -1,    -1,    -1,    -1,  4299,   268,    -1,    -1,
14386
      -1,  4304,    -1,    -1,    -1,    -1,   277,    -1,  4311,    -1,
14387
      -1,    -1,   685,    -1,    -1,    -1,    -1,    -1,   289,   327,
14388
      -1,    -1,   330,   331,  4327,    -1,    -1,    -1,    -1,    -1,
14389
      -1,  3951,    -1,    -1,    -1,  4338,    -1,    -1,    -1,   712,
14390
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14391
      -1,    -1,   360,    -1,    -1,    -1,   327,    -1,    -1,   330,
14392
     331,    -1,    -1,    -1,    -1,    -1,  4369,    -1,    -1,    -1,
14393
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14394
    1073,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   360,
14395
      -1,    -1,    -1,  4396,    -1,    -1,    -1,    -1,   185,    -1,
14396
      22,    -1,    -1,   190,  2020,    -1,    28,    -1,  1101,  4412,
14397
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14398
      -1,   429,    -1,    -1,    -1,   212,   213,    -1,  1121,    -1,
14399
      -1,    -1,  4435,    -1,    -1,    -1,    -1,    -1,  1131,  4442,
14400
     227,    -1,  1135,    -1,    -1,    -1,  1139,    -1,  1141,    71,
14401
      -1,    -1,    -1,    -1,  1147,    -1,    -1,    -1,   429,    -1,
14402
    1153,    22,    -1,  1156,    -1,    -1,    -1,    28,    -1,    -1,
14403
      -1,    -1,    -1,   685,   261,    -1,    -1,    -1,    -1,  4482,
14404
      -1,  4484,    -1,    -1,    -1,    -1,    -1,    -1,   275,    -1,
14405
      -1,   278,    -1,    -1,    -1,  2111,    -1,    -1,    -1,    -1,
14406
     712,    -1,    -1,    -1,   126,    -1,    -1,  4510,    -1,  3722,
14407
      71,   133,    -1,    -1,   136,    -1,    -1,    -1,    -1,    -1,
14408
      -1,    -1,    -1,    -1,    -1,  4528,    -1,    -1,    -1,  4532,
14409
      -1,    -1,    -1,    -1,  4537,    -1,    -1,    -1,    -1,   161,
14410
      -1,    -1,    -1,  4163,    -1,    -1,    -1,  4167,    -1,    -1,
14411
      -1,  4554,  4555,    -1,    -1,  4558,    -1,    -1,    -1,    -1,
14412
      -1,    -1,    -1,    -1,    -1,   126,    -1,    -1,    -1,    -1,
14413
    4573,    -1,   133,    -1,   196,   136,    -1,  4580,   365,    -1,
14414
      -1,    -1,  4585,    -1,    -1,  4588,  4589,    -1,    -1,    -1,
14415
      -1,    -1,  4595,  4596,    -1,    -1,   969,    -1,    -1,    -1,
14416
     161,    -1,    -1,    -1,  2220,    -1,  4609,    -1,  4611,    -1,
14417
      -1,    -1,    -1,  4616,    -1,  4618,    -1,    -1,    -1,  4622,
14418
      -1,    -1,   995,    -1,  3837,    -1,    -1,  3840,  4631,    -1,
14419
      -1,    -1,    -1,   255,    -1,   196,   258,  1010,    -1,    -1,
14420
      -1,    -1,    -1,    -1,    -1,    -1,   268,    -1,    -1,    -1,
14421
      -1,    -1,    -1,    -1,    -1,   277,    -1,    -1,    -1,    -1,
14422
      -1,    -1,  4665,  4666,    -1,    -1,    -1,   289,    -1,    -1,
14423
      -1,    -1,  4675,    -1,    -1,  2291,    -1,    -1,    -1,   466,
14424
      -1,    -1,   469,   470,   471,    -1,    -1,    -1,   475,   476,
14425
     477,   478,   479,   480,   255,    -1,    -1,   258,   485,    -1,
14426
      -1,    -1,    -1,    -1,    -1,   327,    -1,   268,   330,   331,
14427
      -1,    -1,  4715,    -1,    -1,    -1,   277,    -1,  4721,    -1,
14428
      -1,    -1,    -1,  1096,    -1,    -1,    -1,    -1,   289,    -1,
14429
      -1,  3944,    -1,    -1,    -1,    -1,    -1,    -1,   360,    -1,
14430
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14431
    3963,    -1,    -1,    -1,  2370,    -1,    -1,   969,    -1,    -1,
14432
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   330,
14433
     331,  2387,    -1,  4776,    -1,    -1,    -1,    -1,    -1,    -1,
14434
      -1,    -1,    -1,   995,    -1,  4788,    -1,  4790,    -1,    -1,
14435
      -1,    -1,  4412,    -1,    -1,    -1,    -1,    -1,  1010,   360,
14436
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   429,    -1,    -1,
14437
      -1,  4814,  4815,    -1,  4817,    -1,  4819,    -1,    -1,    -1,
14438
      -1,    -1,    -1,    -1,    -1,  4038,    -1,    -1,    -1,    -1,
14439
      -1,    -1,  1205,    -1,  2450,    -1,  4839,    -1,    -1,    -1,
14440
      -1,    -1,  4845,    -1,    -1,    -1,  4849,    -1,    -1,    -1,
14441
      -1,    -1,  4855,    -1,    -1,    -1,  4859,    -1,    -1,    -1,
14442
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   429,    -1,
14443
      -1,  2487,    -1,    -1,  2490,    -1,  2492,    -1,    -1,    -1,
14444
    2496,    -1,  2498,  2499,    -1,    -1,    -1,    -1,    -1,    -1,
14445
      -1,  2507,  2508,  2509,    -1,    -1,    -1,    -1,    -1,  4902,
14446
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4910,    -1,    -1,
14447
      -1,    -1,  4915,  4916,    -1,    -1,    -1,  4920,    -1,    -1,
14448
      -1,    -1,    -1,    -1,  4927,    -1,    -1,    -1,    -1,    -1,
14449
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4940,    -1,    -1,
14450
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,
14451
      -1,    11,  2568,  4573,    -1,    15,    16,    17,    -1,    -1,
14452
    4580,    -1,    -1,    -1,    -1,  4585,  4969,    -1,  4588,  4589,
14453
      -1,    -1,    32,  1346,    -1,    -1,    -1,    -1,    -1,    -1,
14454
      40,    -1,    -1,    -1,    -1,  2601,    -1,    -1,    48,  4609,
14455
    4993,    -1,    -1,  1205,  2610,    -1,    -1,    -1,    -1,    -1,
14456
      -1,    -1,  4622,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14457
      -1,  4631,    -1,    73,    -1,    -1,    -1,    -1,    -1,    -1,
14458
      -1,    -1,    -1,    -1,  5027,  5028,    -1,    -1,    -1,    -1,
14459
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14460
      -1,  1414,    -1,    -1,    -1,  5048,    -1,    -1,  5051,    -1,
14461
    2666,  5054,    -1,    -1,    -1,  4675,    -1,    -1,    -1,    -1,
14462
      -1,    -1,  5065,    -1,    -1,    -1,  5069,    -1,  5071,    -1,
14463
    5073,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14464
      -1,    -1,    -1,    -1,    -1,    -1,  4299,    -1,    -1,    -1,
14465
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4311,   159,
14466
    5103,  4721,    -1,    -1,    -1,    -1,    -1,  1480,    -1,    -1,
14467
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14468
      -1,    -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,
14469
     190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5141,    -1,
14470
    5143,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1521,    -1,
14471
      -1,    -1,   212,   213,    -1,    -1,    -1,    -1,    -1,    -1,
14472
      -1,    -1,    -1,    -1,     9,    -1,    -1,   227,  4788,    -1,
14473
      15,    16,    -1,    -1,    -1,    -1,    21,    -1,    23,    -1,
14474
      -1,  1554,    -1,    -1,    29,    -1,    31,    -1,    -1,    -1,
14475
    5193,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5201,    -1,
14476
      -1,   261,    -1,  1896,    -1,    50,    51,    -1,    -1,    -1,
14477
      -1,  1904,    -1,    -1,    -1,   275,    -1,    -1,   278,    -1,
14478
      -1,    -1,    -1,  5226,  5227,  5228,    -1,    -1,    -1,  4849,
14479
      -1,  1924,  5235,  5236,    -1,    -1,  5239,    -1,    -1,    -1,
14480
     300,    -1,  5245,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14481
    5253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14482
      -1,    -1,    -1,    -1,  5267,    -1,    -1,    -1,     8,    -1,
14483
      -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,  5282,
14484
      -1,    -1,    -1,  2899,    -1,    -1,    -1,    -1,    -1,    -1,
14485
      -1,    -1,    32,    -1,    -1,    -1,    -1,  4510,    -1,    -1,
14486
      40,    -1,    -1,    -1,    -1,   365,    -1,    -1,    48,  1521,
14487
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5322,
14488
      -1,    -1,    -1,    -1,  5327,    -1,    -1,    -1,    -1,    -1,
14489
      -1,    -1,    -1,    73,    -1,  5338,    -1,    -1,    -1,    -1,
14490
      -1,  5344,  5345,  5346,    -1,    -1,    -1,    -1,    -1,  4969,
14491
      -1,    -1,    -1,  5356,    -1,   200,    -1,    -1,    -1,    -1,
14492
      -1,    -1,    -1,   208,  1737,    -1,   211,    -1,    -1,   214,
14493
     215,    -1,   217,  4993,   219,    -1,    -1,   222,   223,    -1,
14494
     225,  1754,    -1,    -1,    -1,    -1,    -1,    -1,  5391,    -1,
14495
    1763,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14496
      -1,  3017,  1775,  4616,    -1,  4618,   466,    -1,    -1,   469,
14497
     470,   471,  5415,    -1,    -1,   475,   476,   477,   478,   479,
14498
     480,    -1,    -1,    -1,    -1,  5428,    -1,    -1,    -1,    -1,
14499
      -1,  5051,    -1,    -1,    -1,    -1,  2129,    -1,    -1,    -1,
14500
      -1,    -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,
14501
     190,    -1,  5455,  5456,    -1,    -1,    -1,    -1,    -1,    -1,
14502
      -1,  1834,    -1,    -1,  5467,    -1,    -1,    -1,    -1,    -1,
14503
      -1,    -1,   212,   213,    -1,  1848,    -1,    -1,  5481,    -1,
14504
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,  1861,    -1,
14505
      -1,    -1,  3108,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14506
    1873,    -1,    -1,    -1,  5507,    -1,    -1,    -1,    -1,    -1,
14507
      -1,    -1,    -1,    -1,  5517,    -1,    -1,    -1,    -1,    -1,
14508
      -1,   261,    -1,    -1,    -1,  1737,    -1,    -1,    -1,    -1,
14509
      -1,    -1,    -1,    -1,    -1,   275,  5539,    -1,   278,    -1,
14510
      -1,    -1,  1754,    -1,  1917,  1918,    -1,  3163,    -1,  5552,
14511
      -1,  5554,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14512
      -1,    -1,    -1,  1775,    -1,    -1,   194,   195,    -1,    -1,
14513
     198,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5582,
14514
       8,  5201,    -1,    11,  5587,  5588,    -1,    15,    16,    17,
14515
     218,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   226,    -1,
14516
      -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,
14517
      -1,    -1,    40,    -1,    -1,  3231,    -1,    -1,    -1,    -1,
14518
      48,    -1,  1834,    -1,    -1,   365,    -1,    -1,    -1,    -1,
14519
      -1,    -1,    -1,    -1,    -1,    -1,  1848,    -1,    -1,    -1,
14520
      -1,    -1,    -1,    -1,    -1,    73,    -1,  5267,    -1,  1861,
14521
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,  3274,    -1,
14522
      11,  1873,    -1,    -1,    15,    16,    17,    -1,    -1,    -1,
14523
      -1,    -1,  3288,    -1,    -1,    -1,    -1,    -1,  3294,    -1,
14524
      -1,    32,    -1,  2056,    -1,    -1,  3302,    -1,    -1,    40,
14525
      -1,    -1,  3308,    -1,  3310,    -1,    -1,    48,    -1,    -1,
14526
      -1,    -1,  5322,    -1,    -1,  1917,  1918,    -1,    -1,    -1,
14527
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5338,    -1,
14528
      -1,    -1,    73,    -1,  5344,  5345,   466,    -1,    -1,   469,
14529
     470,   471,    -1,    -1,    -1,   475,   476,   477,   478,   479,
14530
     480,    -1,    -1,    -1,  3360,   485,    -1,    -1,    -1,    -1,
14531
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,    -1,    -1,
14532
      -1,    -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14533
      -1,    -1,    -1,    -1,  3390,  3391,    -1,    -1,    -1,    -1,
14534
      -1,    -1,   627,    -1,   212,   213,    -1,    -1,    -1,    -1,
14535
     635,    -1,    -1,    -1,    -1,  5415,    -1,   642,   643,   227,
14536
      -1,   646,    -1,   648,   649,   650,    -1,    -1,  5428,   654,
14537
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2191,    -1,
14538
     665,    -1,  2195,  2196,    -1,    -1,    -1,    -1,    -1,    -1,
14539
      -1,    -1,    -1,   261,   185,   680,    -1,    -1,    -1,   190,
14540
      -1,    -1,    -1,    -1,  2056,    -1,    -1,   275,    -1,    -1,
14541
     278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14542
     705,   212,   213,   708,    -1,    -1,    -1,    -1,    -1,    -1,
14543
      -1,    -1,    -1,   718,    -1,    -1,   227,    -1,    -1,    -1,
14544
      -1,    -1,    -1,    -1,  2257,    -1,    -1,    -1,     8,    -1,
14545
      -1,    11,    -1,    -1,    -1,    15,    16,    17,  2271,    -1,
14546
      -1,    -1,    -1,    -1,    -1,   750,    -1,    -1,    -1,    -1,
14547
     261,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,  5539,
14548
      40,    -1,  2615,    -1,   275,    -1,    -1,   278,    48,    -1,
14549
    2623,    -1,  5552,    -1,    -1,    -1,   781,   365,  2311,    -1,
14550
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14551
    2643,    -1,    -1,    73,    -1,    -1,    -1,    -1,    -1,    -1,
14552
    2653,    -1,  3578,  2656,    -1,  2658,  2659,  5587,  5588,  2662,
14553
      -1,    -1,    -1,    -1,    -1,  2668,    -1,  2670,    -1,    -1,
14554
    2673,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,
14555
     835,    11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,
14556
      -1,   629,    -1,    -1,    -1,   633,    -1,    -1,    -1,    -1,
14557
      -1,    -1,    32,    -1,   365,    -1,    -1,    -1,    -1,   647,
14558
      40,    -1,    -1,    -1,   869,    -1,    -1,   655,    48,    -1,
14559
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   466,    -1,
14560
    5253,   469,   470,   471,  2737,  2257,    -1,   475,   476,   477,
14561
     478,   479,   480,    73,    -1,    -1,    -1,   485,    -1,  2271,
14562
      -1,    -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,
14563
     190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14564
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14565
      -1,    -1,   212,   213,    -1,    -1,    -1,   942,    -1,  2311,
14566
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,    -1,
14567
      -1,    -1,    -1,    -1,    -1,   466,    -1,    -1,   469,   470,
14568
     471,   966,    -1,    -1,   475,   476,   477,   478,   479,   480,
14569
      -1,    -1,    -1,   978,   485,    -1,    -1,    -1,   983,    -1,
14570
      -1,   261,    -1,    -1,    -1,    -1,  2519,    -1,    -1,   994,
14571
      -1,    -1,    -1,    -1,   999,   275,    -1,    -1,   278,    -1,
14572
      -1,    -1,  1007,  3779,    -1,   185,    -1,    -1,  1013,    -1,
14573
     190,  1016,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14574
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3803,    -1,    -1,
14575
      -1,    -1,   212,   213,    -1,  3811,    -1,    -1,  3814,    -1,
14576
    3816,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,    -1,
14577
      -1,    -1,    -1,  1058,    -1,    -1,    -1,    -1,    -1,    -1,
14578
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14579
      -1,    -1,  2605,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14580
      -1,   261,  3858,    -1,    -1,   365,    -1,    -1,    -1,    -1,
14581
      -1,    -1,    -1,    -1,    -1,   275,    -1,  3873,   278,    -1,
14582
      -1,  3877,  3878,    -1,  3880,    -1,    -1,   895,   896,  3885,
14583
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14584
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14585
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14586
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2519,    -1,    -1,
14587
    3003,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14588
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1173,    -1,
14589
    1175,    -1,  1177,    -1,  1179,    -1,  1181,  1182,  1183,    -1,
14590
      -1,    -1,    -1,  1188,    -1,   365,   466,    -1,    -1,   469,
14591
     470,   471,  2725,    -1,  1199,   475,   476,   477,   478,   479,
14592
     480,    -1,    -1,    -1,    -1,   485,    -1,  3983,    -1,  2742,
14593
     998,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14594
      -1,    -1,     8,    -1,  2757,    11,    -1,    -1,    -1,    15,
14595
      16,    17,    -1,    -1,  3087,    -1,  3089,    -1,    -1,  1027,
14596
    1028,    -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,
14597
      -1,    -1,    -1,    -1,    40,    -1,    -1,    -1,    -1,    -1,
14598
      -1,     8,    48,    -1,    11,    -1,  1054,    -1,    15,    16,
14599
      17,    -1,    -1,    -1,    -1,  4051,  4052,  4053,    -1,  4055,
14600
    4056,  4057,  4058,  4059,    -1,    32,   466,    73,    -1,   469,
14601
     470,   471,    -1,    40,    -1,   475,   476,   477,   478,   479,
14602
     480,    48,    -1,    -1,    -1,   485,    -1,    -1,    -1,    -1,
14603
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14604
      -1,    -1,    -1,    -1,    -1,    -1,    73,    -1,    -1,    -1,
14605
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14606
    1128,  1129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14607
      -1,    -1,    -1,  2725,    -1,    -1,    -1,    -1,    -1,    -1,
14608
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1374,
14609
    2742,    -1,    -1,    -1,    -1,  3228,    -1,    -1,    -1,    -1,
14610
      -1,  3234,    -1,    -1,    -1,  2757,    -1,    -1,    -1,    -1,
14611
      -1,    -1,    -1,     8,    -1,    -1,    11,    -1,    -1,   185,
14612
      15,    16,    17,    -1,   190,    -1,    -1,    -1,  4184,    -1,
14613
    4186,    -1,    -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,
14614
      -1,    -1,    -1,    -1,    -1,    40,   212,   213,    -1,  2962,
14615
      -1,    -1,  2965,    48,  2967,    -1,    -1,    -1,   185,  2972,
14616
      -1,   227,    -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,
14617
      -1,  1456,    -1,    -1,    -1,    -1,    -1,    -1,    73,    -1,
14618
      -1,    -1,    -1,    -1,    -1,   212,   213,    -1,    -1,    -1,
14619
      -1,    -1,    -1,    -1,    -1,   261,    -1,    -1,    -1,    -1,
14620
     227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3021,   275,
14621
      -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14622
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3040,    -1,    -1,
14623
      -1,    -1,    -1,    -1,   261,    -1,    -1,    -1,    -1,    -1,
14624
      -1,  1526,    -1,    -1,    -1,    -1,    -1,    -1,   275,    -1,
14625
      -1,   278,  3065,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14626
      -1,    -1,    -1,    -1,     8,    -1,    -1,    11,    -1,    -1,
14627
      -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,
14628
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14629
     185,    -1,    -1,    -1,    -1,   190,    40,    -1,    -1,   365,
14630
      -1,  3434,    -1,  3436,    48,  3438,    -1,    -1,    -1,    -1,
14631
      -1,  4367,  4368,    -1,  3447,    -1,    -1,   212,   213,    -1,
14632
      -1,    -1,    -1,  3136,  4380,  3138,  4382,  4383,    -1,    73,
14633
    4386,    -1,   227,    -1,    -1,    -1,     8,    -1,   365,    11,
14634
      -1,    -1,    -1,    15,    16,    17,    -1,    -1,    -1,    -1,
14635
      -1,    -1,    -1,    -1,    -1,  3488,    -1,    -1,    -1,    -1,
14636
      32,    -1,    -1,    -1,    -1,    -1,   261,    -1,    40,  3021,
14637
      -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,    -1,    -1,
14638
     275,    -1,    -1,   278,    -1,    -1,    -1,    -1,  3040,    -1,
14639
      -1,    -1,  4448,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14640
     466,    73,    -1,   469,   470,   471,    -1,    -1,    -1,   475,
14641
     476,   477,   478,   479,   480,    -1,  3229,    -1,    -1,   485,
14642
      -1,    -1,    -1,    -1,    -1,  4481,    -1,    -1,    -1,    -1,
14643
      -1,  1499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   466,
14644
      -1,   185,   469,   470,   471,    -1,   190,    -1,   475,   476,
14645
     477,   478,   479,   480,    -1,    -1,  3269,    -1,   485,    -1,
14646
    4516,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   212,   213,
14647
     365,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14648
      -1,  3294,    -1,   227,  3136,    -1,  3138,    -1,    -1,  3302,
14649
      -1,    -1,    -1,    -1,  1779,    -1,    -1,    -1,    -1,    -1,
14650
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14651
      -1,    -1,    -1,   185,    -1,    -1,    -1,   261,   190,    -1,
14652
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14653
      -1,   275,    -1,    -1,  1602,  1603,  1604,  1605,    -1,    -1,
14654
     212,   213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14655
      -1,    -1,    -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,
14656
      -1,    -1,  3375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14657
      -1,   466,    -1,    -1,   469,   470,   471,  3229,    -1,  3392,
14658
     475,   476,   477,   478,   479,   480,    -1,    -1,    -1,   261,
14659
     485,    -1,    -1,  3406,    -1,    -1,    -1,    -1,    -1,    -1,
14660
      -1,    -1,    -1,   275,    -1,    -1,   278,    -1,    -1,  4665,
14661
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3269,    -1,    -1,
14662
      -1,   365,    -1,    -1,    -1,  1910,    -1,  1912,    -1,    -1,
14663
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14664
      -1,    -1,    -1,    -1,  1929,    -1,  1931,    -1,    -1,    -1,
14665
      -1,    -1,    -1,    -1,  4710,    -1,    -1,    -1,   204,    -1,
14666
    1945,    -1,  1947,    -1,  1949,    -1,  1951,    -1,  1953,    -1,
14667
     216,    -1,  1957,    -1,    -1,    -1,    -1,    -1,  1746,  1747,
14668
      -1,    -1,   228,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14669
      -1,    -1,    -1,   365,    -1,    -1,    -1,    -1,    -1,  3512,
14670
      -1,  1769,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14671
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14672
    3533,    -1,   466,  3375,    -1,   469,   470,   471,    -1,    -1,
14673
      -1,   475,   476,   477,   478,   479,   480,    -1,  1806,  1807,
14674
    1808,  1809,    -1,    -1,    -1,  3558,    -1,    -1,    -1,    -1,
14675
      -1,    -1,    -1,    -1,  3406,    -1,    -1,    -1,    -1,    -1,
14676
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14677
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3592,
14678
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14679
      -1,    -1,    -1,    -1,   466,    -1,    -1,   469,   470,   471,
14680
      -1,    -1,    -1,   475,   476,   477,   478,   479,   480,    -1,
14681
      -1,    -1,    -1,   485,    -1,    -1,    -1,    -1,    -1,    -1,
14682
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14683
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14684
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14685
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1926,    -1,
14686
    3512,    -1,    -1,    -1,  1932,    -1,  3679,    -1,    -1,  4925,
14687
    4926,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14688
      -1,  3533,    -1,    -1,  4940,    -1,    -1,    -1,  4944,    -1,
14689
    4023,    -1,    -1,    -1,  4027,    -1,    -1,    -1,  4954,    -1,
14690
    2185,  2186,    -1,    -1,    -1,    -1,  3558,   202,   203,    -1,
14691
      -1,    -1,    -1,    -1,    -1,   210,    -1,   212,   213,  2204,
14692
    2205,    -1,    -1,    -1,  2209,  2210,    -1,    -1,    -1,  2214,
14693
      -1,    -1,   227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14694
    3592,    -1,    -1,  2228,    -1,    -1,    -1,    -1,    -1,    -1,
14695
    2235,    -1,    -1,    -1,  2239,  2240,    -1,    -1,  2243,  2244,
14696
      -1,    -1,    -1,    -1,    -1,  2250,  3779,    -1,    -1,    -1,
14697
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14698
    2265,    -1,  2267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14699
    3803,    -1,    -1,    -1,    -1,    -1,  2064,    -1,    -1,    -1,
14700
      -1,  2286,    -1,    -1,    -1,    -1,  2291,    -1,    -1,    -1,
14701
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2304,
14702
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2313,    -1,
14703
      -1,  2316,    -1,    -1,  2319,  2320,  2321,    -1,    -1,    -1,
14704
      -1,  2326,  2327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14705
      -1,  2336,    -1,    -1,    -1,    -1,  2341,    -1,    -1,    -1,
14706
      -1,  2346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14707
      -1,    -1,   618,    -1,    -1,    -1,    -1,  2362,   624,    -1,
14708
      -1,    -1,    -1,    -1,  2369,  2370,    -1,  5143,    -1,    -1,
14709
    2375,  5147,    -1,  5149,    -1,    -1,    -1,  5153,  5154,    -1,
14710
      -1,  2386,  2387,    -1,    -1,    -1,  2391,    -1,    -1,  4242,
14711
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2403,    -1,
14712
      -1,  2406,    -1,    -1,    -1,  3938,  2411,    -1,    -1,    -1,
14713
      -1,  2416,  2417,    -1,    -1,    -1,  2421,    -1,    -1,  2424,
14714
      -1,    -1,    -1,  2428,  2429,  2430,  2431,    -1,  2433,    -1,
14715
    2435,  4284,  4285,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14716
      -1,    -1,    -1,  2448,  2449,    -1,  2451,    -1,    -1,    -1,
14717
      -1,    -1,    -1,    -1,  3987,    -1,  2461,  2462,    -1,    -1,
14718
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2255,  2256,    -1,
14719
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2266,    -1,
14720
    2268,    -1,    -1,    -1,  2272,    -1,    -1,    -1,    -1,    -1,
14721
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14722
      -1,    -1,  5278,    -1,  5280,    -1,    -1,    -1,    -1,    -1,
14723
      -1,    -1,    -1,    -1,   780,    -1,    -1,  4370,  4371,    -1,
14724
      -1,    -1,    -1,    -1,  2529,    -1,    -1,    -1,    -1,    -1,
14725
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   805,
14726
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14727
      -1,    -1,  2557,    -1,    -1,    -1,    -1,    -1,   824,    -1,
14728
      -1,    -1,    -1,    -1,    -1,    -1,  3938,    -1,    -1,    -1,
14729
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14730
     846,    -1,  4115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14731
      -1,    -1,  4125,    -1,    -1,     8,    -1,    -1,    11,    -1,
14732
      -1,    -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,
14733
      -1,    -1,    -1,    -1,  2402,  5391,    -1,  2405,    -1,    32,
14734
      -1,    -1,    -1,   638,   890,    -1,    -1,    40,    -1,   644,
14735
      -1,    -1,    -1,    -1,    -1,    48,  4489,    -1,    -1,     8,
14736
    4493,  4494,    11,   658,    -1,    -1,    15,    16,    17,    -1,
14737
      -1,    -1,    -1,    -1,    -1,    -1,  4509,    -1,    -1,   674,
14738
      73,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,
14739
      -1,    40,    -1,    -1,   689,   690,    -1,    -1,    -1,    48,
14740
      -1,   696,    -1,   698,   699,    -1,    -1,    -1,    -1,    -1,
14741
      -1,    -1,    -1,    -1,    -1,    -1,  5472,    -1,   713,    -1,
14742
      -1,  2489,    -1,    -1,    73,  5481,    -1,    -1,   723,  2497,
14743
      -1,  4244,  2500,    -1,    -1,    -1,    -1,    -1,  2506,    -1,
14744
      -1,    -1,    -1,    -1,    -1,  2730,    -1,    -1,    -1,    -1,
14745
      -1,    -1,  2520,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14746
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14747
    4283,    -1,    -1,  4125,  1020,    -1,  2761,    -1,    -1,    -1,
14748
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14749
      -1,  4304,   185,  2561,    -1,    -1,    -1,   190,  5554,    -1,
14750
      -1,    -1,    -1,  5559,  1050,  1051,  1052,    -1,    -1,    -1,
14751
      -1,    -1,    -1,   808,    -1,    -1,    -1,    -1,    -1,   212,
14752
     213,    -1,    -1,    -1,    -1,  2593,  5582,    -1,    -1,    -1,
14753
      -1,    -1,    -1,    -1,   227,    -1,   185,    -1,    -1,    -1,
14754
      -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14755
      -1,    -1,    -1,    -1,    -1,    -1,  4369,    -1,    -1,    -1,
14756
      -1,    -1,    -1,   212,   213,    -1,    -1,    -1,   261,    -1,
14757
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,
14758
      -1,  2649,   275,  2651,    -1,   278,    -1,    -1,    -1,    -1,
14759
      -1,    -1,  4244,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14760
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14761
      -1,    -1,   261,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14762
      -1,    -1,    -1,    -1,    -1,    -1,   275,    -1,    -1,   278,
14763
      -1,  4283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14764
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1195,
14765
      -1,    -1,  4304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14766
     955,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14767
      -1,  4484,   365,    -1,    -1,  1221,    -1,  4810,   973,    -1,
14768
      -1,    -1,    -1,    -1,   979,    -1,    -1,   982,    -1,    -1,
14769
      -1,    -1,  2760,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14770
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14771
      -1,    -1,    -1,    -1,    -1,    -1,   365,  4369,    -1,  4532,
14772
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14773
    3015,    -1,    -1,    -1,  3019,    -1,    -1,    -1,    -1,    -1,
14774
    3025,    -1,    -1,    -1,    -1,    -1,    -1,  4880,    -1,    -1,
14775
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3043,  3044,
14776
      -1,    -1,    -1,  3048,    -1,    -1,    -1,    -1,  3053,  3054,
14777
    3055,    -1,  3057,   466,    -1,    -1,   469,   470,   471,   203,
14778
      -1,    -1,   475,   476,   477,   478,   479,   480,   212,    -1,
14779
      -1,    -1,   485,    -1,    -1,  3080,    -1,    -1,    -1,    -1,
14780
      -1,    -1,  4935,   227,    -1,  3090,  3091,  3092,  3093,    -1,
14781
      -1,  1357,    -1,    -1,    -1,    -1,    -1,   466,    -1,    -1,
14782
     469,   470,   471,    -1,    -1,    -1,   475,   476,   477,   478,
14783
     479,   480,  4484,    -1,    -1,    -1,   485,    -1,  1133,    -1,
14784
      -1,    -1,  3127,    -1,    -1,  3130,  3131,  3132,    -1,    -1,
14785
      -1,    -1,  4665,    -1,    -1,    -1,  1151,    -1,    -1,    -1,
14786
      -1,  1407,    -1,  3148,    -1,    -1,    -1,     8,    -1,    -1,
14787
      11,    -1,    -1,  1168,    15,    16,    17,    -1,    -1,    -1,
14788
    4532,    -1,    -1,  3168,    -1,    -1,    -1,    -1,    -1,    -1,
14789
      -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
14790
      -1,  1196,     8,    -1,    -1,    11,    -1,    48,    -1,    15,
14791
      16,    17,  1207,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14792
      -1,    -1,    -1,    -1,    -1,    -1,    32,  1222,     8,    -1,
14793
    1225,    11,    73,    -1,    40,    15,    16,    17,    -1,    -1,
14794
    1486,    -1,    48,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14795
    1496,    -1,    32,    -1,    -1,    -1,    36,  3242,    -1,  3027,
14796
      40,  3029,  3030,  3031,    -1,  3250,    -1,    73,    48,    -1,
14797
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4790,    -1,    -1,
14798
      -1,  1527,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14799
      -1,    -1,    -1,    73,    -1,    -1,    -1,  3282,    -1,    -1,
14800
      -1,    -1,  4815,    -1,  1550,    -1,    -1,  1553,    -1,    -1,
14801
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14802
      -1,    -1,    -1,    -1,  3309,    -1,    -1,    -1,    -1,    -1,
14803
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14804
      -1,    -1,  4855,   123,   185,    -1,    -1,    -1,  1343,   190,
14805
      -1,    -1,    -1,    -1,    -1,    -1,  1351,  1352,    -1,    -1,
14806
    1606,    -1,    -1,    -1,  3349,    -1,    -1,    -1,    -1,    -1,
14807
      -1,   212,   213,    -1,  1620,    -1,    -1,    -1,    -1,   185,
14808
    3365,    -1,    -1,    -1,   190,  3370,   227,    -1,    -1,    -1,
14809
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4910,    -1,    -1,
14810
      -1,    -1,  4915,  4916,    -1,   185,   212,   213,    -1,    -1,
14811
     190,    -1,    -1,    -1,    -1,  3400,    -1,    -1,    -1,    -1,
14812
     261,   227,    -1,    -1,    -1,  1420,    -1,    -1,    -1,    -1,
14813
      -1,    -1,   212,   213,   275,    -1,    -1,   278,    -1,    -1,
14814
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,    -1,
14815
      -1,    -1,    -1,    -1,    -1,   261,    -1,    -1,  3443,    -1,
14816
    3445,    -1,    -1,  4815,    -1,    -1,    -1,    -1,    -1,   275,
14817
      -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14818
      -1,   261,    -1,    -1,    -1,    -1,    -1,    -1,  1734,    -1,
14819
      -1,    -1,    -1,    -1,    -1,   275,    -1,    -1,   278,    -1,
14820
      -1,    -1,  3270,  4855,    -1,    -1,    -1,    -1,    -1,    -1,
14821
      -1,    -1,    -1,    -1,   638,  5028,    -1,    -1,    -1,    -1,
14822
     644,    -1,    -1,    -1,   365,    -1,    -1,    -1,     8,    -1,
14823
      -1,    11,    -1,    -1,   658,    15,    16,    17,  5371,    -1,
14824
      -1,    -1,  1788,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14825
     674,    -1,    32,    -1,    -1,    -1,    -1,    -1,  4910,   365,
14826
      40,    -1,    -1,  4915,  4916,    -1,   690,    -1,    48,    -1,
14827
      -1,    -1,    -1,  1819,   698,    -1,    -1,    -1,    -1,    -1,
14828
    1826,    -1,    -1,    -1,    -1,   365,    -1,    -1,    -1,   713,
14829
      -1,    -1,    -1,    73,    -1,    -1,    -1,    -1,    -1,   723,
14830
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14831
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14832
      -1,  1616,    -1,    -1,    -1,   466,    -1,    -1,   469,   470,
14833
     471,    -1,    -1,    -1,   475,   476,   477,   478,   479,   480,
14834
      -1,    -1,    -1,    -1,   485,    -1,   426,    -1,    -1,    -1,
14835
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14836
     466,    -1,    -1,   469,   470,   471,    -1,    -1,    -1,   475,
14837
     476,   477,   478,   479,   480,    -1,  5028,    -1,    -1,   485,
14838
     160,    -1,  3450,    -1,   808,   165,   466,    -1,  1934,   469,
14839
     470,   471,    -1,    -1,    -1,   475,   476,   477,   478,   479,
14840
     480,    -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,
14841
     190,    -1,    -1,  3698,    -1,  3700,    -1,    -1,    -1,    -1,
14842
      -1,    -1,  3707,    -1,    -1,    -1,  5239,    -1,  1974,  1975,
14843
      -1,    -1,   212,   213,    -1,    -1,    -1,    -1,  3723,    -1,
14844
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,  1994,    -1,
14845
      -1,    -1,    -1,    -1,  3739,    -1,    -1,    -1,    -1,    -1,
14846
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14847
      -1,    -1,    -1,  3758,    -1,  1770,    -1,    -1,    -1,    -1,
14848
      -1,   261,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14849
      -1,  3776,    -1,    -1,    -1,   275,    -1,    -1,   278,  1794,
14850
      -1,  3786,    -1,    -1,    -1,    -1,    -1,  1802,    -1,  1804,
14851
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14852
    3805,  1816,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14853
      -1,   955,    -1,  3818,  3819,  3820,    -1,    -1,    -1,    -1,
14854
    3825,  3826,  3827,  3828,    -1,  2091,    -1,  3832,  3833,    -1,
14855
      -1,    -1,    -1,  3838,  3839,  2101,  3841,  3842,  3843,  3844,
14856
    3845,  3846,    -1,  3848,    -1,    -1,    -1,    -1,    -1,    -1,
14857
      -1,    -1,  3857,    -1,    -1,  3860,  3861,    -1,    -1,    -1,
14858
      -1,    -1,    -1,    -1,  2130,   365,    -1,  5239,    -1,    -1,
14859
      -1,    -1,  2138,    -1,  2140,  1890,  1891,    -1,  1893,  1894,
14860
      -1,  3886,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14861
    1905,    -1,  1907,  1908,    -1,    -1,    -1,    -1,    -1,    -1,
14862
      -1,    -1,    -1,  3908,    -1,  1920,  1921,  2173,    -1,    -1,
14863
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14864
      -1,  1936,    -1,    -1,  3712,  3713,  3714,  3715,    -1,    -1,
14865
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14866
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14867
      -1,    -1,    -1,  1968,    -1,    -1,  1971,  1972,    -1,    -1,
14868
      -1,    -1,    -1,    -1,    -1,    -1,   466,    -1,    -1,   469,
14869
     470,   471,    -1,    -1,    -1,   475,   476,   477,   478,   479,
14870
     480,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1133,
14871
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14872
    4005,    -1,    -1,    -1,    -1,    -1,    -1,  1151,     8,    -1,
14873
      -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,
14874
      -1,    -1,    -1,    -1,  1168,    -1,    -1,     8,    -1,    -1,
14875
      11,    -1,    32,    -1,    15,    16,    17,  4042,    -1,    -1,
14876
      40,    -1,    -1,    -1,    -1,    -1,  2061,    -1,    48,  2315,
14877
      -1,    32,  1196,    -1,    35,    -1,    -1,    -1,    -1,    40,
14878
      -1,    -1,    -1,  1207,    -1,  2331,    -1,    48,    -1,    -1,
14879
      -1,    -1,    -1,    73,    -1,    -1,    -1,    -1,  1222,    -1,
14880
      -1,  1225,    -1,    -1,    -1,    -1,  2352,    -1,    -1,    -1,
14881
      -1,    -1,    73,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14882
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14883
      -1,    -1,    -1,  3901,    -1,    -1,    -1,    -1,    -1,  3907,
14884
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14885
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14886
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14887
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14888
    2426,  2427,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2184,
14889
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14890
      -1,    -1,    -1,    -1,    -1,   185,    -1,  2202,    -1,    -1,
14891
     190,    -1,  2207,  2208,    -1,    -1,    -1,  2212,    -1,  1343,
14892
      -1,    -1,    -1,    -1,   185,  2220,    -1,  1351,  1352,   190,
14893
      -1,    -1,   212,   213,    -1,    -1,    -1,    -1,    -1,    -1,
14894
      -1,    -1,    -1,  2238,    -1,    -1,    -1,   227,    -1,    -1,
14895
      -1,   212,   213,    -1,     8,    -1,    -1,    11,    -1,    -1,
14896
      -1,    15,    16,    17,    -1,  2260,   227,  4252,  2263,  2264,
14897
      -1,  4256,  4257,  4258,  4259,    -1,    -1,  4262,    32,    -1,
14898
      -1,   261,    -1,    -1,    -1,    -1,    40,    -1,    -1,  2284,
14899
      -1,    -1,    -1,  2539,    48,   275,  1420,    -1,   278,    -1,
14900
     261,    -1,    -1,    -1,    -1,    -1,    -1,  2302,  2303,  4294,
14901
    4295,  4296,    -1,  4298,   275,  4300,  4301,   278,    -1,    73,
14902
      -1,    -1,   302,    -1,    -1,    -1,    -1,  4312,  4313,    -1,
14903
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2334,
14904
    2335,    -1,    -1,  2338,    -1,    -1,    -1,    -1,    -1,    -1,
14905
      -1,    -1,    -1,    -1,  4339,    -1,    -1,    -1,    -1,    -1,
14906
      -1,    -1,    -1,    -1,    -1,    -1,  2361,    -1,  2363,    -1,
14907
      -1,    -1,    -1,  2368,    -1,    -1,    -1,  4362,    -1,  2374,
14908
      -1,    -1,    -1,    -1,    -1,   365,  2381,    -1,    -1,    -1,
14909
    2385,    -1,    -1,    -1,    -1,  2390,    -1,    -1,    -1,    -1,
14910
      -1,    -1,   382,    -1,   365,    -1,    -1,    -1,    -1,    -1,
14911
      -1,    -1,    -1,    -1,    -1,  2410,    -1,    -1,    -1,    -1,
14912
    2415,    -1,    -1,    -1,  2419,    -1,    -1,  2422,    -1,    -1,
14913
      -1,   185,    -1,    -1,    -1,    -1,   190,  2432,    -1,  2434,
14914
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14915
      -1,    -1,  2447,    -1,    -1,    -1,  4441,    -1,   212,   213,
14916
      -1,    -1,  2457,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14917
      -1,    -1,    -1,   227,    -1,    -1,    -1,    -1,    -1,    -1,
14918
      -1,    -1,    -1,  2729,    -1,    -1,   466,    -1,    -1,   469,
14919
     470,   471,  1616,    -1,    -1,   475,   476,   477,   478,   479,
14920
     480,    -1,    -1,    -1,    -1,   466,    -1,   261,   469,   470,
14921
     471,  4496,    -1,    -1,   475,   476,   477,   478,   479,   480,
14922
      -1,   275,    -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,
14923
      -1,    -1,    -1,  2528,    -1,    -1,    -1,    -1,    -1,    -1,
14924
      -1,    -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14925
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14926
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14927
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14928
      -1,  4349,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14929
      -1,    -1,    -1,    -1,     8,    -1,  4364,    11,    -1,    -1,
14930
      -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,
14931
      -1,   365,    -1,    -1,    -1,  2610,    -1,  4602,    32,    -1,
14932
      -1,    35,    -1,    -1,    -1,    -1,    40,    -1,    -1,    -1,
14933
      -1,    -1,     8,    -1,    48,    11,    -1,    -1,  2884,    15,
14934
      16,    17,    -1,    -1,    -1,    -1,  1770,    -1,    -1,    -1,
14935
      -1,    -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,    73,
14936
      -1,  2907,    -1,    -1,    40,    -1,    -1,    -1,    -1,    -1,
14937
    1794,  2666,    48,    -1,    -1,    -1,    -1,    -1,  1802,    -1,
14938
    1804,    -1,  4667,    -1,    -1,    -1,    -1,  4455,    -1,    -1,
14939
      -1,    -1,  1816,    -1,    -1,    -1,    -1,    73,    -1,    -1,
14940
    4685,    -1,    -1,    -1,    -1,  4690,  4691,    -1,    -1,    -1,
14941
      -1,    -1,   466,    -1,  2709,   469,   470,   471,    -1,    -1,
14942
      -1,   475,   476,   477,   478,   479,   480,    -1,    -1,    -1,
14943
      -1,    -1,  2727,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14944
    2735,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14945
    2745,    -1,    -1,  2748,    -1,    -1,  2751,    -1,    -1,    -1,
14946
    4745,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1893,
14947
    1894,   185,    -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,
14948
    4765,    -1,    -1,  1907,    -1,    -1,    -1,    -1,    -1,   165,
14949
      -1,    -1,    -1,    -1,    -1,    -1,  1920,  1921,   212,   213,
14950
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,
14951
      -1,    -1,  1936,   227,   190,  4800,    -1,    -1,    -1,    -1,
14952
      -1,    -1,  2817,  4808,    -1,    -1,    -1,    -1,  2823,    -1,
14953
      -1,    -1,    -1,    -1,    -1,    -1,   212,   213,    -1,    -1,
14954
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   261,    -1,    -1,
14955
      -1,   227,    -1,    -1,    -1,    -1,  4624,  4625,  4626,    -1,
14956
      -1,   275,    -1,    -1,   278,    -1,    -1,    -1,    -1,    -1,
14957
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14958
      -1,   802,   803,    -1,    -1,   261,    -1,    -1,    -1,  4874,
14959
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3144,   275,
14960
      -1,    -1,   278,    -1,  2899,    -1,    -1,    -1,    -1,    -1,
14961
      -1,    -1,    -1,  4898,    -1,    -1,    -1,    -1,    -1,    -1,
14962
      -1,    -1,    -1,    -1,  4909,    -1,    -1,    -1,    -1,    -1,
14963
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2061,    -1,     8,
14964
      -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,
14965
      -1,   365,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14966
      -1,    -1,    -1,    32,    -1,    -1,    35,    -1,    -1,    -1,
14967
      -1,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,
14968
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4973,   365,
14969
      -1,    -1,  2987,  2988,    -1,    -1,    -1,    -1,    -1,    -1,
14970
      -1,    -1,    -1,    -1,    73,    -1,    -1,    -1,    -1,    -1,
14971
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4786,  3014,
14972
      -1,    -1,  3017,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14973
      -1,    -1,   953,   954,    -1,    -1,    -1,    -1,    -1,    -1,
14974
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14975
    5035,    -1,   466,    -1,    -1,   469,   470,   471,    -1,    -1,
14976
    2184,   475,   476,   477,   478,   479,   480,    -1,  3314,  3315,
14977
    3316,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2202,    -1,
14978
      -1,    -1,    -1,  2207,  2208,  3331,    -1,    -1,  2212,    -1,
14979
     466,    -1,    -1,   469,   470,   471,  2220,    -1,    -1,   475,
14980
     476,   477,   478,   479,   480,    -1,    -1,  3102,  3103,  3104,
14981
      -1,    -1,  3358,    -1,  2238,  5100,   185,    -1,    -1,    -1,
14982
      -1,   190,  3368,  3369,    -1,    -1,    -1,  3373,    -1,    -1,
14983
    5115,  3126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14984
      -1,    -1,    -1,   212,   213,    -1,    -1,    -1,    -1,    -1,
14985
      -1,  3146,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,
14986
    2284,    -1,    -1,  4931,    -1,  4933,    -1,    -1,    -1,    -1,
14987
    3165,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2302,  2303,
14988
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  5172,    -1,    -1,
14989
      -1,    -1,   261,    -1,    -1,    -1,   685,    -1,    -1,    -1,
14990
      -1,    -1,  5187,    -1,    -1,    -1,   275,    -1,    -1,   278,
14991
    2334,  2335,    -1,    -1,  2338,    -1,    -1,    -1,    -1,    -1,
14992
      -1,    -1,    -1,   712,    -1,    -1,    -1,    -1,    -1,    -1,
14993
      -1,   685,    -1,    -1,    -1,    -1,    -1,  2361,    -1,  2363,
14994
      -1,  3487,    -1,    -1,  2368,    -1,    -1,    -1,    -1,    -1,
14995
    2374,    -1,    -1,    -1,  3249,    -1,    -1,  2381,   712,    -1,
14996
      -1,  2385,    -1,    -1,    -1,    -1,  2390,    -1,    -1,    -1,
14997
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14998
      -1,  5266,    -1,    -1,    -1,    -1,  2410,    -1,    -1,    -1,
14999
      -1,  2415,    -1,    -1,    -1,  2419,   365,    -1,  2422,    -1,
15000
      -1,    -1,    -1,    -1,    -1,    -1,  3301,    -1,  2432,    -1,
15001
    2434,    -1,    -1,  3308,    -1,  3310,  1237,  5085,    -1,    -1,
15002
      -1,    -1,    -1,  2447,    -1,    -1,    -1,  5312,  3323,    -1,
15003
    3325,    -1,    -1,  2457,    -1,    -1,    -1,    -1,    -1,    -1,
15004
      -1,    -1,    -1,    -1,    -1,    -1,  1267,    -1,     8,    -1,
15005
      -1,    11,  3347,    -1,    -1,    15,    16,    17,    -1,    -1,
15006
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3615,
15007
    3616,  3617,    32,    -1,  1295,  1296,  1297,    -1,  1299,    -1,
15008
      40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    48,    -1,
15009
      -1,    -1,    -1,    -1,    -1,    -1,  3391,   466,  1319,    -1,
15010
     469,   470,   471,    -1,  2528,    -1,   475,   476,   477,   478,
15011
     479,   480,    -1,    73,  5182,    -1,    -1,    -1,  5403,    -1,
15012
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15013
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5423,    -1,
15014
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15015
      -1,  3446,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15016
      -1,    -1,    -1,    -1,   953,    -1,    -1,    -1,    -1,  3464,
15017
    1391,    -1,    -1,    -1,  1395,  1396,    -1,    -1,    -1,    -1,
15018
     969,    -1,    -1,    -1,    -1,    -1,  2610,    -1,    -1,    -1,
15019
      -1,  3486,    -1,    -1,  3489,    -1,    -1,    -1,    -1,    -1,
15020
      -1,    -1,    -1,    -1,     8,    -1,   995,    11,    -1,    -1,
15021
      -1,    15,    16,    17,    -1,   969,  5284,    -1,    -1,    -1,
15022
      -1,  1010,    -1,    -1,    -1,   185,    -1,    -1,    32,    -1,
15023
     190,    35,    -1,    -1,    -1,    -1,    40,    -1,    -1,    -1,
15024
      -1,   995,  2666,    -1,    48,    -1,    -1,    -1,    -1,    -1,
15025
      -1,    -1,   212,   213,    -1,    -1,  1010,    -1,    -1,    -1,
15026
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   227,    -1,    73,
15027
      -1,    -1,    -1,    -1,  3569,    -1,    -1,    -1,    -1,    -1,
15028
      -1,    -1,    -1,    -1,    -1,  2709,    -1,    -1,    -1,    -1,
15029
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15030
      -1,   261,    -1,  2727,    -1,    -1,    -1,  1096,    -1,    -1,
15031
      -1,  2735,    -1,  5381,    -1,   275,    -1,    -1,   278,    -1,
15032
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15033
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15034
      -1,    -1,  1096,    -1,    -1,    -1,    -1,    -1,  5416,  5417,
15035
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3905,
15036
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15037
    3916,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15038
      -1,   185,    -1,    -1,    -1,    -1,   190,    -1,    -1,    -1,
15039
      -1,    -1,    -1,  2817,    -1,    -1,    -1,    -1,    -1,  2823,
15040
      -1,  3947,    -1,    -1,    -1,   365,    -1,    -1,   212,   213,
15041
      -1,    -1,    -1,  1634,  1635,  1636,  1205,    -1,    -1,    -1,
15042
      -1,    -1,    -1,   227,    -1,    -1,    -1,  3722,    -1,    -1,
15043
      -1,    -1,    -1,    -1,  3980,    -1,    -1,    -1,    -1,   399,
15044
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15045
      -1,  1205,    -1,    -1,    -1,    -1,    -1,   261,    -1,    -1,
15046
      -1,    -1,    -1,    -1,  5532,    -1,    -1,    -1,    -1,    -1,
15047
      -1,   275,    -1,    -1,   278,  2899,    -1,    -1,  3773,    -1,
15048
      -1,    -1,  4028,  3778,    -1,  3780,    -1,    -1,    -1,    -1,
15049
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15050
      -1,    -1,    -1,    -1,    -1,    -1,   466,  3802,    -1,   469,
15051
     470,   471,    -1,    -1,    -1,   475,   476,   477,   478,   479,
15052
     480,    -1,    -1,    -1,    -1,    -1,  3821,    -1,    -1,    -1,
15053
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15054
      -1,    -1,  3837,    -1,    -1,  3840,    -1,    -1,    -1,    -1,
15055
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15056
      -1,   365,    -1,  2987,  2988,    -1,    -1,    -1,    -1,    -1,
15057
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   685,
15058
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15059
    3014,    -1,    -1,  3017,    -1,    -1,    -1,    -1,  4144,  4145,
15060
    4146,  4147,    -1,    -1,    -1,    -1,   712,    -1,    -1,    -1,
15061
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15062
      -1,    -1,    -1,    -1,    -1,  1414,    -1,    -1,    -1,    -1,
15063
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   685,    -1,  3934,
15064
    3935,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3944,
15065
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15066
    1414,    -1,   466,    -1,   712,   469,   470,   471,  3963,    -1,
15067
      -1,   475,   476,   477,   478,   479,   480,    -1,  3102,  3103,
15068
    3104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15069
      -1,  1480,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15070
      -1,    -1,  3126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15071
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15072
      -1,    -1,  3146,    -1,    -1,    -1,  1480,    -1,    -1,    -1,
15073
      -1,    -1,  1521,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15074
      -1,  3165,    -1,  4038,    -1,    -1,    -1,    -1,    -1,    -1,
15075
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15076
      -1,    -1,    -1,    -1,    -1,  1554,    -1,  1521,    -1,    -1,
15077
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,
15078
      11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,    -1,
15079
      -1,    -1,    -1,  2014,    -1,    -1,    -1,    -1,    -1,    -1,
15080
    1554,    32,    -1,    -1,    -1,    -1,  2027,    -1,  2029,    40,
15081
      -1,  2032,  2033,  2034,    -1,    -1,    -1,    48,  2039,    -1,
15082
      -1,  2042,    -1,    -1,    -1,  3249,    -1,    -1,    -1,    -1,
15083
      -1,    -1,    -1,    -1,    -1,    -1,  2057,  2058,  2059,  2060,
15084
      -1,    -1,    73,    -1,  2065,  1634,  1635,  1636,  2069,    -1,
15085
      -1,  2072,    -1,    -1,  2075,  2076,  2077,  2078,  2079,  2080,
15086
    2081,  2082,  2083,   969,  2085,    -1,    -1,    -1,    -1,    -1,
15087
      -1,  2092,    -1,  2094,    -1,    -1,    -1,  3301,    -1,    -1,
15088
      -1,    -1,    -1,    -1,  3308,    -1,  3310,    -1,    -1,   995,
15089
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3323,
15090
      -1,  3325,    -1,    -1,  1010,    -1,    -1,    -1,    -1,    -1,
15091
      -1,    -1,    -1,  2134,    -1,    -1,    -1,    -1,    -1,    -1,
15092
      -1,   969,    -1,  3347,    -1,    -1,    -1,    -1,    -1,    -1,
15093
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2159,  2160,
15094
    4486,    -1,    -1,    -1,    -1,    -1,    -1,   995,  1737,    -1,
15095
      -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,   190,
15096
      -1,    -1,  1010,    -1,    -1,  1754,  4261,  3391,    -1,    -1,
15097
      -1,  4266,    -1,    -1,  1763,    -1,    -1,    -1,    -1,    -1,
15098
      -1,   212,   213,  1737,    -1,    -1,  1775,    -1,    -1,    -1,
15099
    1096,    -1,    -1,    -1,    -1,    -1,   227,    -1,    -1,    -1,
15100
    1754,    -1,    -1,    -1,  4299,    -1,    -1,    -1,    -1,  1763,
15101
      -1,    -1,    -1,    -1,    -1,    -1,  4311,    -1,    -1,    -1,
15102
    2241,  1775,  3446,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15103
     261,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15104
    3464,    -1,    -1,  4338,   275,  1834,    -1,   278,  1096,    -1,
15105
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1848,
15106
      -1,    -1,  3486,    -1,    -1,  3489,    -1,    -1,    -1,    -1,
15107
      -1,    -1,  1861,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15108
    1834,    -1,    -1,    -1,  1873,    -1,    -1,    -1,    -1,    -1,
15109
      -1,    -1,    -1,    -1,  1848,    -1,    -1,    -1,    -1,  1205,
15110
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1861,    -1,    -1,
15111
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1873,
15112
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1917,  1918,
15113
      -1,    -1,    -1,    -1,   365,    -1,    -1,    -1,    -1,    -1,
15114
    4435,    -1,    -1,    -1,    -1,  3569,    -1,    -1,    -1,    -1,
15115
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1205,    -1,    -1,
15116
      -1,    -1,    20,  1917,  1918,    -1,    -1,    25,    -1,    -1,
15117
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4724,    37,
15118
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15119
      -1,    -1,    -1,  4739,    -1,    -1,    -1,    -1,  4744,    -1,
15120
      -1,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
15121
      -1,    -1,    -1,    -1,    -1,  4510,    74,    -1,    -1,    -1,
15122
      -1,    -1,    -1,  4769,    -1,    -1,    -1,    -1,    -1,    -1,
15123
      -1,    -1,    90,    -1,    -1,   466,    -1,    -1,   469,   470,
15124
     471,    -1,    -1,    -1,   475,   476,   477,   478,   479,   480,
15125
     108,    -1,    -1,    -1,    -1,    -1,  2477,  2478,  2479,    -1,
15126
      -1,    -1,  2483,    -1,    -1,    -1,    -1,  2056,    -1,    -1,
15127
      -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,    -1,    -1,
15128
      -1,    -1,    -1,    -1,   142,    -1,    -1,    -1,    -1,    -1,
15129
      -1,    -1,   150,    -1,    -1,    -1,    -1,  2518,  3722,    -1,
15130
      -1,    -1,  2056,    -1,   162,  2094,    -1,    -1,  1414,   167,
15131
      -1,    -1,    -1,    -1,    -1,    -1,   174,    -1,    -1,    -1,
15132
      -1,  4616,    -1,  4618,    -1,    -1,    -1,    -1,    -1,    -1,
15133
      -1,    -1,    -1,    -1,    -1,    -1,   194,    -1,    -1,    -1,
15134
      -1,    -1,    -1,    -1,  4890,    -1,    -1,    -1,    -1,  3773,
15135
      -1,    -1,    -1,    -1,  3778,    -1,  3780,    -1,    -1,    -1,
15136
      -1,    -1,    -1,    -1,    -1,    -1,  1414,    -1,    -1,    -1,
15137
      -1,  4666,    -1,    -1,  1480,    -1,    -1,    -1,  3802,    -1,
15138
    4675,    -1,   240,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15139
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3821,    -1,    -1,
15140
      -1,    -1,  2191,    -1,    -1,    -1,  2195,  2196,    -1,    -1,
15141
      -1,    -1,    -1,  3837,    -1,  1521,  3840,   275,    -1,    -1,
15142
    4715,    -1,    -1,    -1,    -1,    -1,  4721,    -1,    -1,    -1,
15143
     288,    -1,  1480,    -1,    -1,    -1,    -1,  2191,    -1,    -1,
15144
     298,  2195,  2196,    -1,  4990,    -1,    -1,    -1,  1554,    -1,
15145
     308,   309,    -1,    -1,   312,    -1,    -1,    -1,    -1,    -1,
15146
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2257,    -1,
15147
      -1,    -1,    -1,  1521,   685,    -1,    -1,    -1,    -1,    -1,
15148
     338,    -1,  2271,   341,    -1,    -1,    -1,   345,    -1,   347,
15149
      -1,    -1,    -1,    -1,    -1,    -1,   354,    -1,    -1,   357,
15150
      -1,   712,    -1,  2257,    -1,    -1,  1554,    -1,    -1,    -1,
15151
    3934,  3935,    -1,    -1,    -1,    -1,    -1,  2271,    -1,   377,
15152
    3944,    -1,  2311,    -1,    -1,   383,    -1,    -1,    -1,    -1,
15153
     388,   389,    -1,    -1,    -1,   393,    -1,    -1,    -1,  3963,
15154
     398,    -1,    -1,    -1,    -1,    -1,    -1,  2768,   406,    -1,
15155
     408,    -1,  2773,    -1,    -1,   413,    -1,  2311,    -1,    -1,
15156
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   425,    -1,    -1,
15157
      -1,    -1,    -1,    -1,    20,    -1,    -1,  2798,    -1,    25,
15158
     438,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2809,    -1,
15159
    2811,  2812,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15160
      -1,  2822,    -1,    -1,  2825,    -1,  2827,  4902,    -1,    -1,
15161
      -1,    -1,    -1,    -1,  4038,    61,    -1,    -1,    -1,    -1,
15162
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    74,    -1,
15163
      76,  1737,  4927,    -1,    -1,  2856,    -1,  2858,    -1,  2860,
15164
      86,    -1,    -1,    -1,    90,  4940,    -1,    -1,  1754,    -1,
15165
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1763,    -1,    -1,
15166
      -1,    -1,   108,    -1,    -1,    -1,    -1,    -1,    -1,  1775,
15167
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15168
      -1,    -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,  1737,
15169
    2479,    -1,    -1,  2914,    -1,    -1,   142,    -1,    -1,    -1,
15170
      -1,    -1,    -1,    -1,   150,    -1,  1754,    -1,  2929,    -1,
15171
      -1,    -1,    -1,    -1,    -1,  1763,   162,    -1,    -1,    -1,
15172
      -1,   167,    -1,    -1,    -1,    -1,    -1,  1775,  1834,    -1,
15173
    2519,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15174
      -1,    -1,  1848,    -1,    -1,    -1,    -1,    -1,   194,    -1,
15175
      -1,    -1,    -1,    -1,    -1,  1861,    -1,    -1,   969,    -1,
15176
      -1,    -1,    -1,    -1,    -1,  2519,    -1,  1873,    -1,    -1,
15177
      -1,    -1,  2993,   219,    -1,    -1,    -1,    -1,    -1,    -1,
15178
      -1,    -1,    -1,    -1,   995,    -1,  1834,    -1,    -1,    -1,
15179
      -1,    -1,    -1,    -1,   240,    -1,    -1,    -1,    -1,  1010,
15180
    1848,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15181
      -1,  1917,  1918,  1861,    -1,    -1,  2605,    -1,    -1,    -1,
15182
      -1,    -1,    -1,    -1,    -1,  1873,    -1,    -1,    -1,   275,
15183
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4261,    -1,    -1,
15184
      -1,    -1,  4266,    -1,    -1,    -1,  5141,    -1,  5143,    -1,
15185
      -1,  2605,   298,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15186
      -1,    -1,   308,   309,    -1,    -1,   312,    -1,    -1,  1917,
15187
    1918,    -1,    -1,    -1,    -1,  4299,    -1,    -1,    -1,    -1,
15188
      -1,    -1,    -1,    -1,    -1,  1096,    -1,  4311,    -1,    -1,
15189
      -1,    -1,   338,    -1,    -1,   341,    -1,    -1,    -1,   345,
15190
      -1,   347,    -1,    -1,    -1,    -1,    -1,    -1,   354,    -1,
15191
      -1,   357,    -1,    -1,  4338,    -1,    -1,    -1,    -1,    -1,
15192
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15193
      -1,   377,    -1,    -1,    -1,    -1,  2725,   383,    -1,    -1,
15194
      -1,  5236,   388,   389,    -1,    -1,    -1,   393,    -1,    -1,
15195
    2056,    -1,   398,  2742,    -1,    -1,    -1,    -1,  5253,    -1,
15196
     406,    -1,   408,    -1,    -1,    -1,    -1,   413,  2757,    -1,
15197
      -1,  2725,  5267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15198
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  5282,  2742,    -1,
15199
      -1,    -1,   438,    -1,  1205,    -1,    -1,    -1,    -1,    -1,
15200
      -1,    -1,    -1,  2757,    -1,    -1,    -1,    -1,  2056,    -1,
15201
      -1,  4435,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15202
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15203
      -1,    -1,    -1,    -1,  3255,    -1,    -1,    -1,    -1,    -1,
15204
    3261,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5344,
15205
    5345,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15206
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15207
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15208
      -1,    -1,   685,    -1,    -1,  2191,  4510,    -1,    -1,  2195,
15209
    2196,    -1,    -1,    -1,    -1,    -1,  5391,    -1,    -1,    -1,
15210
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   712,
15211
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15212
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15213
      -1,    -1,    -1,    -1,   685,    -1,    -1,    -1,    -1,    -1,
15214
      -1,    -1,    -1,  2191,    -1,    -1,    -1,  2195,  2196,    -1,
15215
      -1,  2257,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15216
      -1,   712,    -1,    -1,    -1,  2271,    -1,    -1,    -1,    -1,
15217
      -1,    -1,    -1,  2962,    -1,    -1,  2965,    -1,  2967,    -1,
15218
      -1,    -1,    -1,  2972,    -1,    -1,  5481,    -1,    -1,    -1,
15219
      -1,    -1,  4616,    -1,  4618,    -1,    -1,    -1,    -1,    -1,
15220
      -1,    -1,    -1,  1414,    -1,  2311,    -1,    -1,  2962,  2257,
15221
      -1,  2965,    -1,  2967,    -1,    22,    -1,    -1,  2972,    -1,
15222
      -1,    28,    -1,  2271,    -1,    -1,    -1,    -1,    35,    -1,
15223
      -1,    -1,  3021,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15224
      -1,    -1,  4666,    -1,    -1,    -1,    -1,    -1,    55,    -1,
15225
      -1,  3040,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5554,
15226
      -1,    -1,    -1,  2311,    71,    -1,    -1,  3021,    -1,  1480,
15227
      -1,    -1,    -1,    -1,    -1,    -1,  3065,    -1,    -1,    -1,
15228
      -1,    -1,    -1,    -1,    -1,    -1,  3040,  5582,  3509,    -1,
15229
      -1,  4715,  5587,  5588,    -1,    -1,    -1,  3518,    -1,   106,
15230
      -1,    -1,    -1,  3524,    -1,  3526,    -1,    -1,    -1,    -1,
15231
    1521,  3065,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   126,
15232
      -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,    -1,   136,
15233
      -1,    -1,  3553,  3554,    -1,    -1,    -1,    -1,    -1,    -1,
15234
      -1,    -1,    -1,  1554,    -1,    -1,    -1,  3136,    -1,  3138,
15235
    3571,    -1,    -1,    -1,   161,    -1,    -1,    -1,  3579,    -1,
15236
      -1,  3582,    -1,  3584,    -1,    -1,   969,    -1,    -1,    -1,
15237
      -1,    -1,  3593,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15238
    3601,  3602,  3136,    -1,  3138,    -1,   193,    -1,    -1,   196,
15239
      -1,    -1,   995,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15240
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1010,    -1,    -1,
15241
      -1,    -1,  3633,  2519,    -1,    -1,    -1,    -1,   969,    -1,
15242
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15243
      -1,    -1,    -1,    -1,   241,    -1,  3657,   244,    -1,    -1,
15244
    3229,    -1,    -1,    -1,   995,    -1,    -1,    -1,   255,    -1,
15245
      -1,   258,  3673,    -1,    -1,    -1,    -1,    -1,    -1,  1010,
15246
      -1,   268,    -1,    -1,    -1,    -1,  3255,    -1,    -1,    -1,
15247
     277,  2519,  3261,    -1,    -1,  3229,    -1,    -1,  4902,    -1,
15248
    3269,   288,   289,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15249
      -1,    -1,    -1,  1096,    -1,    -1,    -1,    -1,    -1,  2605,
15250
      -1,    -1,    -1,  4927,    -1,  3294,    -1,    -1,    -1,    -1,
15251
      -1,    -1,    -1,  3302,    -1,  3269,  4940,    -1,    -1,    -1,
15252
     327,    -1,    -1,   330,   331,   332,  1737,    -1,    -1,    -1,
15253
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15254
    3294,    -1,    -1,  1754,    -1,  1096,    -1,   354,  3302,    -1,
15255
      -1,    -1,  1763,   360,    -1,    -1,    -1,  2605,    -1,    -1,
15256
      -1,    -1,    -1,    -1,  1775,    -1,    -1,    -1,   375,    -1,
15257
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15258
      -1,    -1,    -1,    -1,    -1,    -1,  3375,    -1,    -1,    -1,
15259
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15260
      -1,    -1,  1205,  3392,    -1,    -1,    -1,    -1,    -1,    -1,
15261
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3406,    -1,  2725,
15262
      -1,  3375,   429,  1834,    -1,    -1,    -1,    -1,    -1,    -1,
15263
      -1,    -1,    -1,    -1,    -1,    -1,  2742,  1848,  3392,    -1,
15264
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15265
    1861,  2757,  3406,    -1,  1205,    -1,    -1,    -1,    -1,    -1,
15266
      -1,    -1,  1873,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15267
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2725,    -1,    -1,
15268
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15269
      -1,    -1,    -1,    -1,  2742,    -1,    -1,    -1,    -1,    -1,
15270
      -1,    -1,    -1,    -1,    -1,    -1,  1917,  1918,    -1,  2757,
15271
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  5141,    -1,  5143,
15272
      -1,    -1,    -1,  3512,    -1,    -1,    -1,    -1,    -1,    -1,
15273
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15274
      -1,    -1,    -1,    -1,  3533,    -1,    -1,    -1,    -1,    -1,
15275
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3512,    -1,
15276
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3988,  3989,  3558,
15277
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3533,
15278
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15279
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15280
      -1,    -1,    -1,  3592,  3558,    -1,    -1,    -1,    -1,    -1,
15281
      -1,  1414,  5236,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15282
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5253,
15283
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3592,    -1,
15284
    4061,    -1,    -1,    -1,    -1,  2056,    -1,    -1,    -1,    -1,
15285
      -1,  4072,    -1,    -1,    -1,    -1,  2962,    -1,  5282,  2965,
15286
      -1,  2967,    -1,  1414,    -1,    -1,  2972,    -1,    -1,    -1,
15287
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1480,    -1,    -1,
15288
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15289
    3679,  4112,  4113,    -1,    -1,    -1,    -1,    -1,  4119,  4120,
15290
      -1,    -1,    -1,  4124,    -1,    -1,    -1,    -1,  4129,    -1,
15291
      -1,  4132,  4133,    -1,  2962,  3021,  4137,  2965,  1521,  2967,
15292
      -1,    -1,  4143,    -1,  2972,  3679,    -1,    -1,    -1,  1480,
15293
      -1,    -1,    -1,    -1,  3040,    -1,    -1,    -1,    -1,    -1,
15294
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15295
      -1,  1554,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3065,
15296
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  5391,    -1,    -1,
15297
    1521,    -1,    -1,  3021,  4195,    -1,    -1,    -1,    -1,    -1,
15298
    2191,    -1,    -1,    -1,  2195,  2196,    -1,    -1,    -1,    -1,
15299
    3779,    -1,  3040,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15300
      -1,    -1,  4223,  1554,    -1,    -1,    -1,    -1,    -1,  4230,
15301
      -1,    -1,    -1,    -1,  3803,    -1,    -1,  3065,    -1,    -1,
15302
      -1,    -1,    -1,    -1,    -1,  3779,    -1,    -1,    -1,    -1,
15303
    3136,    -1,  3138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15304
      -1,    -1,    -1,    -1,    -1,    -1,  2257,    -1,    -1,  3803,
15305
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  5481,    -1,    -1,
15306
    2271,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15307
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15308
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3136,    -1,
15309
    3138,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15310
    2311,    -1,    -1,    -1,    -1,    -1,  4327,    -1,    -1,    -1,
15311
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15312
      -1,    -1,    -1,  3229,    -1,    -1,    -1,    -1,    -1,    -1,
15313
    5554,    -1,    -1,    -1,  1737,    -1,    -1,    -1,    -1,    -1,
15314
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3938,
15315
      -1,  1754,    -1,    -1,    -1,    -1,    -1,    -1,  5582,    -1,
15316
    1763,    -1,    -1,  3269,    -1,    -1,    -1,    -1,    -1,    -1,
15317
      -1,    -1,  1775,    -1,    -1,  4396,    -1,    -1,    -1,    -1,
15318
      -1,  3229,    -1,    -1,  3938,    -1,  1737,    -1,  3294,    -1,
15319
      -1,    -1,    -1,    -1,    -1,    -1,  3302,    -1,  3987,    -1,
15320
      -1,    -1,    -1,  1754,    -1,    -1,    -1,    -1,    -1,    -1,
15321
      -1,    -1,  1763,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15322
      -1,  3269,    -1,    -1,  1775,    -1,    -1,    -1,    -1,    -1,
15323
      -1,  1834,    -1,  3987,    -1,    -1,    -1,    -1,    -1,    -1,
15324
      -1,    -1,    -1,    -1,    -1,  1848,  3294,    -1,    -1,    -1,
15325
      -1,    -1,    -1,    -1,  3302,    -1,    -1,    -1,  1861,    -1,
15326
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3375,
15327
    1873,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15328
      -1,    -1,    -1,  1834,    -1,    -1,  3392,    -1,    -1,    -1,
15329
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1848,    -1,    -1,
15330
    3406,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2519,    -1,
15331
    1861,    -1,    -1,    -1,  1917,  1918,    -1,    -1,    -1,    -1,
15332
      -1,    -1,  1873,    -1,    -1,    -1,  4115,  3375,    -1,    -1,
15333
      -1,    -1,    -1,  4554,  4555,    -1,  4125,  4558,    -1,    -1,
15334
      -1,    -1,    -1,    -1,  3392,    -1,    -1,    -1,    -1,    -1,
15335
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3406,    -1,
15336
      -1,  4115,    -1,    -1,    -1,    -1,  1917,  1918,    -1,    -1,
15337
      -1,  4125,    -1,    -1,  4595,  4596,    -1,    -1,    -1,    -1,
15338
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15339
    4611,    -1,    -1,    -1,  2605,    -1,    -1,    -1,    -1,    -1,
15340
      -1,    -1,    -1,    -1,    -1,    -1,  3512,    -1,    -1,    -1,
15341
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15342
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3533,    -1,    -1,
15343
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15344
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15345
      -1,    -1,  3558,  2056,    -1,  4244,    -1,    -1,    -1,    -1,
15346
      -1,    -1,    -1,    -1,  3512,    -1,    -1,    20,    -1,    -1,
15347
      -1,    -1,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15348
      -1,    -1,    -1,    -1,    37,  3533,  3592,    -1,    -1,    -1,
15349
    4244,    -1,    -1,    -1,  4283,    -1,    -1,    -1,    -1,    -1,
15350
      -1,    -1,    -1,    -1,    -1,  2056,    -1,    -1,    61,    -1,
15351
    3558,    -1,    -1,    -1,  2725,  4304,    -1,    -1,    -1,    -1,
15352
      -1,    74,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4283,
15353
      -1,  2742,    -1,    86,    -1,    -1,    -1,    90,    -1,    -1,
15354
      -1,    -1,    -1,    -1,  3592,    -1,  2757,    -1,    -1,    -1,
15355
    4304,    -1,    -1,    -1,    -1,   108,    -1,    -1,    -1,    -1,
15356
    1311,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15357
      -1,    -1,    -1,  3679,    -1,    -1,    -1,    -1,   131,    -1,
15358
    4369,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2191,   142,
15359
      -1,    -1,  2195,  2196,    -1,    -1,  4817,   150,    -1,    -1,
15360
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   162,
15361
      -1,    -1,    -1,    -1,    -1,  4369,    -1,   170,    -1,    -1,
15362
    1371,   174,    -1,    -1,  4845,    -1,    -1,    -1,    -1,    -1,
15363
      -1,  3679,    -1,    -1,    -1,    -1,    -1,    -1,  4859,    -1,
15364
    2191,   194,    -1,    -1,  2195,  2196,    -1,    -1,    -1,    -1,
15365
      -1,    -1,    -1,    -1,  2257,    -1,    -1,    -1,    -1,    -1,
15366
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2271,    -1,
15367
      -1,    -1,    -1,  3779,    -1,    -1,    -1,    -1,   231,    -1,
15368
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,    -1,    -1,
15369
      -1,    -1,    -1,  4482,    -1,  4484,    -1,  3803,    -1,  4920,
15370
      -1,    -1,    -1,    -1,    -1,    -1,  2257,    -1,  2311,    -1,
15371
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15372
    2271,    -1,   275,    -1,    -1,   278,    -1,    -1,    -1,    -1,
15373
    4484,  3779,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15374
      -1,    -1,    -1,  4532,    -1,   298,    -1,    -1,    -1,    -1,
15375
      -1,  2962,    -1,    -1,  2965,  3803,  2967,    -1,    -1,   312,
15376
    2311,  2972,    -1,    -1,    -1,    -1,   319,    -1,    -1,    -1,
15377
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4532,    -1,
15378
      -1,    -1,    -1,    -1,    -1,   338,    -1,    -1,    -1,    -1,
15379
      -1,    -1,    -1,    -1,   347,    -1,    -1,    -1,    -1,    -1,
15380
      -1,   354,    -1,    -1,   357,    -1,    -1,    -1,    -1,    -1,
15381
    3021,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15382
      -1,    -1,    -1,    -1,   377,    -1,    -1,    -1,    -1,  3040,
15383
     383,    -1,  3938,    -1,    -1,   388,   389,    -1,    -1,    -1,
15384
     393,    -1,   395,    -1,   397,   398,    -1,    -1,    -1,    -1,
15385
      -1,    -1,  5073,    -1,  3065,   408,    -1,    -1,    -1,    -1,
15386
     413,    -1,    -1,    -1,    -1,    -1,   419,    -1,    -1,   422,
15387
      -1,    -1,   425,    -1,    -1,    -1,  4665,    -1,    -1,    -1,
15388
      -1,  3987,  5103,    -1,    -1,   438,    -1,    -1,    -1,  1640,
15389
    3938,    -1,    -1,  1644,    -1,    -1,    -1,    -1,    -1,    -1,
15390
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15391
      -1,  4665,    -1,    -1,    -1,    -1,  2519,    -1,    -1,    -1,
15392
      -1,    -1,    -1,    -1,    -1,  3136,    -1,  3138,    -1,    -1,
15393
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3987,
15394
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15395
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15396
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2519,    -1,
15397
      -1,    -1,  5193,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15398
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15399
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15400
      -1,  4790,  2605,    -1,    -1,  5226,  5227,  5228,    -1,  4115,
15401
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3229,  4125,
15402
      -1,    -1,    -1,    -1,  5245,    -1,  4815,    -1,    -1,    -1,
15403
      -1,    -1,    -1,    -1,    -1,    -1,  4790,    -1,    -1,    -1,
15404
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15405
      -1,    -1,    -1,    -1,  2605,    -1,    -1,    -1,  3269,    -1,
15406
      -1,  4815,    -1,    -1,    -1,    -1,  4855,  4115,    -1,    -1,
15407
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4125,    -1,    -1,
15408
      -1,    -1,    -1,  3294,    -1,    -1,    -1,    -1,    -1,    -1,
15409
      -1,  3302,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15410
      -1,  4855,    -1,    -1,    -1,    -1,  5327,    -1,    -1,    -1,
15411
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15412
      -1,  4910,  2725,    -1,    -1,  5346,  4915,  4916,    -1,    -1,
15413
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4244,  2742,
15414
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15415
      -1,    -1,    -1,    -1,  2757,    -1,  4910,    -1,    -1,    -1,
15416
      -1,  4915,  4916,    -1,  3375,    -1,    -1,    -1,    -1,    -1,
15417
      -1,    -1,    -1,    -1,  2725,    -1,    -1,  4283,    -1,    -1,
15418
      -1,  3392,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15419
      -1,  2742,    -1,    -1,    -1,  3406,  4244,    -1,  4304,    -1,
15420
      -1,    -1,    -1,    -1,    -1,    -1,  2757,    -1,    -1,    -1,
15421
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15422
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15423
      -1,    -1,    -1,    -1,    -1,  4283,    -1,    -1,  5027,  5028,
15424
      -1,    -1,    -1,    -1,    -1,    -1,  5467,    -1,    -1,    -1,
15425
      -1,    -1,    -1,    -1,    -1,    -1,  4304,    -1,    -1,    -1,
15426
      -1,  2012,    -1,  4369,    -1,    -1,    -1,    -1,    -1,    -1,
15427
      -1,    -1,    -1,    -1,  5028,  2026,    -1,    -1,    -1,  2030,
15428
      -1,    -1,    -1,    -1,    -1,    -1,  5507,    -1,    -1,    -1,
15429
      -1,    -1,    -1,  2044,  2045,  2046,  5517,  2048,    -1,    -1,
15430
      -1,  3512,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,
15431
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15432
      -1,  4369,  3533,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15433
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2090,
15434
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3558,    -1,    -1,
15435
      -1,    -1,    -1,    -1,    -1,    -1,    74,    -1,    -1,  2962,
15436
      -1,    -1,  2965,    -1,  2967,    -1,    -1,    -1,    -1,  2972,
15437
      -1,    -1,    90,    -1,    -1,    -1,    -1,    -1,  4484,    -1,
15438
      -1,  3592,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15439
     108,    -1,    -1,    -1,    -1,  2146,   114,    -1,    -1,    -1,
15440
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2158,    -1,    -1,
15441
      -1,  2962,  2163,   131,  2965,    -1,  2967,    -1,  3021,    -1,
15442
      -1,  2972,    -1,    -1,   142,    -1,  4532,    -1,    -1,    -1,
15443
      -1,    -1,   150,    -1,    -1,    -1,  4484,  3040,    -1,    -1,
15444
      -1,    -1,    -1,    -1,   162,    -1,    -1,    -1,    -1,   167,
15445
    5239,    -1,    -1,    -1,    -1,    -1,   174,    -1,    -1,    -1,
15446
      -1,    -1,  3065,    -1,    -1,    -1,    -1,    -1,  3679,    -1,
15447
    3021,    -1,    -1,    -1,    -1,    -1,   194,    -1,    -1,    -1,
15448
      -1,    -1,    -1,    -1,  4532,  5239,    -1,    -1,    -1,  3040,
15449
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15450
      -1,   219,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15451
      -1,    -1,    -1,    -1,  3065,    -1,    -1,    -1,    -1,    -1,
15452
      -1,    -1,   240,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15453
      -1,    -1,    -1,  3136,    -1,  3138,    -1,    -1,    -1,    -1,
15454
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15455
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   275,    -1,  4665,
15456
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3779,    -1,
15457
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15458
     298,    -1,    -1,    -1,    -1,  3136,    -1,  3138,    -1,    -1,
15459
     308,   309,  3803,    -1,   312,    -1,    -1,    -1,    -1,    -1,
15460
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15461
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4665,    -1,    -1,
15462
     338,    -1,    -1,   341,    -1,    -1,  3229,   345,    -1,   347,
15463
      -1,    -1,    -1,    -1,    -1,    -1,   354,    -1,    -1,   357,
15464
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15465
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   377,
15466
      -1,    -1,    -1,    -1,    -1,   383,  3269,    -1,    -1,   387,
15467
     388,   389,    -1,    -1,    -1,   393,    -1,    -1,  3229,    -1,
15468
     398,    -1,    -1,    -1,  4790,    -1,    -1,    -1,    -1,    -1,
15469
     408,  3294,    -1,    -1,    -1,   413,    -1,    -1,    -1,  3302,
15470
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   425,    -1,  4815,
15471
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3269,    -1,
15472
     438,    -1,    -1,    -1,    -1,    -1,    -1,  3938,    -1,    -1,
15473
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15474
      -1,    -1,  4790,  3294,    -1,    -1,    -1,    -1,    -1,  4855,
15475
      -1,  3302,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15476
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4815,    -1,    -1,
15477
      -1,    -1,  3375,    -1,    -1,    -1,  3987,    -1,    -1,    -1,
15478
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3392,
15479
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15480
      -1,    -1,    -1,  3406,  4910,    -1,    -1,  4855,    -1,  4915,
15481
    4916,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15482
      -1,    -1,    -1,    -1,  3375,    -1,    -1,    -1,    -1,    -1,
15483
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15484
      -1,  3392,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15485
      -1,    -1,    -1,    -1,    -1,  3406,    -1,    -1,    -1,    -1,
15486
      -1,    -1,  4910,    -1,    -1,    -1,    -1,  4915,  4916,    -1,
15487
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15488
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15489
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15490
      -1,    -1,    -1,    -1,  4115,    -1,    -1,    -1,    -1,  3512,
15491
      -1,    -1,    -1,    -1,  4125,    -1,    -1,    -1,    -1,    -1,
15492
      -1,    -1,  5028,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15493
    3533,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15494
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15495
      -1,    -1,    -1,    -1,    -1,  3558,    -1,    -1,    -1,    -1,
15496
      -1,  3512,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15497
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15498
    5028,    -1,  3533,    -1,    -1,    -1,    -1,    -1,    -1,  3592,
15499
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15500
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3558,    -1,    -1,
15501
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15502
    2771,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15503
      -1,    -1,    -1,  4244,    -1,    -1,    -1,    -1,    -1,    -1,
15504
    2791,  3592,  2793,    -1,    -1,  2796,  2797,    -1,  2799,    -1,
15505
    2801,    -1,    -1,    -1,  2805,    -1,    -1,  2808,    -1,    -1,
15506
      -1,    -1,  2813,    -1,    -1,    -1,    -1,    -1,  2819,    -1,
15507
      -1,    -1,  4283,  2824,    -1,    -1,  3679,    -1,    -1,    -1,
15508
    2831,  2832,  2833,  2834,    -1,    -1,    -1,  2838,  2839,    -1,
15509
    2841,    -1,    -1,  4304,    -1,    -1,    -1,    -1,    -1,    -1,
15510
      -1,    -1,  2853,    -1,  2855,    -1,    -1,    -1,    -1,    -1,
15511
      -1,  2862,  2863,  2864,  2865,  2866,  2867,  2868,  2869,  2870,
15512
    2871,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3679,    -1,
15513
      -1,    -1,    -1,  5239,    -1,    -1,    -1,    -1,    -1,    -1,
15514
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15515
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2908,  4369,    -1,
15516
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15517
      -1,    -1,    -1,    -1,    -1,    -1,  3779,    -1,    -1,    -1,
15518
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15519
      -1,  5239,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15520
    3803,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15521
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15522
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3779,    -1,
15523
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15524
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15525
      -1,    -1,  3803,    -1,    -1,    -1,    -1,  3008,    -1,    -1,
15526
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15527
      -1,    -1,    -1,  4484,    -1,    -1,    -1,    -1,    -1,    -1,
15528
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15529
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15530
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15531
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15532
      -1,  4532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15533
      -1,    -1,    -1,    -1,    -1,  3938,    -1,    -1,    -1,    -1,
15534
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15535
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15536
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15537
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15538
      -1,    -1,    -1,    -1,  3987,    -1,    -1,  3938,    -1,    -1,
15539
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15540
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15541
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15542
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15543
      -1,    -1,    -1,    -1,    -1,    -1,  3987,    -1,    -1,    -1,
15544
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15545
      -1,    -1,    -1,    -1,  4665,    -1,    -1,    -1,    -1,    -1,
15546
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15547
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15548
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15549
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15550
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3259,  3260,
15551
      -1,    -1,  4115,  3264,    -1,    -1,    -1,    -1,    -1,    -1,
15552
      -1,    -1,  4125,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15553
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15554
      -1,    -1,    -1,    -1,    -1,    -1,  3297,    -1,    -1,    -1,
15555
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15556
      -1,    -1,    -1,    -1,  4115,    -1,    -1,    -1,    -1,    -1,
15557
      -1,    -1,    -1,    -1,  4125,    -1,    -1,    -1,    -1,  4790,
15558
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15559
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15560
      -1,    -1,    -1,    -1,  4815,    -1,    -1,    -1,    -1,    -1,
15561
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15562
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15563
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15564
      -1,  4244,    -1,    -1,  4855,    -1,    -1,    -1,    -1,    -1,
15565
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15566
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15567
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15568
    4283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15569
      -1,    -1,    -1,  4244,    -1,    -1,    -1,    -1,    -1,  4910,
15570
      -1,  4304,    -1,    -1,  4915,  4916,    -1,    -1,    -1,    -1,
15571
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15572
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15573
      -1,    -1,  4283,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15574
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15575
      -1,    -1,    -1,  4304,    -1,    -1,    -1,  3508,    -1,    -1,
15576
      -1,    -1,    -1,  3514,    -1,    -1,  4369,    -1,    -1,    -1,
15577
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3530,
15578
    3531,    -1,    -1,  3534,  3535,  3536,  3537,    -1,    -1,  3540,
15579
    3541,  3542,  3543,  3544,  3545,  3546,  3547,  3548,  3549,  3550,
15580
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15581
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  5028,  4369,    -1,
15582
      -1,  3572,    -1,    -1,  3575,    -1,  3577,    -1,    -1,  3580,
15583
    3581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15584
      -1,    -1,    -1,    -1,  3595,  3596,  3597,  3598,    -1,  3600,
15585
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15586
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15587
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15588
      -1,  4484,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15589
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15590
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15591
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15592
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4532,
15593
      -1,    -1,    -1,  4484,    -1,    -1,    -1,  3688,    -1,    -1,
15594
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15595
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15596
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15597
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15598
      -1,  4532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15599
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15600
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15601
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15602
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5239,    -1,
15603
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15604
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15605
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15606
      -1,    -1,  4665,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15607
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15608
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15609
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15610
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15611
      -1,    -1,    -1,    -1,  4665,    -1,    -1,    -1,    -1,    -1,
15612
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15613
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15614
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15615
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3909,    -1,
15616
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15617
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15618
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4790,    -1,    -1,
15619
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15620
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15621
      -1,    -1,  4815,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15622
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15623
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4790,
15624
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15625
      -1,    -1,  4855,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15626
      -1,    -1,    -1,    -1,  4815,    -1,    -1,    -1,    -1,    -1,
15627
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15628
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15629
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15630
      -1,    -1,    -1,    -1,  4855,    -1,    -1,  4910,    -1,    -1,
15631
      -1,  4062,  4915,  4916,    -1,  4066,  4067,  4068,    -1,    -1,
15632
      -1,    -1,    -1,  4074,  4075,  4076,  4077,    -1,    -1,    -1,
15633
      -1,  4082,  4083,  4084,  4085,  4086,  4087,  4088,  4089,  4090,
15634
    4091,  4092,  4093,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15635
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4910,
15636
      -1,    -1,    -1,    -1,  4915,  4916,    -1,  4118,    -1,    -1,
15637
    4121,    -1,  4123,    -1,    -1,    -1,  4127,    -1,    -1,  4130,
15638
    4131,    -1,    -1,  4134,  4135,    -1,    -1,    -1,    -1,    -1,
15639
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15640
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15641
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15642
      -1,    -1,    -1,    -1,    -1,  5028,    -1,    -1,    -1,    -1,
15643
    4181,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15644
      -1,    -1,    -1,  4194,    -1,    -1,    -1,    -1,    -1,    -1,
15645
      -1,    -1,    -1,    -1,    -1,    -1,  4207,    -1,    -1,    -1,
15646
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15647
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  5028,    -1,    -1,
15648
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15649
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15650
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15651
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15652
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15653
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15654
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15655
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15656
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15657
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15658
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15659
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15660
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15661
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15662
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15663
      -1,    -1,    -1,    -1,    -1,    -1,  5239,    -1,    -1,    -1,
15664
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4399,    -1,
15665
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15666
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15667
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15668
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5239,    -1,
15669
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15670
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15671
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15672
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4479,  4480,
15673
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15674
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15675
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15676
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15677
      -1,  4522,    -1,    -1,    -1,    -1,  4527,  4528,    -1,    -1,
15678
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15679
      -1,  4542,    -1,  4544,    -1,    -1,    -1,  4548,  4549,  4550,
15680
      -1,    -1,  4553,    -1,    -1,  4556,  4557,    -1,    -1,    -1,
15681
    4561,    -1,    -1,    -1,  4565,    -1,    -1,    -1,    -1,    -1,
15682
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15683
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15684
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15685
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15686
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4620,
15687
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4628,    -1,    -1,
15688
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15689
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15690
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15691
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15692
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15693
      -1,    -1,    -1,    -1,    -1,  4686,    -1,    -1,    -1,    -1,
15694
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15695
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15696
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15697
      -1,    -1,    -1,    -1,    -1,  4726,    -1,    -1,    -1,    -1,
15698
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15699
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15700
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15701
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15702
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15703
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15704
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15705
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15706
      -1,    -1,  4813,  4814,    -1,    -1,    -1,    -1,    -1,    -1,
15707
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4829,  4830,
15708
    4831,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4839,    -1,
15709
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15710
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15711
      -1,    -1,    -1,    -1,    -1,  4866,  4867,    -1,    -1,    -1,
15712
      -1,    -1,    -1,    -1,    -1,    -1,  4877,    -1,    -1,    -1,
15713
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15714
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15715
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15716
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15717
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15718
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15719
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15720
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15721
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15722
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15723
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15724
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15725
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15726
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15727
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15728
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5040,
15729
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15730
      -1,    -1,    -1,  5054,    -1,    -1,  5057,    -1,    -1,    -1,
15731
    5061,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15732
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15733
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15734
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15735
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15736
      -1,    -1,    -1,  5114,    -1,    -1,    -1,    -1,    -1,    -1,
15737
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15738
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15739
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15740
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15741
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15742
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15743
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15744
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15745
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15746
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15747
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15748
      -1,    -1,  5233,    -1,  5235,    -1,    -1,    -1,    -1,    -1,
15749
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15750
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15751
      -1,    -1,    -1,    -1,  5265,    -1,    -1,    -1,    -1,    -1,
15752
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15753
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15754
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15755
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15756
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15757
    5321,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15758
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15759
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5349,    -1,
15760
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15761
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15762
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15763
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15764
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15765
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15766
      -1,    -1,  5413,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15767
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15768
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15769
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15770
      -1,    -1,    -1,    -1,  5455,  5456,    -1,    -1,    -1,    -1,
15771
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15772
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15773
      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
15774
       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
15775
      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
15776
      29,    -1,  5513,  5514,    -1,    34,    -1,  5518,    37,    38,
15777
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
15778
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
15779
      59,    60,    61,    62,    63,    64,    65,    66,  5549,    68,
15780
      69,    70,    71,    72,    -1,    74,    75,    -1,    77,    78,
15781
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
15782
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    98,
15783
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
15784
     109,   110,   111,   112,   113,   114,   115,    -1,   117,   118,
15785
     119,   120,   121,   122,    -1,   124,   125,   126,   127,   128,
15786
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
15787
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
15788
     149,   150,   151,   152,   153,   154,    -1,   156,   157,   158,
15789
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
15790
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
15791
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
15792
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
15793
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
15794
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
15795
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
15796
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
15797
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
15798
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
15799
     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
15800
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
15801
      -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
15802
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
15803
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
15804
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
15805
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
15806
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
15807
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
15808
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
15809
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
15810
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
15811
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
15812
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
15813
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
15814
     409,   410,   411,   412,   413,   414,   415,   416,   417,    -1,
15815
     419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
15816
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
15817
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
15818
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
15819
     459,   460,   461,   462,   463,   464,   465,   466,    -1,    -1,
15820
      -1,    -1,    -1,    -1,    -1,    -1,   475,   476,   477,    -1,
15821
      -1,    -1,    -1,    -1,    -1,   484,   485,     3,     4,     5,
15822
       6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,
15823
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
15824
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,
15825
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
15826
      46,    47,    48,    49,    50,    51,    52,    -1,    54,    55,
15827
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
15828
      66,    -1,    68,    69,    70,    71,    72,    -1,    74,    75,
15829
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
15830
      -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
15831
      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
15832
     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
15833
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
15834
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
15835
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
15836
     146,   147,   148,   149,   150,   151,   152,   153,   154,    -1,
15837
     156,   157,   158,   159,    -1,   161,    -1,   163,   164,    -1,
15838
     166,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
15839
     176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
15840
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
15841
     196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
15842
     206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
15843
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
15844
     226,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
15845
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
15846
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
15847
     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
15848
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
15849
     276,   277,    -1,    -1,   280,   281,   282,   283,   284,   285,
15850
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
15851
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
15852
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
15853
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
15854
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
15855
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
15856
     346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
15857
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
15858
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
15859
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
15860
     386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
15861
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
15862
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
15863
     416,   417,    -1,   419,   420,   421,   422,   423,   424,   425,
15864
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
15865
     436,   437,   438,   439,   440,    -1,    -1,   443,    -1,   445,
15866
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
15867
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
15868
     466,    -1,   468,    -1,    -1,    -1,    -1,    -1,    -1,   475,
15869
     476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,   485,
15870
       3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
15871
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
15872
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
15873
      -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
15874
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
15875
      -1,    54,    55,    56,    57,    58,    59,    60,    61,    62,
15876
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
15877
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
15878
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
15879
      -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
15880
     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
15881
     113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
15882
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
15883
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
15884
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
15885
     153,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
15886
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
15887
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
15888
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
15889
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
15890
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
15891
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
15892
     223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
15893
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
15894
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
15895
     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
15896
     263,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
15897
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
15898
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
15899
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
15900
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
15901
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
15902
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
15903
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
15904
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
15905
      -1,   354,   355,   356,   357,   358,   359,   360,   361,   362,
15906
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
15907
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
15908
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,   392,
15909
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
15910
      -1,    -1,   405,   406,   407,   408,   409,   410,   411,   412,
15911
     413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
15912
     423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
15913
     433,    -1,   435,   436,   437,   438,   439,   440,    -1,    -1,
15914
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
15915
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
15916
     463,   464,   465,   466,    -1,    -1,    -1,    -1,    -1,    -1,
15917
      -1,    -1,   475,   476,    -1,    -1,    -1,    -1,    -1,    -1,
15918
      -1,   484,   485,     3,     4,     5,     6,     7,     8,     9,
15919
      10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
15920
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
15921
      -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,
15922
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
15923
      50,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
15924
      60,    61,    62,    63,    64,    65,    66,    -1,    68,    69,
15925
      70,    71,    72,    -1,    74,    75,    -1,    77,    78,    79,
15926
      80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
15927
      90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
15928
     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
15929
     110,   111,   112,   113,   114,   115,    -1,   117,   118,   119,
15930
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
15931
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
15932
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
15933
     150,   151,   152,   153,   154,    -1,   156,   157,   158,   159,
15934
      -1,   161,    -1,   163,   164,    -1,   166,   167,   168,   169,
15935
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
15936
     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
15937
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
15938
     200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
15939
      -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
15940
     220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
15941
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
15942
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
15943
     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
15944
     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
15945
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
15946
     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
15947
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
15948
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
15949
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
15950
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
15951
     330,   331,   332,   333,    -1,   335,   336,   337,   338,   339,
15952
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
15953
     350,   351,   352,    -1,   354,   355,   356,   357,   358,   359,
15954
     360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
15955
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
15956
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
15957
     390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
15958
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
15959
     410,   411,   412,   413,   414,   415,   416,   417,    -1,   419,
15960
     420,   421,   422,   423,   424,   425,    -1,   427,   428,   429,
15961
     430,   431,   432,   433,    -1,   435,   436,   437,   438,   439,
15962
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
15963
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
15964
     460,   461,   462,   463,   464,   465,   466,    -1,    -1,    -1,
15965
      -1,    -1,    -1,    -1,    -1,   475,   476,    -1,    -1,    -1,
15966
      -1,    -1,    -1,    -1,   484,   485,     3,     4,     5,     6,
15967
       7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
15968
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
15969
      27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
15970
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
15971
      47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
15972
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
15973
      -1,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
15974
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
15975
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
15976
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
15977
     107,   108,   109,   110,   111,   112,   113,   114,   115,    -1,
15978
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
15979
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
15980
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
15981
     147,   148,   149,   150,   151,   152,   153,   154,    -1,   156,
15982
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
15983
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
15984
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
15985
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
15986
     197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
15987
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
15988
     217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
15989
     227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
15990
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
15991
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
15992
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
15993
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
15994
     277,    -1,    -1,   280,   281,   282,   283,   284,   285,   286,
15995
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
15996
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
15997
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
15998
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
15999
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
16000
     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
16001
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
16002
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
16003
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
16004
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
16005
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
16006
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
16007
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
16008
     417,    -1,   419,   420,   421,   422,   423,   424,   425,    -1,
16009
     427,   428,   429,   430,   431,   432,   433,    -1,   435,   436,
16010
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
16011
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
16012
     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
16013
      -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,   475,   476,
16014
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,   485,    18,
16015
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16016
      29,    -1,    -1,    -1,    -1,    -1,    35,    -1,    37,    38,
16017
      -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
16018
      49,    -1,    51,    52,    -1,    54,    55,    56,    57,    58,
16019
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
16020
      69,    70,    71,    72,    -1,    -1,    75,    -1,    77,    78,
16021
      79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
16022
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
16023
      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
16024
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
16025
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
16026
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
16027
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
16028
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
16029
     159,    -1,   161,    -1,   163,    -1,    -1,   166,   167,   168,
16030
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
16031
      -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
16032
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
16033
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
16034
     209,    -1,   211,    -1,    -1,   214,   215,   216,   217,   218,
16035
     219,   220,    -1,    -1,   223,   224,   225,   226,    -1,    -1,
16036
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
16037
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16038
     249,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
16039
     259,   260,    -1,   262,    -1,   264,   265,   266,   267,   268,
16040
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
16041
      -1,   280,   281,   282,    -1,   284,    -1,   286,   287,   288,
16042
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
16043
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
16044
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
16045
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
16046
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
16047
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
16048
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
16049
      -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
16050
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
16051
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
16052
     389,   390,   391,    -1,   393,   394,   395,   396,   397,   398,
16053
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
16054
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
16055
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
16056
     429,   430,   431,   432,   433,    -1,   435,    -1,   437,   438,
16057
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
16058
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
16059
     459,   460,   461,   462,   463,   464,   465,    -1,    -1,    -1,
16060
      -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16061
      -1,    -1,    -1,    -1,    -1,    -1,   485,    18,    19,    20,
16062
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
16063
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
16064
      41,    42,    43,    44,    45,    46,    47,    -1,    49,    50,
16065
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
16066
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
16067
      71,    -1,    -1,    74,    75,    -1,    77,    78,    79,    80,
16068
      81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
16069
      91,    92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,
16070
     101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
16071
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
16072
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
16073
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
16074
     141,   142,    -1,   144,   145,   146,   147,    -1,   149,   150,
16075
     151,    -1,    -1,   154,    -1,   156,   157,   158,   159,    -1,
16076
     161,    -1,   163,   164,    -1,   166,   167,   168,   169,   170,
16077
      -1,   172,    -1,    -1,    -1,   176,   177,   178,    -1,   180,
16078
     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
16079
     191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
16080
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
16081
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
16082
      -1,    -1,   223,    -1,   225,   226,   227,    -1,   229,   230,
16083
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
16084
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16085
     251,   252,   253,   254,   255,   256,    -1,    -1,   259,   260,
16086
     261,   262,    -1,    -1,   265,   266,   267,   268,   269,    -1,
16087
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
16088
     281,   282,   283,   284,   285,    -1,   287,   288,   289,   290,
16089
     291,   292,   293,   294,   295,    -1,   297,   298,    -1,   300,
16090
      -1,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
16091
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
16092
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
16093
     331,   332,   333,    -1,   335,   336,   337,   338,   339,   340,
16094
     341,   342,    -1,   344,   345,   346,   347,   348,   349,   350,
16095
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
16096
     361,   362,   363,   364,   365,   366,   367,   368,   369,    -1,
16097
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
16098
     381,   382,   383,    -1,    -1,   386,   387,    -1,   389,   390,
16099
     391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
16100
     401,   402,    -1,    -1,   405,   406,    -1,   408,    -1,    -1,
16101
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
16102
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
16103
     431,    -1,   433,   434,   435,   436,   437,   438,   439,   440,
16104
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
16105
     451,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16106
      -1,    -1,   463,   464,   465,    -1,    18,    19,    20,    21,
16107
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
16108
      -1,    -1,    -1,    -1,   485,    37,    38,    -1,    40,    41,
16109
      42,    43,    44,    45,    46,    47,    -1,    49,    50,    51,
16110
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
16111
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
16112
      -1,    -1,    74,    75,    -1,    77,    78,    79,    80,    81,
16113
      82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
16114
      92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
16115
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
16116
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
16117
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
16118
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
16119
     142,    -1,   144,   145,   146,   147,    -1,   149,   150,   151,
16120
      -1,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
16121
      -1,   163,   164,    -1,   166,   167,   168,   169,   170,    -1,
16122
     172,    -1,    -1,    -1,   176,   177,   178,    -1,   180,   181,
16123
     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
16124
     192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
16125
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
16126
     212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
16127
      -1,   223,    -1,   225,   226,   227,    -1,   229,   230,   231,
16128
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
16129
     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
16130
     252,   253,   254,   255,   256,    -1,    -1,   259,   260,   261,
16131
     262,    -1,    -1,   265,   266,   267,   268,   269,    -1,   271,
16132
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
16133
     282,   283,   284,   285,    -1,   287,   288,   289,   290,   291,
16134
     292,   293,   294,   295,    -1,   297,   298,    -1,   300,    -1,
16135
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
16136
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
16137
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
16138
     332,   333,    -1,   335,   336,   337,   338,   339,   340,   341,
16139
     342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
16140
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
16141
     362,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
16142
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
16143
     382,   383,    -1,    -1,   386,   387,    -1,   389,   390,   391,
16144
     392,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
16145
     402,    -1,    -1,   405,   406,    -1,   408,    -1,    -1,   411,
16146
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
16147
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
16148
      -1,   433,   434,   435,   436,   437,   438,   439,   440,    -1,
16149
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
16150
       3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
16151
      -1,   463,   464,   465,    -1,    18,    19,    20,    21,    22,
16152
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16153
      -1,    34,    -1,   485,    37,    38,    -1,    40,    41,    42,
16154
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
16155
      -1,    54,    55,    56,    57,    58,    59,    60,    61,    62,
16156
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
16157
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
16158
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
16159
      -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16160
     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16161
     113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
16162
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
16163
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
16164
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16165
     153,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
16166
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
16167
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
16168
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
16169
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
16170
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
16171
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
16172
     223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
16173
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16174
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16175
     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16176
     263,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
16177
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
16178
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
16179
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
16180
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
16181
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
16182
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
16183
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
16184
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
16185
     353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
16186
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
16187
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
16188
     383,   384,    -1,   386,   387,   388,   389,   390,   391,   392,
16189
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
16190
      -1,    -1,   405,   406,   407,   408,   409,   410,   411,   412,
16191
     413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
16192
     423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
16193
     433,    -1,   435,   436,   437,   438,   439,   440,    -1,    -1,
16194
     443,    -1,   445,   446,   447,   448,   449,   450,   451,   452,
16195
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
16196
     463,   464,   465,   466,    -1,   468,    -1,    -1,    -1,    -1,
16197
      -1,    -1,   475,   476,    -1,    -1,    -1,    -1,    -1,    -1,
16198
      -1,   484,     3,     4,     5,     6,     7,     8,     9,    10,
16199
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
16200
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
16201
      -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
16202
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
16203
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
16204
      61,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
16205
      71,    72,    -1,    74,    75,    -1,    77,    78,    79,    80,
16206
      81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
16207
      91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
16208
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
16209
     111,   112,   113,   114,   115,    -1,   117,   118,   119,   120,
16210
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
16211
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
16212
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
16213
     151,   152,   153,   154,    -1,   156,   157,   158,   159,    -1,
16214
     161,    -1,   163,   164,   165,   166,   167,   168,   169,   170,
16215
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
16216
     181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
16217
     191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
16218
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
16219
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
16220
      -1,   222,   223,   224,   225,   226,   227,    -1,   229,   230,
16221
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16222
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16223
     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
16224
     261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
16225
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
16226
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
16227
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
16228
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
16229
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
16230
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
16231
     331,   332,   333,    -1,   335,   336,   337,   338,   339,   340,
16232
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
16233
     351,   352,    -1,   354,   355,   356,   357,   358,   359,   360,
16234
     361,   362,   363,   364,   365,   366,   367,   368,   369,    -1,
16235
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
16236
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
16237
     391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
16238
     401,   402,    -1,   404,   405,   406,   407,   408,   409,   410,
16239
     411,   412,   413,   414,   415,   416,   417,    -1,   419,   420,
16240
     421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
16241
     431,   432,   433,    -1,   435,   436,   437,   438,   439,   440,
16242
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
16243
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
16244
     461,   462,   463,   464,   465,   466,    -1,    -1,    -1,    -1,
16245
      -1,    -1,    -1,    -1,   475,   476,    -1,    -1,    -1,    -1,
16246
      -1,    -1,    -1,   484,     3,     4,     5,     6,     7,     8,
16247
       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
16248
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16249
      29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
16250
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
16251
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
16252
      59,    60,    61,    62,    63,    64,    65,    66,    -1,    68,
16253
      69,    70,    71,    72,    -1,    74,    75,    -1,    77,    78,
16254
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
16255
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    98,
16256
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16257
     109,   110,   111,   112,   113,   114,   115,    -1,   117,   118,
16258
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
16259
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
16260
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
16261
     149,   150,   151,   152,   153,   154,    -1,   156,   157,   158,
16262
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
16263
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
16264
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
16265
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
16266
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
16267
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
16268
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
16269
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16270
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16271
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
16272
     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
16273
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
16274
      -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
16275
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
16276
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
16277
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
16278
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
16279
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
16280
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
16281
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
16282
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
16283
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
16284
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
16285
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
16286
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
16287
     409,   410,   411,   412,   413,   414,   415,   416,   417,    -1,
16288
     419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
16289
     429,   430,   431,   432,   433,    -1,   435,   436,   437,   438,
16290
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
16291
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
16292
     459,   460,   461,   462,   463,   464,   465,   466,    -1,    -1,
16293
      -1,    -1,    -1,    -1,    -1,    -1,   475,   476,    -1,    -1,
16294
      -1,    -1,    -1,   482,   483,   484,     3,     4,     5,     6,
16295
       7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
16296
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
16297
      27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
16298
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
16299
      47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
16300
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
16301
      -1,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
16302
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
16303
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
16304
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
16305
     107,   108,   109,   110,   111,   112,   113,   114,   115,    -1,
16306
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
16307
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
16308
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
16309
     147,   148,   149,   150,   151,   152,   153,   154,    -1,   156,
16310
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
16311
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
16312
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
16313
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
16314
     197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
16315
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
16316
     217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
16317
     227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
16318
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
16319
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
16320
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
16321
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
16322
     277,    -1,    -1,   280,   281,   282,   283,   284,   285,   286,
16323
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
16324
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
16325
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
16326
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
16327
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
16328
     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
16329
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
16330
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
16331
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
16332
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
16333
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
16334
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
16335
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
16336
     417,    -1,   419,   420,   421,   422,   423,   424,   425,    -1,
16337
     427,   428,   429,   430,   431,   432,   433,    -1,   435,   436,
16338
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
16339
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
16340
     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
16341
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   475,   476,
16342
     477,    -1,    -1,    -1,    -1,    -1,    -1,   484,     3,     4,
16343
       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
16344
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
16345
      25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
16346
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
16347
      45,    46,    47,    48,    49,    50,    51,    52,    -1,    54,
16348
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
16349
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    74,
16350
      75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
16351
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
16352
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
16353
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
16354
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
16355
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
16356
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
16357
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
16358
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,   164,
16359
      -1,   166,   167,   168,   169,   170,    -1,   172,   173,    -1,
16360
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
16361
     185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
16362
     195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
16363
     205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
16364
     215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
16365
     225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
16366
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
16367
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
16368
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
16369
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
16370
     275,   276,   277,    -1,    -1,   280,   281,   282,   283,   284,
16371
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
16372
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
16373
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
16374
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
16375
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
16376
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
16377
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
16378
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
16379
     365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
16380
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
16381
      -1,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
16382
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
16383
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
16384
     415,   416,   417,    -1,   419,   420,   421,   422,   423,   424,
16385
     425,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
16386
     435,   436,   437,   438,   439,   440,    -1,    -1,   443,    -1,
16387
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
16388
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
16389
     465,   466,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16390
     475,   476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,
16391
       3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
16392
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
16393
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16394
      -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
16395
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
16396
      -1,    54,    55,    56,    57,    58,    59,    60,    61,    62,
16397
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
16398
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
16399
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
16400
      -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16401
     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16402
     113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
16403
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
16404
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
16405
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16406
     153,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
16407
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
16408
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
16409
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
16410
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
16411
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
16412
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
16413
     223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
16414
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16415
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16416
     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16417
     263,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
16418
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
16419
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
16420
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
16421
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
16422
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
16423
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
16424
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
16425
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
16426
      -1,   354,   355,   356,   357,   358,   359,   360,   361,   362,
16427
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
16428
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
16429
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,   392,
16430
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
16431
      -1,    -1,   405,   406,   407,   408,   409,   410,   411,   412,
16432
     413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
16433
     423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
16434
     433,   434,   435,   436,   437,   438,   439,   440,    -1,    -1,
16435
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
16436
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
16437
     463,   464,   465,   466,    -1,    -1,    -1,    -1,    -1,    -1,
16438
      -1,    -1,   475,   476,    -1,    -1,    -1,    -1,    -1,    -1,
16439
      -1,   484,     3,     4,     5,     6,     7,     8,     9,    10,
16440
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
16441
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
16442
      -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
16443
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
16444
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    60,
16445
      61,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
16446
      71,    72,    -1,    74,    75,    -1,    77,    78,    79,    80,
16447
      81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
16448
      91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
16449
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
16450
     111,   112,   113,   114,   115,    -1,   117,   118,   119,   120,
16451
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
16452
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
16453
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
16454
     151,   152,   153,   154,    -1,   156,   157,   158,   159,    -1,
16455
     161,    -1,   163,   164,   165,   166,   167,   168,   169,   170,
16456
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
16457
     181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
16458
     191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
16459
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
16460
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
16461
      -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
16462
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16463
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16464
     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
16465
     261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
16466
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
16467
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
16468
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
16469
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
16470
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
16471
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
16472
     331,   332,   333,    -1,   335,   336,   337,   338,   339,   340,
16473
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
16474
     351,   352,    -1,   354,   355,   356,   357,   358,   359,   360,
16475
     361,   362,   363,   364,   365,   366,   367,   368,   369,    -1,
16476
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
16477
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
16478
     391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
16479
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,   410,
16480
     411,   412,   413,   414,   415,   416,   417,    -1,   419,   420,
16481
     421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
16482
     431,   432,   433,    -1,   435,   436,   437,   438,   439,   440,
16483
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
16484
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
16485
     461,   462,   463,   464,   465,   466,    -1,    -1,    -1,    -1,
16486
      -1,    -1,    -1,    -1,   475,   476,    -1,    -1,    -1,    -1,
16487
      -1,    -1,    -1,   484,     3,     4,     5,     6,     7,     8,
16488
       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
16489
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16490
      29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
16491
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
16492
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
16493
      59,    60,    61,    62,    63,    64,    65,    66,    -1,    68,
16494
      69,    70,    71,    72,    -1,    74,    75,    -1,    77,    78,
16495
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
16496
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    98,
16497
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16498
     109,   110,   111,   112,   113,   114,   115,    -1,   117,   118,
16499
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
16500
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
16501
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
16502
     149,   150,   151,   152,   153,   154,    -1,   156,   157,   158,
16503
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
16504
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
16505
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
16506
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
16507
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
16508
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
16509
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
16510
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16511
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16512
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
16513
     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
16514
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
16515
      -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
16516
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
16517
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
16518
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
16519
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
16520
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
16521
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
16522
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
16523
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
16524
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
16525
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
16526
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
16527
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
16528
     409,   410,   411,   412,   413,   414,   415,   416,   417,    -1,
16529
     419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
16530
     429,   430,   431,   432,   433,    -1,   435,   436,   437,   438,
16531
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
16532
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
16533
     459,   460,   461,   462,   463,   464,   465,   466,    -1,    -1,
16534
      -1,    -1,    -1,    -1,    -1,    -1,   475,   476,    -1,    -1,
16535
      -1,    -1,    -1,    -1,    -1,   484,     3,     4,     5,     6,
16536
       7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
16537
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
16538
      27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
16539
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
16540
      47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
16541
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
16542
      -1,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
16543
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
16544
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
16545
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
16546
     107,   108,   109,   110,   111,   112,   113,   114,   115,    -1,
16547
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
16548
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
16549
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
16550
     147,   148,   149,   150,   151,   152,   153,   154,    -1,   156,
16551
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
16552
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
16553
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
16554
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
16555
     197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
16556
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
16557
     217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
16558
     227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
16559
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
16560
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
16561
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
16562
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
16563
     277,    -1,    -1,   280,   281,   282,   283,   284,   285,   286,
16564
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
16565
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
16566
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
16567
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
16568
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
16569
     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
16570
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
16571
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
16572
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
16573
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
16574
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
16575
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
16576
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
16577
     417,    -1,   419,   420,   421,   422,   423,   424,   425,    -1,
16578
     427,   428,   429,   430,   431,   432,   433,    -1,   435,   436,
16579
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
16580
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
16581
     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
16582
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   475,   476,
16583
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,     3,     4,
16584
       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
16585
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
16586
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
16587
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
16588
      45,    46,    47,    48,    49,    50,    51,    52,    -1,    54,
16589
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
16590
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    74,
16591
      75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
16592
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
16593
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
16594
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
16595
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
16596
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
16597
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
16598
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
16599
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,   164,
16600
      -1,   166,   167,   168,   169,   170,    -1,   172,   173,    -1,
16601
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
16602
     185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
16603
     195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
16604
     205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
16605
     215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
16606
     225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
16607
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
16608
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
16609
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
16610
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
16611
     275,   276,   277,    -1,    -1,   280,   281,   282,   283,   284,
16612
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
16613
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
16614
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
16615
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
16616
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
16617
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
16618
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
16619
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
16620
     365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
16621
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
16622
      -1,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
16623
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
16624
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
16625
     415,   416,   417,    -1,   419,   420,   421,   422,   423,   424,
16626
     425,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
16627
     435,   436,   437,   438,   439,   440,    -1,    -1,   443,    -1,
16628
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
16629
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
16630
     465,   466,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16631
     475,   476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,
16632
       3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
16633
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
16634
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16635
      -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
16636
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
16637
      -1,    54,    55,    56,    57,    58,    59,    60,    61,    62,
16638
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
16639
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
16640
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
16641
      -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16642
     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16643
     113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
16644
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
16645
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
16646
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16647
     153,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
16648
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
16649
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
16650
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
16651
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
16652
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
16653
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
16654
     223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
16655
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16656
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16657
     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16658
     263,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
16659
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
16660
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
16661
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
16662
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
16663
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
16664
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
16665
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
16666
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
16667
      -1,   354,   355,   356,   357,   358,   359,   360,   361,   362,
16668
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
16669
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
16670
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,   392,
16671
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
16672
      -1,    -1,   405,   406,   407,   408,   409,   410,   411,   412,
16673
     413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
16674
     423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
16675
     433,    -1,   435,   436,   437,   438,   439,   440,    -1,    -1,
16676
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
16677
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
16678
     463,   464,   465,   466,    -1,    -1,    -1,    -1,    -1,    -1,
16679
      -1,    -1,   475,   476,    -1,    -1,    -1,    -1,    -1,    -1,
16680
      -1,   484,     3,     4,     5,     6,     7,     8,     9,    10,
16681
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
16682
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
16683
      -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
16684
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
16685
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    60,
16686
      61,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
16687
      71,    72,    -1,    74,    75,    -1,    77,    78,    79,    80,
16688
      81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
16689
      91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
16690
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
16691
     111,   112,   113,   114,   115,    -1,   117,   118,   119,   120,
16692
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
16693
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
16694
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
16695
     151,   152,   153,   154,    -1,   156,   157,   158,   159,    -1,
16696
     161,    -1,   163,   164,    -1,   166,   167,   168,   169,   170,
16697
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
16698
     181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
16699
     191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
16700
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
16701
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
16702
      -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
16703
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16704
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16705
     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
16706
     261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
16707
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
16708
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
16709
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
16710
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
16711
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
16712
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
16713
     331,   332,   333,    -1,   335,   336,   337,   338,   339,   340,
16714
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
16715
     351,   352,    -1,   354,   355,   356,   357,   358,   359,   360,
16716
     361,   362,   363,   364,   365,   366,   367,   368,   369,    -1,
16717
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
16718
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
16719
     391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
16720
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,   410,
16721
     411,   412,   413,   414,   415,   416,   417,    -1,   419,   420,
16722
     421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
16723
     431,   432,   433,    -1,   435,   436,   437,   438,   439,   440,
16724
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
16725
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
16726
     461,   462,   463,   464,   465,   466,    -1,    -1,    -1,    -1,
16727
      -1,    -1,    -1,    -1,   475,   476,    -1,    -1,    -1,    -1,
16728
      -1,    -1,    -1,   484,     3,     4,     5,     6,     7,     8,
16729
       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
16730
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16731
      29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
16732
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
16733
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
16734
      59,    60,    61,    62,    63,    64,    65,    66,    -1,    68,
16735
      69,    70,    71,    72,    -1,    74,    75,    -1,    77,    78,
16736
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
16737
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    98,
16738
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16739
     109,   110,   111,   112,   113,   114,   115,    -1,   117,   118,
16740
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
16741
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
16742
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
16743
     149,   150,   151,   152,   153,   154,    -1,   156,   157,   158,
16744
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
16745
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
16746
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
16747
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
16748
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
16749
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
16750
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
16751
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16752
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16753
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
16754
     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
16755
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
16756
      -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
16757
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
16758
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
16759
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
16760
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
16761
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
16762
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
16763
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
16764
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
16765
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
16766
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
16767
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
16768
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
16769
     409,   410,   411,   412,   413,   414,   415,   416,   417,    -1,
16770
     419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
16771
     429,   430,   431,   432,   433,    -1,   435,   436,   437,   438,
16772
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
16773
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
16774
     459,   460,   461,   462,   463,   464,   465,   466,    -1,    -1,
16775
      -1,    -1,    -1,    -1,    -1,    -1,   475,   476,    -1,    -1,
16776
      -1,    -1,    -1,    -1,    -1,   484,     3,     4,     5,     6,
16777
       7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
16778
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
16779
      27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
16780
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
16781
      47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
16782
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
16783
      -1,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
16784
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
16785
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
16786
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
16787
     107,   108,   109,   110,   111,   112,   113,   114,   115,    -1,
16788
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
16789
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
16790
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
16791
     147,   148,   149,   150,   151,   152,   153,   154,    -1,   156,
16792
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
16793
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
16794
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
16795
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
16796
     197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
16797
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
16798
     217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
16799
     227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
16800
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
16801
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
16802
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
16803
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
16804
     277,    -1,    -1,   280,   281,   282,   283,   284,   285,   286,
16805
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
16806
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
16807
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
16808
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
16809
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
16810
     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
16811
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
16812
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
16813
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
16814
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
16815
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
16816
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
16817
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
16818
     417,    -1,   419,   420,   421,   422,   423,   424,   425,    -1,
16819
     427,   428,   429,   430,   431,   432,   433,    -1,   435,   436,
16820
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
16821
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
16822
     457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
16823
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   475,   476,
16824
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,     3,     4,
16825
       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
16826
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
16827
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
16828
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
16829
      45,    46,    47,    48,    49,    50,    51,    52,    -1,    54,
16830
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
16831
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    74,
16832
      75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
16833
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
16834
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
16835
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
16836
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
16837
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
16838
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
16839
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
16840
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,   164,
16841
      -1,   166,   167,   168,   169,   170,    -1,   172,   173,    -1,
16842
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
16843
     185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
16844
     195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
16845
     205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
16846
     215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
16847
     225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
16848
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
16849
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
16850
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
16851
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
16852
     275,   276,   277,    -1,    -1,   280,   281,   282,   283,   284,
16853
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
16854
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
16855
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
16856
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
16857
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
16858
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
16859
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
16860
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
16861
     365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
16862
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
16863
      -1,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
16864
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
16865
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
16866
     415,   416,   417,    -1,   419,   420,   421,   422,   423,   424,
16867
     425,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
16868
     435,   436,   437,   438,   439,   440,    -1,    -1,   443,    -1,
16869
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
16870
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
16871
     465,   466,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16872
     475,   476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,
16873
       3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
16874
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
16875
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16876
      -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
16877
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
16878
      -1,    54,    55,    56,    57,    58,    59,    60,    61,    62,
16879
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
16880
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
16881
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
16882
      -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16883
     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16884
     113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
16885
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
16886
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
16887
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
16888
     153,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
16889
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
16890
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
16891
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
16892
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
16893
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
16894
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
16895
     223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
16896
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16897
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
16898
     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16899
     263,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
16900
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
16901
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
16902
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
16903
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
16904
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
16905
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
16906
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
16907
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
16908
      -1,   354,   355,   356,   357,   358,   359,   360,   361,   362,
16909
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
16910
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
16911
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,   392,
16912
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
16913
      -1,    -1,   405,   406,   407,   408,   409,   410,   411,   412,
16914
     413,   414,   415,   416,   417,    -1,   419,   420,   421,   422,
16915
     423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
16916
     433,    -1,   435,   436,   437,   438,   439,   440,    -1,    -1,
16917
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
16918
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
16919
     463,   464,   465,   466,    -1,    -1,    -1,    -1,    -1,    -1,
16920
      -1,    -1,   475,   476,    -1,    -1,    -1,    -1,    -1,    -1,
16921
      -1,   484,     3,     4,     5,     6,     7,     8,     9,    10,
16922
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
16923
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
16924
      -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
16925
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
16926
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    60,
16927
      61,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
16928
      71,    72,    -1,    74,    75,    -1,    77,    78,    79,    80,
16929
      81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
16930
      91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
16931
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
16932
     111,   112,   113,   114,   115,    -1,   117,   118,   119,   120,
16933
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
16934
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
16935
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
16936
     151,   152,   153,   154,    -1,   156,   157,   158,   159,    -1,
16937
     161,    -1,   163,   164,    -1,   166,   167,   168,   169,   170,
16938
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
16939
     181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
16940
     191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
16941
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
16942
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
16943
      -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
16944
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16945
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
16946
     251,   252,   253,   254,   255,   256,   257,    -1,   259,   260,
16947
     261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
16948
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
16949
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
16950
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
16951
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
16952
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
16953
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
16954
     331,   332,   333,    -1,   335,   336,   337,   338,   339,   340,
16955
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
16956
     351,   352,    -1,   354,   355,   356,   357,   358,   359,   360,
16957
     361,   362,   363,   364,   365,   366,   367,   368,   369,    -1,
16958
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
16959
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
16960
     391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
16961
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,   410,
16962
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
16963
     421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
16964
     431,   432,   433,    -1,   435,   436,   437,   438,   439,   440,
16965
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
16966
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
16967
     461,   462,   463,   464,   465,    -1,    -1,    -1,    -1,    -1,
16968
      -1,    -1,    -1,    -1,   475,   476,    -1,    -1,    -1,    -1,
16969
      -1,    -1,    -1,   484,     3,     4,     5,     6,     7,     8,
16970
       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
16971
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16972
      29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
16973
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
16974
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
16975
      59,    60,    61,    62,    63,    64,    65,    66,    -1,    68,
16976
      69,    70,    71,    72,    -1,    74,    75,    -1,    77,    78,
16977
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
16978
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    98,
16979
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16980
     109,   110,   111,   112,   113,   114,   115,    -1,   117,   118,
16981
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
16982
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
16983
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
16984
     149,   150,   151,   152,   153,   154,    -1,   156,   157,   158,
16985
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
16986
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
16987
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
16988
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
16989
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
16990
     209,    -1,   211,    -1,    -1,   214,   215,   216,   217,   218,
16991
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
16992
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16993
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
16994
     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
16995
     259,   260,    -1,   262,   263,   264,   265,   266,   267,   268,
16996
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
16997
      -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
16998
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
16999
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
17000
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
17001
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
17002
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
17003
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
17004
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
17005
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
17006
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
17007
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
17008
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
17009
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
17010
     409,   410,   411,   412,   413,   414,   415,   416,   417,    -1,
17011
     419,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
17012
     429,   430,   431,   432,   433,    -1,   435,   436,   437,   438,
17013
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
17014
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
17015
     459,   460,   461,   462,   463,   464,   465,   466,    -1,    -1,
17016
      -1,    -1,    -1,    -1,    -1,    -1,   475,   476,    -1,    -1,
17017
      -1,    -1,    -1,    -1,    -1,   484,     3,     4,     5,     6,
17018
       7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
17019
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
17020
      27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
17021
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
17022
      47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
17023
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
17024
      -1,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
17025
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
17026
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
17027
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
17028
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
17029
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
17030
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
17031
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
17032
     147,   148,   149,   150,   151,   152,   153,   154,    -1,   156,
17033
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
17034
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
17035
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
17036
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
17037
     197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
17038
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
17039
     217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
17040
     227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
17041
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
17042
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
17043
     257,    -1,   259,   260,   261,   262,   263,   264,   265,   266,
17044
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
17045
     277,    -1,    -1,   280,   281,   282,   283,   284,   285,   286,
17046
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
17047
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
17048
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
17049
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
17050
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
17051
     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
17052
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
17053
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
17054
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
17055
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
17056
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
17057
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
17058
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
17059
     417,    -1,    -1,   420,   421,   422,   423,   424,   425,    -1,
17060
     427,   428,   429,   430,   431,   432,   433,    -1,   435,   436,
17061
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
17062
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
17063
     457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
17064
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   475,   476,
17065
      -1,    -1,     3,     4,     5,     6,     7,   484,     9,    10,
17066
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
17067
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
17068
      -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
17069
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
17070
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    60,
17071
      61,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
17072
      71,    72,    -1,    74,    75,    -1,    77,    78,    79,    80,
17073
      81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
17074
      91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
17075
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
17076
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
17077
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
17078
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
17079
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
17080
     151,   152,   153,   154,    -1,   156,   157,   158,   159,    -1,
17081
     161,    -1,   163,   164,    -1,   166,   167,   168,   169,   170,
17082
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
17083
     181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
17084
     191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
17085
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
17086
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
17087
      -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
17088
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
17089
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
17090
     251,   252,   253,   254,   255,   256,   257,    -1,   259,   260,
17091
     261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
17092
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
17093
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
17094
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
17095
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
17096
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
17097
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
17098
     331,   332,   333,    -1,   335,   336,   337,   338,   339,   340,
17099
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
17100
     351,   352,    -1,   354,   355,   356,   357,   358,   359,   360,
17101
     361,   362,   363,   364,   365,   366,   367,   368,   369,    -1,
17102
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
17103
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
17104
     391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
17105
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,   410,
17106
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
17107
     421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
17108
     431,   432,   433,    -1,   435,   436,   437,   438,   439,   440,
17109
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
17110
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
17111
     461,   462,   463,   464,   465,    -1,    -1,    -1,    -1,    -1,
17112
      -1,    -1,    -1,    -1,   475,   476,    -1,    -1,    -1,    -1,
17113
      -1,    -1,    -1,   484,     3,     4,     5,     6,     7,     8,
17114
       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
17115
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
17116
      29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
17117
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
17118
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
17119
      59,    60,    61,    62,    63,    64,    65,    66,    -1,    68,
17120
      69,    70,    71,    72,    -1,    74,    75,    -1,    77,    78,
17121
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
17122
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    98,
17123
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
17124
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
17125
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
17126
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
17127
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
17128
     149,   150,   151,   152,   153,   154,    -1,   156,   157,   158,
17129
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
17130
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
17131
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
17132
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
17133
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
17134
     209,    -1,   211,    -1,   213,   214,   215,   216,   217,   218,
17135
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
17136
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
17137
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
17138
     249,   250,   251,   252,   253,   254,   255,   256,   257,    -1,
17139
     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
17140
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
17141
      -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
17142
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
17143
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
17144
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
17145
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
17146
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
17147
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
17148
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
17149
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
17150
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
17151
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
17152
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
17153
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
17154
     409,   410,   411,   412,   413,   414,   415,   416,   417,    -1,
17155
      -1,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
17156
     429,   430,   431,   432,   433,    -1,   435,   436,   437,   438,
17157
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
17158
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
17159
     459,   460,   461,   462,   463,   464,   465,    -1,    -1,    -1,
17160
      -1,    -1,    -1,    -1,    -1,    -1,   475,   476,    -1,    -1,
17161
       3,     4,     5,     6,     7,   484,     9,    10,    -1,    -1,
17162
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
17163
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
17164
      -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
17165
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17166
      -1,    54,    55,    56,    57,    58,    59,    60,    61,    62,
17167
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
17168
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
17169
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
17170
      -1,    94,    95,    96,    97,    98,    99,   100,   101,   102,
17171
     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17172
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
17173
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
17174
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
17175
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
17176
     153,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
17177
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
17178
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
17179
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
17180
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
17181
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
17182
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
17183
     223,   224,   225,   226,   227,    -1,   229,   230,   231,   232,
17184
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
17185
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17186
     253,   254,   255,   256,   257,    -1,   259,   260,   261,   262,
17187
     263,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
17188
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
17189
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
17190
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
17191
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
17192
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
17193
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
17194
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
17195
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
17196
      -1,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17197
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
17198
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
17199
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,   392,
17200
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
17201
      -1,    -1,   405,   406,   407,   408,   409,   410,   411,   412,
17202
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
17203
     423,   424,   425,    -1,   427,   428,   429,   430,   431,   432,
17204
     433,    -1,   435,   436,   437,   438,   439,   440,    -1,    -1,
17205
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
17206
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
17207
     463,   464,   465,    -1,    -1,    -1,    -1,     3,     4,     5,
17208
       6,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
17209
      -1,   484,    18,    19,    20,    21,    22,    23,    24,    25,
17210
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,
17211
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
17212
      46,    47,    48,    49,    50,    51,    52,    -1,    54,    55,
17213
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
17214
      66,    -1,    68,    69,    70,    71,    72,    -1,    74,    75,
17215
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
17216
      -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
17217
      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
17218
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
17219
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
17220
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
17221
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
17222
     146,   147,   148,   149,   150,   151,   152,   153,   154,    -1,
17223
     156,   157,   158,   159,    -1,   161,    -1,   163,   164,    -1,
17224
     166,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
17225
     176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
17226
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
17227
     196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
17228
     206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
17229
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
17230
     226,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
17231
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17232
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
17233
     256,   257,    -1,   259,   260,   261,   262,   263,   264,   265,
17234
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
17235
     276,   277,    -1,    -1,   280,   281,   282,   283,   284,   285,
17236
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
17237
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
17238
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
17239
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
17240
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
17241
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
17242
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
17243
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
17244
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
17245
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
17246
     386,   387,    -1,   389,   390,   391,   392,   393,   394,   395,
17247
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
17248
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
17249
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,   425,
17250
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
17251
     436,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
17252
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
17253
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
17254
      -1,    -1,    -1,    -1,     3,     4,     5,     6,     7,    -1,
17255
       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,   484,    18,
17256
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
17257
      29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
17258
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
17259
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
17260
      59,    60,    61,    62,    63,    64,    65,    66,    -1,    68,
17261
      69,    70,    71,    72,    -1,    74,    75,    -1,    77,    78,
17262
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
17263
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    98,
17264
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
17265
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
17266
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
17267
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
17268
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
17269
     149,   150,   151,   152,   153,   154,    -1,   156,   157,   158,
17270
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
17271
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
17272
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
17273
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
17274
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
17275
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
17276
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
17277
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
17278
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
17279
     249,   250,   251,   252,   253,   254,   255,   256,   257,    -1,
17280
     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
17281
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
17282
      -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
17283
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
17284
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
17285
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
17286
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
17287
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
17288
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
17289
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
17290
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
17291
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
17292
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
17293
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
17294
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
17295
     409,   410,   411,   412,   413,   414,   415,   416,   417,    -1,
17296
      -1,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
17297
     429,   430,   431,   432,   433,    -1,   435,   436,   437,   438,
17298
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
17299
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
17300
     459,   460,   461,   462,   463,   464,   465,    -1,    -1,    -1,
17301
      -1,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
17302
      -1,    -1,    -1,    -1,    -1,   484,    18,    19,    20,    21,
17303
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
17304
      -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,
17305
      42,    43,    44,    45,    46,    47,    -1,    49,    50,    51,
17306
      52,    -1,    54,    55,    56,    57,    58,    59,    60,    61,
17307
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
17308
      72,    -1,    74,    75,    -1,    77,    78,    79,    80,    81,
17309
      82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
17310
      92,    -1,    94,    95,    96,    97,    98,    99,   100,   101,
17311
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
17312
     112,   113,   114,   115,    -1,   117,   118,   119,   120,   121,
17313
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
17314
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,    -1,
17315
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
17316
     152,   153,   154,    -1,   156,   157,   158,   159,    -1,   161,
17317
      -1,   163,   164,    -1,   166,   167,   168,   169,   170,    -1,
17318
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
17319
     182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
17320
     192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
17321
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
17322
      -1,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
17323
      -1,   223,   224,   225,   226,    -1,    -1,   229,   230,   231,
17324
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
17325
     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
17326
     252,   253,   254,   255,   256,   257,   258,   259,   260,    -1,
17327
     262,   263,   264,   265,   266,   267,   268,   269,    -1,   271,
17328
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
17329
     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
17330
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
17331
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
17332
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
17333
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
17334
     332,   333,    -1,   335,   336,   337,   338,   339,   340,   341,
17335
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
17336
     352,    -1,   354,   355,   356,   357,   358,   359,   360,   361,
17337
     362,   363,   364,    -1,   366,   367,   368,   369,    -1,   371,
17338
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
17339
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
17340
     392,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
17341
     402,    -1,    -1,   405,   406,   407,   408,   409,   410,   411,
17342
     412,   413,   414,   415,   416,   417,    -1,   419,   420,   421,
17343
     422,   423,   424,   425,    -1,   427,   428,   429,   430,   431,
17344
     432,   433,    -1,   435,   436,   437,   438,   439,   440,    -1,
17345
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
17346
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
17347
     462,   463,   464,   465,    -1,    -1,    -1,    -1,     3,    -1,
17348
      -1,    -1,    -1,   475,   476,    -1,    -1,    -1,    -1,    -1,
17349
      -1,    -1,   484,    18,    19,    20,    21,    22,    23,    24,
17350
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
17351
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
17352
      45,    46,    47,    48,    49,    50,    51,    52,    -1,    54,
17353
      55,    56,    57,    58,    59,    -1,    61,    62,    63,    64,
17354
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    74,
17355
      75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
17356
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
17357
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
17358
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
17359
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17360
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17361
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17362
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
17363
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,   164,
17364
      -1,   166,   167,   168,   169,   170,    -1,   172,   173,    -1,
17365
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17366
     185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17367
     195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
17368
     205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
17369
     215,   216,   217,   218,   219,   220,   221,    -1,   223,   224,
17370
     225,   226,   227,    -1,   229,   230,   231,   232,   233,   234,
17371
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17372
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
17373
     255,   256,   257,    -1,   259,   260,   261,   262,    -1,   264,
17374
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,   274,
17375
     275,   276,   277,    -1,    -1,   280,   281,   282,   283,   284,
17376
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17377
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
17378
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
17379
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
17380
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
17381
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
17382
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
17383
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
17384
     365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
17385
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
17386
      -1,   386,   387,   388,   389,   390,   391,   392,   393,   394,
17387
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
17388
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
17389
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
17390
     425,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
17391
     435,   436,   437,   438,   439,   440,    -1,    -1,   443,    -1,
17392
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
17393
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17394
     465,    -1,    -1,   468,    -1,     3,    -1,    -1,    -1,    -1,
17395
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,
17396
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
17397
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
17398
      38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
17399
      48,    49,    50,    51,    52,    -1,    54,    55,    56,    57,
17400
      58,    59,    -1,    61,    62,    63,    64,    65,    66,    -1,
17401
      68,    69,    70,    71,    72,    -1,    74,    75,    -1,    77,
17402
      78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
17403
      88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
17404
      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
17405
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
17406
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
17407
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
17408
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
17409
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
17410
     158,   159,    -1,   161,    -1,   163,   164,    -1,   166,   167,
17411
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
17412
     178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
17413
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
17414
      -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
17415
      -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
17416
     218,   219,   220,   221,    -1,   223,   224,   225,   226,   227,
17417
      -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
17418
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
17419
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
17420
      -1,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
17421
     268,   269,    -1,   271,   272,    -1,   274,   275,   276,   277,
17422
      -1,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
17423
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
17424
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
17425
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
17426
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
17427
     328,   329,   330,   331,   332,   333,    -1,   335,   336,   337,
17428
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
17429
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
17430
     358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
17431
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
17432
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
17433
      -1,   389,   390,   391,   392,   393,   394,   395,   396,   397,
17434
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
17435
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
17436
      -1,    -1,   420,   421,   422,   423,   424,   425,    -1,   427,
17437
     428,   429,   430,   431,   432,   433,    -1,   435,   436,   437,
17438
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
17439
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
17440
     458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
17441
      -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17442
      -1,    -1,    -1,    -1,    -1,    -1,   484,    18,    19,    20,
17443
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
17444
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
17445
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
17446
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
17447
      61,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
17448
      71,    72,    -1,    74,    75,    -1,    77,    78,    79,    80,
17449
      81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
17450
      91,    92,    -1,    94,    95,    96,    97,    98,    99,   100,
17451
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
17452
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
17453
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
17454
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
17455
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
17456
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
17457
     161,    -1,   163,   164,    -1,   166,   167,   168,   169,   170,
17458
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
17459
     181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
17460
     191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
17461
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
17462
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
17463
      -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
17464
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
17465
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
17466
     251,   252,   253,   254,   255,   256,   257,    -1,   259,   260,
17467
     261,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
17468
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
17469
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
17470
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
17471
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
17472
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
17473
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
17474
     331,   332,   333,    -1,   335,   336,   337,   338,   339,   340,
17475
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
17476
     351,   352,    -1,   354,   355,   356,   357,   358,   359,   360,
17477
     361,   362,   363,   364,   365,   366,   367,   368,   369,    -1,
17478
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
17479
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
17480
     391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
17481
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
17482
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
17483
     421,   422,   423,   424,   425,    -1,   427,   428,   429,   430,
17484
     431,   432,   433,    -1,   435,   436,   437,   438,   439,   440,
17485
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
17486
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
17487
     461,   462,   463,   464,   465,    -1,    -1,    -1,    -1,     3,
17488
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17489
      -1,    -1,    -1,   484,    18,    19,    20,    21,    22,    23,
17490
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
17491
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
17492
      44,    45,    46,    47,    48,    49,    50,    51,    52,    -1,
17493
      54,    55,    56,    57,    58,    59,    -1,    61,    62,    63,
17494
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
17495
      74,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
17496
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
17497
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
17498
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
17499
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
17500
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
17501
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
17502
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
17503
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
17504
     164,    -1,   166,   167,   168,   169,   170,    -1,   172,   173,
17505
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
17506
     184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
17507
     194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
17508
     204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
17509
     214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
17510
     224,   225,   226,   227,    -1,   229,   230,   231,   232,   233,
17511
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17512
     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
17513
     254,   255,   256,   257,    -1,   259,   260,   261,   262,    -1,
17514
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
17515
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,   283,
17516
     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
17517
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
17518
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
17519
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
17520
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
17521
      -1,   335,   336,   337,   338,   339,   340,   341,   342,   343,
17522
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
17523
     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
17524
     364,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
17525
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
17526
     384,    -1,   386,   387,    -1,   389,   390,   391,   392,   393,
17527
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
17528
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
17529
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
17530
     424,   425,    -1,   427,   428,   429,   430,   431,   432,   433,
17531
      -1,   435,   436,   437,   438,   439,   440,    -1,    -1,   443,
17532
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
17533
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
17534
     464,   465,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
17535
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17536
     484,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
17537
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17538
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
17539
      47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
17540
      57,    58,    59,    -1,    61,    62,    63,    64,    65,    66,
17541
      -1,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
17542
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
17543
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
17544
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
17545
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
17546
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
17547
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
17548
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
17549
     147,   148,   149,   150,   151,   152,    -1,   154,    -1,   156,
17550
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
17551
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
17552
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
17553
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
17554
     197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
17555
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
17556
     217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
17557
     227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
17558
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
17559
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
17560
     257,    -1,   259,   260,   261,   262,    -1,   264,   265,   266,
17561
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
17562
     277,    -1,    -1,   280,   281,   282,   283,   284,   285,   286,
17563
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
17564
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
17565
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
17566
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
17567
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
17568
     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
17569
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
17570
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
17571
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
17572
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
17573
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
17574
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
17575
     407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
17576
     417,    -1,    -1,   420,   421,   422,   423,   424,   425,    -1,
17577
     427,   428,   429,   430,   431,   432,   433,    -1,   435,   436,
17578
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
17579
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
17580
     457,   458,   459,   460,   461,   462,   463,   464,   465,    -1,
17581
      -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
17582
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,    18,    19,
17583
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
17584
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
17585
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
17586
      50,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
17587
      -1,    61,    62,    63,    64,    65,    66,    -1,    68,    69,
17588
      70,    71,    72,    -1,    74,    75,    -1,    77,    78,    79,
17589
      80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
17590
      90,    91,    92,    -1,    94,    95,    96,    97,    98,    99,
17591
     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
17592
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
17593
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
17594
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
17595
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
17596
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
17597
      -1,   161,    -1,   163,   164,    -1,   166,   167,   168,   169,
17598
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
17599
     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
17600
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
17601
     200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
17602
      -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
17603
     220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
17604
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
17605
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
17606
     250,   251,   252,   253,   254,   255,   256,   257,    -1,   259,
17607
     260,   261,   262,    -1,   264,   265,   266,   267,   268,   269,
17608
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
17609
     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
17610
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
17611
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
17612
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
17613
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
17614
     330,   331,   332,   333,    -1,   335,   336,   337,   338,   339,
17615
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
17616
     350,   351,   352,    -1,   354,   355,   356,   357,   358,   359,
17617
     360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
17618
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
17619
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
17620
     390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
17621
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
17622
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
17623
     420,   421,   422,   423,   424,   425,    -1,   427,   428,   429,
17624
     430,   431,   432,   433,    -1,   435,   436,   437,   438,   439,
17625
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
17626
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
17627
     460,   461,   462,   463,   464,   465,    -1,    -1,    -1,    -1,
17628
       3,     4,     5,    -1,    -1,    -1,     9,    -1,    -1,    -1,
17629
      -1,    -1,    -1,    -1,   484,    18,    19,    20,    21,    22,
17630
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
17631
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
17632
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17633
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
17634
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
17635
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
17636
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
17637
      -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,
17638
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
17639
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
17640
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
17641
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
17642
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
17643
     153,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
17644
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
17645
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
17646
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
17647
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
17648
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
17649
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
17650
     223,   224,   225,   226,   227,    -1,   229,   230,   231,    -1,
17651
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
17652
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17653
     253,   254,   255,   256,   257,    -1,   259,   260,   261,   262,
17654
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
17655
     273,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
17656
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
17657
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
17658
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
17659
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
17660
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
17661
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
17662
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
17663
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
17664
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
17665
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
17666
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,   392,
17667
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
17668
      -1,    -1,   405,   406,   407,   408,   409,   410,   411,   412,
17669
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
17670
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
17671
     433,    -1,   435,   436,   437,   438,   439,   440,    -1,    -1,
17672
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
17673
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
17674
     463,   464,   465,    -1,    -1,    -1,    -1,     3,    -1,    -1,
17675
      -1,    -1,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17676
      -1,   484,    18,    19,    20,    21,    22,    23,    24,    25,
17677
      -1,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
17678
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
17679
      46,    47,    48,    49,    50,    51,    52,    -1,    54,    55,
17680
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
17681
      66,    -1,    68,    69,    70,    71,    72,    -1,    74,    75,
17682
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
17683
      -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
17684
      96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
17685
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
17686
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
17687
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
17688
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
17689
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
17690
     156,   157,   158,   159,    -1,   161,    -1,   163,   164,    -1,
17691
     166,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
17692
     176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
17693
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
17694
     196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
17695
     206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
17696
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
17697
     226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
17698
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17699
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
17700
     256,   257,    -1,   259,   260,   261,   262,    -1,   264,   265,
17701
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
17702
     276,   277,    -1,    -1,   280,   281,   282,   283,   284,   285,
17703
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
17704
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
17705
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
17706
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
17707
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
17708
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
17709
     346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
17710
     356,   357,   358,    -1,   360,   361,   362,   363,   364,   365,
17711
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
17712
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
17713
     386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
17714
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
17715
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
17716
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
17717
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
17718
     436,   437,   438,   439,   440,    -1,    -1,   443,    -1,   445,
17719
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
17720
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
17721
      -1,    -1,   468,    -1,     3,    -1,    -1,    -1,    -1,    -1,
17722
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,    18,
17723
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
17724
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
17725
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
17726
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
17727
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
17728
      69,    70,    71,    72,    -1,    74,    75,    -1,    77,    78,
17729
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
17730
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
17731
      -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
17732
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
17733
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
17734
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
17735
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
17736
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
17737
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
17738
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
17739
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
17740
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
17741
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
17742
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
17743
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
17744
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
17745
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
17746
     249,   250,   251,   252,   253,   254,   255,   256,   257,    -1,
17747
     259,   260,   261,   262,    -1,   264,   265,   266,   267,   268,
17748
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
17749
      -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
17750
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
17751
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
17752
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
17753
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
17754
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
17755
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
17756
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
17757
      -1,   360,   361,   362,   363,   364,   365,   366,   367,   368,
17758
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
17759
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
17760
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
17761
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
17762
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
17763
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
17764
     429,   430,   431,   432,   433,    -1,   435,   436,   437,   438,
17765
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
17766
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
17767
     459,   460,   461,   462,   463,   464,   465,    -1,    -1,    -1,
17768
      -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17769
      -1,    -1,    -1,    -1,    -1,   484,    18,    19,    20,    21,
17770
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
17771
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
17772
      42,    -1,    44,    45,    46,    47,    48,    49,    -1,    51,
17773
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
17774
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
17775
      72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
17776
      -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
17777
      92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
17778
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
17779
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
17780
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
17781
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
17782
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
17783
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
17784
      -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,
17785
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
17786
     182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
17787
     192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
17788
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
17789
      -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
17790
      -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
17791
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
17792
     242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
17793
     252,   253,   254,   255,    -1,   257,    -1,   259,   260,    -1,
17794
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
17795
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
17796
     282,    -1,   284,    -1,   286,   287,   288,   289,   290,   291,
17797
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
17798
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
17799
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
17800
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
17801
     332,   333,    -1,   335,   336,    -1,   338,   339,   340,   341,
17802
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
17803
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
17804
     362,   363,   364,    -1,   366,   367,   368,   369,    -1,   371,
17805
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
17806
     382,   383,   384,    -1,   386,   387,   388,   389,   390,   391,
17807
      -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
17808
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
17809
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
17810
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
17811
     432,   433,    -1,   435,    -1,   437,   438,   439,   440,    -1,
17812
      -1,   443,    -1,   445,   446,   447,   448,   449,   450,   451,
17813
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
17814
     462,   463,   464,   465,    -1,    -1,   468,    -1,     3,    -1,
17815
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17816
      -1,    -1,   484,    18,    19,    20,    21,    22,    23,    24,
17817
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
17818
      -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
17819
      45,    46,    47,    48,    49,    -1,    51,    52,    -1,    54,
17820
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
17821
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    -1,
17822
      75,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
17823
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
17824
      95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17825
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
17826
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
17827
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
17828
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
17829
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
17830
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,    -1,
17831
      -1,    -1,   167,   168,   169,   170,    -1,   172,   173,    -1,
17832
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
17833
      -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
17834
     195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
17835
     205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
17836
      -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
17837
      -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
17838
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
17839
     245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
17840
     255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,
17841
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
17842
     275,   276,   277,    -1,    -1,   280,   281,   282,    -1,   284,
17843
      -1,   286,   287,   288,   289,   290,   291,   292,   293,   294,
17844
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
17845
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
17846
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
17847
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
17848
     335,   336,    -1,   338,   339,   340,   341,   342,   343,   344,
17849
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
17850
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
17851
      -1,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
17852
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
17853
      -1,   386,   387,    -1,   389,   390,   391,    -1,   393,   394,
17854
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
17855
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
17856
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
17857
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
17858
     435,    -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,
17859
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
17860
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
17861
     465,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,
17862
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   484,
17863
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
17864
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
17865
      38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
17866
      48,    49,    -1,    51,    52,    -1,    54,    55,    56,    57,
17867
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
17868
      68,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
17869
      78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
17870
      88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
17871
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
17872
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
17873
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
17874
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
17875
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
17876
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
17877
     158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,
17878
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
17879
     178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
17880
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
17881
      -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
17882
      -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
17883
     218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
17884
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
17885
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
17886
     248,   249,   250,    -1,   252,   253,   254,   255,    -1,   257,
17887
      -1,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
17888
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
17889
      -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,   287,
17890
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
17891
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
17892
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
17893
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
17894
     328,   329,   330,   331,   332,   333,    -1,   335,   336,    -1,
17895
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
17896
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
17897
     358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
17898
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
17899
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
17900
      -1,   389,   390,   391,    -1,   393,   394,   395,   396,   397,
17901
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
17902
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
17903
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
17904
     428,   429,   430,   431,   432,   433,    -1,   435,    -1,   437,
17905
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
17906
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
17907
     458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
17908
      -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17909
      -1,    -1,    -1,    -1,    -1,    -1,   484,    18,    19,    20,
17910
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
17911
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
17912
      41,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
17913
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
17914
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
17915
      71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
17916
      81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
17917
      91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
17918
      -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
17919
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
17920
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
17921
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
17922
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
17923
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
17924
     161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,
17925
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
17926
     181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
17927
     191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
17928
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
17929
     211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
17930
      -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
17931
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
17932
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
17933
      -1,   252,   253,   254,   255,    -1,   257,    -1,   259,   260,
17934
      -1,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
17935
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
17936
     281,   282,    -1,   284,    -1,   286,   287,   288,   289,   290,
17937
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
17938
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
17939
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
17940
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
17941
     331,   332,   333,    -1,   335,   336,    -1,   338,   339,   340,
17942
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
17943
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
17944
     361,   362,   363,   364,    -1,   366,   367,   368,   369,    -1,
17945
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
17946
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
17947
     391,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
17948
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
17949
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
17950
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
17951
     431,   432,   433,    -1,   435,    -1,   437,   438,   439,   440,
17952
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
17953
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
17954
     461,   462,   463,   464,   465,    -1,    -1,    -1,    -1,     3,
17955
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17956
      -1,    -1,    -1,   484,    18,    19,    20,    21,    22,    23,
17957
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
17958
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
17959
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
17960
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
17961
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
17962
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
17963
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
17964
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
17965
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
17966
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
17967
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
17968
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
17969
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
17970
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
17971
      -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,   173,
17972
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
17973
     184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
17974
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
17975
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
17976
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
17977
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
17978
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17979
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
17980
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
17981
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
17982
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
17983
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
17984
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
17985
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
17986
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
17987
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
17988
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
17989
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
17990
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
17991
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
17992
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
17993
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
17994
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
17995
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
17996
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
17997
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
17998
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
17999
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
18000
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
18001
     464,   465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
18002
       4,     5,    -1,    -1,     8,     9,    -1,    -1,    -1,    -1,
18003
     484,    15,    16,    17,    18,    19,    20,    21,    22,    23,
18004
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
18005
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
18006
      44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
18007
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
18008
      64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
18009
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
18010
      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
18011
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
18012
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
18013
     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
18014
     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
18015
     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
18016
     144,   145,   146,   147,    -1,   149,   150,   151,    -1,   153,
18017
     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
18018
     164,   165,   166,   167,   168,   169,   170,   171,   172,    -1,
18019
     174,    -1,   176,   177,   178,   179,   180,   181,   182,   183,
18020
     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
18021
     194,   195,   196,   197,   198,   199,   200,    -1,   202,   203,
18022
     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
18023
     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
18024
      -1,   225,   226,   227,   228,   229,   230,   231,   232,   233,
18025
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
18026
     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
18027
     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
18028
      -1,   265,   266,   267,   268,   269,   270,   271,   272,   273,
18029
     274,   275,   276,   277,   278,   279,   280,   281,    -1,   283,
18030
     284,   285,    -1,   287,   288,   289,   290,   291,   292,   293,
18031
     294,   295,   296,   297,   298,    -1,   300,    -1,   302,   303,
18032
     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
18033
     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
18034
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
18035
     334,   335,   336,   337,   338,   339,   340,   341,   342,    -1,
18036
     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
18037
     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
18038
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
18039
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
18040
      -1,   385,   386,   387,   388,   389,   390,   391,   392,   393,
18041
     394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
18042
     404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
18043
     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
18044
     424,   425,   426,   427,   428,   429,   430,   431,    -1,   433,
18045
     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
18046
     444,   445,   446,   447,   448,   449,   450,   451,    -1,    -1,
18047
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   463,
18048
     464,   465,    -1,    -1,    -1,   469,   470,   471,    -1,    -1,
18049
      -1,   475,   476,   477,   478,   479,   480,     3,     4,     5,
18050
      -1,    -1,     8,     9,    -1,    -1,    -1,    -1,    -1,    15,
18051
      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
18052
      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
18053
      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
18054
      46,    47,    -1,    49,    50,    51,    52,    53,    54,    55,
18055
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
18056
      66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
18057
      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
18058
      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
18059
      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
18060
     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
18061
     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
18062
     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
18063
     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
18064
     146,   147,    -1,   149,   150,   151,    -1,   153,   154,   155,
18065
     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
18066
     166,   167,   168,   169,   170,   171,   172,    -1,   174,    -1,
18067
     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
18068
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
18069
     196,   197,   198,   199,   200,    -1,   202,   203,   204,   205,
18070
     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
18071
     216,   217,   218,   219,   220,   221,   222,   223,    -1,   225,
18072
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
18073
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18074
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
18075
     256,   257,   258,   259,   260,   261,   262,   263,    -1,   265,
18076
     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
18077
     276,   277,   278,   279,   280,   281,    -1,   283,   284,   285,
18078
      -1,   287,   288,   289,   290,   291,   292,   293,   294,   295,
18079
     296,   297,   298,    -1,   300,    -1,   302,   303,   304,   305,
18080
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18081
     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
18082
     326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
18083
     336,   337,   338,   339,   340,   341,   342,    -1,   344,   345,
18084
     346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
18085
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
18086
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
18087
     376,   377,   378,   379,   380,   381,   382,   383,    -1,   385,
18088
     386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
18089
     396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
18090
     406,    -1,   408,    -1,   410,   411,   412,   413,   414,   415,
18091
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
18092
     426,   427,   428,   429,   430,   431,    -1,   433,   434,   435,
18093
     436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
18094
     446,   447,   448,   449,   450,   451,    -1,    -1,    -1,    -1,
18095
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   463,   464,   465,
18096
      -1,    -1,    -1,   469,   470,   471,    -1,    -1,    -1,   475,
18097
     476,   477,   478,   479,   480,     3,    -1,    -1,    -1,    -1,
18098
       8,    -1,    -1,    -1,    -1,    -1,    -1,    15,    16,    17,
18099
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
18100
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18101
      38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
18102
      48,    49,    -1,    51,    52,    -1,    54,    55,    56,    57,
18103
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
18104
      68,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
18105
      78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
18106
      88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
18107
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
18108
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
18109
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
18110
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
18111
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
18112
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
18113
     158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,
18114
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
18115
     178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
18116
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
18117
      -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
18118
      -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
18119
     218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
18120
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
18121
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18122
     248,   249,   250,    -1,   252,   253,   254,   255,    -1,   257,
18123
      -1,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
18124
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
18125
      -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,   287,
18126
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
18127
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
18128
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
18129
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
18130
     328,   329,   330,   331,   332,   333,    -1,   335,   336,    -1,
18131
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
18132
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
18133
     358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
18134
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
18135
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
18136
      -1,   389,   390,   391,    -1,   393,   394,   395,   396,   397,
18137
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
18138
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
18139
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
18140
     428,   429,   430,   431,   432,   433,    -1,   435,    -1,   437,
18141
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
18142
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
18143
     458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
18144
      -1,   469,   470,   471,    -1,    -1,    -1,   475,   476,   477,
18145
     478,   479,   480,     3,    -1,    -1,    -1,    -1,     8,    -1,
18146
      -1,    -1,    -1,    -1,    -1,    15,    16,    17,    18,    19,
18147
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
18148
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
18149
      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
18150
      -1,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
18151
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
18152
      70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
18153
      80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
18154
      90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
18155
      -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
18156
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
18157
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
18158
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
18159
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
18160
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
18161
      -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,
18162
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
18163
     180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
18164
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
18165
      -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
18166
      -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
18167
     220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
18168
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
18169
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
18170
     250,    -1,   252,   253,   254,   255,    -1,   257,    -1,   259,
18171
     260,    -1,   262,    -1,   264,   265,   266,   267,   268,   269,
18172
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
18173
     280,   281,   282,    -1,   284,    -1,   286,   287,   288,   289,
18174
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
18175
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
18176
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
18177
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
18178
     330,   331,   332,   333,    -1,   335,   336,    -1,   338,   339,
18179
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
18180
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
18181
     360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
18182
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
18183
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
18184
     390,   391,    -1,   393,   394,   395,   396,   397,   398,    -1,
18185
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
18186
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
18187
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
18188
     430,   431,   432,   433,    -1,   435,    -1,   437,   438,   439,
18189
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
18190
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
18191
     460,   461,   462,   463,   464,   465,    -1,    -1,    -1,   469,
18192
     470,   471,    -1,    -1,    -1,   475,   476,   477,   478,   479,
18193
     480,     3,    -1,    -1,    -1,    -1,     8,    -1,    -1,    -1,
18194
      -1,    -1,    -1,    15,    16,    17,    18,    19,    20,    21,
18195
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
18196
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
18197
      42,    -1,    44,    45,    46,    47,    48,    49,    -1,    51,
18198
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
18199
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
18200
      72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
18201
      -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
18202
      92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
18203
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
18204
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
18205
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
18206
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
18207
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
18208
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
18209
      -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,
18210
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
18211
     182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
18212
     192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
18213
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
18214
      -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
18215
      -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
18216
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
18217
     242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
18218
     252,   253,   254,   255,    -1,   257,    -1,   259,   260,    -1,
18219
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
18220
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
18221
     282,    -1,   284,    -1,   286,   287,   288,   289,   290,   291,
18222
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
18223
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
18224
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
18225
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
18226
     332,   333,    -1,   335,   336,    -1,   338,   339,   340,   341,
18227
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
18228
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
18229
     362,   363,   364,    -1,   366,   367,   368,   369,    -1,   371,
18230
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
18231
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
18232
      -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
18233
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
18234
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
18235
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
18236
     432,   433,    -1,   435,    -1,   437,   438,   439,   440,    -1,
18237
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
18238
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
18239
     462,   463,   464,   465,    -1,    -1,    -1,   469,   470,   471,
18240
      -1,    -1,    -1,   475,   476,   477,   478,   479,   480,     3,
18241
      -1,    -1,    -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,
18242
      -1,    15,    16,    17,    18,    19,    20,    21,    22,    23,
18243
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
18244
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
18245
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
18246
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
18247
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
18248
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
18249
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
18250
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
18251
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
18252
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
18253
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
18254
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
18255
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
18256
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
18257
      -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,   173,
18258
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
18259
     184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
18260
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
18261
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
18262
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
18263
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
18264
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
18265
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
18266
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
18267
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
18268
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
18269
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
18270
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
18271
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
18272
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
18273
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
18274
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
18275
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
18276
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
18277
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
18278
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
18279
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
18280
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
18281
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
18282
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
18283
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
18284
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
18285
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
18286
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
18287
     464,   465,    -1,    -1,    -1,   469,   470,   471,    -1,    -1,
18288
      -1,   475,   476,   477,   478,   479,   480,     3,    -1,    -1,
18289
      -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,    -1,    15,
18290
      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
18291
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18292
      -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
18293
      46,    47,    48,    49,    -1,    51,    52,    -1,    54,    55,
18294
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
18295
      66,    -1,    68,    69,    70,    71,    72,    -1,    -1,    75,
18296
      -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
18297
      -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
18298
      96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
18299
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
18300
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
18301
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
18302
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
18303
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
18304
     156,   157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,
18305
      -1,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
18306
     176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
18307
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
18308
     196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
18309
     206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
18310
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
18311
     226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
18312
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18313
     246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
18314
      -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,   265,
18315
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
18316
     276,   277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,
18317
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
18318
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
18319
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18320
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
18321
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
18322
     336,    -1,   338,   339,   340,   341,   342,   343,   344,   345,
18323
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
18324
     356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
18325
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
18326
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
18327
     386,   387,    -1,   389,   390,   391,    -1,   393,   394,   395,
18328
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
18329
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
18330
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
18331
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
18332
      -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
18333
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
18334
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
18335
      -1,    -1,    -1,   469,   470,   471,    -1,    -1,    -1,   475,
18336
     476,   477,   478,   479,   480,     3,    -1,    -1,    -1,    -1,
18337
       8,    -1,    -1,    -1,    -1,    -1,    -1,    15,    16,    17,
18338
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
18339
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18340
      38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
18341
      48,    49,    -1,    51,    52,    -1,    54,    55,    56,    57,
18342
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
18343
      68,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
18344
      78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
18345
      88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
18346
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
18347
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
18348
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
18349
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
18350
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
18351
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
18352
     158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,
18353
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
18354
     178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
18355
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
18356
      -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
18357
      -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
18358
     218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
18359
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
18360
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18361
     248,   249,   250,    -1,   252,   253,   254,   255,    -1,   257,
18362
      -1,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
18363
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
18364
      -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,   287,
18365
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
18366
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
18367
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
18368
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
18369
     328,   329,   330,   331,   332,   333,    -1,   335,   336,    -1,
18370
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
18371
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
18372
     358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
18373
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
18374
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
18375
      -1,   389,   390,   391,    -1,   393,   394,   395,   396,   397,
18376
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
18377
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
18378
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
18379
     428,   429,   430,   431,   432,   433,    -1,   435,    -1,   437,
18380
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
18381
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
18382
     458,   459,   460,   461,   462,   463,   464,   465,    -1,    -1,
18383
      -1,   469,   470,   471,    -1,    -1,    -1,   475,   476,   477,
18384
     478,   479,   480,     3,    -1,    -1,    -1,    -1,     8,    -1,
18385
      -1,    -1,    -1,    -1,    -1,    15,    16,    17,    18,    19,
18386
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
18387
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
18388
      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
18389
      -1,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
18390
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
18391
      70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
18392
      80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
18393
      90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
18394
      -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
18395
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
18396
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
18397
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
18398
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
18399
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
18400
      -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,
18401
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
18402
     180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
18403
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
18404
      -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
18405
      -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
18406
     220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
18407
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
18408
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
18409
     250,    -1,   252,   253,   254,   255,    -1,   257,    -1,   259,
18410
     260,    -1,   262,    -1,   264,   265,   266,   267,   268,   269,
18411
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
18412
     280,   281,   282,    -1,   284,    -1,   286,   287,   288,   289,
18413
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
18414
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
18415
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
18416
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
18417
     330,   331,   332,   333,    -1,   335,   336,    -1,   338,   339,
18418
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
18419
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
18420
     360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
18421
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
18422
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
18423
     390,   391,    -1,   393,   394,   395,   396,   397,   398,    -1,
18424
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
18425
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
18426
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
18427
     430,   431,   432,   433,    -1,   435,    -1,   437,   438,   439,
18428
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
18429
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
18430
     460,   461,   462,   463,   464,   465,     3,    -1,    -1,   469,
18431
     470,   471,    -1,    -1,    -1,   475,   476,   477,   478,   479,
18432
     480,    18,    19,    20,    21,    22,    23,    24,    25,    26,
18433
      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
18434
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
18435
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
18436
      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
18437
      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
18438
      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
18439
      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
18440
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
18441
     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
18442
     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
18443
     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
18444
     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
18445
     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
18446
     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
18447
     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
18448
     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
18449
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
18450
     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
18451
     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
18452
     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
18453
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
18454
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
18455
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
18456
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
18457
     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
18458
     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
18459
     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
18460
     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
18461
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
18462
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
18463
     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
18464
     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
18465
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
18466
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
18467
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
18468
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
18469
     387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
18470
     397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
18471
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
18472
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
18473
     427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
18474
     437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
18475
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
18476
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
18477
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18478
     477,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
18479
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
18480
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
18481
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
18482
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
18483
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
18484
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
18485
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
18486
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
18487
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
18488
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
18489
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
18490
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
18491
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
18492
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
18493
      -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,   173,
18494
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
18495
     184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
18496
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
18497
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
18498
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
18499
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
18500
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
18501
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
18502
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
18503
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
18504
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
18505
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
18506
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
18507
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
18508
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
18509
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
18510
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
18511
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
18512
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
18513
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
18514
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
18515
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
18516
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
18517
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
18518
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
18519
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
18520
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
18521
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
18522
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
18523
     464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18524
      -1,    -1,    -1,   477,    -1,    -1,    -1,    18,    19,    20,
18525
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
18526
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
18527
      41,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
18528
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
18529
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
18530
      71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
18531
      81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
18532
      91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
18533
      -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
18534
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
18535
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
18536
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
18537
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
18538
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
18539
     161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,
18540
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
18541
     181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
18542
     191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
18543
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
18544
     211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
18545
      -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
18546
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
18547
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18548
      -1,   252,   253,   254,   255,    -1,   257,    -1,   259,   260,
18549
      -1,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
18550
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
18551
     281,   282,    -1,   284,    -1,   286,   287,   288,   289,   290,
18552
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
18553
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
18554
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
18555
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
18556
     331,   332,   333,    -1,   335,   336,    -1,   338,   339,   340,
18557
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
18558
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
18559
     361,   362,   363,   364,    -1,   366,   367,   368,   369,    -1,
18560
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
18561
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
18562
     391,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
18563
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
18564
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
18565
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
18566
     431,   432,   433,    -1,   435,    -1,   437,   438,   439,   440,
18567
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
18568
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
18569
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
18570
      -1,    -1,    -1,    -1,    -1,    -1,   477,    -1,    -1,    -1,
18571
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
18572
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18573
      38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
18574
      -1,    49,    50,    51,    52,    -1,    54,    55,    56,    57,
18575
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
18576
      68,    69,    70,    71,    -1,    -1,    74,    75,    -1,    77,
18577
      78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
18578
      88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
18579
      -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
18580
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
18581
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
18582
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
18583
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
18584
      -1,   149,   150,   151,    -1,    -1,   154,    -1,   156,   157,
18585
     158,   159,    -1,   161,    -1,   163,   164,    -1,   166,   167,
18586
     168,   169,   170,    -1,   172,    -1,    -1,    -1,   176,   177,
18587
     178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
18588
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
18589
      -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
18590
      -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
18591
     218,   219,   220,    -1,    -1,   223,    -1,   225,   226,   227,
18592
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
18593
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18594
     248,   249,   250,   251,   252,   253,   254,   255,   256,    -1,
18595
      -1,   259,   260,   261,   262,    -1,    -1,   265,   266,   267,
18596
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
18597
      -1,   279,   280,   281,   282,   283,   284,   285,    -1,   287,
18598
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
18599
     298,    -1,   300,    -1,   302,   303,   304,    -1,   306,   307,
18600
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
18601
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
18602
     328,   329,   330,   331,   332,   333,    -1,   335,   336,   337,
18603
     338,   339,   340,   341,   342,    -1,   344,   345,   346,   347,
18604
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
18605
     358,    -1,   360,   361,   362,   363,   364,   365,   366,   367,
18606
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
18607
     378,   379,   380,   381,   382,   383,    -1,    -1,   386,   387,
18608
      -1,   389,   390,   391,   392,   393,   394,   395,   396,   397,
18609
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,    -1,
18610
     408,    -1,    -1,   411,   412,   413,   414,   415,   416,   417,
18611
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
18612
     428,   429,   430,   431,    -1,   433,   434,   435,   436,   437,
18613
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
18614
     448,   449,   450,   451,    -1,    -1,     3,    -1,    -1,    -1,
18615
      -1,    -1,    -1,    -1,    -1,   463,   464,   465,    -1,    -1,
18616
      -1,    18,    19,    20,    21,    22,    23,    24,    25,   477,
18617
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18618
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
18619
      47,    -1,    49,    50,    51,    52,    -1,    54,    55,    56,
18620
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
18621
      -1,    68,    69,    70,    71,    -1,    -1,    74,    75,    -1,
18622
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
18623
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
18624
      97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,
18625
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
18626
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
18627
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
18628
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
18629
     147,    -1,   149,   150,   151,    -1,    -1,   154,    -1,   156,
18630
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
18631
     167,   168,   169,   170,    -1,   172,    -1,    -1,    -1,   176,
18632
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
18633
     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
18634
     197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
18635
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
18636
     217,   218,   219,   220,    -1,    -1,   223,    -1,   225,   226,
18637
     227,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
18638
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
18639
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
18640
      -1,    -1,   259,   260,   261,   262,    -1,    -1,   265,   266,
18641
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
18642
     277,    -1,   279,   280,   281,   282,   283,   284,   285,    -1,
18643
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
18644
     297,   298,    -1,   300,    -1,   302,   303,   304,    -1,   306,
18645
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
18646
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
18647
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
18648
     337,   338,   339,   340,   341,   342,    -1,   344,   345,   346,
18649
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
18650
     357,   358,    -1,   360,   361,   362,   363,   364,   365,   366,
18651
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
18652
     377,   378,   379,   380,   381,   382,   383,    -1,    -1,   386,
18653
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
18654
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
18655
      -1,   408,    -1,    -1,   411,   412,   413,   414,   415,   416,
18656
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
18657
     427,   428,   429,   430,   431,    -1,   433,   434,   435,   436,
18658
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
18659
     447,   448,   449,   450,   451,    -1,    -1,     3,     4,     5,
18660
      -1,    -1,    -1,     9,    -1,    -1,   463,   464,   465,    -1,
18661
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18662
     477,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18663
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
18664
      46,    47,    48,    49,    50,    51,    52,    -1,    54,    55,
18665
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
18666
      66,    -1,    68,    69,    70,    71,    72,    -1,    74,    75,
18667
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
18668
      -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
18669
      96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
18670
     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
18671
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
18672
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
18673
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
18674
     146,   147,   148,   149,   150,   151,   152,   153,   154,    -1,
18675
     156,   157,   158,   159,    -1,   161,    -1,   163,   164,    -1,
18676
     166,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
18677
     176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
18678
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
18679
     196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
18680
     206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
18681
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
18682
     226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
18683
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
18684
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
18685
     256,   257,    -1,   259,   260,   261,   262,    -1,   264,   265,
18686
     266,   267,   268,   269,    -1,   271,   272,   273,    -1,   275,
18687
     276,   277,    -1,    -1,   280,   281,   282,   283,   284,   285,
18688
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
18689
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
18690
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18691
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
18692
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
18693
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
18694
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
18695
     356,   357,   358,    -1,   360,   361,   362,   363,   364,   365,
18696
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
18697
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
18698
     386,   387,    -1,   389,   390,   391,   392,   393,   394,   395,
18699
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
18700
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
18701
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
18702
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
18703
     436,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
18704
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
18705
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
18706
       3,     4,     5,    -1,    -1,    -1,     9,    -1,    -1,   475,
18707
     476,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
18708
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
18709
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
18710
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
18711
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
18712
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
18713
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
18714
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
18715
      -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,
18716
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
18717
     113,   114,   115,    -1,   117,   118,   119,   120,   121,   122,
18718
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
18719
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
18720
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
18721
     153,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
18722
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
18723
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
18724
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
18725
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
18726
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
18727
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
18728
     223,   224,   225,   226,   227,    -1,   229,   230,   231,    -1,
18729
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
18730
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
18731
     253,   254,   255,   256,   257,    -1,   259,   260,   261,   262,
18732
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
18733
     273,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
18734
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
18735
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
18736
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
18737
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
18738
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
18739
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
18740
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
18741
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
18742
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
18743
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
18744
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,   392,
18745
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
18746
      -1,    -1,   405,   406,   407,   408,   409,   410,   411,   412,
18747
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
18748
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
18749
     433,    -1,   435,   436,   437,   438,   439,   440,    -1,    -1,
18750
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
18751
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
18752
     463,   464,   465,     3,     4,     5,    -1,    -1,    -1,     9,
18753
      -1,    -1,   475,   476,    -1,    -1,    -1,    -1,    18,    19,
18754
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
18755
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
18756
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
18757
      50,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
18758
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
18759
      70,    71,    72,    -1,    74,    75,    -1,    77,    78,    79,
18760
      80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
18761
      90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
18762
      -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
18763
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
18764
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
18765
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
18766
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
18767
     150,   151,   152,   153,   154,    -1,   156,   157,   158,   159,
18768
      -1,   161,    -1,   163,   164,    -1,   166,   167,   168,   169,
18769
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
18770
     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
18771
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
18772
     200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
18773
      -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
18774
     220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
18775
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
18776
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
18777
     250,   251,   252,   253,   254,   255,   256,   257,    -1,   259,
18778
     260,   261,   262,    -1,   264,   265,   266,   267,   268,   269,
18779
      -1,   271,   272,   273,    -1,   275,   276,   277,    -1,    -1,
18780
     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
18781
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
18782
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
18783
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
18784
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
18785
     330,   331,   332,   333,    -1,   335,   336,   337,   338,   339,
18786
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
18787
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
18788
     360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
18789
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
18790
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
18791
     390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
18792
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
18793
     410,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
18794
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
18795
     430,   431,   432,   433,    -1,   435,   436,   437,   438,   439,
18796
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
18797
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
18798
     460,   461,   462,   463,   464,   465,     3,    -1,     5,    -1,
18799
      -1,    -1,     9,    -1,    -1,   475,   476,    -1,    -1,    -1,
18800
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
18801
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18802
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
18803
      47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
18804
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
18805
      -1,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
18806
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
18807
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
18808
      97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,
18809
     107,   108,   109,   110,   111,   112,   113,   114,   115,    -1,
18810
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
18811
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
18812
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
18813
     147,   148,   149,   150,   151,   152,   153,   154,    -1,   156,
18814
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
18815
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
18816
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
18817
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
18818
     197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
18819
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
18820
     217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
18821
     227,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
18822
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
18823
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
18824
     257,    -1,   259,   260,   261,   262,    -1,   264,   265,   266,
18825
     267,   268,   269,    -1,   271,   272,   273,    -1,   275,   276,
18826
     277,    -1,    -1,   280,   281,   282,   283,   284,   285,   286,
18827
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
18828
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
18829
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
18830
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
18831
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
18832
     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
18833
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
18834
     357,   358,    -1,   360,   361,   362,   363,   364,   365,   366,
18835
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
18836
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
18837
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
18838
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
18839
     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
18840
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
18841
     427,   428,   429,   430,   431,   432,   433,    -1,   435,   436,
18842
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
18843
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
18844
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
18845
      -1,    -1,    -1,    -1,    -1,     9,    -1,    -1,   475,   476,
18846
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
18847
      24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
18848
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
18849
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
18850
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
18851
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
18852
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
18853
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
18854
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
18855
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
18856
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
18857
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
18858
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
18859
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
18860
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
18861
      -1,   165,    -1,   167,   168,   169,   170,    -1,   172,   173,
18862
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
18863
     184,    -1,   186,   187,   188,   189,   190,   191,   192,   193,
18864
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
18865
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
18866
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
18867
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
18868
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
18869
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
18870
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
18871
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
18872
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
18873
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
18874
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
18875
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
18876
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
18877
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
18878
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
18879
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
18880
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
18881
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
18882
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
18883
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
18884
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
18885
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
18886
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
18887
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
18888
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
18889
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
18890
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
18891
     464,   465,     3,     4,     5,    -1,    -1,    -1,     9,    -1,
18892
      -1,   475,   476,    -1,    -1,    -1,    -1,    18,    19,    20,
18893
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
18894
      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
18895
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
18896
      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
18897
      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
18898
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
18899
      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
18900
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
18901
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
18902
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
18903
     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
18904
     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
18905
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
18906
     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
18907
     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
18908
     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
18909
     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
18910
     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
18911
     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
18912
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
18913
     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
18914
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
18915
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18916
     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18917
     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
18918
     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
18919
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
18920
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18921
     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
18922
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
18923
     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
18924
     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
18925
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
18926
     351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
18927
     361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
18928
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
18929
     381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
18930
     391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
18931
     401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
18932
     411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
18933
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
18934
     431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
18935
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
18936
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
18937
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
18938
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18939
      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
18940
      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
18941
      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
18942
      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
18943
      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
18944
      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
18945
      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
18946
      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
18947
      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
18948
     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
18949
     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
18950
     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
18951
     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
18952
     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
18953
     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
18954
     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
18955
     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
18956
     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
18957
     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
18958
     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
18959
     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
18960
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
18961
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18962
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
18963
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
18964
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
18965
     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
18966
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
18967
     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
18968
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
18969
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
18970
     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
18971
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
18972
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
18973
     358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
18974
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
18975
     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
18976
     388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
18977
     398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
18978
     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
18979
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
18980
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
18981
     438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
18982
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
18983
     458,   459,   460,   461,   462,   463,   464,   465,     3,    -1,
18984
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18985
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
18986
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
18987
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
18988
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
18989
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
18990
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
18991
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
18992
      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
18993
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
18994
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
18995
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
18996
     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
18997
     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
18998
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
18999
     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
19000
     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
19001
     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
19002
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
19003
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
19004
     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
19005
     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
19006
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
19007
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
19008
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
19009
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
19010
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
19011
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
19012
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
19013
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
19014
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
19015
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
19016
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
19017
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
19018
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
19019
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
19020
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
19021
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
19022
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
19023
     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
19024
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
19025
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
19026
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
19027
     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
19028
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
19029
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
19030
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19031
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
19032
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
19033
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
19034
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
19035
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    61,
19036
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
19037
      72,    -1,    74,    75,    -1,    77,    78,    79,    80,    81,
19038
      82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
19039
      92,    -1,    94,    95,    96,    97,    98,    99,   100,   101,
19040
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
19041
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
19042
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
19043
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
19044
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
19045
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
19046
      -1,   163,   164,    -1,   166,   167,   168,   169,   170,    -1,
19047
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
19048
     182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
19049
     192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
19050
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
19051
     212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
19052
      -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
19053
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
19054
     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
19055
     252,   253,   254,   255,   256,   257,    -1,   259,   260,   261,
19056
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
19057
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
19058
     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
19059
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
19060
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
19061
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
19062
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
19063
     332,   333,    -1,   335,   336,   337,   338,   339,   340,   341,
19064
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
19065
     352,    -1,   354,   355,   356,   357,   358,   359,   360,   361,
19066
     362,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
19067
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
19068
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
19069
     392,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
19070
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
19071
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
19072
     422,   423,   424,   425,    -1,   427,   428,   429,   430,   431,
19073
     432,   433,    -1,   435,   436,   437,   438,   439,   440,    -1,
19074
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
19075
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
19076
     462,   463,   464,   465,     3,    -1,     5,    -1,    -1,    -1,
19077
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
19078
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
19079
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
19080
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
19081
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
19082
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
19083
      69,    70,    71,    72,    -1,    74,    75,    -1,    77,    78,
19084
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
19085
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
19086
      -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
19087
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
19088
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
19089
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
19090
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
19091
     149,   150,   151,   152,   153,   154,    -1,   156,   157,   158,
19092
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
19093
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
19094
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
19095
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
19096
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
19097
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
19098
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
19099
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
19100
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
19101
     249,   250,   251,   252,   253,   254,   255,   256,   257,    -1,
19102
     259,   260,   261,   262,    -1,   264,   265,   266,   267,   268,
19103
     269,    -1,   271,   272,   273,    -1,   275,   276,   277,    -1,
19104
      -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
19105
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
19106
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
19107
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
19108
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
19109
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
19110
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
19111
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
19112
      -1,   360,   361,   362,   363,   364,   365,   366,   367,   368,
19113
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
19114
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
19115
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
19116
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
19117
     409,   410,   411,   412,   413,   414,   415,   416,   417,    -1,
19118
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
19119
     429,   430,   431,   432,   433,    -1,   435,   436,   437,   438,
19120
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
19121
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
19122
     459,   460,   461,   462,   463,   464,   465,     3,    -1,    -1,
19123
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19124
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19125
      26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19126
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
19127
      46,    47,    48,    49,    50,    51,    52,    -1,    54,    55,
19128
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
19129
      66,    -1,    68,    69,    70,    71,    72,    -1,    74,    75,
19130
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
19131
      -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
19132
      96,    97,    -1,    -1,    -1,   101,    -1,    -1,   104,   105,
19133
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
19134
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
19135
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
19136
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
19137
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
19138
     156,   157,   158,   159,    -1,   161,    -1,   163,   164,    -1,
19139
     166,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
19140
     176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
19141
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
19142
     196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
19143
     206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
19144
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
19145
     226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
19146
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19147
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
19148
     256,   257,    -1,   259,   260,   261,   262,    -1,   264,   265,
19149
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
19150
     276,   277,    -1,    -1,   280,   281,   282,   283,   284,   285,
19151
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
19152
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
19153
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19154
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
19155
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
19156
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19157
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
19158
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
19159
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
19160
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
19161
     386,   387,    -1,   389,   390,   391,   392,   393,   394,   395,
19162
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
19163
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
19164
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
19165
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
19166
     436,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
19167
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19168
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
19169
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19170
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
19171
      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    -1,
19172
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
19173
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
19174
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
19175
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
19176
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
19177
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
19178
      -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,
19179
      -1,   104,   105,   106,   107,   108,   109,   110,   111,   112,
19180
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
19181
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
19182
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
19183
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
19184
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
19185
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
19186
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
19187
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
19188
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
19189
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
19190
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
19191
     223,   224,   225,   226,   227,    -1,   229,   230,   231,    -1,
19192
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
19193
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
19194
     253,   254,   255,   256,   257,    -1,   259,   260,   261,   262,
19195
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
19196
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
19197
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
19198
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
19199
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
19200
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
19201
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
19202
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
19203
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
19204
      -1,   354,   355,   356,   357,   358,   359,   360,   361,   362,
19205
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
19206
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
19207
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,   392,
19208
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
19209
      -1,    -1,   405,   406,   407,   408,   409,    -1,   411,   412,
19210
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
19211
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
19212
     433,    -1,   435,   436,   437,   438,   439,   440,    -1,    -1,
19213
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
19214
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
19215
     463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,
19216
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
19217
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
19218
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
19219
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
19220
      50,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
19221
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
19222
      70,    71,    72,    -1,    74,    75,    -1,    77,    78,    79,
19223
      80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
19224
      90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
19225
      -1,   101,    -1,    -1,   104,   105,   106,   107,   108,   109,
19226
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
19227
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
19228
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
19229
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
19230
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
19231
      -1,   161,    -1,   163,   164,    -1,   166,   167,   168,   169,
19232
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
19233
     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
19234
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19235
     200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
19236
      -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
19237
     220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
19238
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
19239
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
19240
     250,   251,   252,   253,   254,   255,   256,   257,    -1,   259,
19241
     260,   261,   262,    -1,   264,   265,   266,   267,   268,   269,
19242
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
19243
     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
19244
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
19245
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
19246
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
19247
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
19248
     330,   331,   332,   333,    -1,   335,   336,   337,   338,   339,
19249
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
19250
     350,   351,   352,    -1,   354,   355,   356,   357,   358,   359,
19251
     360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
19252
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
19253
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
19254
     390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
19255
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
19256
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
19257
     420,   421,   422,   423,   424,   425,    -1,   427,   428,   429,
19258
     430,   431,   432,   433,    -1,   435,   436,   437,   438,   439,
19259
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
19260
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
19261
     460,   461,   462,   463,   464,   465,     3,    -1,    -1,    -1,
19262
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19263
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
19264
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19265
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
19266
      47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
19267
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
19268
      -1,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
19269
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
19270
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
19271
      97,    -1,    -1,    -1,   101,    -1,    -1,   104,   105,   106,
19272
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
19273
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
19274
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
19275
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
19276
     147,   148,   149,   150,   151,   152,    -1,   154,    -1,   156,
19277
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
19278
     167,   168,   169,   170,    -1,   172,   173,   174,   175,   176,
19279
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
19280
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
19281
     197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
19282
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
19283
     217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
19284
     227,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
19285
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
19286
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
19287
     257,    -1,   259,   260,   261,   262,    -1,   264,   265,   266,
19288
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
19289
     277,    -1,    -1,   280,   281,   282,   283,   284,   285,   286,
19290
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
19291
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
19292
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
19293
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
19294
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
19295
     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
19296
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
19297
     357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
19298
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
19299
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
19300
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
19301
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
19302
     407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
19303
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
19304
     427,   428,   429,   430,   431,   432,   433,    -1,   435,   436,
19305
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
19306
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
19307
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
19308
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19309
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
19310
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
19311
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
19312
      44,    45,    46,    47,    48,    49,    50,    51,    52,    -1,
19313
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
19314
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
19315
      74,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
19316
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
19317
      94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
19318
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
19319
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
19320
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
19321
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
19322
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
19323
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
19324
     164,    -1,   166,   167,   168,   169,   170,    -1,   172,   173,
19325
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
19326
     184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
19327
     194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
19328
     204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
19329
     214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
19330
     224,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
19331
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
19332
     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
19333
     254,   255,   256,   257,    -1,   259,   260,   261,   262,    -1,
19334
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
19335
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,   283,
19336
     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
19337
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
19338
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
19339
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
19340
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
19341
      -1,   335,   336,   337,   338,   339,   340,   341,   342,   343,
19342
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
19343
     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
19344
     364,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
19345
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
19346
     384,    -1,   386,   387,    -1,   389,   390,   391,   392,   393,
19347
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
19348
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
19349
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
19350
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
19351
      -1,   435,   436,   437,   438,   439,   440,    -1,    -1,   443,
19352
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
19353
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
19354
     464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19355
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19356
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19357
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19358
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19359
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
19360
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
19361
      71,    72,    -1,    74,    75,    -1,    77,    78,    79,    80,
19362
      81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
19363
      91,    92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,
19364
     101,    -1,    -1,   104,   105,   106,   107,   108,   109,   110,
19365
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
19366
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
19367
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
19368
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
19369
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
19370
     161,    -1,   163,   164,    -1,   166,   167,   168,   169,   170,
19371
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
19372
     181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
19373
     191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
19374
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
19375
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
19376
      -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
19377
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
19378
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19379
     251,   252,   253,   254,   255,   256,   257,    -1,   259,   260,
19380
     261,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
19381
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
19382
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19383
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
19384
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
19385
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
19386
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
19387
     331,   332,   333,    -1,   335,   336,   337,   338,   339,   340,
19388
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
19389
     351,   352,    -1,   354,   355,   356,   357,   358,   359,   360,
19390
     361,   362,   363,   364,   365,   366,   367,   368,   369,    -1,
19391
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
19392
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
19393
     391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
19394
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
19395
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
19396
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
19397
     431,   432,   433,    -1,   435,   436,   437,   438,   439,   440,
19398
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
19399
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
19400
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
19401
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19402
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
19403
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
19404
      38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
19405
      48,    49,    50,    51,    52,    -1,    54,    55,    56,    57,
19406
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
19407
      68,    69,    70,    71,    72,    -1,    74,    75,    -1,    77,
19408
      78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
19409
      88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
19410
      -1,    -1,    -1,   101,    -1,    -1,   104,   105,   106,   107,
19411
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
19412
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
19413
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
19414
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
19415
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
19416
     158,   159,    -1,   161,    -1,   163,   164,    -1,   166,   167,
19417
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
19418
     178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
19419
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
19420
      -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
19421
      -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
19422
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
19423
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
19424
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
19425
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
19426
      -1,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
19427
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
19428
      -1,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
19429
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
19430
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
19431
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
19432
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
19433
     328,   329,   330,   331,   332,   333,    -1,   335,   336,   337,
19434
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
19435
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
19436
     358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
19437
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
19438
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
19439
      -1,   389,   390,   391,   392,   393,   394,   395,   396,   397,
19440
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
19441
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
19442
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
19443
     428,   429,   430,   431,   432,   433,    -1,   435,   436,   437,
19444
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
19445
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
19446
     458,   459,   460,   461,   462,   463,   464,   465,     3,    -1,
19447
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19448
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
19449
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
19450
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
19451
      45,    46,    47,    48,    49,    50,    51,    52,    -1,    54,
19452
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
19453
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    74,
19454
      75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
19455
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
19456
      95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,   104,
19457
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
19458
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
19459
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
19460
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
19461
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
19462
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,   164,
19463
      -1,   166,   167,   168,   169,   170,    -1,   172,   173,    -1,
19464
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
19465
     185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
19466
     195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
19467
     205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
19468
     215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
19469
     225,   226,   227,    -1,   229,   230,   231,    -1,    -1,   234,
19470
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
19471
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
19472
     255,   256,   257,    -1,   259,   260,   261,   262,    -1,   264,
19473
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
19474
     275,   276,   277,    -1,    -1,   280,   281,   282,   283,   284,
19475
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
19476
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
19477
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
19478
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
19479
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
19480
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
19481
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
19482
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
19483
     365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
19484
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
19485
      -1,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
19486
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
19487
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
19488
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
19489
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
19490
     435,   436,   437,   438,   439,   440,    -1,    -1,   443,    -1,
19491
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
19492
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
19493
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19494
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
19495
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
19496
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
19497
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
19498
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
19499
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
19500
      72,    -1,    74,    75,    -1,    77,    78,    79,    80,    81,
19501
      82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
19502
      92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
19503
      -1,    -1,   104,   105,   106,   107,   108,   109,   110,   111,
19504
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
19505
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
19506
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
19507
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
19508
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
19509
      -1,   163,   164,    -1,   166,   167,   168,   169,   170,    -1,
19510
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
19511
     182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
19512
     192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
19513
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
19514
     212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
19515
      -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
19516
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
19517
     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
19518
     252,   253,   254,   255,   256,   257,    -1,   259,   260,   261,
19519
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
19520
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
19521
     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
19522
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
19523
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
19524
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
19525
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
19526
     332,   333,    -1,   335,   336,   337,   338,   339,   340,   341,
19527
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
19528
     352,    -1,   354,   355,   356,   357,   358,   359,   360,   361,
19529
     362,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
19530
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
19531
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
19532
     392,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
19533
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
19534
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
19535
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
19536
     432,   433,    -1,   435,   436,   437,   438,   439,   440,    -1,
19537
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
19538
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
19539
     462,   463,   464,   465,     3,    -1,     5,    -1,    -1,    -1,
19540
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
19541
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
19542
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
19543
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
19544
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
19545
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
19546
      69,    70,    71,    72,    -1,    74,    75,    -1,    77,    78,
19547
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
19548
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
19549
      -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
19550
     109,   110,   111,   112,   113,   114,   115,    -1,   117,   118,
19551
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
19552
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
19553
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
19554
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
19555
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
19556
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
19557
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
19558
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
19559
     199,   200,   201,   202,   203,   204,   205,   206,   207,    -1,
19560
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
19561
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,    -1,
19562
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
19563
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
19564
     249,   250,   251,   252,   253,   254,   255,   256,   257,    -1,
19565
     259,   260,   261,   262,    -1,   264,   265,   266,   267,   268,
19566
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
19567
      -1,   280,   281,   282,   283,   284,   285,   286,   287,   288,
19568
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
19569
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
19570
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
19571
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
19572
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
19573
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
19574
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
19575
      -1,   360,   361,   362,   363,   364,   365,   366,   367,   368,
19576
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
19577
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
19578
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
19579
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
19580
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
19581
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
19582
     429,   430,   431,   432,   433,    -1,   435,   436,   437,   438,
19583
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
19584
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
19585
     459,   460,   461,   462,   463,   464,   465,     3,    -1,    -1,
19586
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19587
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19588
      -1,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
19589
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
19590
      46,    47,    48,    49,    50,    51,    52,    -1,    54,    55,
19591
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
19592
      66,    -1,    68,    69,    70,    71,    72,    -1,    74,    75,
19593
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
19594
      -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
19595
      96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
19596
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
19597
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
19598
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
19599
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
19600
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
19601
     156,   157,   158,   159,    -1,   161,    -1,   163,   164,    -1,
19602
     166,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
19603
     176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
19604
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
19605
     196,   197,    -1,   199,   200,   201,   202,   203,   204,   205,
19606
     206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
19607
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,   225,
19608
     226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
19609
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
19610
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
19611
     256,   257,    -1,   259,   260,   261,   262,    -1,   264,   265,
19612
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
19613
     276,   277,    -1,    -1,   280,   281,   282,   283,   284,   285,
19614
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
19615
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
19616
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19617
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
19618
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
19619
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
19620
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
19621
     356,   357,   358,    -1,   360,   361,   362,   363,   364,   365,
19622
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
19623
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
19624
     386,   387,    -1,   389,   390,   391,   392,   393,   394,   395,
19625
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
19626
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
19627
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
19628
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
19629
     436,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
19630
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
19631
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
19632
       3,    -1,     5,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19633
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
19634
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
19635
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
19636
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
19637
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
19638
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
19639
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
19640
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
19641
      -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,
19642
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
19643
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
19644
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
19645
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
19646
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
19647
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
19648
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
19649
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
19650
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
19651
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
19652
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
19653
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
19654
     223,   224,   225,   226,   227,    -1,   229,   230,   231,    -1,
19655
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
19656
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
19657
     253,   254,   255,   256,   257,    -1,   259,   260,   261,   262,
19658
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
19659
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
19660
     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
19661
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
19662
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
19663
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
19664
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
19665
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
19666
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
19667
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
19668
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
19669
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
19670
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,   392,
19671
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
19672
      -1,    -1,   405,   406,   407,   408,   409,    -1,   411,   412,
19673
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
19674
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
19675
     433,    -1,   435,   436,   437,   438,   439,   440,    -1,    -1,
19676
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
19677
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
19678
     463,   464,   465,     3,    -1,     5,    -1,    -1,    -1,    -1,
19679
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
19680
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
19681
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
19682
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
19683
      50,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
19684
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
19685
      70,    71,    72,    -1,    74,    75,    -1,    77,    78,    79,
19686
      80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
19687
      90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
19688
      -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
19689
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
19690
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
19691
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
19692
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
19693
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
19694
      -1,   161,    -1,   163,   164,    -1,   166,   167,   168,   169,
19695
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
19696
     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
19697
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19698
     200,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
19699
      -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
19700
     220,    -1,    -1,   223,   224,   225,   226,   227,    -1,   229,
19701
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
19702
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
19703
     250,   251,   252,   253,   254,   255,   256,   257,    -1,   259,
19704
     260,   261,   262,    -1,   264,   265,   266,   267,   268,   269,
19705
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
19706
     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
19707
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
19708
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
19709
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
19710
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
19711
     330,   331,   332,   333,    -1,   335,   336,   337,   338,   339,
19712
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
19713
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
19714
     360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
19715
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
19716
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
19717
     390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
19718
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
19719
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
19720
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
19721
     430,   431,   432,   433,    -1,   435,   436,   437,   438,   439,
19722
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
19723
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
19724
     460,   461,   462,   463,   464,   465,     3,    -1,    -1,    -1,
19725
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19726
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
19727
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19728
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
19729
      47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
19730
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
19731
      -1,    68,    69,    70,    71,    72,    -1,    74,    75,    -1,
19732
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
19733
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
19734
      97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,
19735
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
19736
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
19737
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
19738
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
19739
     147,   148,   149,   150,   151,   152,    -1,   154,    -1,   156,
19740
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
19741
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
19742
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
19743
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
19744
     197,    -1,   199,   200,   201,   202,   203,   204,   205,   206,
19745
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
19746
     217,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
19747
     227,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
19748
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
19749
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
19750
     257,    -1,   259,   260,   261,   262,    -1,   264,   265,   266,
19751
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
19752
     277,    -1,    -1,   280,   281,   282,   283,   284,   285,   286,
19753
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
19754
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
19755
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
19756
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
19757
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
19758
     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
19759
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
19760
     357,   358,    -1,   360,   361,   362,   363,   364,   365,   366,
19761
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
19762
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
19763
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
19764
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
19765
     407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
19766
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
19767
     427,   428,   429,   430,   431,   432,   433,    -1,   435,   436,
19768
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
19769
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
19770
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
19771
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19772
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
19773
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
19774
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
19775
      44,    45,    46,    47,    48,    49,    50,    51,    52,    -1,
19776
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
19777
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
19778
      74,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
19779
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
19780
      94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
19781
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
19782
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
19783
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
19784
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
19785
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
19786
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
19787
     164,    -1,   166,   167,   168,   169,   170,    -1,   172,   173,
19788
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
19789
     184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
19790
     194,   195,   196,   197,    -1,   199,   200,   201,   202,   203,
19791
     204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
19792
     214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
19793
     224,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
19794
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
19795
     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
19796
     254,   255,   256,   257,    -1,   259,   260,   261,   262,    -1,
19797
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
19798
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,   283,
19799
     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
19800
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
19801
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
19802
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
19803
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
19804
      -1,   335,   336,   337,   338,   339,   340,   341,   342,   343,
19805
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
19806
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
19807
     364,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
19808
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
19809
     384,    -1,   386,   387,    -1,   389,   390,   391,   392,   393,
19810
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
19811
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
19812
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
19813
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
19814
      -1,   435,   436,   437,   438,   439,   440,    -1,    -1,   443,
19815
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
19816
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
19817
     464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19818
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
19819
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
19820
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
19821
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19822
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
19823
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
19824
      71,    72,    -1,    74,    75,    -1,    77,    78,    79,    80,
19825
      81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
19826
      91,    92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,
19827
     101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
19828
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
19829
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
19830
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
19831
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
19832
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
19833
     161,    -1,   163,   164,    -1,   166,   167,   168,   169,   170,
19834
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
19835
     181,   182,   183,   184,   185,   186,   187,   188,   189,    -1,
19836
     191,   192,   193,   194,   195,   196,   197,    -1,   199,   200,
19837
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
19838
     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
19839
      -1,    -1,   223,   224,   225,   226,   227,    -1,   229,   230,
19840
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
19841
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19842
     251,   252,   253,   254,   255,   256,   257,    -1,   259,   260,
19843
     261,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
19844
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
19845
     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19846
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
19847
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
19848
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
19849
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
19850
     331,   332,   333,    -1,   335,   336,   337,   338,   339,   340,
19851
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
19852
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
19853
     361,   362,   363,   364,   365,   366,   367,   368,   369,    -1,
19854
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
19855
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
19856
     391,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
19857
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
19858
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
19859
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
19860
     431,   432,   433,    -1,   435,   436,   437,   438,   439,   440,
19861
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
19862
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
19863
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
19864
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19865
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
19866
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
19867
      38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
19868
      48,    49,    50,    51,    52,    -1,    54,    55,    56,    57,
19869
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
19870
      68,    69,    70,    71,    72,    -1,    74,    75,    -1,    77,
19871
      78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
19872
      88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
19873
      -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
19874
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
19875
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
19876
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
19877
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
19878
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
19879
     158,   159,    -1,   161,    -1,   163,   164,    -1,   166,   167,
19880
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
19881
     178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
19882
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
19883
      -1,   199,   200,   201,   202,   203,   204,   205,   206,   207,
19884
      -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
19885
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
19886
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
19887
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
19888
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
19889
      -1,   259,   260,   261,   262,    -1,   264,   265,   266,   267,
19890
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
19891
      -1,    -1,   280,   281,   282,   283,   284,   285,   286,   287,
19892
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
19893
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
19894
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
19895
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
19896
     328,   329,   330,   331,   332,   333,    -1,   335,   336,   337,
19897
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
19898
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
19899
     358,    -1,   360,   361,   362,   363,   364,   365,   366,   367,
19900
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
19901
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
19902
      -1,   389,   390,   391,   392,   393,   394,   395,   396,   397,
19903
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
19904
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
19905
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
19906
     428,   429,   430,   431,   432,   433,    -1,   435,   436,   437,
19907
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
19908
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
19909
     458,   459,   460,   461,   462,   463,   464,   465,     3,    -1,
19910
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19911
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
19912
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
19913
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
19914
      45,    46,    47,    48,    49,    50,    51,    52,    -1,    54,
19915
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
19916
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    74,
19917
      75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
19918
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
19919
      95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,
19920
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
19921
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
19922
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
19923
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
19924
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
19925
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,   164,
19926
      -1,   166,   167,   168,   169,   170,    -1,   172,   173,    -1,
19927
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
19928
     185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
19929
     195,   196,   197,    -1,   199,   200,   201,   202,   203,   204,
19930
     205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
19931
     215,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
19932
     225,   226,   227,    -1,   229,   230,   231,    -1,    -1,   234,
19933
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
19934
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
19935
     255,   256,   257,    -1,   259,   260,   261,   262,    -1,   264,
19936
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
19937
     275,   276,   277,    -1,    -1,   280,   281,   282,   283,   284,
19938
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
19939
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
19940
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
19941
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
19942
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
19943
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
19944
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
19945
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
19946
     365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
19947
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
19948
      -1,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
19949
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
19950
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
19951
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
19952
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
19953
     435,   436,   437,   438,   439,   440,    -1,    -1,   443,    -1,
19954
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
19955
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
19956
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19957
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
19958
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
19959
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
19960
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
19961
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
19962
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
19963
      72,    -1,    74,    75,    -1,    77,    78,    79,    80,    81,
19964
      82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
19965
      92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
19966
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
19967
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
19968
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
19969
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
19970
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
19971
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
19972
      -1,   163,   164,    -1,   166,   167,   168,   169,   170,    -1,
19973
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
19974
     182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
19975
     192,   193,   194,   195,   196,   197,    -1,   199,   200,   201,
19976
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
19977
     212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
19978
      -1,   223,   224,   225,   226,   227,    -1,   229,   230,   231,
19979
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
19980
     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
19981
     252,   253,   254,   255,   256,   257,    -1,   259,   260,   261,
19982
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
19983
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
19984
     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
19985
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
19986
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
19987
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
19988
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
19989
     332,   333,    -1,   335,   336,   337,   338,   339,   340,   341,
19990
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
19991
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
19992
     362,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
19993
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
19994
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
19995
     392,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
19996
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
19997
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
19998
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
19999
     432,   433,    -1,   435,   436,   437,   438,   439,   440,    -1,
20000
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
20001
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
20002
     462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,
20003
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
20004
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
20005
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
20006
      -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
20007
      49,    -1,    51,    52,    -1,    54,    55,    56,    57,    58,
20008
      59,    -1,    -1,    62,    63,    64,    65,    66,    67,    68,
20009
      69,    70,    71,    72,    -1,    -1,    75,    76,    77,    78,
20010
      79,    80,    81,    -1,    83,    84,    85,    86,    87,    88,
20011
      89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
20012
      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
20013
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
20014
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
20015
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
20016
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
20017
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
20018
     159,    -1,   161,   162,   163,    -1,    -1,    -1,   167,   168,
20019
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
20020
      -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
20021
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
20022
     199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
20023
     209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
20024
     219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
20025
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
20026
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
20027
     249,   250,    -1,   252,   253,   254,   255,    -1,   257,    -1,
20028
     259,   260,    -1,   262,    -1,   264,   265,   266,   267,   268,
20029
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
20030
      -1,   280,   281,   282,    -1,   284,    -1,   286,   287,   288,
20031
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
20032
     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
20033
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
20034
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
20035
     329,   330,   331,   332,   333,    -1,   335,   336,    -1,   338,
20036
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
20037
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
20038
      -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
20039
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
20040
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
20041
     389,   390,   391,    -1,   393,   394,   395,   396,   397,   398,
20042
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
20043
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
20044
     419,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
20045
     429,   430,   431,   432,   433,    -1,   435,    -1,   437,   438,
20046
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
20047
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
20048
     459,   460,   461,   462,   463,   464,   465,     3,    -1,    -1,
20049
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20050
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20051
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20052
      -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20053
      46,    47,    48,    49,    -1,    51,    52,    -1,    54,    55,
20054
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
20055
      66,    67,    68,    69,    70,    71,    72,    -1,    -1,    75,
20056
      -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
20057
      86,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
20058
      96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
20059
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
20060
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
20061
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
20062
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
20063
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
20064
     156,   157,   158,   159,    -1,   161,   162,   163,    -1,    -1,
20065
      -1,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
20066
     176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
20067
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
20068
     196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
20069
     206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
20070
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
20071
     226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
20072
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20073
     246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
20074
      -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,   265,
20075
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
20076
     276,   277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,
20077
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
20078
      -1,   297,   298,   299,   300,   301,   302,   303,   304,   305,
20079
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20080
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
20081
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
20082
     336,    -1,   338,   339,   340,   341,   342,   343,   344,   345,
20083
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
20084
     356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
20085
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
20086
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
20087
     386,   387,    -1,   389,   390,   391,    -1,   393,   394,   395,
20088
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
20089
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
20090
     416,   417,    -1,   419,   420,   421,   422,   423,   424,    -1,
20091
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
20092
      -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
20093
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20094
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
20095
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20096
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
20097
      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    -1,
20098
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
20099
      -1,    44,    45,    46,    47,    48,    49,    -1,    51,    52,
20100
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
20101
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
20102
      -1,    -1,    75,    -1,    77,    78,    79,    80,    81,    -1,
20103
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
20104
      93,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
20105
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
20106
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
20107
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
20108
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
20109
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
20110
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
20111
     163,    -1,    -1,    -1,   167,   168,   169,   170,   171,   172,
20112
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
20113
     183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
20114
     193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
20115
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
20116
      -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
20117
     223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
20118
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
20119
     243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
20120
     253,   254,   255,    -1,   257,    -1,   259,   260,    -1,   262,
20121
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
20122
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
20123
      -1,   284,    -1,   286,   287,   288,   289,   290,   291,   292,
20124
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
20125
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
20126
     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
20127
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
20128
     333,    -1,   335,   336,    -1,   338,   339,   340,   341,   342,
20129
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
20130
     353,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
20131
     363,   364,    -1,   366,   367,   368,   369,    -1,   371,   372,
20132
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
20133
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,    -1,
20134
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
20135
      -1,    -1,   405,   406,   407,   408,   409,    -1,   411,   412,
20136
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
20137
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
20138
     433,    -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,
20139
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
20140
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
20141
     463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20142
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
20143
      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
20144
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
20145
      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
20146
      -1,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
20147
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
20148
      70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
20149
      80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
20150
      90,    91,    92,    93,    -1,    95,    96,    97,    -1,    -1,
20151
      -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
20152
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
20153
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
20154
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
20155
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
20156
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
20157
      -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,
20158
     170,   171,   172,   173,    -1,   175,   176,   177,   178,    -1,
20159
     180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
20160
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20161
      -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
20162
      -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
20163
     220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
20164
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
20165
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
20166
     250,    -1,   252,   253,   254,   255,    -1,   257,    -1,   259,
20167
     260,    -1,   262,    -1,   264,   265,   266,   267,   268,   269,
20168
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
20169
     280,   281,   282,    -1,   284,    -1,   286,   287,   288,   289,
20170
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
20171
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
20172
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
20173
     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
20174
     330,   331,   332,   333,    -1,   335,   336,    -1,   338,   339,
20175
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
20176
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
20177
     360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
20178
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
20179
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
20180
     390,   391,    -1,   393,   394,   395,   396,   397,   398,    -1,
20181
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
20182
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
20183
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
20184
     430,   431,   432,   433,    -1,   435,    -1,   437,   438,   439,
20185
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
20186
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
20187
     460,   461,   462,   463,   464,   465,     3,    -1,    -1,    -1,
20188
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20189
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
20190
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20191
      37,    38,    -1,    40,    41,    42,    -1,    44,    45,    46,
20192
      47,    48,    49,    -1,    51,    52,    -1,    54,    55,    56,
20193
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
20194
      67,    68,    69,    70,    71,    72,    -1,    -1,    75,    -1,
20195
      77,    78,    79,    80,    81,    -1,    83,    84,    85,    86,
20196
      87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
20197
      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
20198
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
20199
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
20200
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
20201
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
20202
     147,   148,   149,   150,   151,   152,    -1,   154,    -1,   156,
20203
     157,   158,   159,    -1,   161,   162,   163,    -1,    -1,    -1,
20204
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
20205
     177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
20206
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
20207
     197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
20208
     207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
20209
     217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
20210
      -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
20211
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
20212
     247,   248,   249,   250,    -1,   252,   253,   254,   255,    -1,
20213
     257,    -1,   259,   260,    -1,   262,    -1,   264,   265,   266,
20214
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
20215
     277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,
20216
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
20217
     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
20218
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
20219
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
20220
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
20221
      -1,   338,   339,   340,   341,   342,   343,   344,   345,   346,
20222
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
20223
     357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
20224
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
20225
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
20226
     387,    -1,   389,   390,   391,    -1,   393,   394,   395,   396,
20227
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
20228
     407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
20229
     417,    -1,   419,   420,   421,   422,   423,   424,    -1,    -1,
20230
     427,   428,   429,   430,   431,   432,   433,    -1,   435,    -1,
20231
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
20232
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
20233
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
20234
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20235
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
20236
      24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
20237
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
20238
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
20239
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
20240
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
20241
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
20242
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    93,
20243
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
20244
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
20245
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
20246
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
20247
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
20248
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
20249
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
20250
      -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,   173,
20251
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
20252
     184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
20253
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
20254
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
20255
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
20256
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
20257
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
20258
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
20259
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
20260
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
20261
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
20262
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
20263
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
20264
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
20265
     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
20266
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
20267
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
20268
     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
20269
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
20270
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
20271
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
20272
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
20273
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
20274
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
20275
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
20276
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
20277
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
20278
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
20279
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
20280
     464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20281
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20282
      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
20283
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20284
      41,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
20285
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
20286
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
20287
      71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
20288
      81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
20289
      91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
20290
      -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
20291
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
20292
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
20293
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
20294
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
20295
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
20296
     161,   162,   163,    -1,    -1,    -1,   167,   168,   169,   170,
20297
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
20298
     181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
20299
     191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
20300
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
20301
     211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
20302
      -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
20303
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
20304
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
20305
      -1,   252,   253,   254,   255,    -1,   257,    -1,   259,   260,
20306
      -1,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
20307
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
20308
     281,   282,    -1,   284,    -1,   286,   287,   288,   289,   290,
20309
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
20310
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
20311
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
20312
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
20313
     331,   332,   333,    -1,   335,   336,    -1,   338,   339,   340,
20314
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
20315
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
20316
     361,   362,   363,   364,    -1,   366,   367,   368,   369,    -1,
20317
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
20318
     381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
20319
     391,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
20320
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
20321
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
20322
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
20323
     431,   432,   433,    -1,   435,    -1,   437,   438,   439,   440,
20324
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
20325
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
20326
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
20327
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20328
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
20329
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
20330
      38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
20331
      48,    49,    -1,    51,    52,    -1,    54,    55,    56,    57,
20332
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
20333
      68,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
20334
      78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
20335
      88,    89,    90,    91,    92,    93,    -1,    95,    96,    97,
20336
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
20337
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
20338
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
20339
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
20340
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
20341
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
20342
     158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,
20343
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
20344
     178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
20345
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20346
      -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
20347
      -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
20348
     218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
20349
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
20350
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
20351
     248,   249,   250,    -1,   252,   253,   254,   255,    -1,   257,
20352
      -1,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
20353
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
20354
      -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,   287,
20355
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
20356
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
20357
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
20358
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
20359
     328,   329,   330,   331,   332,   333,    -1,   335,   336,    -1,
20360
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
20361
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
20362
     358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
20363
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
20364
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
20365
      -1,   389,   390,   391,    -1,   393,   394,   395,   396,   397,
20366
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
20367
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
20368
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
20369
     428,   429,   430,   431,   432,   433,    -1,   435,    -1,   437,
20370
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
20371
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
20372
     458,   459,   460,   461,   462,   463,   464,   465,     3,    -1,
20373
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20374
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
20375
      25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
20376
      -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
20377
      45,    46,    47,    48,    49,    -1,    51,    52,    -1,    54,
20378
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
20379
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    -1,
20380
      75,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
20381
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
20382
      95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20383
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
20384
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
20385
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
20386
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
20387
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
20388
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,    -1,
20389
      -1,    -1,   167,   168,   169,   170,    -1,   172,   173,    -1,
20390
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
20391
      -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
20392
     195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
20393
     205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
20394
      -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
20395
      -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
20396
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
20397
     245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
20398
     255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,
20399
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,   274,
20400
     275,   276,   277,    -1,    -1,   280,   281,   282,    -1,   284,
20401
      -1,   286,   287,   288,   289,   290,   291,   292,   293,   294,
20402
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
20403
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
20404
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
20405
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
20406
     335,   336,    -1,   338,   339,   340,   341,   342,   343,   344,
20407
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
20408
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
20409
      -1,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
20410
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
20411
      -1,   386,   387,    -1,   389,   390,   391,    -1,   393,   394,
20412
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
20413
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
20414
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
20415
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
20416
     435,    -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,
20417
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
20418
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
20419
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20420
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
20421
      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
20422
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
20423
      42,    -1,    44,    45,    46,    47,    48,    49,    -1,    51,
20424
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
20425
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
20426
      72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
20427
      -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
20428
      92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
20429
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
20430
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
20431
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
20432
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
20433
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
20434
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
20435
      -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,
20436
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
20437
     182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
20438
     192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20439
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
20440
      -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
20441
      -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
20442
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
20443
     242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
20444
     252,   253,   254,   255,    -1,   257,    -1,   259,   260,    -1,
20445
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
20446
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
20447
     282,    -1,   284,    -1,   286,   287,   288,   289,   290,   291,
20448
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
20449
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
20450
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
20451
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
20452
     332,   333,    -1,   335,   336,    -1,   338,   339,   340,   341,
20453
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
20454
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
20455
     362,   363,   364,    -1,   366,   367,   368,   369,    -1,   371,
20456
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
20457
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
20458
      -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
20459
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
20460
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
20461
     422,   423,   424,   425,    -1,   427,   428,   429,   430,   431,
20462
     432,   433,    -1,   435,    -1,   437,   438,   439,   440,    -1,
20463
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
20464
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
20465
     462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,
20466
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
20467
      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
20468
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
20469
      -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
20470
      49,    -1,    51,    52,    -1,    54,    55,    56,    57,    58,
20471
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
20472
      69,    70,    71,    72,    -1,    -1,    75,    -1,    77,    78,
20473
      79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
20474
      89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
20475
      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
20476
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
20477
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
20478
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
20479
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
20480
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
20481
     159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,
20482
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
20483
      -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
20484
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
20485
     199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
20486
     209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
20487
     219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
20488
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
20489
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
20490
     249,   250,    -1,   252,   253,   254,   255,    -1,   257,    -1,
20491
     259,   260,    -1,   262,    -1,   264,   265,   266,   267,   268,
20492
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
20493
      -1,   280,   281,   282,    -1,   284,    -1,   286,   287,   288,
20494
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
20495
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
20496
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
20497
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
20498
     329,   330,   331,   332,   333,    -1,   335,   336,    -1,   338,
20499
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
20500
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
20501
      -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
20502
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
20503
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
20504
     389,   390,   391,    -1,   393,   394,   395,   396,   397,   398,
20505
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
20506
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
20507
      -1,   420,   421,   422,   423,   424,   425,    -1,   427,   428,
20508
     429,   430,   431,   432,   433,    -1,   435,    -1,   437,   438,
20509
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
20510
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
20511
     459,   460,   461,   462,   463,   464,   465,     3,    -1,    -1,
20512
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20513
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20514
      26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20515
      -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20516
      46,    47,    48,    49,    -1,    51,    52,    -1,    54,    55,
20517
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
20518
      66,    -1,    68,    69,    70,    71,    72,    -1,    -1,    75,
20519
      -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
20520
      -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
20521
      96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
20522
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
20523
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
20524
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
20525
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
20526
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
20527
     156,   157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,
20528
      -1,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
20529
     176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
20530
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
20531
     196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
20532
     206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
20533
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
20534
     226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
20535
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20536
     246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
20537
      -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,   265,
20538
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
20539
     276,   277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,
20540
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
20541
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
20542
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20543
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
20544
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
20545
     336,    -1,   338,   339,   340,   341,   342,   343,   344,   345,
20546
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
20547
     356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
20548
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
20549
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
20550
     386,   387,    -1,   389,   390,   391,    -1,   393,   394,   395,
20551
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
20552
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
20553
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
20554
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
20555
      -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
20556
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
20557
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
20558
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20559
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
20560
      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    -1,
20561
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
20562
      -1,    44,    45,    46,    47,    48,    49,    -1,    51,    52,
20563
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
20564
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
20565
      -1,    -1,    75,    -1,    77,    78,    79,    80,    81,    -1,
20566
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
20567
      -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
20568
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
20569
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
20570
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
20571
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
20572
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
20573
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
20574
     163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,
20575
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
20576
     183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
20577
     193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
20578
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
20579
      -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
20580
     223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
20581
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
20582
     243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
20583
     253,   254,   255,    -1,   257,    -1,   259,   260,    -1,   262,
20584
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
20585
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
20586
      -1,   284,    -1,   286,   287,   288,   289,   290,   291,   292,
20587
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
20588
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
20589
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
20590
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
20591
     333,    -1,   335,   336,    -1,   338,   339,   340,   341,   342,
20592
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
20593
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
20594
     363,   364,    -1,   366,   367,   368,   369,    -1,   371,   372,
20595
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
20596
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,    -1,
20597
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
20598
      -1,    -1,   405,   406,   407,   408,   409,    -1,   411,   412,
20599
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
20600
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
20601
     433,    -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,
20602
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
20603
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
20604
     463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20605
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
20606
      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
20607
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
20608
      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
20609
      -1,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
20610
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
20611
      70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
20612
      80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
20613
      90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
20614
      -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
20615
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
20616
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
20617
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
20618
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
20619
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
20620
      -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,
20621
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
20622
     180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
20623
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20624
      -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
20625
      -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
20626
     220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
20627
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
20628
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
20629
     250,    -1,   252,   253,   254,   255,    -1,   257,    -1,   259,
20630
     260,    -1,   262,    -1,   264,   265,   266,   267,   268,   269,
20631
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
20632
     280,   281,   282,    -1,   284,    -1,   286,   287,   288,   289,
20633
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
20634
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
20635
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
20636
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
20637
     330,   331,   332,   333,    -1,   335,   336,    -1,   338,   339,
20638
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
20639
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
20640
     360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
20641
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
20642
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
20643
     390,   391,    -1,   393,   394,   395,   396,   397,   398,    -1,
20644
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
20645
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
20646
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
20647
     430,   431,   432,   433,    -1,   435,    -1,   437,   438,   439,
20648
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
20649
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
20650
     460,   461,   462,   463,   464,   465,     3,    -1,    -1,    -1,
20651
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20652
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    26,
20653
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20654
      37,    38,    -1,    40,    41,    42,    -1,    44,    45,    46,
20655
      47,    48,    49,    -1,    51,    52,    -1,    54,    55,    56,
20656
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
20657
      -1,    68,    69,    70,    71,    72,    -1,    -1,    75,    -1,
20658
      77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
20659
      87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
20660
      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
20661
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
20662
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
20663
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
20664
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
20665
     147,   148,   149,   150,   151,   152,    -1,   154,    -1,   156,
20666
     157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,
20667
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
20668
     177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
20669
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
20670
     197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
20671
     207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
20672
     217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
20673
      -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
20674
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
20675
     247,   248,   249,   250,    -1,   252,   253,   254,   255,    -1,
20676
     257,    -1,   259,   260,    -1,   262,    -1,   264,   265,   266,
20677
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
20678
     277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,
20679
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
20680
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
20681
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
20682
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
20683
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
20684
      -1,   338,   339,   340,   341,   342,   343,   344,   345,   346,
20685
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
20686
     357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
20687
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
20688
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
20689
     387,    -1,   389,   390,   391,    -1,   393,   394,   395,   396,
20690
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
20691
     407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
20692
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
20693
     427,   428,   429,   430,   431,   432,   433,    -1,   435,    -1,
20694
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
20695
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
20696
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
20697
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20698
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
20699
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
20700
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
20701
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
20702
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
20703
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
20704
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
20705
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
20706
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
20707
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
20708
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
20709
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
20710
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
20711
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
20712
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
20713
      -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,   173,
20714
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
20715
     184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
20716
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
20717
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
20718
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
20719
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
20720
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
20721
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
20722
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
20723
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
20724
     274,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
20725
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
20726
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
20727
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
20728
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
20729
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
20730
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
20731
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
20732
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
20733
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
20734
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
20735
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
20736
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
20737
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
20738
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
20739
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
20740
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
20741
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
20742
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
20743
     464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20744
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
20745
      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
20746
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
20747
      41,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
20748
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
20749
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
20750
      71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
20751
      81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
20752
      91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
20753
      -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
20754
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
20755
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
20756
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
20757
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
20758
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
20759
     161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,
20760
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
20761
     181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
20762
     191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
20763
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
20764
     211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
20765
      -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
20766
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
20767
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
20768
      -1,   252,   253,   254,   255,    -1,   257,    -1,   259,   260,
20769
      -1,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
20770
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
20771
     281,   282,    -1,   284,    -1,   286,   287,   288,   289,   290,
20772
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
20773
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
20774
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
20775
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
20776
     331,   332,   333,    -1,   335,   336,    -1,   338,   339,   340,
20777
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
20778
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
20779
     361,   362,   363,   364,    -1,   366,   367,   368,   369,    -1,
20780
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
20781
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
20782
     391,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
20783
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
20784
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
20785
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
20786
     431,   432,   433,    -1,   435,    -1,   437,   438,   439,   440,
20787
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
20788
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
20789
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
20790
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20791
      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
20792
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
20793
      38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
20794
      48,    49,    -1,    51,    52,    -1,    54,    55,    56,    57,
20795
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
20796
      68,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
20797
      78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
20798
      88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
20799
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
20800
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
20801
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
20802
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
20803
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
20804
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
20805
     158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,
20806
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
20807
     178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
20808
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20809
      -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
20810
      -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
20811
     218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
20812
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
20813
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
20814
     248,   249,   250,    -1,   252,   253,   254,   255,    -1,   257,
20815
      -1,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
20816
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
20817
      -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,   287,
20818
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
20819
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
20820
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
20821
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
20822
     328,   329,   330,   331,   332,   333,    -1,   335,   336,    -1,
20823
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
20824
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
20825
     358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
20826
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
20827
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
20828
      -1,   389,   390,   391,    -1,   393,   394,   395,   396,   397,
20829
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
20830
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
20831
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
20832
     428,   429,   430,   431,   432,   433,    -1,   435,    -1,   437,
20833
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
20834
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
20835
     458,   459,   460,   461,   462,   463,   464,   465,     3,    -1,
20836
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20837
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
20838
      25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
20839
      -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
20840
      45,    46,    47,    48,    49,    -1,    51,    52,    -1,    54,
20841
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
20842
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    -1,
20843
      75,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
20844
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
20845
      95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20846
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
20847
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
20848
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
20849
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
20850
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
20851
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,    -1,
20852
      -1,    -1,   167,   168,   169,   170,    -1,   172,   173,    -1,
20853
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
20854
      -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
20855
     195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
20856
     205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
20857
      -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
20858
      -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
20859
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
20860
     245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
20861
     255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,
20862
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
20863
     275,   276,   277,    -1,    -1,   280,   281,   282,    -1,   284,
20864
      -1,   286,   287,   288,   289,   290,   291,   292,   293,   294,
20865
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
20866
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
20867
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
20868
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
20869
     335,   336,    -1,   338,   339,   340,   341,   342,   343,   344,
20870
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
20871
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
20872
      -1,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
20873
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
20874
      -1,   386,   387,    -1,   389,   390,   391,    -1,   393,   394,
20875
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
20876
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
20877
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
20878
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
20879
     435,    -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,
20880
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
20881
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
20882
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20883
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
20884
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
20885
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
20886
      42,    43,    44,    45,    46,    47,    48,    49,    -1,    51,
20887
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
20888
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
20889
      72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
20890
      -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
20891
      92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
20892
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
20893
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
20894
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
20895
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
20896
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
20897
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
20898
      -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,
20899
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
20900
     182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
20901
     192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20902
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
20903
      -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
20904
      -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
20905
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
20906
     242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
20907
     252,   253,   254,   255,    -1,   257,    -1,   259,   260,    -1,
20908
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
20909
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
20910
     282,    -1,   284,    -1,   286,   287,   288,   289,   290,   291,
20911
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
20912
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
20913
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
20914
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
20915
     332,   333,    -1,   335,   336,    -1,   338,   339,   340,   341,
20916
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
20917
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
20918
     362,   363,   364,    -1,   366,   367,   368,   369,    -1,   371,
20919
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
20920
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
20921
      -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
20922
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
20923
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
20924
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
20925
     432,   433,    -1,   435,    -1,   437,   438,   439,   440,    -1,
20926
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
20927
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
20928
     462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,
20929
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
20930
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
20931
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
20932
      -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
20933
      49,    -1,    51,    52,    -1,    54,    55,    56,    57,    58,
20934
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
20935
      69,    70,    71,    72,    -1,    -1,    75,    -1,    77,    78,
20936
      79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
20937
      89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
20938
      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
20939
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
20940
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
20941
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
20942
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
20943
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
20944
     159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,
20945
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
20946
      -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
20947
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
20948
     199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
20949
     209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
20950
     219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
20951
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
20952
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
20953
     249,   250,    -1,   252,   253,   254,   255,    -1,   257,    -1,
20954
     259,   260,    -1,   262,    -1,   264,   265,   266,   267,   268,
20955
     269,    -1,   271,   272,    -1,   274,   275,   276,   277,    -1,
20956
      -1,   280,   281,   282,    -1,   284,    -1,   286,   287,   288,
20957
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
20958
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
20959
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
20960
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
20961
     329,   330,   331,   332,   333,    -1,   335,   336,    -1,   338,
20962
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
20963
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
20964
      -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
20965
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
20966
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
20967
     389,   390,   391,    -1,   393,   394,   395,   396,   397,   398,
20968
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
20969
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
20970
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
20971
     429,   430,   431,   432,   433,    -1,   435,    -1,   437,   438,
20972
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
20973
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
20974
     459,   460,   461,   462,   463,   464,   465,     3,    -1,    -1,
20975
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20976
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20977
      26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20978
      -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
20979
      46,    47,    48,    49,    -1,    51,    52,    -1,    54,    55,
20980
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
20981
      66,    -1,    68,    69,    70,    71,    72,    -1,    -1,    75,
20982
      -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
20983
      -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
20984
      96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
20985
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
20986
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
20987
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
20988
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
20989
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
20990
     156,   157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,
20991
      -1,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
20992
     176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
20993
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
20994
     196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
20995
     206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
20996
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
20997
     226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
20998
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
20999
     246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21000
      -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,   265,
21001
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
21002
     276,   277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,
21003
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
21004
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
21005
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21006
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
21007
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
21008
     336,    -1,   338,   339,   340,   341,   342,   343,   344,   345,
21009
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
21010
     356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
21011
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
21012
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
21013
     386,   387,    -1,   389,   390,   391,    -1,   393,   394,   395,
21014
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
21015
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
21016
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
21017
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
21018
      -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
21019
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21020
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
21021
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21022
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
21023
      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    -1,
21024
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
21025
      -1,    44,    45,    46,    47,    48,    49,    -1,    51,    52,
21026
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
21027
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
21028
      -1,    -1,    75,    -1,    77,    78,    79,    80,    81,    -1,
21029
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
21030
      -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
21031
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
21032
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
21033
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
21034
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
21035
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
21036
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
21037
     163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,
21038
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
21039
     183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
21040
     193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
21041
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
21042
      -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
21043
     223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
21044
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
21045
     243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
21046
     253,   254,   255,    -1,   257,    -1,   259,   260,    -1,   262,
21047
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
21048
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
21049
      -1,   284,    -1,   286,   287,   288,   289,   290,   291,   292,
21050
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
21051
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
21052
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
21053
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
21054
     333,    -1,   335,   336,    -1,   338,   339,   340,   341,   342,
21055
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
21056
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
21057
     363,   364,    -1,   366,   367,   368,   369,    -1,   371,   372,
21058
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
21059
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,    -1,
21060
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
21061
      -1,    -1,   405,   406,   407,   408,   409,    -1,   411,   412,
21062
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
21063
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
21064
     433,    -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,
21065
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
21066
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
21067
     463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21068
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
21069
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
21070
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
21071
      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
21072
      -1,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
21073
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
21074
      70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
21075
      80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
21076
      90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
21077
      -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
21078
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
21079
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
21080
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
21081
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
21082
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
21083
      -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,
21084
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
21085
     180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
21086
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
21087
      -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
21088
      -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
21089
     220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
21090
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
21091
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
21092
     250,    -1,   252,   253,   254,   255,    -1,   257,    -1,   259,
21093
     260,    -1,   262,    -1,   264,   265,   266,   267,   268,   269,
21094
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
21095
     280,   281,   282,    -1,   284,    -1,   286,   287,   288,   289,
21096
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
21097
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
21098
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
21099
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
21100
     330,   331,   332,   333,    -1,   335,   336,    -1,   338,   339,
21101
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
21102
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
21103
     360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
21104
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
21105
     380,   381,   382,   383,   384,    -1,   386,   387,   388,   389,
21106
     390,   391,    -1,   393,   394,   395,   396,   397,   398,    -1,
21107
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
21108
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
21109
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
21110
     430,   431,   432,   433,    -1,   435,    -1,   437,   438,   439,
21111
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
21112
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
21113
     460,   461,   462,   463,   464,   465,     3,    -1,     5,    -1,
21114
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21115
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
21116
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21117
      37,    38,    -1,    40,    41,    42,    -1,    44,    45,    46,
21118
      47,    48,    49,    -1,    51,    52,    -1,    54,    55,    56,
21119
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
21120
      -1,    68,    69,    70,    71,    72,    -1,    -1,    75,    -1,
21121
      77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
21122
      87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
21123
      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
21124
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
21125
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
21126
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
21127
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
21128
     147,   148,   149,   150,   151,   152,    -1,   154,    -1,   156,
21129
     157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,
21130
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
21131
     177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
21132
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
21133
     197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
21134
     207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
21135
     217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
21136
      -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
21137
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
21138
     247,   248,   249,   250,    -1,   252,   253,   254,   255,    -1,
21139
     257,    -1,   259,   260,    -1,   262,    -1,   264,   265,   266,
21140
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
21141
     277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,
21142
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
21143
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
21144
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
21145
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
21146
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
21147
      -1,   338,   339,   340,   341,   342,   343,   344,   345,   346,
21148
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
21149
     357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
21150
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
21151
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
21152
     387,    -1,   389,   390,   391,    -1,   393,   394,   395,   396,
21153
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
21154
     407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
21155
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
21156
     427,   428,   429,   430,   431,   432,   433,    -1,   435,    -1,
21157
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
21158
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
21159
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
21160
      -1,    -1,    -1,    -1,    -1,     9,    -1,    -1,    -1,    -1,
21161
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
21162
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
21163
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
21164
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
21165
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
21166
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
21167
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
21168
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
21169
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
21170
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
21171
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
21172
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
21173
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
21174
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
21175
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
21176
      -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,   173,
21177
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
21178
     184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
21179
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
21180
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
21181
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
21182
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
21183
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
21184
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
21185
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
21186
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
21187
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
21188
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
21189
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
21190
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
21191
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
21192
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
21193
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
21194
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
21195
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
21196
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
21197
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
21198
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
21199
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
21200
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
21201
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
21202
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
21203
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
21204
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
21205
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
21206
     464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21207
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21208
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21209
      -1,    -1,    -1,    -1,    35,    -1,    37,    38,    -1,    40,
21210
      41,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
21211
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
21212
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
21213
      71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
21214
      81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
21215
      91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
21216
      -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
21217
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
21218
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
21219
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
21220
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
21221
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
21222
     161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,
21223
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
21224
     181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
21225
     191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
21226
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
21227
     211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
21228
      -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
21229
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
21230
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
21231
      -1,   252,   253,   254,   255,    -1,   257,    -1,   259,   260,
21232
      -1,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
21233
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
21234
     281,   282,    -1,   284,    -1,   286,   287,   288,   289,   290,
21235
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
21236
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
21237
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
21238
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
21239
     331,   332,   333,    -1,   335,   336,    -1,   338,   339,   340,
21240
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
21241
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
21242
     361,   362,   363,   364,    -1,   366,   367,   368,   369,    -1,
21243
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
21244
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
21245
     391,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
21246
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
21247
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
21248
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
21249
     431,   432,   433,    -1,   435,    -1,   437,   438,   439,   440,
21250
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
21251
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
21252
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
21253
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21254
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
21255
      28,    29,    -1,    -1,    -1,    -1,    -1,    35,    -1,    37,
21256
      38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
21257
      48,    49,    -1,    51,    52,    -1,    54,    55,    56,    57,
21258
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
21259
      68,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
21260
      78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
21261
      88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
21262
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
21263
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
21264
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
21265
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
21266
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
21267
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
21268
     158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,
21269
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
21270
     178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
21271
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
21272
      -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
21273
      -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
21274
     218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
21275
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
21276
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
21277
     248,   249,   250,    -1,   252,   253,   254,   255,    -1,   257,
21278
      -1,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
21279
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
21280
      -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,   287,
21281
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
21282
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
21283
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
21284
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
21285
     328,   329,   330,   331,   332,   333,    -1,   335,   336,    -1,
21286
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
21287
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
21288
     358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
21289
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
21290
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
21291
      -1,   389,   390,   391,    -1,   393,   394,   395,   396,   397,
21292
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
21293
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
21294
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
21295
     428,   429,   430,   431,   432,   433,    -1,   435,    -1,   437,
21296
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
21297
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
21298
     458,   459,   460,   461,   462,   463,   464,   465,     3,    -1,
21299
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21300
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
21301
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
21302
      -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
21303
      45,    46,    47,    48,    49,    -1,    51,    52,    -1,    54,
21304
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
21305
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    -1,
21306
      75,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
21307
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
21308
      95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21309
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
21310
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
21311
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
21312
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
21313
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
21314
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,    -1,
21315
      -1,    -1,   167,   168,   169,   170,    -1,   172,   173,    -1,
21316
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
21317
      -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
21318
     195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
21319
     205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
21320
      -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
21321
      -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
21322
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
21323
     245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
21324
     255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,
21325
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
21326
     275,   276,   277,    -1,    -1,   280,   281,   282,    -1,   284,
21327
      -1,   286,   287,   288,   289,   290,   291,   292,   293,   294,
21328
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
21329
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
21330
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
21331
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
21332
     335,   336,    -1,   338,   339,   340,   341,   342,   343,   344,
21333
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
21334
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
21335
      -1,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
21336
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
21337
      -1,   386,   387,    -1,   389,   390,   391,    -1,   393,   394,
21338
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
21339
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
21340
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
21341
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
21342
     435,    -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,
21343
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
21344
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
21345
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21346
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
21347
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
21348
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
21349
      42,    -1,    44,    45,    46,    47,    48,    49,    -1,    51,
21350
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
21351
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
21352
      72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
21353
      -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
21354
      92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
21355
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
21356
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
21357
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
21358
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
21359
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
21360
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
21361
      -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,
21362
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
21363
     182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
21364
     192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
21365
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
21366
      -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
21367
      -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
21368
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
21369
     242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
21370
     252,   253,   254,   255,    -1,   257,    -1,   259,   260,    -1,
21371
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
21372
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
21373
     282,    -1,   284,    -1,   286,   287,   288,   289,   290,   291,
21374
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
21375
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
21376
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
21377
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
21378
     332,   333,    -1,   335,   336,    -1,   338,   339,   340,   341,
21379
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
21380
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
21381
     362,   363,   364,    -1,   366,   367,   368,   369,    -1,   371,
21382
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
21383
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
21384
      -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
21385
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
21386
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
21387
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
21388
     432,   433,    -1,   435,    -1,   437,   438,   439,   440,    -1,
21389
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
21390
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
21391
     462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,
21392
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
21393
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
21394
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
21395
      -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
21396
      49,    -1,    51,    52,    -1,    54,    55,    56,    57,    58,
21397
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
21398
      69,    70,    71,    72,    -1,    -1,    75,    -1,    77,    78,
21399
      79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
21400
      89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
21401
      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
21402
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
21403
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
21404
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
21405
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
21406
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
21407
     159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,
21408
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
21409
      -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
21410
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
21411
     199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
21412
     209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
21413
     219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
21414
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
21415
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
21416
     249,   250,    -1,   252,   253,   254,   255,    -1,   257,    -1,
21417
     259,   260,    -1,   262,    -1,   264,   265,   266,   267,   268,
21418
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
21419
      -1,   280,   281,   282,    -1,   284,    -1,   286,   287,   288,
21420
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
21421
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
21422
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
21423
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
21424
     329,   330,   331,   332,   333,    -1,   335,   336,    -1,   338,
21425
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
21426
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
21427
      -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
21428
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
21429
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
21430
     389,   390,   391,    -1,   393,   394,   395,   396,   397,   398,
21431
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
21432
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
21433
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
21434
     429,   430,   431,   432,   433,    -1,   435,    -1,   437,   438,
21435
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
21436
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
21437
     459,   460,   461,   462,   463,   464,   465,     3,    -1,    -1,
21438
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21439
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21440
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21441
      -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21442
      46,    47,    48,    49,    -1,    51,    52,    -1,    54,    55,
21443
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
21444
      66,    -1,    68,    69,    70,    71,    72,    -1,    -1,    75,
21445
      -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
21446
      -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
21447
      96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
21448
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
21449
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
21450
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
21451
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
21452
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
21453
     156,   157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,
21454
      -1,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
21455
     176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
21456
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
21457
     196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21458
     206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
21459
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
21460
     226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
21461
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21462
     246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21463
      -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,   265,
21464
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
21465
     276,   277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,
21466
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
21467
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
21468
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21469
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
21470
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
21471
     336,    -1,   338,   339,   340,   341,   342,   343,   344,   345,
21472
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
21473
     356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
21474
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
21475
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
21476
     386,   387,    -1,   389,   390,   391,    -1,   393,   394,   395,
21477
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
21478
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
21479
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
21480
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
21481
      -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
21482
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21483
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
21484
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21485
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
21486
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
21487
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
21488
      -1,    44,    45,    46,    47,    48,    49,    -1,    51,    52,
21489
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
21490
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
21491
      -1,    -1,    75,    -1,    77,    78,    79,    80,    81,    -1,
21492
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
21493
      -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
21494
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
21495
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
21496
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
21497
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
21498
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
21499
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
21500
     163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,
21501
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
21502
     183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
21503
     193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
21504
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
21505
      -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
21506
     223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
21507
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
21508
     243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
21509
     253,   254,   255,    -1,   257,    -1,   259,   260,    -1,   262,
21510
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
21511
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
21512
      -1,   284,    -1,   286,   287,   288,   289,   290,   291,   292,
21513
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
21514
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
21515
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
21516
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
21517
     333,    -1,   335,   336,    -1,   338,   339,   340,   341,   342,
21518
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
21519
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
21520
     363,   364,    -1,   366,   367,   368,   369,    -1,   371,   372,
21521
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
21522
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,    -1,
21523
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
21524
      -1,    -1,   405,   406,   407,   408,   409,    -1,   411,   412,
21525
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
21526
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
21527
     433,    -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,
21528
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
21529
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
21530
     463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21531
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
21532
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
21533
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
21534
      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
21535
      -1,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
21536
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
21537
      70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
21538
      80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
21539
      90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
21540
      -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
21541
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
21542
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
21543
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
21544
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
21545
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
21546
      -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,
21547
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
21548
     180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
21549
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
21550
      -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
21551
      -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
21552
     220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
21553
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
21554
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
21555
     250,    -1,   252,   253,   254,   255,    -1,   257,    -1,   259,
21556
     260,    -1,   262,    -1,   264,   265,   266,   267,   268,   269,
21557
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
21558
     280,   281,   282,    -1,   284,    -1,   286,   287,   288,   289,
21559
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
21560
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
21561
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
21562
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
21563
     330,   331,   332,   333,    -1,   335,   336,    -1,   338,   339,
21564
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
21565
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
21566
     360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
21567
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
21568
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
21569
     390,   391,    -1,   393,   394,   395,   396,   397,   398,    -1,
21570
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
21571
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
21572
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
21573
     430,   431,   432,   433,    -1,   435,    -1,   437,   438,   439,
21574
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
21575
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
21576
     460,   461,   462,   463,   464,   465,     3,    -1,    -1,    -1,
21577
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21578
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
21579
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21580
      37,    38,    -1,    40,    41,    42,    -1,    44,    45,    46,
21581
      47,    48,    49,    -1,    51,    52,    -1,    54,    55,    56,
21582
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
21583
      -1,    68,    69,    70,    71,    72,    -1,    -1,    75,    -1,
21584
      77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
21585
      87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
21586
      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
21587
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
21588
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
21589
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
21590
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
21591
     147,   148,   149,   150,   151,   152,    -1,   154,    -1,   156,
21592
     157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,
21593
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
21594
     177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
21595
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
21596
     197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
21597
     207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
21598
     217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
21599
      -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
21600
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
21601
     247,   248,   249,   250,    -1,   252,   253,   254,   255,    -1,
21602
     257,    -1,   259,   260,    -1,   262,    -1,   264,   265,   266,
21603
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
21604
     277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,
21605
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
21606
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
21607
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
21608
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
21609
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
21610
      -1,   338,   339,   340,   341,   342,   343,   344,   345,   346,
21611
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
21612
     357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
21613
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
21614
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
21615
     387,    -1,   389,   390,   391,    -1,   393,   394,   395,   396,
21616
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
21617
     407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
21618
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
21619
     427,   428,   429,   430,   431,   432,   433,    -1,   435,    -1,
21620
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
21621
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
21622
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
21623
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21624
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
21625
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
21626
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
21627
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
21628
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
21629
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
21630
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
21631
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
21632
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
21633
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
21634
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
21635
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
21636
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
21637
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
21638
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
21639
      -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,   173,
21640
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
21641
     184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
21642
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
21643
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
21644
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
21645
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
21646
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
21647
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
21648
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
21649
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
21650
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
21651
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
21652
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
21653
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
21654
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
21655
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
21656
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
21657
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
21658
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
21659
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
21660
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
21661
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
21662
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
21663
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
21664
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
21665
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
21666
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
21667
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
21668
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
21669
     464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21670
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
21671
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
21672
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
21673
      41,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
21674
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
21675
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
21676
      71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
21677
      81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
21678
      91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
21679
      -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
21680
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
21681
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
21682
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
21683
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
21684
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
21685
     161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,
21686
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
21687
     181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
21688
     191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
21689
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
21690
     211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
21691
      -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
21692
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
21693
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
21694
      -1,   252,   253,   254,   255,    -1,   257,    -1,   259,   260,
21695
      -1,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
21696
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
21697
     281,   282,    -1,   284,    -1,   286,   287,   288,   289,   290,
21698
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
21699
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
21700
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
21701
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
21702
     331,   332,   333,    -1,   335,   336,    -1,   338,   339,   340,
21703
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
21704
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
21705
     361,   362,   363,   364,    -1,   366,   367,   368,   369,    -1,
21706
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
21707
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
21708
     391,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
21709
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
21710
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
21711
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
21712
     431,   432,   433,    -1,   435,    -1,   437,   438,   439,   440,
21713
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
21714
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
21715
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
21716
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21717
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
21718
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
21719
      38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
21720
      48,    49,    -1,    51,    52,    -1,    54,    55,    56,    57,
21721
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
21722
      68,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
21723
      78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
21724
      88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
21725
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
21726
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
21727
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
21728
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
21729
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
21730
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
21731
     158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,
21732
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
21733
     178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
21734
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
21735
      -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
21736
      -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
21737
     218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
21738
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
21739
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
21740
     248,   249,   250,    -1,   252,   253,   254,   255,    -1,   257,
21741
      -1,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
21742
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
21743
      -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,   287,
21744
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
21745
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
21746
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
21747
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
21748
     328,   329,   330,   331,   332,   333,    -1,   335,   336,    -1,
21749
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
21750
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
21751
     358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
21752
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
21753
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
21754
      -1,   389,   390,   391,    -1,   393,   394,   395,   396,   397,
21755
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
21756
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
21757
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
21758
     428,   429,   430,   431,   432,   433,    -1,   435,    -1,   437,
21759
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
21760
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
21761
     458,   459,   460,   461,   462,   463,   464,   465,     3,    -1,
21762
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21763
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
21764
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
21765
      -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
21766
      45,    46,    47,    48,    49,    -1,    51,    52,    -1,    54,
21767
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
21768
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    -1,
21769
      75,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
21770
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
21771
      95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21772
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
21773
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
21774
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
21775
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
21776
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
21777
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,    -1,
21778
      -1,    -1,   167,   168,   169,   170,    -1,   172,   173,    -1,
21779
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
21780
      -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
21781
     195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
21782
     205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
21783
      -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
21784
      -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
21785
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
21786
     245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
21787
     255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,
21788
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
21789
     275,   276,   277,    -1,    -1,   280,   281,   282,    -1,   284,
21790
      -1,   286,   287,   288,   289,   290,   291,   292,   293,   294,
21791
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
21792
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
21793
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
21794
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
21795
     335,   336,    -1,   338,   339,   340,   341,   342,   343,   344,
21796
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
21797
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
21798
      -1,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
21799
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
21800
      -1,   386,   387,    -1,   389,   390,   391,    -1,   393,   394,
21801
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
21802
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
21803
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
21804
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
21805
     435,    -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,
21806
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
21807
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
21808
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21809
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
21810
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
21811
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
21812
      42,    -1,    44,    45,    46,    47,    48,    49,    -1,    51,
21813
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
21814
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
21815
      72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
21816
      -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
21817
      92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
21818
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
21819
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
21820
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
21821
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
21822
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
21823
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
21824
      -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,
21825
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
21826
     182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
21827
     192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
21828
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
21829
      -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
21830
      -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
21831
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
21832
     242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
21833
     252,   253,   254,   255,    -1,   257,    -1,   259,   260,    -1,
21834
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
21835
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
21836
     282,    -1,   284,    -1,   286,   287,   288,   289,   290,   291,
21837
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
21838
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
21839
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
21840
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
21841
     332,   333,    -1,   335,   336,    -1,   338,   339,   340,   341,
21842
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
21843
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
21844
     362,   363,   364,    -1,   366,   367,   368,   369,    -1,   371,
21845
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
21846
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
21847
      -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
21848
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
21849
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
21850
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
21851
     432,   433,    -1,   435,    -1,   437,   438,   439,   440,    -1,
21852
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
21853
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
21854
     462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,
21855
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
21856
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
21857
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
21858
      -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
21859
      49,    -1,    51,    52,    -1,    54,    55,    56,    57,    58,
21860
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
21861
      69,    70,    71,    72,    -1,    -1,    75,    -1,    77,    78,
21862
      79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
21863
      89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
21864
      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
21865
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
21866
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
21867
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
21868
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
21869
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
21870
     159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,
21871
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
21872
      -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
21873
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
21874
     199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
21875
     209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
21876
     219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
21877
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
21878
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
21879
     249,   250,    -1,   252,   253,   254,   255,    -1,   257,    -1,
21880
     259,   260,    -1,   262,    -1,   264,   265,   266,   267,   268,
21881
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
21882
      -1,   280,   281,   282,    -1,   284,    -1,   286,   287,   288,
21883
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
21884
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
21885
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
21886
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
21887
     329,   330,   331,   332,   333,    -1,   335,   336,    -1,   338,
21888
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
21889
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
21890
      -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
21891
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
21892
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
21893
     389,   390,   391,    -1,   393,   394,   395,   396,   397,   398,
21894
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
21895
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
21896
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
21897
     429,   430,   431,   432,   433,    -1,   435,    -1,   437,   438,
21898
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
21899
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
21900
     459,   460,   461,   462,   463,   464,   465,     3,    -1,    -1,
21901
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21902
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21903
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21904
      -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
21905
      46,    47,    48,    49,    -1,    51,    52,    -1,    54,    55,
21906
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
21907
      66,    -1,    68,    69,    70,    71,    72,    -1,    -1,    75,
21908
      -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
21909
      -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
21910
      96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
21911
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
21912
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
21913
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
21914
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
21915
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
21916
     156,   157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,
21917
      -1,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
21918
     176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
21919
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
21920
     196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21921
     206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
21922
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
21923
     226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
21924
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
21925
     246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
21926
      -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,   265,
21927
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
21928
     276,   277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,
21929
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
21930
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
21931
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21932
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
21933
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
21934
     336,    -1,   338,   339,   340,   341,   342,   343,   344,   345,
21935
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
21936
     356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
21937
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
21938
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
21939
     386,   387,    -1,   389,   390,   391,    -1,   393,   394,   395,
21940
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
21941
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
21942
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
21943
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
21944
      -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
21945
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
21946
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
21947
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21948
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
21949
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
21950
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
21951
      -1,    44,    45,    46,    47,    48,    49,    -1,    51,    52,
21952
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
21953
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
21954
      -1,    -1,    75,    -1,    77,    78,    79,    80,    81,    -1,
21955
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
21956
      -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
21957
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
21958
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
21959
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
21960
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
21961
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
21962
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
21963
     163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,
21964
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
21965
     183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
21966
     193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
21967
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
21968
      -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
21969
     223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
21970
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
21971
     243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
21972
     253,   254,   255,    -1,   257,    -1,   259,   260,    -1,   262,
21973
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
21974
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
21975
      -1,   284,    -1,   286,   287,   288,   289,   290,   291,   292,
21976
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
21977
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
21978
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
21979
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
21980
     333,    -1,   335,   336,    -1,   338,   339,   340,   341,   342,
21981
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
21982
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
21983
     363,   364,    -1,   366,   367,   368,   369,    -1,   371,   372,
21984
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
21985
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,    -1,
21986
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
21987
      -1,    -1,   405,   406,   407,   408,   409,    -1,   411,   412,
21988
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
21989
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
21990
     433,    -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,
21991
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
21992
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
21993
     463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21994
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
21995
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
21996
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
21997
      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
21998
      -1,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
21999
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
22000
      70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
22001
      80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
22002
      90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
22003
      -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
22004
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
22005
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
22006
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
22007
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
22008
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
22009
      -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,
22010
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
22011
     180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
22012
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
22013
      -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
22014
      -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
22015
     220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
22016
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
22017
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
22018
     250,    -1,   252,   253,   254,   255,    -1,   257,    -1,   259,
22019
     260,    -1,   262,    -1,   264,   265,   266,   267,   268,   269,
22020
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
22021
     280,   281,   282,    -1,   284,    -1,   286,   287,   288,   289,
22022
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
22023
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
22024
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
22025
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
22026
     330,   331,   332,   333,    -1,   335,   336,    -1,   338,   339,
22027
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
22028
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
22029
     360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
22030
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
22031
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
22032
     390,   391,    -1,   393,   394,   395,   396,   397,   398,    -1,
22033
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
22034
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
22035
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
22036
     430,   431,   432,   433,    -1,   435,    -1,   437,   438,   439,
22037
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
22038
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
22039
     460,   461,   462,   463,   464,   465,     3,    -1,    -1,    -1,
22040
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22041
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
22042
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22043
      37,    38,    -1,    40,    41,    42,    -1,    44,    45,    46,
22044
      47,    48,    49,    -1,    51,    52,    -1,    54,    55,    56,
22045
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
22046
      -1,    68,    69,    70,    71,    72,    -1,    -1,    75,    -1,
22047
      77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
22048
      87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
22049
      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
22050
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
22051
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
22052
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
22053
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
22054
     147,   148,   149,   150,   151,   152,    -1,   154,    -1,   156,
22055
     157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,
22056
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
22057
     177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
22058
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
22059
     197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
22060
     207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
22061
     217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
22062
      -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
22063
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
22064
     247,   248,   249,   250,    -1,   252,   253,   254,   255,    -1,
22065
     257,    -1,   259,   260,    -1,   262,    -1,   264,   265,   266,
22066
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
22067
     277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,
22068
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
22069
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
22070
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
22071
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
22072
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
22073
      -1,   338,   339,   340,   341,   342,   343,   344,   345,   346,
22074
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
22075
     357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
22076
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
22077
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
22078
     387,    -1,   389,   390,   391,    -1,   393,   394,   395,   396,
22079
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
22080
     407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
22081
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
22082
     427,   428,   429,   430,   431,   432,   433,    -1,   435,    -1,
22083
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
22084
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
22085
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
22086
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22087
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
22088
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
22089
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
22090
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
22091
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
22092
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
22093
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
22094
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
22095
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
22096
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
22097
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
22098
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
22099
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
22100
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
22101
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
22102
      -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,   173,
22103
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
22104
     184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
22105
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
22106
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
22107
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
22108
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
22109
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
22110
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
22111
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
22112
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
22113
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
22114
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
22115
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
22116
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
22117
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
22118
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
22119
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
22120
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
22121
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
22122
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
22123
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
22124
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
22125
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
22126
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
22127
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
22128
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
22129
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
22130
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
22131
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
22132
     464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22133
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22134
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22135
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22136
      41,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
22137
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
22138
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
22139
      71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
22140
      81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
22141
      91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
22142
      -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
22143
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
22144
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
22145
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
22146
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
22147
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
22148
     161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,
22149
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
22150
     181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
22151
     191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
22152
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
22153
     211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
22154
      -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
22155
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
22156
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
22157
      -1,   252,   253,   254,   255,    -1,   257,    -1,   259,   260,
22158
      -1,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
22159
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
22160
     281,   282,    -1,   284,    -1,   286,   287,   288,   289,   290,
22161
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
22162
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
22163
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
22164
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
22165
     331,   332,   333,    -1,   335,   336,    -1,   338,   339,   340,
22166
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
22167
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
22168
     361,   362,   363,   364,    -1,   366,   367,   368,   369,    -1,
22169
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
22170
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
22171
     391,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
22172
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
22173
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
22174
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
22175
     431,   432,   433,    -1,   435,    -1,   437,   438,   439,   440,
22176
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
22177
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
22178
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
22179
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22180
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
22181
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
22182
      38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
22183
      48,    49,    -1,    51,    52,    -1,    54,    55,    56,    57,
22184
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
22185
      68,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
22186
      78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
22187
      88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
22188
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
22189
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
22190
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
22191
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
22192
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
22193
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
22194
     158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,
22195
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
22196
     178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
22197
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
22198
      -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
22199
      -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
22200
     218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
22201
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
22202
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
22203
     248,   249,   250,    -1,   252,   253,   254,   255,    -1,   257,
22204
      -1,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
22205
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
22206
      -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,   287,
22207
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
22208
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
22209
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
22210
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
22211
     328,   329,   330,   331,   332,   333,    -1,   335,   336,    -1,
22212
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
22213
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
22214
     358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
22215
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
22216
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
22217
      -1,   389,   390,   391,    -1,   393,   394,   395,   396,   397,
22218
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
22219
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
22220
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
22221
     428,   429,   430,   431,   432,   433,    -1,   435,    -1,   437,
22222
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
22223
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
22224
     458,   459,   460,   461,   462,   463,   464,   465,     3,    -1,
22225
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22226
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
22227
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
22228
      -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
22229
      45,    46,    47,    48,    49,    -1,    51,    52,    -1,    54,
22230
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
22231
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    -1,
22232
      75,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
22233
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
22234
      95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22235
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
22236
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
22237
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
22238
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
22239
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
22240
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,    -1,
22241
      -1,    -1,   167,   168,   169,   170,    -1,   172,   173,    -1,
22242
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
22243
      -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
22244
     195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
22245
     205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
22246
      -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
22247
      -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
22248
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
22249
     245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
22250
     255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,
22251
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
22252
     275,   276,   277,    -1,    -1,   280,   281,   282,    -1,   284,
22253
      -1,   286,   287,   288,   289,   290,   291,   292,   293,   294,
22254
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
22255
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
22256
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
22257
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
22258
     335,   336,    -1,   338,   339,   340,   341,   342,   343,   344,
22259
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
22260
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
22261
      -1,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
22262
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
22263
      -1,   386,   387,    -1,   389,   390,   391,    -1,   393,   394,
22264
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
22265
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
22266
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
22267
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
22268
     435,    -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,
22269
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
22270
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
22271
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22272
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
22273
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
22274
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
22275
      42,    -1,    44,    45,    46,    47,    48,    49,    -1,    51,
22276
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
22277
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
22278
      72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
22279
      -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
22280
      92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
22281
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
22282
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
22283
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
22284
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
22285
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
22286
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
22287
      -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,
22288
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
22289
     182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
22290
     192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
22291
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
22292
      -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
22293
      -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
22294
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
22295
     242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
22296
     252,   253,   254,   255,    -1,   257,    -1,   259,   260,    -1,
22297
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
22298
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
22299
     282,    -1,   284,    -1,   286,   287,   288,   289,   290,   291,
22300
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
22301
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
22302
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
22303
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
22304
     332,   333,    -1,   335,   336,    -1,   338,   339,   340,   341,
22305
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
22306
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
22307
     362,   363,   364,    -1,   366,   367,   368,   369,    -1,   371,
22308
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
22309
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
22310
      -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
22311
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
22312
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
22313
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
22314
     432,   433,    -1,   435,    -1,   437,   438,   439,   440,    -1,
22315
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
22316
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
22317
     462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,
22318
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
22319
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
22320
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
22321
      -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
22322
      49,    -1,    51,    52,    -1,    54,    55,    56,    57,    58,
22323
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
22324
      69,    70,    71,    72,    -1,    -1,    75,    -1,    77,    78,
22325
      79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
22326
      89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
22327
      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
22328
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
22329
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
22330
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
22331
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
22332
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
22333
     159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,
22334
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
22335
      -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
22336
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
22337
     199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
22338
     209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
22339
     219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
22340
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
22341
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
22342
     249,   250,    -1,   252,   253,   254,   255,    -1,   257,    -1,
22343
     259,   260,    -1,   262,    -1,   264,   265,   266,   267,   268,
22344
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
22345
      -1,   280,   281,   282,    -1,   284,    -1,   286,   287,   288,
22346
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
22347
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
22348
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
22349
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
22350
     329,   330,   331,   332,   333,    -1,   335,   336,    -1,   338,
22351
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
22352
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
22353
      -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
22354
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
22355
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
22356
     389,   390,   391,    -1,   393,   394,   395,   396,   397,   398,
22357
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
22358
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
22359
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
22360
     429,   430,   431,   432,   433,    -1,   435,    -1,   437,   438,
22361
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
22362
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
22363
     459,   460,   461,   462,   463,   464,   465,     3,    -1,    -1,
22364
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22365
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22366
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22367
      -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22368
      46,    47,    48,    49,    -1,    51,    52,    -1,    54,    55,
22369
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
22370
      66,    -1,    68,    69,    70,    71,    72,    -1,    -1,    75,
22371
      -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
22372
      -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
22373
      96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
22374
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
22375
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
22376
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
22377
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
22378
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
22379
     156,   157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,
22380
      -1,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
22381
     176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
22382
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
22383
     196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
22384
     206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
22385
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
22386
     226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
22387
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22388
     246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
22389
      -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,   265,
22390
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
22391
     276,   277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,
22392
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
22393
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
22394
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22395
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
22396
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
22397
     336,    -1,   338,   339,   340,   341,   342,   343,   344,   345,
22398
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
22399
     356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
22400
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
22401
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
22402
     386,   387,    -1,   389,   390,   391,    -1,   393,   394,   395,
22403
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
22404
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
22405
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
22406
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
22407
      -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
22408
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22409
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
22410
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22411
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
22412
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
22413
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
22414
      -1,    44,    45,    46,    47,    48,    49,    -1,    51,    52,
22415
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
22416
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
22417
      -1,    -1,    75,    -1,    77,    78,    79,    80,    81,    -1,
22418
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
22419
      -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
22420
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
22421
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
22422
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
22423
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
22424
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
22425
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
22426
     163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,
22427
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
22428
     183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
22429
     193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
22430
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
22431
      -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
22432
     223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
22433
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
22434
     243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
22435
     253,   254,   255,    -1,   257,    -1,   259,   260,    -1,   262,
22436
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
22437
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
22438
      -1,   284,    -1,   286,   287,   288,   289,   290,   291,   292,
22439
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
22440
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
22441
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
22442
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
22443
     333,    -1,   335,   336,    -1,   338,   339,   340,   341,   342,
22444
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
22445
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
22446
     363,   364,    -1,   366,   367,   368,   369,    -1,   371,   372,
22447
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
22448
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,    -1,
22449
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
22450
      -1,    -1,   405,   406,   407,   408,   409,    -1,   411,   412,
22451
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
22452
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
22453
     433,    -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,
22454
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
22455
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
22456
     463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,
22457
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
22458
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
22459
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
22460
      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
22461
      -1,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
22462
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
22463
      70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
22464
      80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
22465
      90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
22466
      -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
22467
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
22468
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
22469
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
22470
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
22471
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
22472
      -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,
22473
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
22474
     180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
22475
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
22476
      -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
22477
      -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
22478
     220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
22479
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
22480
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
22481
     250,    -1,   252,   253,   254,   255,    -1,   257,    -1,   259,
22482
     260,    -1,   262,    -1,   264,   265,   266,   267,   268,   269,
22483
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
22484
     280,   281,   282,    -1,   284,    -1,   286,   287,   288,   289,
22485
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
22486
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
22487
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
22488
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
22489
     330,   331,   332,   333,    -1,   335,   336,    -1,   338,   339,
22490
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
22491
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
22492
     360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
22493
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
22494
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
22495
     390,   391,    -1,   393,   394,   395,   396,   397,   398,    -1,
22496
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
22497
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
22498
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
22499
     430,   431,   432,   433,    -1,   435,    -1,   437,   438,   439,
22500
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
22501
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
22502
     460,   461,   462,   463,   464,   465,     3,    -1,    -1,    -1,
22503
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22504
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
22505
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22506
      37,    38,    -1,    40,    41,    42,    -1,    44,    45,    46,
22507
      47,    48,    49,    -1,    51,    52,    -1,    54,    55,    56,
22508
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
22509
      -1,    68,    69,    70,    71,    72,    -1,    -1,    75,    -1,
22510
      77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
22511
      87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
22512
      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
22513
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
22514
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
22515
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
22516
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
22517
     147,   148,   149,   150,   151,   152,    -1,   154,    -1,   156,
22518
     157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,
22519
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
22520
     177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
22521
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
22522
     197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
22523
     207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
22524
     217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
22525
      -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
22526
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
22527
     247,   248,   249,   250,    -1,   252,   253,   254,   255,    -1,
22528
     257,    -1,   259,   260,    -1,   262,    -1,   264,   265,   266,
22529
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
22530
     277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,
22531
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
22532
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
22533
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
22534
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
22535
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
22536
      -1,   338,   339,   340,   341,   342,   343,   344,   345,   346,
22537
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
22538
     357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
22539
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
22540
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
22541
     387,    -1,   389,   390,   391,    -1,   393,   394,   395,   396,
22542
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
22543
     407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
22544
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
22545
     427,   428,   429,   430,   431,   432,   433,    -1,   435,    -1,
22546
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
22547
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
22548
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
22549
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22550
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
22551
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
22552
      -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    -1,
22553
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
22554
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
22555
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
22556
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
22557
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
22558
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
22559
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
22560
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
22561
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
22562
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
22563
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
22564
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
22565
      -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,   173,
22566
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
22567
     184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
22568
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
22569
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
22570
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
22571
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
22572
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
22573
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
22574
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
22575
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
22576
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
22577
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
22578
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
22579
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
22580
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
22581
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
22582
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
22583
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
22584
     354,   355,   356,   357,   358,    -1,    -1,   361,   362,   363,
22585
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
22586
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
22587
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
22588
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
22589
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
22590
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
22591
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
22592
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
22593
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
22594
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
22595
     464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22596
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
22597
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
22598
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
22599
      41,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
22600
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
22601
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
22602
      71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
22603
      81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
22604
      91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
22605
      -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
22606
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
22607
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
22608
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
22609
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
22610
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
22611
     161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,
22612
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
22613
     181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
22614
     191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
22615
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
22616
     211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
22617
      -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
22618
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
22619
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
22620
      -1,   252,   253,   254,   255,    -1,   257,    -1,   259,   260,
22621
      -1,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
22622
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
22623
     281,   282,    -1,   284,    -1,   286,   287,   288,   289,   290,
22624
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
22625
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
22626
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
22627
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
22628
     331,   332,   333,    -1,   335,   336,    -1,   338,   339,   340,
22629
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
22630
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
22631
     361,   362,   363,   364,    -1,   366,   367,   368,   369,    -1,
22632
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
22633
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
22634
     391,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
22635
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
22636
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
22637
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
22638
     431,   432,   433,    -1,   435,    -1,   437,   438,   439,   440,
22639
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
22640
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
22641
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
22642
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22643
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
22644
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
22645
      38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
22646
      48,    49,    -1,    51,    52,    -1,    54,    55,    56,    57,
22647
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
22648
      68,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
22649
      78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
22650
      88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
22651
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
22652
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
22653
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
22654
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
22655
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
22656
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
22657
     158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,
22658
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
22659
     178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
22660
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
22661
      -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
22662
      -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
22663
     218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
22664
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
22665
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
22666
     248,   249,   250,    -1,   252,   253,   254,   255,    -1,   257,
22667
      -1,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
22668
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
22669
      -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,   287,
22670
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
22671
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
22672
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
22673
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
22674
     328,   329,   330,   331,   332,   333,    -1,   335,   336,    -1,
22675
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
22676
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
22677
     358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
22678
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
22679
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
22680
      -1,   389,   390,   391,    -1,   393,   394,   395,   396,   397,
22681
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
22682
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
22683
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
22684
     428,   429,   430,   431,   432,   433,    -1,   435,    -1,   437,
22685
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
22686
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
22687
     458,   459,   460,   461,   462,   463,   464,   465,     3,    -1,
22688
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22689
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
22690
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
22691
      -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
22692
      45,    46,    47,    48,    49,    -1,    51,    52,    -1,    54,
22693
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
22694
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    -1,
22695
      75,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
22696
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
22697
      95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22698
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
22699
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
22700
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
22701
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
22702
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
22703
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,    -1,
22704
      -1,    -1,   167,   168,   169,   170,    -1,   172,   173,    -1,
22705
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
22706
      -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
22707
     195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
22708
     205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
22709
      -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
22710
      -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
22711
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
22712
     245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
22713
     255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,
22714
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
22715
     275,   276,   277,    -1,    -1,   280,   281,   282,    -1,   284,
22716
      -1,   286,   287,   288,   289,   290,   291,   292,   293,   294,
22717
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
22718
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
22719
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
22720
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
22721
     335,   336,    -1,   338,   339,   340,   341,   342,   343,   344,
22722
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
22723
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
22724
      -1,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
22725
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
22726
      -1,   386,   387,    -1,   389,   390,   391,    -1,   393,   394,
22727
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
22728
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
22729
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
22730
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
22731
     435,    -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,
22732
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
22733
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
22734
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22735
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
22736
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
22737
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
22738
      42,    -1,    44,    45,    46,    47,    48,    49,    -1,    51,
22739
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
22740
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
22741
      72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
22742
      -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
22743
      92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
22744
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
22745
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
22746
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
22747
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
22748
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
22749
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
22750
      -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,
22751
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
22752
     182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
22753
     192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
22754
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
22755
      -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
22756
      -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
22757
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
22758
     242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
22759
     252,   253,   254,   255,    -1,   257,    -1,   259,   260,    -1,
22760
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
22761
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
22762
     282,    -1,   284,    -1,   286,   287,   288,   289,   290,   291,
22763
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
22764
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
22765
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
22766
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
22767
     332,   333,    -1,   335,   336,    -1,   338,   339,   340,   341,
22768
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
22769
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
22770
     362,   363,   364,    -1,   366,   367,   368,   369,    -1,   371,
22771
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
22772
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
22773
      -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
22774
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
22775
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
22776
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
22777
     432,   433,    -1,   435,    -1,   437,   438,   439,   440,    -1,
22778
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
22779
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
22780
     462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,
22781
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
22782
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
22783
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
22784
      -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
22785
      49,    -1,    51,    52,    -1,    54,    55,    56,    57,    58,
22786
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
22787
      69,    70,    71,    72,    -1,    -1,    75,    -1,    77,    78,
22788
      79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
22789
      89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
22790
      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
22791
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
22792
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
22793
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
22794
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
22795
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
22796
     159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,
22797
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
22798
      -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
22799
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
22800
     199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
22801
     209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
22802
     219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
22803
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
22804
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
22805
     249,   250,    -1,   252,   253,   254,   255,    -1,   257,    -1,
22806
     259,   260,    -1,   262,    -1,   264,   265,   266,   267,   268,
22807
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
22808
      -1,   280,   281,   282,    -1,   284,    -1,   286,   287,   288,
22809
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
22810
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
22811
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
22812
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
22813
     329,   330,   331,   332,   333,    -1,   335,   336,    -1,   338,
22814
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
22815
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
22816
      -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
22817
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
22818
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
22819
     389,   390,   391,    -1,   393,   394,   395,   396,   397,   398,
22820
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
22821
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
22822
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
22823
     429,   430,   431,   432,   433,    -1,   435,    -1,   437,   438,
22824
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
22825
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
22826
     459,   460,   461,   462,   463,   464,   465,     3,    -1,    -1,
22827
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22828
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
22829
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
22830
      -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
22831
      46,    47,    48,    49,    -1,    51,    52,    -1,    54,    55,
22832
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
22833
      66,    -1,    68,    69,    70,    71,    72,    -1,    -1,    75,
22834
      -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
22835
      -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
22836
      96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
22837
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
22838
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
22839
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
22840
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
22841
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
22842
     156,   157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,
22843
      -1,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
22844
     176,   177,   178,    -1,   180,   181,   182,   183,   184,    -1,
22845
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
22846
     196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
22847
     206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
22848
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
22849
     226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
22850
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
22851
     246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
22852
      -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,   265,
22853
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
22854
     276,   277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,
22855
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
22856
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
22857
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
22858
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
22859
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
22860
     336,    -1,   338,   339,   340,   341,   342,   343,   344,   345,
22861
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
22862
     356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
22863
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
22864
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
22865
     386,   387,    -1,   389,   390,   391,    -1,   393,   394,   395,
22866
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
22867
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
22868
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
22869
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
22870
      -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
22871
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
22872
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
22873
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22874
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
22875
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
22876
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
22877
      -1,    44,    45,    46,    47,    48,    49,    -1,    51,    52,
22878
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
22879
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    72,
22880
      -1,    -1,    75,    -1,    77,    78,    79,    80,    81,    -1,
22881
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
22882
      -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,
22883
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
22884
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
22885
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
22886
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
22887
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
22888
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
22889
     163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,
22890
     173,    -1,   175,   176,   177,   178,    -1,   180,   181,   182,
22891
     183,   184,    -1,   186,   187,   188,   189,    -1,   191,   192,
22892
     193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
22893
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,    -1,
22894
      -1,   214,    -1,   216,   217,   218,   219,   220,    -1,    -1,
22895
     223,   224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,
22896
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
22897
     243,   244,   245,   246,   247,   248,   249,   250,    -1,   252,
22898
     253,   254,   255,    -1,   257,    -1,   259,   260,    -1,   262,
22899
      -1,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
22900
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
22901
      -1,   284,    -1,   286,   287,   288,   289,   290,   291,   292,
22902
     293,   294,   295,    -1,   297,   298,   299,   300,   301,   302,
22903
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
22904
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
22905
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
22906
     333,    -1,   335,   336,    -1,   338,   339,   340,   341,   342,
22907
     343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
22908
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
22909
     363,   364,    -1,   366,   367,   368,   369,    -1,   371,   372,
22910
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
22911
     383,   384,    -1,   386,   387,    -1,   389,   390,   391,    -1,
22912
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
22913
      -1,    -1,   405,   406,   407,   408,   409,    -1,   411,   412,
22914
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
22915
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,   432,
22916
     433,    -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,
22917
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,   452,
22918
     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
22919
     463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,
22920
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
22921
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
22922
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
22923
      40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
22924
      -1,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
22925
      -1,    -1,    62,    63,    64,    65,    66,    -1,    68,    69,
22926
      70,    71,    72,    -1,    -1,    75,    -1,    77,    78,    79,
22927
      80,    81,    -1,    83,    84,    85,    -1,    87,    88,    89,
22928
      90,    91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,
22929
      -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,
22930
     110,   111,   112,   113,    -1,   115,    -1,   117,   118,   119,
22931
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
22932
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
22933
     140,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
22934
     150,   151,   152,    -1,   154,    -1,   156,   157,   158,   159,
22935
      -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,
22936
     170,    -1,   172,   173,    -1,   175,   176,   177,   178,    -1,
22937
     180,   181,   182,   183,   184,    -1,   186,   187,   188,   189,
22938
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
22939
      -1,   201,   202,   203,   204,   205,   206,   207,    -1,   209,
22940
      -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,   219,
22941
     220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,
22942
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
22943
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
22944
     250,    -1,   252,   253,   254,   255,    -1,   257,    -1,   259,
22945
     260,    -1,   262,    -1,   264,   265,   266,   267,   268,   269,
22946
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
22947
     280,   281,   282,    -1,   284,    -1,   286,   287,   288,   289,
22948
     290,   291,   292,   293,   294,   295,    -1,   297,   298,   299,
22949
     300,   301,   302,   303,   304,    -1,   306,   307,   308,   309,
22950
     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
22951
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
22952
     330,   331,   332,   333,    -1,   335,   336,    -1,   338,   339,
22953
     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
22954
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
22955
     360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
22956
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
22957
     380,   381,   382,   383,   384,    -1,   386,   387,    -1,   389,
22958
     390,   391,    -1,   393,   394,   395,   396,   397,   398,    -1,
22959
     400,   401,   402,    -1,    -1,   405,   406,   407,   408,   409,
22960
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
22961
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
22962
     430,   431,   432,   433,    -1,   435,    -1,   437,   438,   439,
22963
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
22964
     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
22965
     460,   461,   462,   463,   464,   465,     3,    -1,    -1,    -1,
22966
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22967
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
22968
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22969
      37,    38,    -1,    40,    41,    42,    -1,    44,    45,    46,
22970
      47,    48,    49,    -1,    51,    52,    -1,    54,    55,    56,
22971
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
22972
      -1,    68,    69,    70,    71,    72,    -1,    -1,    75,    -1,
22973
      77,    78,    79,    80,    81,    -1,    83,    84,    85,    -1,
22974
      87,    88,    89,    90,    91,    92,    -1,    -1,    95,    96,
22975
      97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
22976
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
22977
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
22978
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
22979
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
22980
     147,   148,   149,   150,   151,   152,    -1,   154,    -1,   156,
22981
     157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,
22982
     167,   168,   169,   170,    -1,   172,   173,    -1,   175,   176,
22983
     177,   178,    -1,   180,   181,   182,   183,   184,    -1,   186,
22984
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
22985
     197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
22986
     207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,
22987
     217,   218,   219,   220,    -1,    -1,   223,   224,    -1,   226,
22988
      -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
22989
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
22990
     247,   248,   249,   250,    -1,   252,   253,   254,   255,    -1,
22991
     257,    -1,   259,   260,    -1,   262,    -1,   264,   265,   266,
22992
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
22993
     277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,
22994
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
22995
     297,   298,   299,   300,   301,   302,   303,   304,    -1,   306,
22996
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
22997
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
22998
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
22999
      -1,   338,   339,   340,   341,   342,   343,   344,   345,   346,
23000
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
23001
     357,   358,    -1,   360,   361,   362,   363,   364,    -1,   366,
23002
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
23003
     377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
23004
     387,    -1,   389,   390,   391,    -1,   393,   394,   395,   396,
23005
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
23006
     407,   408,   409,    -1,   411,   412,   413,   414,   415,   416,
23007
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
23008
     427,   428,   429,   430,   431,   432,   433,    -1,   435,    -1,
23009
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
23010
     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
23011
     457,   458,   459,   460,   461,   462,   463,   464,   465,     3,
23012
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23013
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
23014
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
23015
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,
23016
      44,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
23017
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
23018
      64,    65,    66,    -1,    68,    69,    70,    71,    72,    -1,
23019
      -1,    75,    -1,    77,    78,    79,    80,    81,    -1,    83,
23020
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
23021
      -1,    95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
23022
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
23023
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
23024
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
23025
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
23026
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
23027
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
23028
      -1,    -1,    -1,   167,   168,   169,   170,    -1,   172,   173,
23029
      -1,   175,   176,   177,   178,    -1,   180,   181,   182,   183,
23030
     184,    -1,   186,   187,   188,   189,    -1,   191,   192,   193,
23031
     194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
23032
     204,   205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,
23033
     214,    -1,   216,   217,   218,   219,   220,    -1,    -1,   223,
23034
     224,    -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,
23035
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
23036
     244,   245,   246,   247,   248,   249,   250,    -1,   252,   253,
23037
     254,   255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,
23038
     264,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
23039
      -1,   275,   276,   277,    -1,    -1,   280,   281,   282,    -1,
23040
     284,    -1,   286,   287,   288,   289,   290,   291,   292,   293,
23041
     294,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
23042
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
23043
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
23044
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
23045
      -1,   335,   336,    -1,   338,   339,   340,   341,   342,   343,
23046
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
23047
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
23048
     364,    -1,   366,   367,   368,   369,    -1,   371,   372,   373,
23049
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
23050
     384,    -1,   386,   387,    -1,   389,   390,   391,    -1,   393,
23051
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
23052
      -1,   405,   406,   407,   408,   409,    -1,   411,   412,   413,
23053
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
23054
     424,    -1,    -1,   427,   428,   429,   430,   431,   432,   433,
23055
      -1,   435,    -1,   437,   438,   439,   440,    -1,    -1,   443,
23056
      -1,    -1,   446,   447,   448,   449,   450,   451,   452,   453,
23057
     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
23058
     464,   465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23059
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
23060
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
23061
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
23062
      41,    42,    -1,    44,    45,    46,    47,    48,    49,    -1,
23063
      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
23064
      -1,    62,    63,    64,    65,    66,    -1,    68,    69,    70,
23065
      71,    72,    -1,    -1,    75,    -1,    77,    78,    79,    80,
23066
      81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
23067
      91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
23068
      -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
23069
     111,   112,   113,    -1,   115,    -1,   117,   118,   119,   120,
23070
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
23071
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
23072
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
23073
     151,   152,    -1,   154,    -1,   156,   157,   158,   159,    -1,
23074
     161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,
23075
      -1,   172,   173,    -1,   175,   176,   177,   178,    -1,   180,
23076
     181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
23077
     191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
23078
     201,   202,   203,   204,   205,   206,   207,    -1,   209,    -1,
23079
     211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
23080
      -1,    -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,
23081
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
23082
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
23083
      -1,   252,   253,   254,   255,    -1,   257,    -1,   259,   260,
23084
      -1,   262,    -1,   264,   265,   266,   267,   268,   269,    -1,
23085
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
23086
     281,   282,    -1,   284,    -1,   286,   287,   288,   289,   290,
23087
     291,   292,   293,   294,   295,    -1,   297,   298,   299,   300,
23088
     301,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
23089
     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
23090
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
23091
     331,   332,   333,    -1,   335,   336,    -1,   338,   339,   340,
23092
     341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
23093
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
23094
     361,   362,   363,   364,    -1,   366,   367,   368,   369,    -1,
23095
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
23096
     381,   382,   383,   384,    -1,   386,   387,    -1,   389,   390,
23097
     391,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
23098
     401,   402,    -1,    -1,   405,   406,   407,   408,   409,    -1,
23099
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
23100
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
23101
     431,   432,   433,    -1,   435,    -1,   437,   438,   439,   440,
23102
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
23103
     451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
23104
     461,   462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,
23105
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23106
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
23107
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
23108
      38,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
23109
      48,    49,    -1,    51,    52,    -1,    54,    55,    56,    57,
23110
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
23111
      68,    69,    70,    71,    72,    -1,    -1,    75,    -1,    77,
23112
      78,    79,    80,    81,    -1,    83,    84,    85,    -1,    87,
23113
      88,    89,    90,    91,    92,    -1,    -1,    95,    96,    97,
23114
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
23115
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
23116
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
23117
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
23118
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
23119
     148,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
23120
     158,   159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,
23121
     168,   169,   170,    -1,   172,   173,    -1,   175,   176,   177,
23122
     178,    -1,   180,   181,   182,   183,   184,    -1,   186,   187,
23123
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
23124
      -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
23125
      -1,   209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,
23126
     218,   219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,
23127
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
23128
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
23129
     248,   249,   250,    -1,   252,   253,   254,   255,    -1,   257,
23130
      -1,   259,   260,    -1,   262,    -1,   264,   265,   266,   267,
23131
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
23132
      -1,    -1,   280,   281,   282,    -1,   284,    -1,   286,   287,
23133
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
23134
     298,   299,   300,   301,   302,   303,   304,    -1,   306,   307,
23135
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
23136
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
23137
     328,   329,   330,   331,   332,   333,    -1,   335,   336,    -1,
23138
     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
23139
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
23140
     358,    -1,   360,   361,   362,   363,   364,    -1,   366,   367,
23141
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
23142
     378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
23143
      -1,   389,   390,   391,    -1,   393,   394,   395,   396,   397,
23144
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,   407,
23145
     408,   409,    -1,   411,   412,   413,   414,   415,   416,   417,
23146
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
23147
     428,   429,   430,   431,   432,   433,    -1,   435,    -1,   437,
23148
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
23149
     448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
23150
     458,   459,   460,   461,   462,   463,   464,   465,     3,    -1,
23151
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23152
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
23153
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
23154
      -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
23155
      45,    46,    47,    48,    49,    -1,    51,    52,    -1,    54,
23156
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
23157
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    -1,
23158
      75,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
23159
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
23160
      95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23161
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
23162
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
23163
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
23164
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
23165
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
23166
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,    -1,
23167
      -1,    -1,   167,   168,   169,   170,    -1,   172,   173,    -1,
23168
     175,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
23169
      -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
23170
     195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
23171
     205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
23172
      -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
23173
      -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
23174
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
23175
     245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
23176
     255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,
23177
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
23178
     275,   276,   277,    -1,    -1,   280,   281,   282,    -1,   284,
23179
      -1,   286,   287,   288,   289,   290,   291,   292,   293,   294,
23180
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
23181
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
23182
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
23183
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
23184
     335,   336,    -1,   338,   339,   340,   341,   342,   343,   344,
23185
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
23186
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
23187
      -1,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
23188
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
23189
      -1,   386,   387,    -1,   389,   390,   391,    -1,   393,   394,
23190
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
23191
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
23192
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
23193
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
23194
     435,    -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,
23195
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
23196
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
23197
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23198
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
23199
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
23200
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
23201
      42,    -1,    44,    45,    46,    47,    48,    49,    -1,    51,
23202
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
23203
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
23204
      72,    -1,    -1,    75,    -1,    77,    78,    79,    80,    81,
23205
      -1,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
23206
      92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,    -1,
23207
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
23208
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
23209
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
23210
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
23211
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
23212
     152,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
23213
      -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,    -1,
23214
     172,   173,    -1,   175,   176,   177,   178,    -1,   180,   181,
23215
     182,   183,   184,    -1,   186,   187,   188,   189,    -1,   191,
23216
     192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
23217
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
23218
      -1,    -1,   214,    -1,   216,   217,   218,   219,   220,    -1,
23219
      -1,   223,   224,    -1,   226,    -1,    -1,   229,   230,   231,
23220
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
23221
     242,   243,   244,   245,   246,   247,   248,   249,   250,    -1,
23222
     252,   253,   254,   255,    -1,   257,    -1,   259,   260,    -1,
23223
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
23224
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
23225
     282,    -1,   284,    -1,   286,   287,   288,   289,   290,   291,
23226
     292,   293,   294,   295,    -1,   297,   298,   299,   300,   301,
23227
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
23228
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
23229
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
23230
     332,   333,    -1,   335,   336,    -1,   338,   339,   340,   341,
23231
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
23232
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
23233
     362,   363,   364,    -1,   366,   367,   368,   369,    -1,   371,
23234
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
23235
     382,   383,   384,    -1,   386,   387,    -1,   389,   390,   391,
23236
      -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
23237
     402,    -1,    -1,   405,   406,   407,   408,   409,    -1,   411,
23238
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
23239
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
23240
     432,   433,    -1,   435,    -1,   437,   438,   439,   440,    -1,
23241
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
23242
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
23243
     462,   463,   464,   465,     3,    -1,    -1,    -1,    -1,    -1,
23244
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
23245
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
23246
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
23247
      -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
23248
      49,    -1,    51,    52,    -1,    54,    55,    56,    57,    58,
23249
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
23250
      69,    70,    71,    72,    -1,    -1,    75,    -1,    77,    78,
23251
      79,    80,    81,    -1,    83,    84,    85,    -1,    87,    88,
23252
      89,    90,    91,    92,    -1,    -1,    95,    96,    97,    -1,
23253
      -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
23254
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
23255
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
23256
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
23257
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,   148,
23258
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
23259
     159,    -1,   161,    -1,   163,    -1,    -1,    -1,   167,   168,
23260
     169,   170,    -1,   172,   173,    -1,   175,   176,   177,   178,
23261
      -1,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
23262
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
23263
     199,    -1,   201,   202,   203,   204,   205,   206,   207,    -1,
23264
     209,    -1,   211,    -1,    -1,   214,    -1,   216,   217,   218,
23265
     219,   220,    -1,    -1,   223,   224,    -1,   226,    -1,    -1,
23266
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
23267
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
23268
     249,   250,    -1,   252,   253,   254,   255,    -1,   257,    -1,
23269
     259,   260,    -1,   262,    -1,   264,   265,   266,   267,   268,
23270
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
23271
      -1,   280,   281,   282,    -1,   284,    -1,   286,   287,   288,
23272
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
23273
     299,   300,   301,   302,   303,   304,    -1,   306,   307,   308,
23274
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
23275
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
23276
     329,   330,   331,   332,   333,    -1,   335,   336,    -1,   338,
23277
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
23278
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
23279
      -1,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
23280
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
23281
     379,   380,   381,   382,   383,   384,    -1,   386,   387,    -1,
23282
     389,   390,   391,    -1,   393,   394,   395,   396,   397,   398,
23283
      -1,   400,   401,   402,    -1,    -1,   405,   406,   407,   408,
23284
     409,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
23285
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
23286
     429,   430,   431,   432,   433,    -1,   435,    -1,   437,   438,
23287
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
23288
     449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
23289
     459,   460,   461,   462,   463,   464,   465,     3,    -1,    -1,
23290
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23291
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
23292
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
23293
      -1,    37,    38,    -1,    40,    41,    42,    -1,    44,    45,
23294
      46,    47,    48,    49,    -1,    51,    52,    -1,    54,    55,
23295
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
23296
      66,    -1,    68,    69,    70,    71,    72,    -1,    -1,    75,
23297
      -1,    77,    78,    79,    80,    81,    -1,    83,    84,    85,
23298
      -1,    87,    88,    89,    90,    91,    92,    -1,    -1,    95,
23299
      96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
23300
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
23301
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
23302
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
23303
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
23304
     146,   147,   148,   149,   150,   151,   152,    -1,   154,    -1,
23305
     156,   157,   158,   159,    -1,   161,    -1,   163,    -1,    -1,
23306
      -1,   167,   168,   169,   170,    -1,   172,   173,    -1,   175,
23307
     176,   177,    -1,    -1,   180,   181,   182,   183,   184,    -1,
23308
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
23309
     196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
23310
     206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,    -1,
23311
     216,   217,   218,   219,   220,    -1,    -1,   223,   224,    -1,
23312
     226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,   235,
23313
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
23314
     246,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
23315
      -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,   265,
23316
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
23317
     276,   277,    -1,    -1,   280,   281,   282,    -1,   284,    -1,
23318
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
23319
      -1,   297,   298,   299,   300,   301,   302,   303,   304,    -1,
23320
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
23321
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
23322
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
23323
     336,    -1,   338,   339,   340,   341,   342,   343,   344,   345,
23324
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
23325
     356,   357,   358,    -1,   360,   361,   362,   363,   364,    -1,
23326
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
23327
     376,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
23328
     386,   387,    -1,   389,   390,   391,    -1,   393,   394,   395,
23329
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
23330
     406,   407,   408,   409,    -1,   411,   412,   413,   414,   415,
23331
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
23332
      -1,   427,   428,   429,   430,   431,   432,   433,    -1,   435,
23333
      -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
23334
     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
23335
     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
23336
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23337
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
23338
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
23339
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
23340
      43,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
23341
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
23342
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    -1,
23343
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
23344
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
23345
      -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,
23346
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
23347
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
23348
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
23349
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
23350
      -1,   144,   145,   146,   147,    -1,   149,   150,   151,    -1,
23351
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
23352
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
23353
      -1,    -1,    -1,   176,   177,   178,    -1,   180,   181,   182,
23354
     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
23355
     193,   194,   195,   196,   197,    -1,   199,   200,   201,   202,
23356
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
23357
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
23358
     223,    -1,   225,   226,   227,    -1,   229,   230,   231,    -1,
23359
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
23360
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
23361
     253,   254,   255,   256,    -1,    -1,   259,   260,   261,   262,
23362
      -1,    -1,   265,   266,   267,   268,   269,    -1,   271,   272,
23363
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,   282,
23364
     283,   284,   285,    -1,   287,   288,   289,   290,   291,   292,
23365
     293,   294,   295,    -1,   297,   298,    -1,   300,    -1,   302,
23366
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
23367
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
23368
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
23369
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
23370
      -1,   344,   345,   346,   347,   348,   349,   350,   351,   352,
23371
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
23372
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
23373
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
23374
     383,    -1,    -1,   386,   387,    -1,   389,   390,   391,   392,
23375
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
23376
      -1,    -1,   405,   406,    -1,   408,    -1,    -1,   411,   412,
23377
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
23378
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,    -1,
23379
     433,   434,   435,   436,   437,   438,   439,   440,    -1,    -1,
23380
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,     3,
23381
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23382
     463,   464,   465,    -1,    18,    19,    20,    21,    22,    23,
23383
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
23384
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
23385
      44,    45,    46,    47,    -1,    49,    50,    51,    52,    -1,
23386
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
23387
      64,    65,    66,    -1,    68,    69,    70,    71,    -1,    -1,
23388
      74,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
23389
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
23390
      94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
23391
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
23392
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
23393
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
23394
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
23395
     144,   145,   146,   147,    -1,   149,   150,   151,    -1,    -1,
23396
     154,    -1,   156,   157,   158,   159,    -1,   161,    -1,   163,
23397
     164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
23398
      -1,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
23399
     184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
23400
     194,   195,   196,   197,    -1,   199,   200,    -1,   202,   203,
23401
     204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
23402
     214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
23403
      -1,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
23404
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
23405
     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
23406
     254,   255,   256,    -1,    -1,   259,   260,   261,   262,   263,
23407
      -1,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
23408
      -1,   275,   276,   277,    -1,    -1,   280,   281,    -1,   283,
23409
     284,   285,    -1,   287,   288,   289,   290,   291,   292,   293,
23410
     294,   295,    -1,   297,   298,    -1,   300,    -1,   302,   303,
23411
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
23412
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
23413
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
23414
      -1,   335,   336,   337,   338,   339,   340,   341,   342,    -1,
23415
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
23416
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
23417
     364,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
23418
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
23419
      -1,    -1,   386,   387,   388,   389,   390,   391,   392,   393,
23420
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
23421
      -1,   405,   406,    -1,   408,    -1,    -1,   411,   412,   413,
23422
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
23423
     424,    -1,    -1,   427,   428,   429,   430,   431,    -1,   433,
23424
      -1,   435,   436,   437,   438,   439,   440,    -1,    -1,   443,
23425
      -1,    -1,   446,   447,   448,   449,   450,   451,     3,    -1,
23426
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   463,
23427
     464,   465,    -1,    18,    19,    20,    21,    22,    23,    24,
23428
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
23429
      -1,    -1,    37,    38,    -1,    40,    41,    42,    -1,    44,
23430
      45,    46,    47,    48,    49,    -1,    51,    52,    -1,    54,
23431
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
23432
      65,    66,    -1,    68,    69,    70,    71,    72,    -1,    -1,
23433
      75,    -1,    77,    78,    79,    80,    81,    -1,    83,    84,
23434
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    -1,
23435
      95,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23436
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
23437
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
23438
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
23439
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
23440
     145,   146,   147,   148,   149,   150,   151,   152,    -1,   154,
23441
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,    -1,
23442
      -1,    -1,   167,   168,   169,   170,    -1,   172,   173,    -1,
23443
     175,    -1,   177,   178,    -1,   180,   181,   182,   183,   184,
23444
      -1,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
23445
     195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
23446
     205,   206,   207,    -1,   209,    -1,   211,    -1,    -1,   214,
23447
      -1,   216,   217,   218,   219,   220,    -1,    -1,   223,   224,
23448
      -1,   226,    -1,    -1,   229,   230,   231,    -1,    -1,   234,
23449
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
23450
     245,   246,   247,   248,   249,   250,    -1,   252,   253,   254,
23451
     255,    -1,   257,    -1,   259,   260,    -1,   262,    -1,   264,
23452
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
23453
     275,   276,   277,    -1,    -1,   280,   281,   282,    -1,   284,
23454
      -1,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
23455
     295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
23456
      -1,   306,   307,   308,   309,   310,   311,   312,   313,    -1,
23457
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
23458
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
23459
     335,   336,    -1,   338,   339,   340,   341,   342,   343,    -1,
23460
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
23461
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
23462
      -1,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
23463
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
23464
      -1,   386,   387,    -1,   389,   390,   391,    -1,   393,   394,
23465
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
23466
     405,   406,   407,   408,   409,    -1,   411,   412,   413,   414,
23467
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
23468
      -1,    -1,   427,   428,   429,   430,   431,   432,   433,    -1,
23469
     435,    -1,   437,   438,   439,   440,    -1,    -1,   443,    -1,
23470
      -1,   446,   447,   448,   449,   450,   451,   452,   453,   454,
23471
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
23472
     465,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23473
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
23474
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
23475
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
23476
      42,    43,    44,    45,    46,    47,    -1,    49,    50,    51,
23477
      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
23478
      62,    63,    64,    65,    66,    -1,    68,    69,    70,    71,
23479
      -1,    -1,    74,    75,    -1,    77,    78,    79,    80,    81,
23480
      82,    83,    84,    85,    -1,    87,    88,    89,    90,    91,
23481
      92,    -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,
23482
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
23483
     112,   113,    -1,   115,    -1,   117,   118,   119,   120,   121,
23484
     122,    -1,   124,   125,   126,   127,    -1,    -1,   130,   131,
23485
     132,   133,   134,    -1,   136,   137,   138,    -1,   140,   141,
23486
     142,    -1,   144,   145,   146,   147,    -1,   149,   150,   151,
23487
      -1,    -1,   154,    -1,   156,   157,   158,   159,    -1,   161,
23488
      -1,   163,   164,    -1,   166,   167,   168,   169,   170,    -1,
23489
     172,    -1,    -1,    -1,   176,   177,   178,    -1,   180,   181,
23490
     182,   183,   184,   185,   186,   187,   188,   189,    -1,   191,
23491
     192,   193,   194,   195,   196,   197,    -1,   199,   200,    -1,
23492
     202,   203,   204,   205,   206,   207,    -1,   209,    -1,   211,
23493
     212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
23494
      -1,   223,    -1,   225,   226,   227,    -1,   229,   230,   231,
23495
      -1,    -1,   234,   235,   236,   237,   238,   239,   240,   241,
23496
     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
23497
     252,   253,   254,   255,   256,   257,    -1,   259,   260,   261,
23498
     262,    -1,    -1,   265,   266,   267,   268,   269,    -1,   271,
23499
     272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,
23500
      -1,   283,   284,   285,    -1,   287,   288,   289,   290,   291,
23501
     292,   293,   294,   295,    -1,   297,   298,    -1,   300,    -1,
23502
     302,   303,   304,    -1,   306,   307,   308,   309,   310,   311,
23503
     312,   313,   314,   315,   316,   317,   318,   319,   320,    -1,
23504
     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
23505
     332,   333,    -1,   335,   336,   337,   338,   339,   340,   341,
23506
     342,    -1,   344,   345,   346,   347,   348,   349,   350,   351,
23507
     352,    -1,   354,   355,   356,   357,   358,    -1,   360,   361,
23508
     362,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
23509
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
23510
     382,   383,    -1,    -1,   386,   387,    -1,   389,   390,   391,
23511
     392,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
23512
     402,    -1,    -1,   405,   406,    -1,   408,    -1,    -1,   411,
23513
     412,   413,   414,   415,   416,   417,    -1,    -1,   420,   421,
23514
     422,   423,   424,    -1,    -1,   427,   428,   429,   430,   431,
23515
      -1,   433,    -1,   435,   436,   437,   438,   439,   440,    -1,
23516
      -1,   443,    -1,    -1,   446,   447,   448,   449,   450,   451,
23517
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23518
      -1,   463,   464,   465,    -1,    18,    19,    20,    21,    22,
23519
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
23520
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
23521
      43,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
23522
      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    62,
23523
      63,    64,    65,    66,    -1,    68,    69,    70,    71,    -1,
23524
      -1,    74,    75,    -1,    77,    78,    79,    80,    81,    82,
23525
      83,    84,    85,    -1,    87,    88,    89,    90,    91,    92,
23526
      -1,    94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,
23527
      -1,    -1,   105,   106,   107,   108,   109,   110,   111,   112,
23528
     113,    -1,   115,    -1,   117,   118,   119,   120,   121,   122,
23529
      -1,   124,   125,   126,   127,    -1,    -1,   130,   131,   132,
23530
     133,   134,    -1,   136,   137,   138,    -1,   140,   141,   142,
23531
      -1,   144,   145,   146,   147,    -1,   149,   150,   151,    -1,
23532
      -1,   154,    -1,   156,   157,   158,   159,    -1,   161,    -1,
23533
     163,   164,    -1,   166,   167,   168,   169,   170,    -1,   172,
23534
      -1,    -1,    -1,   176,   177,   178,    -1,   180,   181,   182,
23535
     183,   184,   185,   186,   187,   188,   189,    -1,   191,   192,
23536
     193,   194,   195,   196,   197,    -1,   199,   200,    -1,   202,
23537
     203,   204,   205,   206,   207,    -1,   209,    -1,   211,   212,
23538
     213,   214,   215,   216,   217,   218,   219,   220,    -1,    -1,
23539
     223,    -1,   225,   226,   227,    -1,   229,   230,   231,    -1,
23540
      -1,   234,   235,   236,   237,   238,   239,   240,   241,   242,
23541
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
23542
     253,   254,   255,   256,   257,    -1,   259,   260,   261,   262,
23543
      -1,    -1,   265,   266,   267,   268,   269,    -1,   271,   272,
23544
      -1,    -1,   275,   276,   277,    -1,    -1,   280,   281,    -1,
23545
     283,   284,   285,    -1,   287,   288,   289,   290,   291,   292,
23546
     293,   294,   295,    -1,   297,   298,    -1,   300,    -1,   302,
23547
     303,   304,    -1,   306,   307,   308,   309,   310,   311,   312,
23548
     313,   314,   315,   316,   317,   318,   319,   320,    -1,   322,
23549
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
23550
     333,    -1,   335,   336,   337,   338,   339,   340,   341,   342,
23551
      -1,   344,   345,   346,   347,   348,   349,   350,   351,   352,
23552
      -1,   354,   355,   356,   357,   358,    -1,   360,   361,   362,
23553
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
23554
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
23555
     383,    -1,    -1,   386,   387,    -1,   389,   390,   391,   392,
23556
     393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
23557
      -1,    -1,   405,   406,    -1,   408,    -1,    -1,   411,   412,
23558
     413,   414,   415,   416,   417,    -1,    -1,   420,   421,   422,
23559
     423,   424,    -1,    -1,   427,   428,   429,   430,   431,    -1,
23560
     433,    -1,   435,   436,   437,   438,   439,   440,    -1,    -1,
23561
     443,    -1,    -1,   446,   447,   448,   449,   450,   451,     3,
23562
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23563
     463,   464,   465,    -1,    18,    19,    20,    21,    22,    23,
23564
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
23565
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
23566
      44,    45,    46,    47,    -1,    49,    50,    51,    52,    -1,
23567
      54,    55,    56,    57,    58,    59,    -1,    -1,    62,    63,
23568
      64,    65,    66,    -1,    68,    69,    70,    71,    -1,    -1,
23569
      74,    75,    -1,    77,    78,    79,    80,    81,    82,    83,
23570
      84,    85,    -1,    87,    88,    89,    90,    91,    92,    -1,
23571
      94,    95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,
23572
      -1,   105,   106,   107,   108,   109,   110,   111,   112,   113,
23573
      -1,   115,    -1,   117,   118,   119,   120,   121,   122,    -1,
23574
     124,   125,   126,   127,    -1,    -1,   130,   131,   132,   133,
23575
     134,    -1,   136,   137,   138,    -1,   140,   141,   142,    -1,
23576
     144,   145,   146,   147,    -1,   149,   150,   151,    -1,    -1,
23577
     154,    -1,   156,   157,   158,   159,   160,   161,    -1,   163,
23578
     164,    -1,   166,   167,   168,   169,   170,    -1,   172,    -1,
23579
      -1,    -1,   176,   177,   178,    -1,   180,   181,   182,   183,
23580
     184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
23581
     194,   195,   196,   197,    -1,   199,   200,    -1,   202,   203,
23582
     204,   205,   206,   207,    -1,   209,    -1,   211,   212,   213,
23583
     214,   215,   216,   217,   218,   219,   220,    -1,    -1,   223,
23584
      -1,   225,   226,   227,    -1,   229,   230,   231,    -1,    -1,
23585
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
23586
     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
23587
     254,   255,   256,    -1,    -1,   259,   260,   261,   262,    -1,
23588
      -1,   265,   266,   267,   268,   269,    -1,   271,   272,    -1,
23589
      -1,   275,   276,   277,    -1,    -1,   280,   281,    -1,   283,
23590
     284,   285,    -1,   287,   288,   289,   290,   291,   292,   293,
23591
     294,   295,    -1,   297,   298,    -1,   300,    -1,   302,   303,
23592
     304,    -1,   306,   307,   308,   309,   310,   311,   312,   313,
23593
     314,   315,   316,   317,   318,   319,   320,    -1,   322,   323,
23594
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
23595
      -1,   335,   336,   337,   338,   339,   340,   341,   342,    -1,
23596
     344,   345,   346,   347,   348,   349,   350,   351,   352,    -1,
23597
     354,   355,   356,   357,   358,    -1,   360,   361,   362,   363,
23598
     364,   365,   366,   367,   368,   369,    -1,   371,   372,   373,
23599
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
23600
      -1,    -1,   386,   387,    -1,   389,   390,   391,   392,   393,
23601
     394,   395,   396,   397,   398,    -1,   400,   401,   402,    -1,
23602
      -1,   405,   406,    -1,   408,    -1,    -1,   411,   412,   413,
23603
     414,   415,   416,   417,    -1,    -1,   420,   421,   422,   423,
23604
     424,    -1,    -1,   427,   428,   429,   430,   431,    -1,   433,
23605
      -1,   435,   436,   437,   438,   439,   440,    -1,    -1,   443,
23606
      -1,    -1,   446,   447,   448,   449,   450,   451,     3,    -1,
23607
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   463,
23608
     464,   465,    -1,    18,    19,    20,    21,    22,    23,    24,
23609
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
23610
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
23611
      45,    46,    47,    -1,    49,    50,    51,    52,    -1,    54,
23612
      55,    56,    57,    58,    59,    -1,    -1,    62,    63,    64,
23613
      65,    66,    -1,    68,    69,    70,    71,    -1,    -1,    74,
23614
      75,    -1,    77,    78,    79,    80,    81,    82,    83,    84,
23615
      85,    -1,    87,    88,    89,    90,    91,    92,    -1,    94,
23616
      95,    96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,
23617
     105,   106,   107,   108,   109,   110,   111,   112,   113,    -1,
23618
     115,    -1,   117,   118,   119,   120,   121,   122,    -1,   124,
23619
     125,   126,   127,    -1,    -1,   130,   131,   132,   133,   134,
23620
      -1,   136,   137,   138,    -1,   140,   141,   142,    -1,   144,
23621
     145,   146,   147,    -1,   149,   150,   151,    -1,    -1,   154,
23622
      -1,   156,   157,   158,   159,    -1,   161,    -1,   163,   164,
23623
      -1,   166,   167,   168,   169,   170,    -1,   172,    -1,    -1,
23624
      -1,   176,   177,   178,    -1,   180,   181,   182,   183,   184,
23625
     185,   186,   187,   188,   189,    -1,   191,   192,   193,   194,
23626
     195,   196,   197,    -1,   199,   200,    -1,   202,   203,   204,
23627
     205,   206,   207,    -1,   209,    -1,   211,   212,   213,   214,
23628
     215,   216,   217,   218,   219,   220,    -1,    -1,   223,    -1,
23629
     225,   226,   227,    -1,   229,   230,   231,    -1,    -1,   234,
23630
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
23631
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
23632
     255,   256,    -1,    -1,   259,   260,   261,   262,    -1,    -1,
23633
     265,   266,   267,   268,   269,    -1,   271,   272,    -1,    -1,
23634
     275,   276,   277,    -1,    -1,   280,   281,    -1,   283,   284,
23635
     285,    -1,   287,   288,   289,   290,   291,   292,   293,   294,
23636
     295,    -1,   297,   298,    -1,   300,    -1,   302,   303,   304,
23637
      -1,   306,   307,   308,   309,   310,   311,   312,   313,   314,
23638
     315,   316,   317,   318,   319,   320,    -1,   322,   323,   324,
23639
     325,   326,   327,   328,   329,   330,   331,   332,   333,    -1,
23640
     335,   336,   337,   338,   339,   340,   341,   342,    -1,   344,
23641
     345,   346,   347,   348,   349,   350,   351,   352,    -1,   354,
23642
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
23643
     365,   366,   367,   368,   369,    -1,   371,   372,   373,   374,
23644
     375,   376,   377,   378,   379,   380,   381,   382,   383,    -1,
23645
      -1,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
23646
     395,   396,   397,   398,    -1,   400,   401,   402,    -1,    -1,
23647
     405,   406,    -1,   408,    -1,    -1,   411,   412,   413,   414,
23648
     415,   416,   417,    -1,    -1,   420,   421,   422,   423,   424,
23649
      -1,    -1,   427,   428,   429,   430,   431,    -1,   433,    -1,
23650
     435,   436,   437,   438,   439,   440,    -1,    -1,   443,    -1,
23651
      -1,   446,   447,   448,   449,   450,   451,     3,    -1,    -1,
23652
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   463,   464,
23653
     465,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
23654
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
23655
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
23656
      46,    47,    -1,    49,    50,    51,    52,    -1,    54,    55,
23657
      56,    57,    58,    59,    -1,    -1,    62,    63,    64,    65,
23658
      66,    -1,    68,    69,    70,    71,    -1,    -1,    74,    75,
23659
      -1,    77,    78,    79,    80,    81,    82,    83,    84,    85,
23660
      -1,    87,    88,    89,    90,    91,    92,    -1,    94,    95,
23661
      96,    97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
23662
     106,   107,   108,   109,   110,   111,   112,   113,    -1,   115,
23663
      -1,   117,   118,   119,   120,   121,   122,    -1,   124,   125,
23664
     126,   127,    -1,    -1,   130,   131,   132,   133,   134,    -1,
23665
     136,   137,   138,    -1,   140,   141,   142,    -1,   144,   145,
23666
     146,   147,    -1,   149,   150,   151,    -1,    -1,   154,    -1,
23667
     156,   157,   158,   159,    -1,   161,    -1,   163,   164,    -1,
23668
     166,   167,   168,   169,   170,    -1,   172,    -1,    -1,    -1,
23669
     176,   177,   178,    -1,   180,   181,   182,   183,   184,   185,
23670
     186,   187,   188,   189,    -1,   191,   192,   193,   194,   195,
23671
     196,   197,    -1,   199,   200,    -1,   202,   203,   204,   205,
23672
     206,   207,    -1,   209,    -1,   211,   212,   213,   214,   215,
23673
     216,   217,   218,   219,   220,    -1,    -1,   223,    -1,   225,
23674
     226,   227,    -1,   229,   230,   231,    -1,    -1,   234,   235,
23675
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
23676
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
23677
     256,    -1,    -1,   259,   260,   261,   262,    -1,    -1,   265,
23678
     266,   267,   268,   269,    -1,   271,   272,    -1,    -1,   275,
23679
     276,   277,    -1,    -1,   280,   281,    -1,   283,   284,   285,
23680
      -1,   287,   288,   289,   290,   291,   292,   293,   294,   295,
23681
      -1,   297,   298,    -1,   300,    -1,   302,   303,   304,    -1,
23682
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
23683
     316,   317,   318,   319,   320,    -1,   322,   323,   324,   325,
23684
     326,   327,   328,   329,   330,   331,   332,   333,    -1,   335,
23685
     336,   337,   338,   339,   340,   341,   342,    -1,   344,   345,
23686
     346,   347,   348,   349,   350,   351,   352,    -1,   354,   355,
23687
     356,   357,   358,    -1,   360,   361,   362,   363,   364,   365,
23688
     366,   367,   368,   369,    -1,   371,   372,   373,   374,   375,
23689
     376,   377,   378,   379,   380,   381,   382,   383,    -1,    -1,
23690
     386,   387,    -1,   389,   390,   391,   392,   393,   394,   395,
23691
     396,   397,   398,    -1,   400,   401,   402,    -1,    -1,   405,
23692
     406,    -1,   408,    -1,    -1,   411,   412,   413,   414,   415,
23693
     416,   417,    -1,    -1,   420,   421,   422,   423,   424,    -1,
23694
      -1,   427,   428,   429,   430,   431,    -1,   433,    -1,   435,
23695
     436,   437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,
23696
     446,   447,   448,   449,   450,   451,     3,    -1,    -1,    -1,
23697
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   463,   464,   465,
23698
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
23699
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23700
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
23701
      47,    -1,    49,    50,    51,    52,    -1,    54,    55,    56,
23702
      57,    58,    59,    -1,    -1,    62,    63,    64,    65,    66,
23703
      -1,    68,    69,    70,    71,    -1,    -1,    74,    75,    -1,
23704
      77,    78,    79,    80,    81,    82,    83,    84,    85,    -1,
23705
      87,    88,    89,    90,    91,    92,    -1,    94,    95,    96,
23706
      97,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,
23707
     107,   108,   109,   110,   111,   112,   113,    -1,   115,    -1,
23708
     117,   118,   119,   120,   121,   122,    -1,   124,   125,   126,
23709
     127,    -1,    -1,   130,   131,   132,   133,   134,    -1,   136,
23710
     137,   138,    -1,   140,   141,   142,    -1,   144,   145,   146,
23711
     147,    -1,   149,   150,   151,    -1,    -1,   154,    -1,   156,
23712
     157,   158,   159,    -1,   161,    -1,   163,   164,    -1,   166,
23713
     167,   168,   169,   170,    -1,   172,    -1,    -1,    -1,   176,
23714
     177,   178,    -1,   180,   181,   182,   183,   184,   185,   186,
23715
     187,   188,   189,    -1,   191,   192,   193,   194,   195,   196,
23716
     197,    -1,   199,   200,    -1,   202,   203,   204,   205,   206,
23717
     207,    -1,   209,    -1,   211,   212,   213,   214,   215,   216,
23718
     217,   218,   219,   220,    -1,    -1,   223,    -1,   225,   226,
23719
     227,    -1,   229,   230,   231,    -1,    -1,   234,   235,   236,
23720
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
23721
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
23722
      -1,    -1,   259,   260,   261,   262,    -1,    -1,   265,   266,
23723
     267,   268,   269,    -1,   271,   272,    -1,    -1,   275,   276,
23724
     277,    -1,    -1,   280,   281,    -1,   283,   284,   285,    -1,
23725
     287,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
23726
     297,   298,    -1,   300,    -1,   302,   303,   304,    -1,   306,
23727
     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
23728
     317,   318,   319,   320,    -1,   322,   323,   324,   325,   326,
23729
     327,   328,   329,   330,   331,   332,   333,    -1,   335,   336,
23730
     337,   338,   339,   340,   341,   342,    -1,   344,   345,   346,
23731
     347,   348,   349,   350,   351,   352,    -1,   354,   355,   356,
23732
     357,   358,    -1,   360,   361,   362,   363,   364,   365,   366,
23733
     367,   368,   369,    -1,   371,   372,   373,   374,   375,   376,
23734
     377,   378,   379,   380,   381,   382,   383,    -1,    -1,   386,
23735
     387,    -1,   389,   390,   391,   392,   393,   394,   395,   396,
23736
     397,   398,    -1,   400,   401,   402,    -1,    -1,   405,   406,
23737
      -1,   408,    -1,    -1,   411,   412,   413,   414,   415,   416,
23738
     417,    -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,
23739
     427,   428,   429,   430,   431,    -1,   433,    -1,   435,   436,
23740
     437,   438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,
23741
     447,   448,   449,   450,   451,     3,    -1,    -1,    -1,    -1,
23742
      -1,    -1,    -1,    -1,    -1,    -1,   463,   464,   465,    -1,
23743
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
23744
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
23745
      38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
23746
      -1,    49,    50,    51,    52,    -1,    54,    55,    56,    57,
23747
      58,    59,    -1,    -1,    62,    63,    64,    65,    66,    -1,
23748
      68,    69,    70,    71,    -1,    -1,    74,    75,    -1,    77,
23749
      78,    79,    80,    81,    82,    83,    84,    85,    -1,    87,
23750
      88,    89,    90,    91,    92,    -1,    94,    95,    96,    97,
23751
      -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
23752
     108,   109,   110,   111,   112,   113,    -1,   115,    -1,   117,
23753
     118,   119,   120,   121,   122,    -1,   124,   125,   126,   127,
23754
      -1,    -1,   130,   131,   132,   133,   134,    -1,   136,   137,
23755
     138,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
23756
      -1,   149,   150,   151,    -1,    -1,   154,    -1,   156,   157,
23757
     158,   159,    -1,   161,    -1,   163,   164,    -1,   166,   167,
23758
     168,   169,   170,    -1,   172,    -1,    -1,    -1,   176,   177,
23759
     178,    -1,   180,   181,   182,   183,   184,   185,   186,   187,
23760
     188,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
23761
      -1,   199,   200,    -1,   202,   203,   204,   205,   206,   207,
23762
      -1,   209,    -1,   211,   212,   213,   214,   215,   216,   217,
23763
     218,   219,   220,    -1,    -1,   223,    -1,   225,   226,   227,
23764
      -1,   229,   230,   231,    -1,    -1,   234,   235,   236,   237,
23765
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
23766
     248,   249,   250,   251,   252,   253,   254,   255,   256,    -1,
23767
      -1,   259,   260,   261,   262,    -1,    -1,   265,   266,   267,
23768
     268,   269,    -1,   271,   272,    -1,    -1,   275,   276,   277,
23769
      -1,    -1,   280,   281,    -1,   283,   284,   285,    -1,   287,
23770
     288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
23771
     298,    -1,   300,    -1,   302,   303,   304,    -1,   306,   307,
23772
     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
23773
     318,   319,   320,    -1,   322,   323,   324,   325,   326,   327,
23774
     328,   329,   330,   331,   332,   333,    -1,   335,   336,   337,
23775
     338,   339,   340,   341,   342,    -1,   344,   345,   346,   347,
23776
     348,   349,   350,   351,   352,    -1,   354,   355,   356,   357,
23777
     358,    -1,   360,   361,   362,   363,   364,   365,   366,   367,
23778
     368,   369,    -1,   371,   372,   373,   374,   375,   376,   377,
23779
     378,   379,   380,   381,   382,   383,    -1,    -1,   386,   387,
23780
      -1,   389,   390,   391,   392,   393,   394,   395,   396,   397,
23781
     398,    -1,   400,   401,   402,    -1,    -1,   405,   406,    -1,
23782
     408,    -1,    -1,   411,   412,   413,   414,   415,   416,   417,
23783
      -1,    -1,   420,   421,   422,   423,   424,    -1,    -1,   427,
23784
     428,   429,   430,   431,    -1,   433,    -1,   435,   436,   437,
23785
     438,   439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,
23786
     448,   449,   450,   451,     3,    -1,    -1,    -1,    -1,    -1,
23787
      -1,    -1,    -1,    -1,    -1,   463,   464,   465,    -1,    18,
23788
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
23789
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
23790
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    -1,
23791
      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
23792
      59,    -1,    -1,    62,    63,    64,    65,    66,    -1,    68,
23793
      69,    70,    71,    -1,    -1,    74,    75,    -1,    77,    78,
23794
      79,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
23795
      89,    90,    91,    92,    -1,    94,    95,    96,    97,    -1,
23796
      -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
23797
     109,   110,   111,   112,   113,    -1,   115,    -1,   117,   118,
23798
     119,   120,   121,   122,    -1,   124,   125,   126,   127,    -1,
23799
      -1,   130,   131,   132,   133,   134,    -1,   136,   137,   138,
23800
      -1,   140,   141,   142,    -1,   144,   145,   146,   147,    -1,
23801
     149,   150,   151,    -1,    -1,   154,    -1,   156,   157,   158,
23802
     159,    -1,   161,    -1,   163,   164,    -1,   166,   167,   168,
23803
     169,   170,    -1,   172,    -1,    -1,    -1,   176,   177,   178,
23804
      -1,   180,   181,   182,   183,   184,   185,   186,   187,   188,
23805
     189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
23806
     199,   200,    -1,   202,   203,   204,   205,   206,   207,    -1,
23807
     209,    -1,   211,   212,   213,   214,   215,   216,   217,   218,
23808
     219,   220,    -1,    -1,   223,    -1,   225,   226,   227,    -1,
23809
     229,   230,   231,    -1,    -1,   234,   235,   236,   237,   238,
23810
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
23811
     249,   250,   251,   252,   253,   254,   255,   256,    -1,    -1,
23812
     259,   260,   261,   262,    -1,    -1,   265,   266,   267,   268,
23813
     269,    -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,
23814
      -1,   280,   281,    -1,   283,   284,   285,    -1,   287,   288,
23815
     289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
23816
      -1,   300,    -1,   302,   303,   304,    -1,   306,   307,   308,
23817
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
23818
     319,   320,    -1,   322,   323,   324,   325,   326,   327,   328,
23819
     329,   330,   331,   332,   333,    -1,   335,   336,   337,   338,
23820
     339,   340,   341,   342,    -1,   344,   345,   346,   347,   348,
23821
     349,   350,   351,   352,    -1,   354,   355,   356,   357,   358,
23822
      -1,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
23823
     369,    -1,   371,   372,   373,   374,   375,   376,   377,   378,
23824
     379,   380,   381,   382,   383,    -1,    -1,   386,   387,    -1,
23825
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
23826
      -1,   400,   401,   402,    -1,    -1,   405,   406,    -1,   408,
23827
      -1,    -1,   411,   412,   413,   414,   415,   416,   417,    -1,
23828
      -1,   420,   421,   422,   423,   424,    -1,    -1,   427,   428,
23829
     429,   430,   431,    -1,   433,    -1,   435,   436,   437,   438,
23830
     439,   440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,
23831
     449,   450,   451,     3,    -1,    -1,    -1,    -1,    -1,    -1,
23832
      -1,    -1,    -1,    -1,   463,   464,   465,    -1,    18,    19,
23833
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
23834
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
23835
      40,    41,    42,    43,    44,    45,    46,    47,    -1,    -1,
23836
      50,    -1,    -1,    -1,    54,    55,    56,    57,    58,    59,
23837
      -1,    -1,    62,    63,    -1,    -1,    66,    -1,    68,    69,
23838
      70,    71,    -1,    -1,    74,    75,    -1,    77,    78,    79,
23839
      80,    81,    82,    83,    84,    85,    -1,    87,    88,    89,
23840
      90,    91,    92,    -1,    94,    95,    96,    97,    -1,    -1,
23841
      -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
23842
     110,    -1,    -1,   113,    -1,   115,    -1,   117,   118,   119,
23843
     120,   121,   122,    -1,   124,   125,   126,   127,    -1,    -1,
23844
     130,   131,   132,   133,   134,    -1,   136,   137,   138,    -1,
23845
     140,   141,   142,    -1,   144,   145,   146,   147,    -1,   149,
23846
     150,   151,    -1,    -1,   154,    -1,   156,   157,    -1,   159,
23847
      -1,   161,    -1,   163,   164,    -1,   166,   167,   168,   169,
23848
     170,    -1,   172,    -1,    -1,    -1,   176,   177,   178,    -1,
23849
     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
23850
      -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
23851
     200,    -1,   202,   203,   204,   205,    -1,    -1,    -1,    -1,
23852
      -1,   211,   212,   213,   214,   215,   216,   217,   218,   219,
23853
     220,    -1,    -1,   223,    -1,   225,   226,   227,    -1,   229,
23854
     230,   231,    -1,    -1,   234,   235,   236,   237,   238,   239,
23855
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
23856
      -1,   251,    -1,   253,   254,   255,   256,    -1,    -1,   259,
23857
     260,   261,   262,    -1,    -1,   265,    -1,   267,   268,   269,
23858
      -1,   271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,
23859
     280,   281,    -1,   283,   284,   285,    -1,   287,   288,   289,
23860
     290,   291,   292,   293,   294,   295,    -1,   297,   298,    -1,
23861
     300,    -1,   302,   303,   304,    -1,   306,   307,   308,   309,
23862
     310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
23863
     320,    -1,   322,   323,   324,   325,   326,   327,   328,   329,
23864
     330,   331,   332,   333,    -1,   335,   336,   337,   338,   339,
23865
     340,   341,   342,    -1,   344,   345,   346,   347,   348,   349,
23866
     350,   351,   352,    -1,   354,   355,   356,   357,   358,    -1,
23867
     360,   361,    -1,   363,   364,   365,   366,   367,    -1,   369,
23868
      -1,   371,   372,   373,   374,   375,   376,   377,   378,   379,
23869
     380,   381,   382,   383,    -1,    -1,   386,   387,    -1,   389,
23870
     390,   391,   392,   393,   394,   395,   396,   397,   398,    -1,
23871
     400,    -1,    -1,    -1,    -1,   405,   406,    -1,   408,    -1,
23872
      -1,   411,   412,   413,   414,   415,   416,   417,    -1,    -1,
23873
     420,   421,   422,   423,   424,    -1,    -1,   427,   428,   429,
23874
     430,   431,    -1,    -1,    -1,   435,   436,   437,   438,   439,
23875
     440,    -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,
23876
     450,   451,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23877
      -1,    -1,    -1,   463,   464,   465,    -1,    18,    19,    20,
23878
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
23879
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
23880
      41,    42,    -1,    44,    45,    46,    47,    -1,    -1,    -1,
23881
      -1,    -1,    -1,    54,    55,    56,    57,    58,    59,    -1,
23882
      -1,    62,    63,    -1,    -1,    66,    -1,    68,    69,    70,
23883
      71,    -1,    -1,    -1,    75,    -1,    77,    78,    79,    80,
23884
      81,    -1,    83,    84,    85,    -1,    87,    88,    89,    90,
23885
      91,    92,    -1,    -1,    95,    96,    97,    -1,    -1,    -1,
23886
      -1,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
23887
      -1,    -1,   113,    -1,   115,    -1,   117,   118,   119,   120,
23888
     121,   122,    -1,   124,   125,   126,   127,    -1,    -1,   130,
23889
     131,   132,   133,   134,    -1,   136,   137,   138,    -1,   140,
23890
     141,   142,    -1,   144,   145,   146,   147,    -1,   149,   150,
23891
     151,    -1,    -1,   154,    -1,   156,   157,    -1,   159,    -1,
23892
     161,    -1,   163,    -1,    -1,    -1,   167,   168,   169,   170,
23893
      -1,   172,    -1,    -1,    -1,   176,   177,   178,    -1,   180,
23894
     181,   182,   183,   184,    -1,   186,   187,   188,   189,    -1,
23895
     191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
23896
      -1,   202,   203,   204,   205,    -1,    -1,    -1,    -1,    -1,
23897
     211,    -1,    -1,   214,    -1,   216,   217,   218,   219,   220,
23898
      -1,    -1,   223,    -1,    -1,   226,    -1,    -1,   229,   230,
23899
     231,    -1,    -1,   234,   235,   236,   237,   238,   239,   240,
23900
     241,   242,   243,   244,   245,   246,   247,   248,   249,    -1,
23901
      -1,    -1,   253,   254,   255,    -1,    -1,    -1,   259,   260,
23902
      -1,   262,    -1,    -1,   265,    -1,   267,   268,   269,    -1,
23903
     271,   272,    -1,    -1,   275,   276,   277,    -1,    -1,   280,
23904
     281,    -1,    -1,   284,    -1,    -1,   287,   288,   289,   290,
23905
     291,   292,   293,   294,   295,    -1,   297,   298,    -1,   300,
23906
      -1,   302,   303,   304,    -1,   306,   307,   308,   309,   310,
23907
     311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
23908
      -1,   322,   323,   324,   325,   326,   327,   328,   329,   330,
23909
     331,   332,   333,    -1,   335,   336,    -1,   338,   339,   340,
23910
     341,   342,    -1,   344,   345,   346,   347,   348,   349,   350,
23911
     351,   352,    -1,   354,   355,   356,   357,   358,    -1,   360,
23912
     361,    -1,   363,   364,    -1,   366,   367,    -1,   369,    -1,
23913
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
23914
     381,   382,   383,    -1,    -1,   386,   387,    -1,   389,   390,
23915
     391,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
23916
      -1,    -1,    -1,    -1,   405,   406,    -1,   408,    -1,    -1,
23917
     411,   412,   413,   414,   415,   416,   417,    -1,    -1,   420,
23918
     421,   422,   423,   424,    -1,    -1,   427,   428,   429,   430,
23919
     431,    -1,    -1,    -1,   435,    -1,   437,   438,   439,   440,
23920
      -1,    -1,   443,    -1,    -1,   446,   447,   448,   449,   450,
23921
     451,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23922
      -1,    -1,   463,   464,   465
23923
};
23924
23925
  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
23926
     symbol of state STATE-NUM.  */
23927
static const yytype_uint16 yystos[] =
23928
{
23929
       0,    18,    28,    30,    31,    44,    47,    56,    68,    70,
23930
      71,    78,    80,    91,    93,   110,   113,   127,   129,   133,
23931
     139,   147,   149,   155,   171,   189,   229,   230,   235,   247,
23932
     260,   303,   317,   323,   324,   326,   331,   336,   339,   346,
23933
     352,   353,   360,   364,   375,   388,   411,   421,   427,   432,
23934
     445,   468,   484,   491,   492,   493,   494,   495,   501,   502,
23935
     504,   505,   506,   507,   509,   513,   525,   530,   531,   534,
23936
     535,   536,   559,   562,   563,   579,   628,   629,   632,   635,
23937
     637,   638,   646,   652,   654,   656,   659,   660,   663,   666,
23938
     667,   671,   680,   684,   685,   686,   687,   690,   692,   693,
23939
     694,   695,   703,   704,   724,   728,   730,   731,   732,   742,
23940
     744,   751,   752,   755,   756,   757,   758,   759,   767,   769,
23941
     773,   778,   782,   783,   791,   792,   795,   800,   817,   826,
23942
     853,   856,   857,   858,   863,   866,   868,   870,   872,   873,
23943
     878,   879,   882,   883,   884,   888,   889,   892,   893,   896,
23944
     897,   898,   905,   907,   908,   909,   914,   916,   917,   923,
23945
     924,   925,   928,   929,   930,   931,   933,   934,   936,   937,
23946
     939,   942,   945,   954,   960,   963,   965,   966,   975,   977,
23947
     982,   987,   991,   992,   993,   994,   995,   996,   999,  1034,
23948
     405,   448,   910,    25,    74,    90,   108,   114,   131,   142,
23949
     150,   162,   167,   174,   194,   219,   240,   275,   298,   308,
23950
     309,   312,   338,   341,   345,   347,   354,   357,   377,   383,
23951
     387,   388,   389,   393,   398,   408,   413,   425,   438,   653,
23952
     194,   910,     3,    18,    19,    20,    21,    22,    23,    24,
23953
      25,    27,    28,    29,    37,    38,    40,    41,    42,    43,
23954
      44,    45,    46,    47,    48,    49,    50,    51,    52,    54,
23955
      55,    56,    57,    58,    59,    62,    63,    64,    65,    66,
23956
      68,    69,    70,    71,    72,    74,    75,    77,    78,    79,
23957
      80,    81,    82,    83,    84,    85,    87,    88,    89,    90,
23958
      91,    92,    94,    95,    96,    97,   101,   105,   106,   107,
23959
     108,   109,   110,   111,   112,   113,   115,   117,   118,   119,
23960
     120,   121,   122,   124,   125,   126,   127,   130,   131,   132,
23961
     133,   134,   136,   137,   138,   140,   141,   142,   144,   145,
23962
     146,   147,   148,   149,   150,   151,   152,   154,   156,   157,
23963
     158,   159,   161,   163,   164,   166,   167,   168,   169,   170,
23964
     172,   173,   175,   176,   177,   178,   180,   181,   182,   183,
23965
     184,   185,   186,   187,   188,   189,   191,   192,   193,   194,
23966
     195,   196,   197,   199,   200,   201,   202,   203,   204,   205,
23967
     206,   207,   209,   211,   212,   213,   214,   215,   216,   217,
23968
     218,   219,   220,   223,   224,   225,   226,   227,   229,   230,
23969
     231,   234,   235,   236,   237,   238,   239,   240,   241,   242,
23970
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
23971
     253,   254,   255,   256,   257,   259,   260,   261,   262,   264,
23972
     265,   266,   267,   268,   269,   271,   272,   275,   276,   277,
23973
     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
23974
     290,   291,   292,   293,   294,   295,   297,   298,   299,   300,
23975
     301,   302,   303,   304,   306,   307,   308,   309,   310,   311,
23976
     312,   313,   314,   315,   316,   317,   318,   319,   320,   322,
23977
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
23978
     333,   335,   336,   337,   338,   339,   340,   341,   342,   343,
23979
     344,   345,   346,   347,   348,   349,   350,   351,   352,   354,
23980
     355,   356,   357,   358,   360,   361,   362,   363,   364,   365,
23981
     366,   367,   368,   369,   371,   372,   373,   374,   375,   376,
23982
     377,   378,   379,   380,   381,   382,   383,   384,   386,   387,
23983
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
23984
     400,   401,   402,   405,   406,   407,   408,   409,   411,   412,
23985
     413,   414,   415,   416,   417,   420,   421,   422,   423,   424,
23986
     427,   428,   429,   430,   431,   432,   433,   435,   436,   437,
23987
     438,   439,   440,   443,   446,   447,   448,   449,   450,   451,
23988
     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
23989
     462,   463,   464,   465,  1093,  1166,  1175,  1176,  1179,  1180,
23990
    1181,     3,    26,   988,  1160,  1175,  1179,   436,   947,   273,
23991
     304,   910,    50,   484,   570,    20,    25,    37,    61,    74,
23992
      86,   108,   114,   131,   142,   150,   162,   170,   174,   231,
23993
     275,   278,   298,   312,   338,   347,   357,   377,   383,   389,
23994
     393,   395,   397,   398,   408,   413,   419,   422,   425,   580,
23995
     634,   747,   801,   827,    26,   303,  1160,   988,    26,   297,
23996
     355,   395,   397,     5,   218,   864,   865,  1169,    20,    25,
23997
      37,    61,    74,    90,   108,   131,   142,   150,   162,   167,
23998
     174,   194,   240,   275,   288,   298,   309,   312,   338,   341,
23999
     345,   347,   354,   357,   377,   383,   388,   389,   393,   398,
24000
     406,   408,   413,   425,   438,   653,   760,   761,   762,   910,
24001
    1160,    93,   436,   484,   629,   632,   635,   945,   955,   963,
24002
     966,   975,   982,   987,   991,     9,    19,    26,    45,   157,
24003
     163,   165,   190,   220,   254,   306,   325,   475,   476,   779,
24004
     780,   988,  1168,  1170,    26,    93,   321,   353,   784,   785,
24005
     786,  1175,   162,  1175,  1165,  1169,   388,  1002,   779,  1175,
24006
     405,  1160,   288,   240,   108,   194,   347,   387,   388,   484,
24007
     874,   875,   346,  1175,    26,   358,   401,   405,   517,   526,
24008
     527,  1175,    23,   171,   784,   785,   304,   910,  1175,   217,
24009
      26,   128,  1004,  1005,    62,    87,   231,   249,   338,   347,
24010
     358,   401,   405,   451,   514,   515,   516,   517,    26,   358,
24011
     401,   405,   517,   405,   274,  1045,  1158,  1175,  1002,   477,
24012
    1175,   166,   484,   948,   484,   319,   997,   998,  1160,   997,
24013
     992,   993,   996,     0,   487,   484,   947,   143,   208,   279,
24014
     418,  1006,  1007,   992,   994,   995,   119,   204,   424,   488,
24015
     843,  1166,   764,  1175,   764,  1161,  1175,   307,   764,   408,
24016
    1160,   107,   388,   831,  1166,  1175,  1181,     3,   104,   359,
24017
    1172,  1173,  1177,  1179,  1180,  1181,    26,   184,  1158,   267,
24018
     438,     8,    15,    16,    17,    69,   154,   469,   470,   471,
24019
     475,   476,   477,   478,   479,   480,   860,   862,  1122,  1123,
24020
    1175,   184,  1160,   831,  1160,    26,  1172,  1173,   831,  1160,
24021
    1160,   184,  1158,  1160,   764,  1160,   331,   360,    26,   184,
24022
    1045,  1160,  1160,   350,  1160,   764,    26,   238,  1172,  1173,
24023
     184,  1158,   218,   819,  1170,  1171,   116,   214,   258,   315,
24024
     911,   912,   913,   484,   482,   486,  1149,  1151,  1158,  1164,
24025
    1175,    20,    25,    61,    74,    76,    86,    90,   108,   131,
24026
     142,   150,   162,   167,   194,   219,   240,   275,   298,   309,
24027
     312,   338,   341,   345,   347,   354,   357,   377,   383,   388,
24028
     389,   393,   398,   406,   408,   413,   438,   653,   770,   771,
24029
    1169,   962,   966,   975,   982,   991,  1158,   242,  1166,  1160,
24030
     484,   184,   764,   408,  1161,   764,   408,   184,  1160,   107,
24031
     388,   395,   397,  1172,  1173,   395,   397,    69,   154,   860,
24032
     329,  1160,  1160,  1172,   184,   510,  1175,   184,  1160,   184,
24033
     764,  1160,  1160,  1160,   350,  1160,   764,   238,  1172,   319,
24034
     354,   388,   438,   240,    90,   194,   167,   309,   345,   406,
24035
     412,   647,    26,  1160,   989,   524,  1169,  1177,   865,   242,
24036
     184,   843,   844,  1160,   184,   869,   184,  1161,     3,    49,
24037
      51,    52,    64,    65,   111,   112,   132,   158,   184,   206,
24038
     207,   209,   250,   252,   266,   316,   362,   368,   401,   402,
24039
     433,   766,  1067,  1069,  1071,  1073,  1075,  1077,  1078,  1079,
24040
    1081,  1082,  1083,  1085,  1086,  1176,  1179,   408,   107,   388,
24041
     184,   830,   831,   184,  1173,  1174,    82,   438,    69,   154,
24042
     184,   861,   862,    54,   184,   830,   184,  1174,   184,   830,
24043
     184,  1160,   184,  1160,   350,   869,   184,   766,   184,   238,
24044
    1174,   218,   184,   763,   764,   184,  1159,  1160,   184,  1160,
24045
     484,   964,   580,   955,   432,   945,   956,   957,   958,  1177,
24046
     947,  1170,   780,   781,    26,   781,  1170,   781,    26,   781,
24047
    1170,   781,   781,   781,  1170,  1168,  1168,   988,   781,   307,
24048
     484,   484,   600,   600,   600,   273,   403,   488,   600,   347,
24049
    1045,  1046,   488,   906,  1169,   484,   961,    54,   438,   436,
24050
     876,   877,  1158,  1160,  1175,    43,   465,   214,   486,   276,
24051
     276,   273,   165,  1169,   403,   160,   774,   273,     4,     6,
24052
       7,     8,    10,    34,    49,    51,    52,    60,    61,    64,
24053
      65,    72,    74,    98,    99,   100,   101,   102,   103,   104,
24054
     111,   112,   114,   148,   152,   153,   158,   173,   175,   206,
24055
     207,   209,   224,   232,   233,   250,   252,   258,   263,   264,
24056
     266,   275,   286,   299,   316,   343,   359,   368,   384,   401,
24057
     402,   407,   409,   410,   419,   425,   433,   453,   454,   455,
24058
     456,   458,   459,   460,   461,   466,   475,   476,   477,   484,
24059
     992,  1070,  1073,  1076,  1077,  1078,  1080,  1081,  1082,  1085,
24060
    1086,  1090,  1092,  1093,  1094,  1096,  1118,  1119,  1120,  1124,
24061
    1143,  1148,  1155,  1156,  1166,  1167,  1168,  1169,  1175,  1154,
24062
    1155,  1169,    26,   532,  1157,  1158,   358,   514,   114,   523,
24063
    1169,   524,  1169,    43,    66,   514,   465,   369,   912,   276,
24064
     165,   403,   471,    43,   465,   214,   913,   484,  1158,   477,
24065
    1151,  1046,     3,   164,   166,   436,   940,   941,   945,   164,
24066
     949,  1090,  1127,   997,   488,   484,   950,   485,   485,   493,
24067
     436,   943,   944,   951,   952,   953,  1158,    26,   128,  1003,
24068
    1003,    54,  1003,   155,   160,   228,   270,  1010,  1012,  1013,
24069
    1028,  1030,  1031,  1032,  1006,  1007,   165,   210,  1045,  1047,
24070
     484,   289,   327,   360,   484,   841,   289,   323,   327,   360,
24071
     486,   765,   289,   327,   360,     3,    75,    85,   137,   234,
24072
     289,   327,   360,   393,   396,   445,   525,   528,   918,   919,
24073
     920,   921,   796,    22,   133,   289,   327,   360,   429,   541,
24074
    1160,    22,   133,   360,   424,   508,   449,   184,  1045,    57,
24075
      92,   122,   151,   187,   223,   258,   289,   290,   327,   335,
24076
     344,   352,   360,   373,   381,   440,   525,   529,   846,   854,
24077
     484,   828,  1151,   327,   508,   190,   148,    22,    28,    41,
24078
      71,   122,   126,   133,   136,   161,   196,   255,   258,   268,
24079
     277,   289,   327,   330,   331,   360,   429,   537,   539,   540,
24080
     674,     4,   475,   476,   644,  1170,    26,   184,  1158,   764,
24081
     764,   484,   859,   289,   360,   486,   148,   273,   122,   289,
24082
     327,   360,   854,    22,   133,   289,   327,   360,   190,   503,
24083
     327,   445,   468,   496,   503,   122,   289,   327,   360,   854,
24084
     273,   289,   327,   148,    35,    55,   106,   193,   241,   244,
24085
     255,   288,   327,   332,   354,   360,   375,   537,   641,   642,
24086
     289,   327,   437,   674,   682,   289,   327,   360,    85,   126,
24087
     136,   289,   323,   327,   360,   527,   515,   517,   190,   148,
24088
      41,   124,   327,   360,   537,   538,   289,   327,   289,   327,
24089
     331,   360,    83,   125,   291,   396,   273,    22,    28,   133,
24090
     289,   327,   360,   560,   561,   503,   160,   327,   496,   503,
24091
     148,   327,   360,   537,  1160,   445,   488,   818,   226,   116,
24092
     274,   450,   488,   911,    26,   128,   434,   477,   485,   836,
24093
    1090,  1128,  1129,  1176,  1090,  1150,     3,    26,    30,    31,
24094
      32,    33,    34,    35,    36,    39,    53,    60,    61,    67,
24095
      73,    76,    86,    93,    98,    99,   100,   102,   103,   104,
24096
     114,   116,   123,   128,   129,   135,   139,   143,   153,   155,
24097
     160,   162,   165,   171,   174,   179,   190,   198,   208,   210,
24098
     221,   222,   228,   232,   233,   258,   263,   270,   273,   274,
24099
     278,   279,   296,   305,   321,   334,   353,   359,   370,   385,
24100
     388,   399,   403,   404,   410,   418,   419,   425,   426,   434,
24101
     441,   442,   444,   445,   477,  1163,  1178,  1179,  1180,  1181,
24102
    1182,  1149,   426,   938,   273,   242,   843,   484,  1160,  1067,
24103
     408,   107,   388,   831,   267,   438,    69,   154,   862,  1160,
24104
     831,   831,  1160,   350,   160,  1160,  1067,   218,   764,  1160,
24105
     485,   600,  1160,   484,   737,   841,    67,  1067,   258,   165,
24106
     484,   733,  1160,   496,    35,   932,  1160,   258,   496,   449,
24107
     184,  1158,   496,   764,   764,   733,   422,   580,   273,   160,
24108
     890,   891,   496,   258,    43,   511,   258,   413,   681,   258,
24109
     950,    85,   289,   655,   289,   658,    83,   125,   291,   396,
24110
      24,    46,   205,   705,    35,   733,   160,   184,   496,   438,
24111
     184,  1158,   184,   630,  1158,  1158,   438,   764,    82,   256,
24112
     802,  1166,  1166,  1160,   160,   653,    50,   105,   203,   255,
24113
     349,   148,    58,   333,   488,   542,   542,   148,   484,   148,
24114
     496,   435,  1084,  1084,  1084,   484,  1072,  1072,   301,   484,
24115
    1074,   148,    64,    65,  1084,  1072,  1069,   447,   468,   484,
24116
    1087,   484,  1087,   488,   542,    34,  1068,   484,   109,   182,
24117
     243,   246,   351,   463,   484,  1088,  1089,   765,  1072,   449,
24118
     148,   488,   542,   148,   488,   184,   763,   184,   764,   184,
24119
     764,   148,   488,   542,  1174,   148,   542,   148,   148,   542,
24120
     148,   542,   148,    83,   125,   291,   396,   160,   148,   542,
24121
     148,   160,   184,   184,   524,   148,   488,   542,   148,   488,
24122
     542,   148,   273,  1127,   388,   485,   488,   153,   273,   410,
24123
     521,   524,   644,   959,   955,   781,   988,   781,   988,   781,
24124
     988,   781,   988,   781,   988,   988,   988,   781,   988,   484,
24125
     601,   602,  1175,   601,    26,   108,   131,   162,   167,   218,
24126
     219,   309,   341,   347,   354,   388,   389,   393,   413,   787,
24127
    1157,  1174,   786,  1160,   190,   488,   978,  1169,  1067,  1130,
24128
      35,  1174,    82,   256,   636,   485,   488,   226,  1175,   160,
24129
     160,   787,  1174,   346,  1175,   524,   273,   484,  1152,   482,
24130
     992,  1131,  1090,  1147,   484,   484,   160,   484,   484,   992,
24131
     484,   484,   484,   484,   484,   484,  1090,   484,   484,   484,
24132
     484,   484,   484,   484,   484,   992,   484,   484,   484,   484,
24133
     484,   484,   484,   484,  1090,  1090,  1090,   992,  1090,  1127,
24134
    1151,  1169,   484,  1169,     3,     8,    11,    15,    16,    17,
24135
      32,    35,    40,    48,    73,   185,   190,   212,   213,   227,
24136
     261,   275,   278,   365,   466,   469,   470,   471,   475,   476,
24137
     477,   478,   479,   480,  1122,  1124,  1126,   446,  1105,   285,
24138
    1090,   210,   488,  1000,   484,  1169,  1151,  1000,   117,   186,
24139
     533,   488,    66,   114,   524,    35,     3,   114,   231,   522,
24140
     644,  1086,  1169,  1169,    88,   130,  1102,    97,   114,   518,
24141
     519,   521,   644,   114,   518,   226,  1158,    89,   332,   768,
24142
     485,   488,   947,   485,   488,   998,  1159,    35,   485,   488,
24143
     488,   950,   994,   994,  1008,  1009,  1090,   994,   157,   254,
24144
    1019,   216,   255,   315,   363,   424,    26,  1014,  1090,   475,
24145
     476,  1015,  1016,  1090,  1092,  1028,  1029,  1013,  1012,  1010,
24146
    1011,   160,  1031,   268,  1033,  1010,  1028,  1047,   967,  1158,
24147
      35,  1175,   360,  1127,   403,   403,   347,   190,   201,   279,
24148
     282,   362,   434,   477,   834,   835,   836,   838,   840,   842,
24149
    1067,  1176,   403,   437,   403,   347,  1163,   486,   403,   403,
24150
     347,   228,   403,   403,   393,   514,   289,   918,   920,   471,
24151
     922,   160,   171,   190,   336,   797,   798,    67,    86,   144,
24152
     162,   305,   419,   597,   598,    86,   114,   258,   403,    86,
24153
     403,   114,   258,   347,    86,   126,   136,   289,   327,   729,
24154
     347,   664,    20,    25,    61,    74,    90,   131,   142,   162,
24155
     167,   240,   275,   309,   341,   347,   354,   357,   388,   398,
24156
     406,   413,   438,   653,  1160,   148,   327,   360,   537,   273,
24157
     644,   273,   352,   223,   403,  1175,   403,   263,   644,   118,
24158
     211,   347,   358,   405,   516,   333,   360,   846,   855,   485,
24159
     829,   834,   403,   425,   393,  1158,    76,   144,   184,   587,
24160
     597,  1175,    76,    86,   880,   293,   273,   273,   343,   345,
24161
     408,    86,   880,    29,   330,   343,   345,   408,   343,  1158,
24162
     161,   196,   268,   764,   484,   403,   403,   183,   484,   546,
24163
     237,   393,   422,   445,   447,   546,    86,   488,     4,     4,
24164
     289,   190,   148,   122,   327,   360,   537,   426,   426,   257,
24165
    1067,   403,   347,   484,   860,  1160,  1158,   273,   403,   403,
24166
     347,   855,   388,   388,   403,   403,   388,   733,   108,   360,
24167
     528,   403,   498,   528,   273,   403,   403,   347,   855,  1158,
24168
     403,   403,  1158,  1069,   644,    54,   643,   644,   644,   106,
24169
     241,   244,    54,   403,   496,   248,   347,   496,   255,   642,
24170
     403,   403,   263,  1169,   674,   403,   403,   347,  1169,   403,
24171
     312,   403,   312,   733,   393,  1045,   293,   293,    86,   403,
24172
     880,   347,   403,   403,   403,   403,   546,   546,   764,   764,
24173
     764,   764,  1158,    42,   431,    42,    42,   403,    42,   403,
24174
     431,   347,   488,   528,   425,   691,  1173,   403,   498,   528,
24175
    1158,   403,   347,   289,   327,     7,  1171,   315,   315,   328,
24176
     356,   520,   911,  1128,  1128,  1129,   485,    13,    14,   488,
24177
    1006,  1007,   483,   489,  1164,  1175,  1158,   212,  1067,   273,
24178
     212,   449,   212,   644,   764,   764,   212,   273,   212,   212,
24179
     273,    83,   125,   291,   396,  1067,   273,   212,   212,   212,
24180
     403,   445,   571,   413,     3,   738,   739,   733,   484,    35,
24181
     148,   764,   734,   735,  1178,    24,   918,  1067,   273,   148,
24182
     661,  1160,   258,   293,   484,   497,   747,   426,   319,   438,
24183
    1158,    26,   388,   445,   850,   497,   148,  1173,    93,   171,
24184
     512,   579,   637,   704,   782,   800,   914,   148,  1169,   682,
24185
     683,   148,   273,  1169,  1173,   445,   547,  1173,   234,   657,
24186
     764,   764,   764,   764,   268,   119,   204,   411,   424,   706,
24187
     707,   140,   314,   484,   691,   258,   497,  1158,   258,   639,
24188
     641,   258,    35,   268,   293,   484,   600,   600,   184,   633,
24189
    1158,   160,   184,   803,  1164,   484,   832,   832,    35,  1067,
24190
     218,   445,   447,   990,   349,   844,   843,  1067,  1161,   484,
24191
     484,  1127,  1168,   766,  1084,  1084,    34,  1068,   401,   401,
24192
    1168,  1168,  1067,   482,   482,  1168,   403,   403,   403,   484,
24193
     403,  1168,  1072,   830,   831,  1174,  1173,   148,   542,   148,
24194
     426,   148,   426,   861,   862,   542,   830,  1174,   830,  1160,
24195
    1160,  1067,   766,  1174,   691,   148,   148,   542,   763,   764,
24196
    1159,  1160,  1160,   764,   485,   184,  1158,   955,   957,   988,
24197
     988,   988,   988,   988,   988,   601,   485,   488,   485,   168,
24198
     310,   342,   355,   391,  1159,   763,   107,   357,   830,  1159,
24199
     267,   830,   830,  1159,  1157,  1157,  1159,  1159,   763,   403,
24200
     445,   793,   143,   228,   688,   689,    20,   146,   343,   363,
24201
     979,  1045,   262,   980,   485,   488,   962,   403,  1158,   874,
24202
     875,   877,   785,   784,   785,   165,   172,   794,  1175,    25,
24203
      76,   108,   131,   142,   162,   167,   219,   240,   309,   312,
24204
     338,   341,   347,   354,   383,   388,   393,   413,   438,   653,
24205
     775,   776,  1127,  1149,   483,  1127,  1131,  1132,   441,  1144,
24206
    1145,  1090,  1127,   484,  1168,  1168,     3,   109,   182,   243,
24207
     246,   351,   463,  1133,  1134,  1169,  1127,  1127,  1127,  1168,
24208
    1168,  1090,   860,  1090,  1135,   343,   475,   476,   484,  1091,
24209
    1092,  1124,  1137,   485,  1127,  1090,  1127,  1138,  1090,    53,
24210
     165,   222,   404,  1090,  1127,  1141,  1127,   248,  1092,  1090,
24211
    1100,  1101,  1102,   248,  1090,  1102,   485,   488,  1168,  1088,
24212
    1067,  1090,  1090,  1090,  1090,  1178,   401,    39,   385,  1153,
24213
     764,  1090,   484,   992,  1142,   128,   130,   153,   258,   263,
24214
     268,   410,   420,  1090,   484,  1090,   403,    48,   185,   190,
24215
     227,   365,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
24216
    1090,  1090,    26,    33,   370,  1121,   174,   156,  1106,   343,
24217
     484,  1118,   170,   231,   388,   395,   397,   422,  1001,  1158,
24218
    1156,   165,  1035,  1128,  1035,  1158,   405,   484,  1169,   488,
24219
     485,   183,   183,   542,   953,   941,   945,   946,  1090,   485,
24220
     484,   953,   944,   951,   488,    36,   123,   426,   813,   343,
24221
     344,   475,   476,  1016,  1018,  1092,   363,   216,   274,   488,
24222
       4,  1017,  1168,  1017,   343,   344,  1018,  1157,   262,   367,
24223
     981,  1029,  1011,   426,   976,   114,   287,   484,   968,   991,
24224
      35,  1175,   484,   983,   984,   985,  1175,   485,  1173,  1160,
24225
    1160,   282,    54,  1176,   485,   836,   838,   835,   838,  1176,
24226
     279,   485,   488,   765,  1173,  1160,  1160,  1163,  1173,  1160,
24227
    1160,  1173,  1161,  1160,   114,   521,  1170,   338,   425,   784,
24228
     347,   171,   784,   484,  1160,   426,   804,   216,   216,   426,
24229
     484,   623,   184,  1160,   263,  1173,  1160,  1160,  1090,   263,
24230
    1160,  1160,    29,   330,   403,   403,  1160,   403,   665,   242,
24231
     843,   484,   764,   764,  1067,   408,   107,   388,   831,   438,
24232
      69,   154,   862,   831,   831,  1160,   764,  1160,   764,   350,
24233
     160,  1067,   764,   218,   177,   255,   289,   327,   430,   668,
24234
     669,   670,  1045,   403,   880,   347,   263,   150,   118,   211,
24235
    1173,  1160,   273,  1160,   485,   488,  1172,  1174,  1160,   327,
24236
     537,   184,   587,   258,  1067,  1160,  1168,  1175,  1158,  1160,
24237
     150,   226,  1160,    26,   425,  1160,   184,  1160,   184,  1175,
24238
     345,   408,   345,   408,   226,  1160,    26,   425,  1160,   226,
24239
     343,  1158,    22,   133,   360,   675,   676,   677,   678,  1178,
24240
    1173,  1160,   114,   166,   259,   426,   545,   548,   549,  1178,
24241
    1160,   271,    71,   271,  1160,   540,   403,   393,  1158,   273,
24242
     403,   880,   347,  1162,  1175,  1162,   488,   485,   488,  1173,
24243
    1160,   885,   886,  1178,   273,   327,   403,   699,   150,  1173,
24244
    1160,  1160,  1046,  1046,  1173,  1160,  1046,  1161,  1172,     3,
24245
      85,   138,   196,   295,   417,   425,   428,   499,   150,  1173,
24246
    1160,  1160,   327,  1173,  1160,   327,   360,   537,   641,   644,
24247
     764,  1160,   644,   764,  1160,   644,  1173,  1160,  1173,  1160,
24248
    1160,  1173,   850,  1160,   894,   895,  1178,  1160,   327,   360,
24249
     537,   538,  1158,  1158,  1160,  1160,  1160,  1160,  1173,  1160,
24250
    1173,  1160,    22,    28,   133,   289,   327,   360,   289,   327,
24251
     360,   733,   327,   360,   327,   360,   122,   327,  1059,  1175,
24252
     184,   743,  1175,   184,  1175,  1173,  1160,  1160,  1169,  1160,
24253
      22,   561,   357,  1172,   327,   360,   537,  1160,  1160,   403,
24254
     403,   401,    81,   416,   315,   488,  1006,  1006,  1006,  1090,
24255
    1090,   434,  1129,   485,  1090,  1150,   263,   772,  1169,    35,
24256
     131,   764,   772,   772,   212,   426,   426,   772,   764,   772,
24257
     772,   764,   218,   764,   772,   772,   772,   311,   565,   271,
24258
     165,   403,   564,   194,   471,   485,   488,  1090,  1067,   764,
24259
     485,   488,   471,   706,   589,  1178,  1160,    58,   165,   347,
24260
     437,   662,   669,   670,   148,   268,   227,   581,   583,   585,
24261
     587,   594,   597,    23,   190,   338,   386,   499,   500,   160,
24262
    1162,   438,  1158,    35,   700,   391,  1046,   733,   510,  1175,
24263
     511,   278,   580,  1160,   162,   764,  1127,   312,   546,   393,
24264
     621,  1169,   547,   733,   733,   733,   733,   268,   273,   278,
24265
     484,   733,  1057,  1058,  1059,   357,   148,   484,   148,   148,
24266
     147,   991,   764,   268,   581,  1175,   445,   447,   618,   547,
24267
     258,    35,   600,  1169,   258,   273,   485,   833,   834,   839,
24268
      35,   218,   335,   406,   444,   845,   846,   847,   845,   273,
24269
     218,   524,   181,   181,   160,   542,    35,   496,   161,   926,
24270
     927,  1127,   485,   485,   542,   482,   465,   465,   485,   485,
24271
    1168,   483,  1168,   485,   182,   243,  1089,   243,  1089,  1089,
24272
    1168,   246,   485,   542,   763,   764,  1162,   764,  1162,   542,
24273
     542,   542,   542,   218,   542,   357,   160,   524,   542,   542,
24274
     273,   542,   258,   485,   602,   190,   190,   190,   190,   190,
24275
     449,  1159,   644,   645,   174,   788,   789,  1173,    23,   794,
24276
     403,   484,   165,   146,   363,   146,   363,   343,   424,   245,
24277
    1067,  1173,   445,   631,  1158,  1160,   165,   273,   788,    54,
24278
     542,   843,  1067,   408,   388,   831,   267,   438,   831,   831,
24279
    1067,   218,   764,  1160,   485,   483,   483,   488,  1090,   135,
24280
    1145,  1146,    35,   485,  1090,   485,   485,   485,   165,   485,
24281
     485,   485,   485,   485,   488,   485,   296,  1136,   485,   484,
24282
    1091,  1091,  1127,    11,    15,    16,    17,   190,   212,   275,
24283
     469,   470,   471,   475,   476,   477,   478,   479,   480,  1124,
24284
    1091,   485,   485,   160,   165,  1139,  1140,   485,    35,  1141,
24285
    1127,  1141,  1141,   165,   485,   485,  1178,   294,  1104,    35,
24286
     485,   488,  1090,  1178,   488,  1090,  1152,  1090,   485,   465,
24287
    1091,  1091,   141,  1127,   165,   128,   130,   153,   263,   268,
24288
     410,   420,   484,   141,   860,  1090,   385,  1153,  1090,  1142,
24289
    1090,   403,   484,   992,   484,   484,   284,  1110,   484,  1127,
24290
     395,   397,   395,   397,  1158,  1002,  1002,  1002,   221,   344,
24291
     462,   484,   992,  1036,  1037,  1038,  1045,  1050,  1060,  1093,
24292
    1095,  1096,  1175,   442,  1055,  1006,  1055,   912,  1168,  1088,
24293
     519,   953,   962,  1009,   275,  1122,  1125,   467,   816,     4,
24294
    1168,  1018,   274,   424,  1015,   236,  1036,   442,  1056,   432,
24295
     387,   425,   969,   970,   971,  1175,   273,   972,  1175,   985,
24296
     986,   488,  1035,   471,  1152,   842,   765,   838,   838,    54,
24297
     840,   479,  1174,  1174,   273,  1159,   276,   273,  1090,   598,
24298
    1162,   484,   484,   484,   623,   194,   601,   722,   148,   542,
24299
     403,  1173,  1160,   524,  1160,  1067,  1160,   449,   764,   764,
24300
     764,   764,    83,   125,   291,   396,  1067,  1160,   648,  1160,
24301
     177,   430,   403,   403,   648,   668,   674,   327,   360,   537,
24302
    1160,  1160,  1160,   202,  1160,   263,   834,   288,   360,   403,
24303
     258,   148,   277,   672,   722,   360,    22,   133,   331,   332,
24304
     360,   541,   550,   551,   674,   881,  1160,   352,   148,   542,
24305
     148,   542,  1160,  1160,  1160,  1160,   352,   352,   226,   677,
24306
     678,   677,   485,   488,   679,  1169,   194,   485,   488,   471,
24307
     486,  1173,  1160,   327,   360,   537,   150,  1160,  1160,  1160,
24308
     289,   327,   360,    22,   133,   289,   327,   360,  1067,   257,
24309
    1067,   485,   488,   471,  1158,   403,  1174,   426,   696,  1160,
24310
     228,   295,   263,  1169,   295,  1174,   423,  1160,   403,   403,
24311
     347,   488,   850,   288,   360,    86,   403,   880,   347,   114,
24312
     160,   552,   403,   403,   238,   238,   238,   403,   403,   347,
24313
     403,   403,   347,   403,   347,   403,   347,   273,   403,   542,
24314
    1067,   258,  1169,   360,   881,   148,   542,   403,   403,  1160,
24315
     403,   347,  1173,  1160,   820,  1017,   485,   485,   485,  1129,
24316
     483,  1067,   764,   212,   772,  1162,  1162,   212,   212,  1160,
24317
     212,   378,   379,   566,  1169,   565,   177,   257,   275,   475,
24318
     476,   644,   736,   838,  1125,  1169,  1182,     3,   739,   485,
24319
     485,   165,   733,   735,   736,   273,    67,    73,    86,   114,
24320
     116,   169,   198,   258,   263,   305,   321,   419,   590,   591,
24321
     593,   147,   441,   496,   524,  1160,   524,   672,  1158,  1158,
24322
    1158,   485,   488,  1174,   174,   338,  1174,  1168,   413,  1158,
24323
     600,     3,   160,   701,    43,   511,   329,   388,   681,   107,
24324
     950,   165,   894,  1160,   601,  1158,   707,   740,   741,  1169,
24325
     485,   488,  1160,   160,   601,  1158,   630,  1158,  1160,   631,
24326
     484,   582,  1158,   485,   271,   546,   271,   273,   619,    35,
24327
     148,   991,   547,   403,   148,  1045,   485,   488,   114,   471,
24328
     848,  1169,   524,   388,   837,   838,   160,   849,   847,   119,
24329
     204,   353,   424,   903,  1160,   177,   991,  1067,   484,   485,
24330
     488,   485,  1168,  1087,  1087,   483,   483,   485,   542,   426,
24331
     542,   426,   542,  1160,  1160,   691,   542,   764,   148,   347,
24332
     347,   347,   347,   347,  1159,   488,  1173,   445,   488,   790,
24333
     276,  1046,   357,   146,   146,   107,   255,  1174,   787,   542,
24334
    1173,   212,   212,   212,   644,   212,   212,   212,   212,   212,
24335
    1131,   399,  1090,   139,  1067,   485,  1090,  1090,  1090,  1139,
24336
     485,  1127,   488,  1067,  1091,  1091,  1091,  1091,   128,   130,
24337
     258,   268,  1091,  1091,  1091,  1091,  1091,  1091,  1091,  1091,
24338
    1091,  1091,  1090,  1090,  1140,  1139,  1067,   485,   485,   485,
24339
    1127,   485,   488,    54,  1092,   485,  1178,  1101,   302,   382,
24340
    1103,   485,   488,   437,  1097,    35,   485,  1169,  1090,    32,
24341
      32,  1090,   485,  1090,   165,   484,  1130,  1090,   485,   141,
24342
    1091,  1091,   141,   141,  1090,  1090,  1007,   442,   484,  1111,
24343
    1175,   485,  1127,   488,  1002,  1002,  1002,  1002,  1158,  1158,
24344
    1158,   992,  1050,  1060,   165,   484,   992,  1037,  1038,    35,
24345
    1039,  1040,  1175,   488,    94,   166,   200,   215,   225,   251,
24346
     337,  1042,  1040,    35,  1039,  1041,  1175,  1040,   468,  1054,
24347
    1151,  1090,   174,  1020,   485,  1020,   485,   485,   484,   816,
24348
     157,   220,   274,    97,  1090,   334,   974,   431,   485,   488,
24349
    1152,    84,   974,   485,   488,   984,  1056,  1090,   485,   479,
24350
     842,   413,   168,   342,   348,   355,   390,   391,   414,   799,
24351
     160,   799,   485,   484,   605,   606,   806,  1095,  1175,   601,
24352
     484,   805,   806,   808,   722,  1164,   485,   116,   198,   255,
24353
     258,   723,  1160,  1160,    35,  1160,   426,   426,   764,   764,
24354
     764,   764,   218,   765,  1173,  1160,   403,   880,   347,   403,
24355
     202,    54,   393,  1160,   148,   587,   484,   589,   377,   169,
24356
     183,   258,   546,   496,   107,   169,   258,   377,   380,   546,
24357
     642,   360,   551,   413,  1160,  1175,   352,   676,  1160,   549,
24358
     736,  1178,   288,   360,   403,   880,   347,  1160,   403,   403,
24359
     403,   347,   167,   275,   380,   745,   746,   167,   275,   753,
24360
     754,   403,   403,   347,   485,   485,   485,   886,   257,   644,
24361
     838,   887,  1125,  1169,  1182,   327,  1160,   484,   445,   697,
24362
    1170,  1169,  1169,  1169,  1160,  1160,  1160,   895,    54,   393,
24363
    1160,  1160,  1160,  1160,   432,  1160,  1160,   160,   160,   329,
24364
     160,   184,  1173,  1160,  1160,  1173,  1160,  1160,  1160,  1160,
24365
    1160,  1160,   150,  1160,    73,   543,   148,    24,    46,   413,
24366
    1175,  1160,  1169,   674,  1160,  1160,   293,   821,  1006,   485,
24367
     212,   772,   212,   212,   772,   772,   212,   772,   496,   566,
24368
     648,   722,   445,   447,   764,  1158,   484,   764,  1160,  1091,
24369
      29,    54,   592,   117,   186,   116,   263,   216,  1158,   850,
24370
     167,   309,   718,   725,   726,  1175,   661,   293,   484,   582,
24371
     595,   197,   612,   585,  1174,  1174,  1067,   484,   547,    26,
24372
     119,   204,   353,   424,   702,   403,   698,  1173,   184,  1158,
24373
     683,   449,   273,  1036,   850,   322,   708,   485,   488,  1059,
24374
     672,   691,   485,   639,    35,   268,   293,   484,   964,   584,
24375
     586,   588,   597,  1175,   293,   613,   614,   582,   612,    80,
24376
     621,   991,   633,   631,   621,  1169,  1164,   804,   839,  1090,
24377
    1090,   488,   484,   845,   413,   488,   403,   484,   648,   485,
24378
     926,   927,   483,  1162,  1162,   542,   357,   542,  1159,  1159,
24379
    1159,  1159,  1159,   644,   171,   789,   485,  1160,   107,   794,
24380
     165,   263,   777,  1169,   777,   777,   212,   777,   777,   777,
24381
     777,   777,  1090,   485,   485,  1140,   485,  1090,   165,   128,
24382
     130,   268,   484,   485,   452,  1099,  1127,   320,    54,   443,
24383
     443,   485,  1090,   255,  1090,   488,  1098,  1069,  1090,  1090,
24384
    1090,  1130,   485,  1090,    32,    32,  1090,  1090,   141,   485,
24385
     485,  1090,  1112,  1175,   485,  1090,  1158,  1158,  1158,  1158,
24386
    1040,  1041,  1040,   484,   457,  1092,   485,  1175,   484,  1037,
24387
     215,   283,  1043,  1037,  1043,   215,  1042,  1043,   215,   392,
24388
    1048,   484,  1175,   484,   280,    54,   179,  1027,  1169,  1027,
24389
    1169,   860,   268,  1155,   991,   287,   991,   971,   273,   484,
24390
     973,   471,   985,   974,   413,   485,   403,   784,   165,   722,
24391
    1090,   485,   488,   445,    73,   811,   811,   485,  1090,  1127,
24392
     485,   488,   191,   603,   117,   186,   196,   116,   428,   542,
24393
    1067,  1162,  1162,  1160,  1160,  1160,  1160,  1160,  1174,  1160,
24394
     587,   673,   677,  1170,   592,   184,   263,   644,   592,   263,
24395
    1170,  1175,  1067,   542,   542,   471,    54,   393,  1160,  1160,
24396
    1160,  1160,  1173,  1160,  1160,  1168,  1168,  1067,   488,  1168,
24397
    1168,   488,  1173,  1160,  1160,   403,  1090,    67,  1174,  1160,
24398
     403,   403,   165,   190,   445,  1159,  1159,   764,  1159,   148,
24399
    1160,   764,  1169,  1169,  1067,   542,   542,     7,   822,   485,
24400
     212,   772,   772,   772,   772,   484,   567,   568,   426,   572,
24401
     573,   167,   201,   167,   165,   721,  1090,   258,   591,   114,
24402
      35,   850,   600,   426,   622,  1166,    32,   147,   190,   268,
24403
     581,   552,   145,   192,   484,   357,   426,   601,    35,  1174,
24404
     696,   511,   258,   484,   162,  1160,  1127,   253,   272,   709,
24405
     710,   711,   160,   714,  1169,   357,   547,   991,   764,   268,
24406
     581,   631,   485,   488,   445,   589,    54,   618,   552,   613,
24407
     119,   133,   302,   445,   915,    35,   165,   273,   484,  1169,
24408
     836,   851,   852,  1176,  1067,   160,  1158,   165,   403,   871,
24409
     199,   649,   542,   485,   542,   542,  1160,   276,   210,   542,
24410
     788,   777,   485,  1091,   165,   484,  1130,   484,   485,   488,
24411
     485,  1092,   320,   485,   431,   374,   485,   485,   485,  1090,
24412
    1090,  1090,   485,   293,  1113,   485,  1051,  1052,  1095,   484,
24413
    1104,  1039,   484,  1159,  1037,   273,   426,  1044,  1037,   215,
24414
    1037,  1166,  1058,   484,  1058,  1175,    96,   175,   340,   484,
24415
    1021,  1022,  1023,  1024,  1025,  1026,  1090,  1090,   444,  1107,
24416
    1107,   485,   988,   969,    86,   805,   129,  1090,   788,   273,
24417
     788,   485,   603,   606,   275,   860,   764,   764,   812,   812,
24418
     321,   485,   603,   806,   808,   484,   850,   485,   403,   360,
24419
     980,   485,   488,    35,   148,   543,   736,  1174,  1160,   403,
24420
     484,   831,   860,   862,   746,   484,   484,   754,  1160,   485,
24421
     484,   360,   980,  1160,  1160,   484,   484,   484,   445,   468,
24422
     935,   329,   935,   935,   160,   543,   165,   772,   574,   575,
24423
    1178,    50,    95,   120,   137,   141,   161,   164,   180,   263,
24424
     271,   313,   569,   496,   121,   831,    35,   867,   867,  1158,
24425
     722,   485,   183,   622,   239,   604,   194,   484,   726,   718,
24426
     484,  1158,   485,   357,    26,    79,    87,   115,   183,   195,
24427
     377,   380,   596,   596,  1157,  1160,  1162,   485,   991,   697,
24428
     148,   107,   672,   165,   710,   343,   388,   712,   134,   715,
24429
     441,   717,  1160,    35,   631,   582,  1158,   485,   586,   277,
24430
       3,   615,  1179,   619,   613,   618,   344,   344,    59,    67,
24431
     231,   991,   764,  1045,   805,   838,   485,   488,   413,  1055,
24432
     372,   372,   485,   648,   255,   430,   650,   651,  1160,   542,
24433
    1091,  1130,   485,  1100,  1127,    54,   255,   464,    54,  1006,
24434
     485,   488,    35,  1053,   114,  1065,  1066,  1091,    77,  1159,
24435
     485,  1090,   484,  1037,  1044,   484,   485,  1058,   485,   484,
24436
     361,   484,   485,   488,  1108,  1109,  1175,   431,  1160,   485,
24437
     259,   424,   790,   799,   542,   811,   850,   484,   178,   813,
24438
     814,   815,   815,  1158,   807,   814,   850,   601,   622,  1160,
24439
     393,   677,   183,   426,   544,   360,   980,  1160,  1130,   160,
24440
     749,   749,  1130,  1130,  1090,   393,   153,   241,   244,   263,
24441
     410,   555,   557,   558,   644,  1169,   555,   556,   553,   554,
24442
    1177,   763,   764,   763,   764,  1159,   542,     7,   823,   825,
24443
     485,   488,   477,   484,   521,   576,   644,   932,  1169,   932,
24444
     258,   263,   313,   932,   932,   567,  1169,   867,    38,   188,
24445
     160,   255,   599,   484,   640,   166,   292,   366,   273,   608,
24446
     609,   610,   393,   485,  1166,     5,   727,   582,   612,  1160,
24447
     485,   672,   154,   748,   547,   915,  1158,   449,  1036,   932,
24448
     343,   376,   716,   484,   147,   672,   991,   613,   582,   612,
24449
     589,   484,   621,   618,   619,    67,   276,    67,   631,   804,
24450
     485,   845,   851,  1067,   129,   445,   445,   430,   648,   672,
24451
     485,   485,   485,   320,   431,  1127,   176,   314,   344,  1114,
24452
    1054,  1051,   484,  1091,   485,   488,    35,  1061,  1062,  1175,
24453
     485,  1159,  1127,   485,  1127,   484,  1127,  1022,   488,    35,
24454
     991,  1055,   360,   165,   812,   622,   860,   816,   816,   600,
24455
     622,   485,   722,  1160,   640,  1090,   393,   485,   279,   350,
24456
     318,   750,   750,   485,   485,   485,  1160,   485,   488,   485,
24457
     488,   485,   488,  1168,   935,   403,   575,   521,   577,   578,
24458
    1169,  1169,   263,   601,   477,   601,  1169,  1169,   134,   196,
24459
     641,   119,   424,   273,   610,   273,   609,  1160,   484,   485,
24460
     488,   552,   357,   672,   764,    35,    35,   484,  1160,   713,
24461
    1175,  1090,   718,   915,   618,   552,   613,   484,   616,   617,
24462
    1095,  1175,   371,   624,   619,   621,   276,   276,   484,   191,
24463
     809,    27,   205,   904,   167,   167,    48,    97,   415,  1090,
24464
    1115,  1116,  1115,  1115,   485,  1058,   488,  1066,  1178,   485,
24465
     488,   160,  1067,   485,   485,   485,  1021,   485,  1109,  1111,
24466
     983,   788,   815,   442,   607,   485,   604,   722,   980,  1160,
24467
     831,    54,   980,   403,   558,   555,   553,   764,   824,   825,
24468
     485,   488,   601,   343,   485,    58,   255,   333,   360,   611,
24469
     611,   485,     5,   357,  1160,   745,   991,   672,   485,  1166,
24470
     619,   613,   618,  1090,   485,   488,   811,   811,    40,   210,
24471
     484,   625,   255,   389,   620,   621,   624,   805,   484,   547,
24472
     259,   484,   899,   901,   905,   966,   975,   982,   991,   831,
24473
     831,  1116,   343,   159,   300,   159,   300,   144,  1117,  1117,
24474
    1117,   485,  1092,  1062,   280,     3,   114,   258,   263,  1063,
24475
    1064,   328,  1049,   485,  1055,   542,   816,   484,   722,   608,
24476
     980,   764,   484,   578,   717,    21,   114,   263,  1160,   672,
24477
     915,   484,   621,   618,   619,   485,   617,   812,   812,   432,
24478
    1168,   625,   389,  1160,   624,   620,   485,   806,   810,   621,
24479
     900,   901,   902,   992,   993,   488,   488,    32,    97,   174,
24480
     255,   400,  1104,  1091,  1091,   263,  1064,   484,  1090,   722,
24481
     557,   147,   672,     4,   719,   720,  1168,  1169,  1178,   624,
24482
     619,   621,   811,   484,   394,   485,   620,   809,   485,   488,
24483
     624,   485,   487,   403,   165,  1116,   343,   281,    77,  1090,
24484
     485,   485,   718,   485,   488,   620,   621,   624,   812,   484,
24485
     626,   627,   547,   806,   620,   902,   372,   372,  1061,   485,
24486
    1166,   720,   624,   620,   557,   485,   488,   621,  1055,   445,
24487
     445,   485,   484,   620,   485,   627,   624,   167,   167,   719,
24488
     620,   831,   831,   485,  1055
24489
};
24490
24491
  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
24492
static const yytype_uint16 yyr1[] =
24493
{
24494
       0,   490,   491,   492,   492,   493,   493,   493,   493,   493,
24495
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24496
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24497
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24498
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24499
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24500
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24501
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24502
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24503
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24504
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24505
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24506
     493,   493,   493,   493,   493,   493,   493,   493,   493,   493,
24507
     493,   493,   494,   495,   496,   496,   496,   497,   497,   498,
24508
     498,   499,   499,   499,   499,   499,   499,   499,   499,   499,
24509
     500,   500,   500,   500,   500,   500,   501,   502,   502,   503,
24510
     503,   504,   504,   504,   504,   505,   505,   505,   505,   505,
24511
     505,   506,   507,   508,   508,   509,   509,   509,   509,   510,
24512
     510,   511,   511,   512,   512,   512,   512,   512,   512,   513,
24513
     513,   513,   514,   514,   514,   515,   515,   515,   515,   516,
24514
     516,   516,   516,   516,   516,   516,   516,   516,   516,   516,
24515
     517,   517,   518,   518,   519,   519,   520,   520,   520,   520,
24516
     521,   521,   521,   521,   522,   522,   522,   522,   522,   522,
24517
     522,   523,   523,   523,   524,   524,   525,   526,   526,   526,
24518
     526,   527,   527,   528,   528,   529,   529,   530,   530,   530,
24519
     530,   530,   531,   532,   532,   533,   533,   534,   535,   535,
24520
     535,   535,   535,   536,   536,   536,   536,   536,   536,   536,
24521
     536,   536,   536,   536,   536,   536,   536,   536,   536,   536,
24522
     536,   536,   537,   537,   538,   538,   539,   540,   540,   540,
24523
     540,   540,   540,   540,   540,   540,   540,   540,   540,   540,
24524
     540,   540,   540,   540,   540,   540,   540,   540,   540,   540,
24525
     540,   540,   540,   540,   540,   540,   540,   540,   540,   540,
24526
     540,   540,   540,   540,   540,   540,   540,   540,   540,   540,
24527
     540,   540,   540,   540,   540,   540,   540,   540,   540,   540,
24528
     540,   540,   540,   540,   541,   541,   542,   542,   542,   543,
24529
     543,   544,   544,   545,   545,   545,   545,   546,   547,   547,
24530
     548,   548,   549,   549,   549,   549,   550,   550,   551,   551,
24531
     551,   551,   552,   552,   552,   552,   553,   554,   554,   555,
24532
     555,   555,   555,   555,   556,   556,   557,   557,   558,   558,
24533
     558,   559,   560,   560,   561,   561,   561,   561,   562,   562,
24534
     563,   563,   564,   564,   565,   565,   566,   566,   566,   567,
24535
     567,   568,   568,   569,   569,   569,   569,   569,   569,   569,
24536
     569,   569,   569,   569,   569,   569,   569,   570,   570,   571,
24537
     571,   572,   572,   573,   573,   574,   574,   575,   576,   576,
24538
     576,   576,   576,   577,   577,   578,   579,   579,   579,   579,
24539
     579,   579,   580,   580,   580,   580,   580,   580,   580,   580,
24540
     581,   581,   582,   582,   583,   583,   584,   584,   585,   585,
24541
     585,   586,   586,   587,   588,   588,   589,   589,   590,   590,
24542
     590,   590,   591,   591,   591,   591,   591,   591,   591,   591,
24543
     592,   592,   593,   593,   593,   593,   594,   595,   595,   595,
24544
     596,   596,   596,   596,   596,   596,   596,   596,   597,   597,
24545
     598,   598,   598,   598,   598,   598,   598,   599,   599,   600,
24546
     600,   601,   601,   602,   603,   603,   604,   604,   604,   604,
24547
     605,   605,   606,   606,   607,   607,   608,   608,   608,   608,
24548
     608,   609,   610,   611,   611,   611,   611,   611,   612,   612,
24549
     613,   613,   614,   615,   615,   616,   616,   617,   617,   617,
24550
     618,   618,   618,   618,   619,   619,   619,   619,   620,   620,
24551
     620,   621,   621,   622,   622,   623,   624,   624,   624,   625,
24552
     625,   626,   626,   627,   628,   628,   629,   629,   630,   631,
24553
     631,   631,   632,   632,   633,   634,   634,   635,   636,   636,
24554
     636,   637,   637,   638,   638,   639,   639,   640,   640,   641,
24555
     641,   642,   642,   642,   642,   642,   642,   642,   642,   642,
24556
     642,   642,   642,   642,   642,   643,   643,   644,   644,   644,
24557
     644,   645,   645,   646,   646,   647,   647,   648,   648,   649,
24558
     649,   650,   650,   651,   651,   652,   652,   653,   653,   654,
24559
     655,   655,   656,   657,   657,   658,   658,   659,   659,   660,
24560
     660,   661,   661,   662,   662,   662,   662,   663,   664,   664,
24561
     665,   666,   666,   666,   666,   666,   666,   666,   666,   666,
24562
     666,   666,   666,   666,   666,   666,   666,   666,   666,   666,
24563
     666,   666,   666,   666,   666,   666,   666,   666,   666,   667,
24564
     668,   668,   668,   668,   669,   669,   670,   670,   671,   671,
24565
     672,   672,   673,   673,   674,   675,   675,   676,   676,   676,
24566
     676,   677,   678,   679,   680,   680,   681,   681,   682,   682,
24567
     683,   683,   684,   684,   684,   685,   685,   685,   685,   686,
24568
     686,   687,   688,   688,   689,   689,   690,   690,   691,   691,
24569
     692,   692,   693,   694,   695,   696,   696,   697,   697,   698,
24570
     698,   699,   699,   700,   700,   701,   701,   702,   702,   702,
24571
     702,   702,   703,   704,   704,   705,   705,   705,   706,   706,
24572
     707,   707,   707,   707,   707,   708,   708,   709,   709,   710,
24573
     711,   711,   712,   712,   713,   714,   714,   715,   715,   716,
24574
     716,   717,   717,   718,   718,   719,   719,   719,   720,   720,
24575
     720,   720,   721,   721,   722,   722,   723,   723,   723,   723,
24576
     723,   723,   724,   724,   725,   725,   726,   727,   727,   728,
24577
     729,   729,   729,   729,   730,   731,   732,   732,   732,   732,
24578
     732,   732,   732,   732,   732,   732,   732,   732,   732,   732,
24579
     732,   732,   733,   734,   734,   735,   735,   736,   736,   736,
24580
     736,   736,   736,   737,   738,   738,   739,   740,   740,   741,
24581
     741,   742,   742,   742,   742,   743,   743,   744,   745,   745,
24582
     746,   746,   746,   746,   746,   747,   747,   748,   748,   749,
24583
     749,   749,   750,   750,   751,   752,   752,   753,   753,   754,
24584
     754,   755,   755,   756,   756,   757,   758,   759,   759,   759,
24585
     759,   759,   759,   759,   759,   759,   759,   759,   759,   760,
24586
     760,   760,   760,   760,   760,   760,   760,   760,   760,   760,
24587
     760,   760,   761,   761,   761,   761,   761,   761,   761,   761,
24588
     762,   762,   762,   763,   763,   764,   764,   765,   765,   766,
24589
     766,   767,   768,   768,   768,   769,   769,   769,   769,   769,
24590
     769,   769,   769,   769,   769,   769,   769,   769,   769,   769,
24591
     769,   769,   769,   769,   770,   770,   770,   770,   770,   770,
24592
     770,   770,   770,   770,   770,   770,   770,   770,   771,   771,
24593
     771,   771,   771,   771,   771,   771,   771,   771,   771,   771,
24594
     771,   772,   772,   773,   773,   773,   773,   773,   773,   773,
24595
     773,   773,   774,   774,   775,   775,   775,   775,   775,   775,
24596
     776,   776,   776,   776,   776,   776,   776,   776,   777,   777,
24597
     778,   778,   779,   779,   779,   779,   779,   779,   779,   779,
24598
     779,   779,   779,   779,   779,   779,   779,   779,   780,   780,
24599
     781,   781,   782,   783,   783,   784,   784,   784,   784,   784,
24600
     785,   785,   786,   786,   786,   786,   787,   787,   787,   787,
24601
     787,   787,   787,   787,   787,   787,   787,   787,   787,   787,
24602
     787,   787,   787,   787,   787,   787,   787,   788,   788,   789,
24603
     789,   790,   790,   791,   792,   792,   793,   793,   794,   794,
24604
     795,   796,   796,   797,   797,   797,   798,   798,   798,   799,
24605
     799,   799,   799,   799,   799,   799,   800,   800,   801,   801,
24606
     802,   802,   802,   803,   803,   804,   804,   805,   805,   805,
24607
     805,   806,   806,   806,   807,   807,   808,   809,   809,   810,
24608
     810,   811,   811,   812,   812,   813,   813,   813,   814,   815,
24609
     815,   816,   816,   816,   817,   818,   818,   819,   819,   820,
24610
     821,   821,   821,   822,   823,   824,   825,   826,   826,   826,
24611
     826,   827,   827,   828,   828,   829,   829,   830,   830,   831,
24612
     831,   831,   831,   832,   832,   833,   833,   834,   834,   834,
24613
     834,   834,   835,   835,   835,   835,   835,   836,   837,   838,
24614
     838,   838,   839,   839,   839,   840,   841,   841,   841,   841,
24615
     842,   842,   843,   844,   844,   845,   845,   846,   846,   846,
24616
     846,   846,   846,   846,   846,   846,   846,   846,   846,   846,
24617
     846,   846,   846,   847,   847,   847,   847,   847,   848,   848,
24618
     849,   849,   850,   850,   851,   852,   852,   853,   853,   853,
24619
     854,   854,   855,   855,   856,   856,   856,   856,   856,   856,
24620
     857,   857,   858,   858,   859,   859,   859,   859,   860,   860,
24621
     861,   861,   862,   863,   864,   864,   865,   865,   866,   866,
24622
     866,   867,   867,   867,   868,   869,   869,   870,   871,   871,
24623
     871,   871,   872,   873,   873,   873,   873,   874,   874,   875,
24624
     875,   875,   876,   876,   877,   878,   878,   879,   879,   879,
24625
     879,   879,   879,   879,   879,   879,   879,   879,   879,   879,
24626
     879,   879,   879,   879,   879,   879,   879,   879,   879,   879,
24627
     879,   879,   879,   879,   879,   879,   879,   879,   879,   879,
24628
     879,   879,   879,   879,   879,   879,   879,   879,   879,   879,
24629
     879,   879,   879,   879,   879,   879,   879,   879,   879,   879,
24630
     879,   880,   880,   881,   881,   882,   882,   882,   882,   882,
24631
     882,   883,   883,   883,   883,   883,   883,   883,   883,   883,
24632
     883,   883,   883,   883,   883,   883,   883,   883,   883,   883,
24633
     883,   883,   883,   883,   883,   883,   883,   883,   884,   885,
24634
     885,   886,   886,   887,   887,   887,   887,   887,   888,   888,
24635
     888,   888,   888,   888,   888,   888,   888,   888,   888,   888,
24636
     888,   888,   888,   888,   888,   888,   888,   888,   888,   888,
24637
     888,   888,   888,   889,   890,   890,   891,   891,   892,   892,
24638
     892,   892,   893,   894,   894,   895,   896,   896,   896,   896,
24639
     896,   896,   897,   897,   898,   899,   899,   899,   900,   900,
24640
     901,   901,   901,   901,   901,   902,   902,   903,   903,   903,
24641
     903,   904,   904,   904,   905,   906,   906,   907,   908,   908,
24642
     909,   909,   909,   909,   909,   909,   909,   909,   909,   909,
24643
     909,   909,   909,   909,   910,   910,   910,   911,   911,   911,
24644
     911,   911,   912,   912,   912,   913,   913,   914,   914,   914,
24645
     914,   915,   915,   915,   915,   916,   917,   918,   918,   919,
24646
     919,   920,   920,   920,   921,   921,   921,   921,   921,   921,
24647
     921,   921,   922,   922,   923,   923,   923,   924,   925,   925,
24648
     925,   925,   926,   926,   927,   928,   929,   929,   930,   931,
24649
     931,   931,   931,   931,   931,   931,   932,   932,   933,   934,
24650
     934,   934,   934,   934,   934,   935,   935,   936,   937,   937,
24651
     937,   938,   938,   939,   939,   940,   940,   941,   941,   941,
24652
     941,   941,   942,   942,   943,   943,   944,   945,   945,   946,
24653
     946,   947,   947,   948,   948,   949,   949,   950,   950,   951,
24654
     952,   952,   953,   953,   954,   954,   954,   954,   955,   955,
24655
     955,   955,   955,   955,   955,   955,   955,   956,   956,   957,
24656
     958,   958,   959,   959,   959,   960,   961,   961,   962,   962,
24657
     962,   962,   963,   963,   964,   964,   965,   965,   965,   965,
24658
     966,   967,   967,   968,   968,   968,   968,   968,   969,   969,
24659
     970,   970,   971,   972,   972,   972,   973,   973,   973,   974,
24660
     974,   975,   976,   976,   977,   978,   978,   979,   979,   979,
24661
     979,   979,   979,   979,   979,   980,   980,   981,   981,   981,
24662
     982,   983,   983,   984,   984,   985,   986,   986,   987,   988,
24663
     989,   989,   989,   989,   989,   990,   990,   990,   991,   991,
24664
     992,   992,   993,   993,   993,   993,   993,   993,   993,   993,
24665
     994,   994,   995,   995,   995,   995,   995,   995,   995,   996,
24666
     996,   996,   997,   997,   998,   999,   999,  1000,  1000,  1001,
24667
    1001,  1001,  1001,  1001,  1001,  1001,  1001,  1001,  1002,  1002,
24668
    1003,  1003,  1003,  1004,  1004,  1005,  1005,  1006,  1006,  1007,
24669
    1008,  1008,  1009,  1009,  1010,  1010,  1010,  1010,  1011,  1011,
24670
    1012,  1012,  1012,  1012,  1013,  1013,  1014,  1014,  1015,  1016,
24671
    1016,  1016,  1017,  1017,  1018,  1018,  1019,  1019,  1020,  1020,
24672
    1021,  1021,  1022,  1022,  1022,  1022,  1022,  1023,  1024,  1025,
24673
    1026,  1027,  1027,  1028,  1028,  1029,  1029,  1030,  1030,  1031,
24674
    1032,  1032,  1032,  1032,  1033,  1033,  1034,  1034,  1035,  1035,
24675
    1036,  1036,  1037,  1037,  1037,  1037,  1037,  1037,  1037,  1037,
24676
    1037,  1037,  1038,  1038,  1038,  1038,  1038,  1038,  1039,  1039,
24677
    1039,  1039,  1040,  1040,  1041,  1041,  1041,  1041,  1041,  1042,
24678
    1042,  1042,  1042,  1043,  1043,  1044,  1044,  1045,  1045,  1045,
24679
    1045,  1046,  1046,  1047,  1047,  1047,  1048,  1049,  1049,  1050,
24680
    1050,  1051,  1052,  1052,  1053,  1053,  1054,  1054,  1055,  1055,
24681
    1056,  1056,  1056,  1057,  1057,  1058,  1058,  1059,  1060,  1060,
24682
    1061,  1061,  1062,  1062,  1062,  1063,  1063,  1064,  1064,  1064,
24683
    1064,  1065,  1065,  1066,  1066,  1067,  1067,  1067,  1067,  1067,
24684
    1067,  1068,  1068,  1068,  1069,  1069,  1069,  1069,  1069,  1069,
24685
    1069,  1070,  1070,  1070,  1070,  1071,  1071,  1072,  1072,  1073,
24686
    1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
24687
    1074,  1074,  1075,  1075,  1076,  1076,  1077,  1078,  1079,  1079,
24688
    1080,  1080,  1081,  1082,  1083,  1083,  1083,  1083,  1083,  1083,
24689
    1084,  1084,  1085,  1085,  1085,  1085,  1086,  1087,  1087,  1087,
24690
    1088,  1088,  1088,  1088,  1088,  1088,  1088,  1088,  1088,  1088,
24691
    1088,  1088,  1088,  1088,  1089,  1089,  1090,  1090,  1090,  1090,
24692
    1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
24693
    1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
24694
    1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
24695
    1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
24696
    1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
24697
    1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
24698
    1091,  1091,  1091,  1091,  1091,  1091,  1091,  1091,  1091,  1091,
24699
    1091,  1091,  1091,  1091,  1091,  1091,  1091,  1091,  1091,  1091,
24700
    1091,  1091,  1091,  1091,  1091,  1092,  1092,  1092,  1092,  1092,
24701
    1092,  1092,  1092,  1092,  1092,  1092,  1092,  1092,  1092,  1093,
24702
    1093,  1093,  1093,  1093,  1093,  1093,  1094,  1094,  1095,  1095,
24703
    1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,
24704
    1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,
24705
    1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,
24706
    1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,  1096,
24707
    1096,  1096,  1097,  1097,  1098,  1098,  1098,  1098,  1099,  1100,
24708
    1100,  1101,  1101,  1102,  1102,  1103,  1103,  1103,  1104,  1104,
24709
    1104,  1104,  1105,  1105,  1106,  1106,  1107,  1107,  1108,  1108,
24710
    1109,  1110,  1110,  1110,  1111,  1112,  1112,  1113,  1113,  1114,
24711
    1114,  1114,  1114,  1115,  1115,  1116,  1116,  1116,  1116,  1116,
24712
    1117,  1117,  1117,  1117,  1117,  1118,  1118,  1118,  1119,  1119,
24713
    1120,  1121,  1121,  1121,  1122,  1122,  1123,  1123,  1123,  1123,
24714
    1123,  1123,  1123,  1123,  1123,  1123,  1123,  1123,  1124,  1124,
24715
    1125,  1125,  1126,  1126,  1126,  1126,  1126,  1126,  1127,  1127,
24716
    1128,  1128,  1129,  1129,  1129,  1130,  1130,  1131,  1131,  1131,
24717
    1132,  1132,  1133,  1133,  1134,  1134,  1134,  1134,  1134,  1134,
24718
    1134,  1134,  1135,  1135,  1136,  1137,  1137,  1138,  1138,  1138,
24719
    1138,  1138,  1138,  1139,  1140,  1141,  1141,  1141,  1142,  1142,
24720
    1143,  1144,  1144,  1145,  1146,  1146,  1147,  1147,  1148,  1148,
24721
    1149,  1149,  1149,  1149,  1150,  1150,  1151,  1151,  1152,  1152,
24722
    1153,  1153,  1154,  1154,  1155,  1155,  1156,  1156,  1156,  1156,
24723
    1157,  1157,  1158,  1158,  1159,  1159,  1160,  1161,  1162,  1163,
24724
    1164,  1165,  1166,  1166,  1167,  1167,  1167,  1167,  1167,  1167,
24725
    1167,  1167,  1167,  1167,  1167,  1167,  1167,  1168,  1169,  1170,
24726
    1170,  1170,  1171,  1172,  1173,  1173,  1173,  1174,  1174,  1175,
24727
    1175,  1175,  1176,  1176,  1176,  1177,  1177,  1177,  1177,  1178,
24728
    1178,  1178,  1178,  1178,  1179,  1179,  1179,  1179,  1179,  1179,
24729
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24730
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24731
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24732
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24733
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24734
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24735
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24736
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24737
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24738
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24739
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24740
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24741
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24742
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24743
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24744
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24745
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24746
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24747
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24748
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24749
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24750
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24751
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24752
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24753
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24754
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24755
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24756
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24757
    1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,  1179,
24758
    1179,  1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,
24759
    1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,
24760
    1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,
24761
    1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,
24762
    1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,  1180,
24763
    1180,  1181,  1181,  1181,  1181,  1181,  1181,  1181,  1181,  1181,
24764
    1181,  1181,  1181,  1181,  1181,  1181,  1181,  1181,  1181,  1181,
24765
    1181,  1181,  1181,  1181,  1181,  1182,  1182,  1182,  1182,  1182,
24766
    1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,
24767
    1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,
24768
    1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,
24769
    1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,
24770
    1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,
24771
    1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,
24772
    1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,  1182,
24773
    1182,  1182
24774
};
24775
24776
  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
24777
static const yytype_uint8 yyr2[] =
24778
{
24779
       0,     2,     1,     3,     1,     0,     1,     1,     1,     1,
24780
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24781
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24782
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24783
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24784
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24785
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24786
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24787
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24788
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24789
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24790
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24791
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24792
       1,     1,     2,     5,     1,     1,     0,     2,     0,     2,
24793
       0,     2,     2,     3,     3,     1,     3,     3,     2,     1,
24794
       1,     2,     2,     2,     3,     3,     5,     5,     5,     0,
24795
       3,     5,     5,     5,     5,     3,     5,     3,     5,     3,
24796
       5,     5,     6,     1,     1,     6,     4,     9,     7,     1,
24797
       0,     2,     0,     1,     1,     1,     1,     1,     1,     2,
24798
       3,     3,     2,     5,     1,     3,     3,     3,     3,     1,
24799
       3,     3,     2,     2,     2,     2,     3,     3,     3,     3,
24800
       1,     3,     1,     3,     1,     1,     2,     2,     2,     1,
24801
       1,     1,     1,     1,     1,     1,     3,     5,     1,     1,
24802
       1,     1,     1,     0,     1,     1,     2,     1,     2,     3,
24803
       2,     1,     1,     2,     1,     2,     1,     2,     3,     4,
24804
       3,     2,     4,     1,     1,     1,     1,     1,     2,     2,
24805
       2,     2,     2,     4,     6,     4,     6,    10,    13,     4,
24806
       6,     4,    10,    13,     4,     6,     4,     6,     5,     7,
24807
      11,    14,     1,     3,     4,     3,     3,     2,     5,     3,
24808
       6,     4,     6,     6,     6,     6,     5,     5,     6,     9,
24809
       4,     5,     7,     6,     4,     8,     4,     2,     4,     3,
24810
       6,     4,     3,     3,     3,     3,     2,     2,     3,     4,
24811
       4,     3,     3,     3,     3,     3,     3,     4,     4,     3,
24812
       2,     3,     2,     2,     3,     3,     2,     2,     3,     4,
24813
       4,     4,     5,     1,     3,     2,     1,     1,     0,     2,
24814
       0,     2,     0,     1,     1,     1,     3,     3,     2,     0,
24815
       1,     3,     3,     1,     5,     3,     1,     2,     1,     3,
24816
       2,     3,     6,     6,    10,     1,     2,     1,     3,     1,
24817
       1,     1,     1,     1,     1,     3,     1,     3,     1,     1,
24818
       1,     4,     1,     3,     4,     6,     4,     8,     2,     2,
24819
      11,     9,     1,     1,     1,     0,     1,     1,     1,     1,
24820
       3,     2,     0,     1,     1,     1,     3,     3,     1,     1,
24821
       3,     3,     3,     3,     4,     3,     2,     1,     0,     2,
24822
       0,     3,     0,     1,     0,     1,     3,     2,     1,     1,
24823
       1,     3,     0,     1,     3,     1,    14,    17,    13,    16,
24824
      15,    18,     1,     1,     2,     2,     2,     2,     1,     0,
24825
       1,     0,     3,     0,     1,     3,     1,     3,     1,     1,
24826
       1,     1,     1,     4,     2,     4,     2,     0,     3,     1,
24827
       1,     2,     2,     1,     3,     4,     5,     2,     5,     5,
24828
       1,     2,     1,     2,     2,     2,     3,     3,     3,     0,
24829
       1,     1,     1,     1,     1,     1,     1,     1,     3,     1,
24830
       5,     8,     3,     9,     4,    10,    11,     2,     0,     3,
24831
       0,     1,     3,     1,     4,     0,     2,     2,     2,     0,
24832
       1,     3,     3,     6,     4,     0,     1,     1,     2,     2,
24833
       0,     3,     3,     2,     1,     1,     2,     2,     4,     0,
24834
       1,     0,     6,     1,     1,     1,     3,     3,     3,     5,
24835
       2,     2,     2,     0,     3,     4,     4,     0,     2,     2,
24836
       0,     2,     0,     4,     0,     3,     4,     2,     0,     3,
24837
       5,     1,     3,     3,     8,    11,     7,    10,     5,     2,
24838
       3,     0,     8,    11,     4,     1,     0,     6,     1,     1,
24839
       0,     5,     8,     4,     6,     1,     0,     3,     0,     1,
24840
       2,     2,     2,     1,     2,     3,     2,     2,     2,     2,
24841
       3,     3,     3,     1,     3,     1,     0,     1,     2,     2,
24842
       1,     1,     3,     6,    10,     1,     0,     1,     2,     2,
24843
       0,     2,     2,     1,     0,     5,     7,     1,     0,     6,
24844
       2,     0,     6,     2,     0,     2,     0,     3,     5,     5,
24845
       8,     2,     0,     2,     2,     2,     1,     5,     2,     0,
24846
       2,     7,     6,    10,     6,     6,     6,     6,     7,     6,
24847
       9,     9,     6,     6,     6,     7,     6,     8,     8,     8,
24848
       8,     6,     6,     7,     7,     8,     6,     9,     6,     7,
24849
       2,     2,     2,     2,     1,     2,     1,     0,     7,     6,
24850
       4,     0,     1,     3,     4,     1,     3,     1,     2,     2,
24851
       2,     2,     1,     1,    10,    13,     2,     0,     2,     2,
24852
       1,     0,     5,     4,     4,    11,    14,    12,    15,     5,
24853
       7,    11,     2,     1,     4,     0,     8,    11,     1,     1,
24854
       7,     9,     8,    10,     8,     4,     0,     5,     0,     2,
24855
       0,     2,     0,     2,     0,     2,     0,     1,     1,     1,
24856
       1,     1,     8,    16,    20,     1,     1,     2,     1,     3,
24857
       1,     1,     1,     3,     1,     2,     0,     1,     2,     4,
24858
       1,     1,     1,     1,     1,     3,     0,     1,     0,     1,
24859
       1,     4,     0,     1,     1,     1,     3,     0,     1,     1,
24860
       1,     1,     2,     0,     0,     2,     2,     1,     2,     2,
24861
       2,     2,    11,    13,     1,     3,     5,     1,     3,     5,
24862
       1,     2,     2,     1,     8,     4,     5,     4,     4,     4,
24863
       3,     7,     8,     6,     6,     6,     6,     6,     4,     7,
24864
       5,     8,     3,     1,     3,     3,     1,     1,     1,     1,
24865
       1,     1,     1,     3,     1,     3,     3,     1,     0,     1,
24866
       3,     7,     9,     9,     8,     3,     0,    13,     1,     3,
24867
       5,     5,     3,     6,     2,     1,     0,     2,     0,     2,
24868
       4,     0,     1,     0,     6,     8,     8,     1,     3,     5,
24869
       5,     7,     9,     7,     9,     5,     6,     6,     4,     6,
24870
       4,     6,     8,     4,     6,     4,     6,     5,     7,     1,
24871
       1,     1,     2,     1,     2,     1,     1,     1,     3,     3,
24872
       3,     3,     2,     2,     1,     3,     1,     1,     1,     1,
24873
       1,     1,     1,     1,     3,     1,     2,     2,     3,     1,
24874
       3,     5,     2,     2,     0,     6,     6,     6,     6,     6,
24875
       6,     6,     8,     9,     8,     6,     6,     8,     9,     8,
24876
       9,     9,     7,    10,     1,     1,     1,     1,     1,     1,
24877
       2,     1,     1,     2,     3,     3,     3,     3,     2,     1,
24878
       2,     1,     3,     2,     1,     1,     1,     1,     1,     1,
24879
       1,     1,     1,     8,     8,     8,     8,     8,     8,     9,
24880
       8,     8,     2,     0,     1,     2,     1,     1,     1,     2,
24881
       1,     2,     2,     1,     1,     1,     1,     1,     1,     1,
24882
       2,     2,     1,     2,     3,     3,     3,     3,     4,     4,
24883
       3,     3,     3,     4,     4,     3,     4,     4,     1,     1,
24884
       1,     0,     7,     7,    10,     1,     1,     2,     4,     5,
24885
       1,     3,     2,     2,     2,     2,     1,     2,     2,     4,
24886
       3,     2,     2,     2,     2,     2,     2,     3,     2,     2,
24887
       2,     2,     5,     5,     5,     5,     5,     1,     3,     1,
24888
       2,     3,     0,     6,     6,     9,     3,     0,     3,     0,
24889
       5,     2,     0,     3,     3,     3,     7,     7,    10,     1,
24890
       1,     1,     1,     1,     1,     1,    17,    20,     1,     0,
24891
       1,     1,     0,     1,     0,     2,     0,     1,     1,     3,
24892
       3,     5,     5,     7,     1,     0,     4,     4,     0,     1,
24893
       3,     2,     0,     1,     0,     1,     1,     0,     1,     1,
24894
       1,     2,     2,     0,     8,     0,     2,     1,     3,     1,
24895
       2,     4,     6,     1,     1,     1,     1,     8,    11,     6,
24896
       6,     2,     0,     3,     2,     1,     3,     1,     3,     2,
24897
       1,     1,     2,     3,     2,     1,     3,     3,     3,     2,
24898
       2,     1,     1,     1,     1,     2,     1,     1,     1,     1,
24899
       4,     5,     1,     3,     3,     1,     3,     3,     5,     6,
24900
       1,     3,     2,     1,     3,     1,     2,     4,     5,     1,
24901
       1,     1,     1,     3,     3,     2,     2,     1,     2,     2,
24902
       2,     1,     2,     2,     2,     2,     1,     1,     1,     3,
24903
       3,     5,     2,     0,     2,     1,     3,     5,     5,     5,
24904
       1,     2,     1,     0,     4,     6,     4,     6,     4,     6,
24905
       4,     6,     4,     6,     3,     5,     5,     5,     1,     3,
24906
       1,     3,     2,     2,     1,     2,     1,     2,    11,    10,
24907
      10,     2,     2,     0,     9,     2,     0,    10,    11,    11,
24908
       5,     5,     8,     3,     3,     6,     6,     1,     1,     1,
24909
       1,     1,     1,     3,     1,     5,     5,     6,     6,     6,
24910
       6,     6,     8,     8,     6,     6,     7,     9,     9,     8,
24911
      10,     6,     6,     6,     6,     6,     6,     6,     8,     6,
24912
       8,     6,     8,     7,     9,     6,     8,     7,     9,     8,
24913
      10,     9,    11,     8,    10,     9,    11,     8,     8,     7,
24914
       6,     6,     6,     6,     6,     8,     8,     8,     8,     6,
24915
       9,     1,     0,     2,     0,     7,     7,     7,     9,     8,
24916
       7,     6,     6,     6,     6,     6,     6,     6,     9,     9,
24917
       6,     6,     6,     8,     6,     8,     8,     8,     8,     6,
24918
       8,     6,     8,     7,     9,     7,     9,     6,     7,     1,
24919
       3,     3,     3,     1,     1,     1,     1,     1,     6,     6,
24920
       6,     6,     6,     6,     7,     7,     6,     9,     9,     6,
24921
       6,     6,     6,     6,     6,     6,     8,     8,     8,     6,
24922
       7,     6,     6,     5,     1,     0,     3,     3,     5,     6,
24923
       6,     6,     8,     1,     3,     1,     5,     5,     6,     7,
24924
       4,     4,     4,     6,    13,     1,     1,     3,     3,     1,
24925
       1,     1,     1,     1,     1,     1,     0,     1,     1,     1,
24926
       1,     1,     1,     0,     3,     2,     0,     2,     2,     2,
24927
       2,     3,     3,     2,     2,     2,     2,     3,     2,     5,
24928
       4,     3,     3,     3,     1,     1,     0,     3,     2,     2,
24929
       1,     2,     1,     3,     2,     1,     0,     9,    11,    12,
24930
      14,     3,     4,     4,     0,     2,     5,     1,     0,     1,
24931
       2,     3,     3,     3,     1,     2,     1,     1,     1,     1,
24932
       1,     1,     1,     0,     5,     4,     6,     4,     3,     5,
24933
       7,     9,     1,     3,     1,     5,     4,     4,     6,     4,
24934
       6,     6,     5,     7,     9,     6,     1,     0,     6,    11,
24935
      11,    11,    13,     9,    11,     1,     1,    10,     4,     2,
24936
       5,     2,     0,     6,     5,     1,     3,     1,     1,     1,
24937
       1,     1,     3,     5,     1,     3,     1,     1,     1,     1,
24938
       0,     1,     0,     1,     0,     1,     0,     3,     0,     2,
24939
       1,     3,     1,     0,     2,     4,     3,     5,     1,     1,
24940
       1,     1,     1,     1,     1,     1,     1,     1,     3,     2,
24941
       1,     1,     1,     1,     0,     5,     3,     0,     1,     1,
24942
       1,     1,     3,     9,     3,     0,     2,     3,     2,     3,
24943
       7,     1,     3,     1,     4,     4,     7,     2,     1,     1,
24944
       1,     3,     2,     8,     5,     0,     4,     3,     0,     2,
24945
       0,     7,     2,     0,     5,     3,     0,     2,     2,     2,
24946
       3,     1,     3,     1,     2,     1,     0,     1,     2,     0,
24947
       8,     1,     3,     3,     5,     2,     1,     3,     7,     1,
24948
       0,     3,     2,     2,     2,     0,     2,     2,     1,     1,
24949
       3,     3,     1,     2,     4,     4,     2,     3,     5,     5,
24950
       1,     1,     9,     9,     1,     2,     4,     4,     4,     2,
24951
       2,     3,     1,     3,     6,     1,     0,     2,     0,     3,
24952
       3,     4,     4,     4,     4,     3,     2,     1,     1,     0,
24953
       1,     1,     0,     1,     5,     1,     0,     1,     0,     3,
24954
       1,     3,     4,     3,     2,     2,     1,     1,     1,     0,
24955
       2,     4,     5,     4,     2,     3,     1,     1,     1,     1,
24956
       2,     2,     1,     1,     1,     1,     1,     1,     3,     0,
24957
       1,     3,     1,     1,     1,     1,     1,     2,     4,     4,
24958
       5,     2,     0,     1,     3,     1,     0,     1,     2,     3,
24959
       2,     4,     2,     3,     2,     0,     4,     5,     2,     0,
24960
       1,     3,     2,     3,     2,     3,     2,     3,     2,     3,
24961
       1,     4,     3,     4,     5,     4,     5,     4,     5,     2,
24962
       4,     1,     1,     0,     1,     4,     5,     4,     0,     2,
24963
       2,     2,     1,     1,     0,     4,     2,     1,     2,     2,
24964
       4,     1,     3,     1,     2,     3,     6,     4,     0,     2,
24965
       6,     2,     1,     3,     4,     0,     2,     0,     2,     0,
24966
       2,     4,     0,     1,     0,     1,     3,     3,     7,    12,
24967
       1,     3,     2,     3,     3,     1,     2,     2,     2,     2,
24968
       1,     1,     3,     3,     2,     2,     3,     5,     6,     2,
24969
       3,     3,     4,     0,     1,     1,     1,     1,     1,     2,
24970
       4,     1,     1,     1,     1,     2,     3,     3,     0,     1,
24971
       1,     1,     1,     1,     2,     2,     2,     2,     2,     1,
24972
       3,     0,     1,     1,     1,     1,     5,     2,     1,     1,
24973
       1,     1,     4,     1,     2,     2,     1,     3,     3,     2,
24974
       1,     0,     5,     2,     5,     2,     1,     3,     3,     0,
24975
       1,     1,     1,     1,     1,     1,     3,     3,     3,     3,
24976
       3,     3,     3,     0,     1,     4,     1,     3,     3,     5,
24977
       2,     2,     3,     3,     3,     3,     3,     3,     3,     3,
24978
       3,     3,     3,     3,     3,     2,     2,     3,     3,     2,
24979
       2,     3,     5,     4,     6,     3,     5,     4,     6,     4,
24980
       6,     5,     7,     3,     2,     4,     2,     3,     3,     4,
24981
       3,     4,     3,     4,     5,     6,     6,     7,     6,     7,
24982
       6,     7,     3,     4,     4,     6,     2,     3,     4,     1,
24983
       1,     3,     2,     2,     3,     3,     3,     3,     3,     3,
24984
       3,     3,     3,     3,     3,     3,     3,     2,     2,     5,
24985
       6,     6,     7,     3,     4,     1,     1,     2,     4,     1,
24986
       1,     1,     2,     2,     2,     2,     1,     1,     4,     3,
24987
       5,     6,     8,     6,     6,     4,     4,     1,     1,     1,
24988
       5,     1,     1,     4,     1,     4,     1,     4,     1,     4,
24989
       1,     1,     1,     1,     1,     1,     6,     4,     4,     4,
24990
       4,     6,     5,     5,     5,     4,     6,     4,     4,     4,
24991
       4,     5,     7,     7,     9,     5,     4,     6,     5,     7,
24992
       7,     7,     2,     3,     3,     3,     4,     0,     4,     1,
24993
       3,     3,     1,     1,     1,     2,     2,     0,     2,     4,
24994
       4,     6,     5,     0,     5,     0,     2,     0,     1,     3,
24995
       3,     2,     2,     0,     6,     1,     0,     3,     0,     3,
24996
       3,     3,     0,     1,     4,     2,     2,     2,     2,     2,
24997
       3,     2,     2,     3,     0,     4,     3,     5,     4,     3,
24998
       5,     1,     1,     1,     1,     1,     1,     1,     1,     1,
24999
       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
25000
       1,     4,     1,     4,     1,     2,     1,     2,     1,     3,
25001
       1,     3,     1,     3,     3,     1,     3,     3,     3,     2,
25002
       1,     3,     3,     0,     1,     1,     1,     1,     1,     1,
25003
       1,     1,     4,     3,     2,     3,     0,     3,     3,     2,
25004
       2,     1,     0,     2,     2,     3,     2,     1,     1,     3,
25005
       5,     1,     2,     4,     2,     0,     1,     0,     1,     2,
25006
       2,     2,     3,     5,     1,     0,     1,     2,     0,     2,
25007
       1,     0,     1,     0,     1,     3,     3,     2,     1,     1,
25008
       1,     3,     1,     2,     1,     3,     1,     1,     1,     1,
25009
       1,     1,     1,     2,     1,     1,     1,     1,     1,     2,
25010
       6,     2,     3,     5,     1,     1,     1,     1,     1,     1,
25011
       2,     2,     1,     1,     1,     1,     1,     1,     3,     1,
25012
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25013
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25014
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25015
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25016
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25017
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25018
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25019
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25020
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25021
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25022
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25023
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25024
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25025
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25026
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25027
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25028
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25029
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25030
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25031
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25032
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25033
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25034
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25035
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25036
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25037
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25038
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25039
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25040
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25041
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25042
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25043
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25044
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25045
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25046
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25047
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25048
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25049
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25050
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25051
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25052
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25053
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25054
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25055
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25056
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25057
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25058
       1,     1
25059
};
25060
25061
25062
#define yyerrok         (yyerrstatus = 0)
25063
#define yyclearin       (yychar = YYEMPTY)
25064
16.1M
#define YYEMPTY         (-2)
25065
11.2M
#define YYEOF           0
25066
25067
202k
#define YYACCEPT        goto yyacceptlab
25068
0
#define YYABORT         goto yyabortlab
25069
0
#define YYERROR         goto yyerrorlab
25070
25071
25072
#define YYRECOVERING()  (!!yyerrstatus)
25073
25074
#define YYBACKUP(Token, Value)                                    \
25075
  do                                                              \
25076
    if (yychar == YYEMPTY)                                        \
25077
      {                                                           \
25078
        yychar = (Token);                                         \
25079
        yylval = (Value);                                         \
25080
        YYPOPSTACK (yylen);                                       \
25081
        yystate = *yyssp;                                         \
25082
        goto yybackup;                                            \
25083
      }                                                           \
25084
    else                                                          \
25085
      {                                                           \
25086
        yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
25087
        YYERROR;                                                  \
25088
      }                                                           \
25089
  while (0)
25090
25091
/* Error token number */
25092
0
#define YYTERROR        1
25093
#define YYERRCODE       256
25094
25095
25096
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
25097
   If N is 0, then set CURRENT to the empty location which ends
25098
   the previous symbol: RHS[0] (always defined).  */
25099
25100
#ifndef YYLLOC_DEFAULT
25101
# define YYLLOC_DEFAULT(Current, Rhs, N)                                \
25102
    do                                                                  \
25103
      if (N)                                                            \
25104
        {                                                               \
25105
          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
25106
          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
25107
          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
25108
          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
25109
        }                                                               \
25110
      else                                                              \
25111
        {                                                               \
25112
          (Current).first_line   = (Current).last_line   =              \
25113
            YYRHSLOC (Rhs, 0).last_line;                                \
25114
          (Current).first_column = (Current).last_column =              \
25115
            YYRHSLOC (Rhs, 0).last_column;                              \
25116
        }                                                               \
25117
    while (0)
25118
#endif
25119
25120
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
25121
25122
25123
/* Enable debugging if requested.  */
25124
#if YYDEBUG
25125
25126
# ifndef YYFPRINTF
25127
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
25128
#  define YYFPRINTF fprintf
25129
# endif
25130
25131
# define YYDPRINTF(Args)                        \
25132
do {                                            \
25133
  if (yydebug)                                  \
25134
    YYFPRINTF Args;                             \
25135
} while (0)
25136
25137
25138
/* YY_LOCATION_PRINT -- Print the location on the stream.
25139
   This macro was not mandated originally: define only if we know
25140
   we won't break user code: when these are the locations we know.  */
25141
25142
#ifndef YY_LOCATION_PRINT
25143
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
25144
25145
/* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
25146
25147
YY_ATTRIBUTE_UNUSED
25148
static int
25149
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
25150
{
25151
  int res = 0;
25152
  int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
25153
  if (0 <= yylocp->first_line)
25154
    {
25155
      res += YYFPRINTF (yyo, "%d", yylocp->first_line);
25156
      if (0 <= yylocp->first_column)
25157
        res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
25158
    }
25159
  if (0 <= yylocp->last_line)
25160
    {
25161
      if (yylocp->first_line < yylocp->last_line)
25162
        {
25163
          res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
25164
          if (0 <= end_col)
25165
            res += YYFPRINTF (yyo, ".%d", end_col);
25166
        }
25167
      else if (0 <= end_col && yylocp->first_column < end_col)
25168
        res += YYFPRINTF (yyo, "-%d", end_col);
25169
    }
25170
  return res;
25171
 }
25172
25173
#  define YY_LOCATION_PRINT(File, Loc)          \
25174
  yy_location_print_ (File, &(Loc))
25175
25176
# else
25177
#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
25178
# endif
25179
#endif
25180
25181
25182
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
25183
do {                                                                      \
25184
  if (yydebug)                                                            \
25185
    {                                                                     \
25186
      YYFPRINTF (stderr, "%s ", Title);                                   \
25187
      yy_symbol_print (stderr,                                            \
25188
                  Type, Value, Location, yyscanner); \
25189
      YYFPRINTF (stderr, "\n");                                           \
25190
    }                                                                     \
25191
} while (0)
25192
25193
25194
/*-----------------------------------.
25195
| Print this symbol's value on YYO.  |
25196
`-----------------------------------*/
25197
25198
static void
25199
yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
25200
{
25201
  FILE *yyoutput = yyo;
25202
  YYUSE (yyoutput);
25203
  YYUSE (yylocationp);
25204
  YYUSE (yyscanner);
25205
  if (!yyvaluep)
25206
    return;
25207
# ifdef YYPRINT
25208
  if (yytype < YYNTOKENS)
25209
    YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
25210
# endif
25211
  YYUSE (yytype);
25212
}
25213
25214
25215
/*---------------------------.
25216
| Print this symbol on YYO.  |
25217
`---------------------------*/
25218
25219
static void
25220
yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
25221
{
25222
  YYFPRINTF (yyo, "%s %s (",
25223
             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
25224
25225
  YY_LOCATION_PRINT (yyo, *yylocationp);
25226
  YYFPRINTF (yyo, ": ");
25227
  yy_symbol_value_print (yyo, yytype, yyvaluep, yylocationp, yyscanner);
25228
  YYFPRINTF (yyo, ")");
25229
}
25230
25231
/*------------------------------------------------------------------.
25232
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
25233
| TOP (included).                                                   |
25234
`------------------------------------------------------------------*/
25235
25236
static void
25237
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
25238
{
25239
  YYFPRINTF (stderr, "Stack now");
25240
  for (; yybottom <= yytop; yybottom++)
25241
    {
25242
      int yybot = *yybottom;
25243
      YYFPRINTF (stderr, " %d", yybot);
25244
    }
25245
  YYFPRINTF (stderr, "\n");
25246
}
25247
25248
# define YY_STACK_PRINT(Bottom, Top)                            \
25249
do {                                                            \
25250
  if (yydebug)                                                  \
25251
    yy_stack_print ((Bottom), (Top));                           \
25252
} while (0)
25253
25254
25255
/*------------------------------------------------.
25256
| Report that the YYRULE is going to be reduced.  |
25257
`------------------------------------------------*/
25258
25259
static void
25260
yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
25261
{
25262
  unsigned long yylno = yyrline[yyrule];
25263
  int yynrhs = yyr2[yyrule];
25264
  int yyi;
25265
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
25266
             yyrule - 1, yylno);
25267
  /* The symbols being reduced.  */
25268
  for (yyi = 0; yyi < yynrhs; yyi++)
25269
    {
25270
      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
25271
      yy_symbol_print (stderr,
25272
                       yystos[yyssp[yyi + 1 - yynrhs]],
25273
                       &yyvsp[(yyi + 1) - (yynrhs)]
25274
                       , &(yylsp[(yyi + 1) - (yynrhs)])                       , yyscanner);
25275
      YYFPRINTF (stderr, "\n");
25276
    }
25277
}
25278
25279
# define YY_REDUCE_PRINT(Rule)          \
25280
do {                                    \
25281
  if (yydebug)                          \
25282
    yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
25283
} while (0)
25284
25285
/* Nonzero means print parse trace.  It is left uninitialized so that
25286
   multiple parsers can coexist.  */
25287
int yydebug;
25288
#else /* !YYDEBUG */
25289
# define YYDPRINTF(Args)
25290
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
25291
# define YY_STACK_PRINT(Bottom, Top)
25292
# define YY_REDUCE_PRINT(Rule)
25293
#endif /* !YYDEBUG */
25294
25295
25296
/* YYINITDEPTH -- initial size of the parser's stacks.  */
25297
#ifndef YYINITDEPTH
25298
202k
# define YYINITDEPTH 200
25299
#endif
25300
25301
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
25302
   if the built-in stack extension method is used).
25303
25304
   Do not make this value too large; the results are undefined if
25305
   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
25306
   evaluated with infinite-precision integer arithmetic.  */
25307
25308
#ifndef YYMAXDEPTH
25309
0
# define YYMAXDEPTH 10000
25310
#endif
25311
25312
25313
#if YYERROR_VERBOSE
25314
25315
# ifndef yystrlen
25316
#  if defined __GLIBC__ && defined _STRING_H
25317
#   define yystrlen strlen
25318
#  else
25319
/* Return the length of YYSTR.  */
25320
static YYSIZE_T
25321
yystrlen (const char *yystr)
25322
{
25323
  YYSIZE_T yylen;
25324
  for (yylen = 0; yystr[yylen]; yylen++)
25325
    continue;
25326
  return yylen;
25327
}
25328
#  endif
25329
# endif
25330
25331
# ifndef yystpcpy
25332
#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
25333
#   define yystpcpy stpcpy
25334
#  else
25335
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
25336
   YYDEST.  */
25337
static char *
25338
yystpcpy (char *yydest, const char *yysrc)
25339
{
25340
  char *yyd = yydest;
25341
  const char *yys = yysrc;
25342
25343
  while ((*yyd++ = *yys++) != '\0')
25344
    continue;
25345
25346
  return yyd - 1;
25347
}
25348
#  endif
25349
# endif
25350
25351
# ifndef yytnamerr
25352
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
25353
   quotes and backslashes, so that it's suitable for yyerror.  The
25354
   heuristic is that double-quoting is unnecessary unless the string
25355
   contains an apostrophe, a comma, or backslash (other than
25356
   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
25357
   null, do not copy; instead, return the length of what the result
25358
   would have been.  */
25359
static YYSIZE_T
25360
yytnamerr (char *yyres, const char *yystr)
25361
{
25362
  if (*yystr == '"')
25363
    {
25364
      YYSIZE_T yyn = 0;
25365
      char const *yyp = yystr;
25366
25367
      for (;;)
25368
        switch (*++yyp)
25369
          {
25370
          case '\'':
25371
          case ',':
25372
            goto do_not_strip_quotes;
25373
25374
          case '\\':
25375
            if (*++yyp != '\\')
25376
              goto do_not_strip_quotes;
25377
            else
25378
              goto append;
25379
25380
          append:
25381
          default:
25382
            if (yyres)
25383
              yyres[yyn] = *yyp;
25384
            yyn++;
25385
            break;
25386
25387
          case '"':
25388
            if (yyres)
25389
              yyres[yyn] = '\0';
25390
            return yyn;
25391
          }
25392
    do_not_strip_quotes: ;
25393
    }
25394
25395
  if (! yyres)
25396
    return yystrlen (yystr);
25397
25398
  return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
25399
}
25400
# endif
25401
25402
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
25403
   about the unexpected token YYTOKEN for the state stack whose top is
25404
   YYSSP.
25405
25406
   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
25407
   not large enough to hold the message.  In that case, also set
25408
   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
25409
   required number of bytes is too large to store.  */
25410
static int
25411
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
25412
                yytype_int16 *yyssp, int yytoken)
25413
{
25414
  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
25415
  YYSIZE_T yysize = yysize0;
25416
  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
25417
  /* Internationalized format string. */
25418
  const char *yyformat = YY_NULLPTR;
25419
  /* Arguments of yyformat. */
25420
  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
25421
  /* Number of reported tokens (one for the "unexpected", one per
25422
     "expected"). */
25423
  int yycount = 0;
25424
25425
  /* There are many possibilities here to consider:
25426
     - If this state is a consistent state with a default action, then
25427
       the only way this function was invoked is if the default action
25428
       is an error action.  In that case, don't check for expected
25429
       tokens because there are none.
25430
     - The only way there can be no lookahead present (in yychar) is if
25431
       this state is a consistent state with a default action.  Thus,
25432
       detecting the absence of a lookahead is sufficient to determine
25433
       that there is no unexpected or expected token to report.  In that
25434
       case, just report a simple "syntax error".
25435
     - Don't assume there isn't a lookahead just because this state is a
25436
       consistent state with a default action.  There might have been a
25437
       previous inconsistent state, consistent state with a non-default
25438
       action, or user semantic action that manipulated yychar.
25439
     - Of course, the expected token list depends on states to have
25440
       correct lookahead information, and it depends on the parser not
25441
       to perform extra reductions after fetching a lookahead from the
25442
       scanner and before detecting a syntax error.  Thus, state merging
25443
       (from LALR or IELR) and default reductions corrupt the expected
25444
       token list.  However, the list is correct for canonical LR with
25445
       one exception: it will still contain any token that will not be
25446
       accepted due to an error action in a later state.
25447
  */
25448
  if (yytoken != YYEMPTY)
25449
    {
25450
      int yyn = yypact[*yyssp];
25451
      yyarg[yycount++] = yytname[yytoken];
25452
      if (!yypact_value_is_default (yyn))
25453
        {
25454
          /* Start YYX at -YYN if negative to avoid negative indexes in
25455
             YYCHECK.  In other words, skip the first -YYN actions for
25456
             this state because they are default actions.  */
25457
          int yyxbegin = yyn < 0 ? -yyn : 0;
25458
          /* Stay within bounds of both yycheck and yytname.  */
25459
          int yychecklim = YYLAST - yyn + 1;
25460
          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
25461
          int yyx;
25462
25463
          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
25464
            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
25465
                && !yytable_value_is_error (yytable[yyx + yyn]))
25466
              {
25467
                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
25468
                  {
25469
                    yycount = 1;
25470
                    yysize = yysize0;
25471
                    break;
25472
                  }
25473
                yyarg[yycount++] = yytname[yyx];
25474
                {
25475
                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
25476
                  if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
25477
                    yysize = yysize1;
25478
                  else
25479
                    return 2;
25480
                }
25481
              }
25482
        }
25483
    }
25484
25485
  switch (yycount)
25486
    {
25487
# define YYCASE_(N, S)                      \
25488
      case N:                               \
25489
        yyformat = S;                       \
25490
      break
25491
    default: /* Avoid compiler warnings. */
25492
      YYCASE_(0, YY_("syntax error"));
25493
      YYCASE_(1, YY_("syntax error, unexpected %s"));
25494
      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
25495
      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
25496
      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
25497
      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
25498
# undef YYCASE_
25499
    }
25500
25501
  {
25502
    YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
25503
    if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
25504
      yysize = yysize1;
25505
    else
25506
      return 2;
25507
  }
25508
25509
  if (*yymsg_alloc < yysize)
25510
    {
25511
      *yymsg_alloc = 2 * yysize;
25512
      if (! (yysize <= *yymsg_alloc
25513
             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
25514
        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
25515
      return 1;
25516
    }
25517
25518
  /* Avoid sprintf, as that infringes on the user's name space.
25519
     Don't have undefined behavior even if the translation
25520
     produced a string with the wrong number of "%s"s.  */
25521
  {
25522
    char *yyp = *yymsg;
25523
    int yyi = 0;
25524
    while ((*yyp = *yyformat) != '\0')
25525
      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
25526
        {
25527
          yyp += yytnamerr (yyp, yyarg[yyi++]);
25528
          yyformat += 2;
25529
        }
25530
      else
25531
        {
25532
          yyp++;
25533
          yyformat++;
25534
        }
25535
  }
25536
  return 0;
25537
}
25538
#endif /* YYERROR_VERBOSE */
25539
25540
/*-----------------------------------------------.
25541
| Release the memory associated to this symbol.  |
25542
`-----------------------------------------------*/
25543
25544
static void
25545
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
25546
404k
{
25547
404k
  YYUSE (yyvaluep);
25548
404k
  YYUSE (yylocationp);
25549
404k
  YYUSE (yyscanner);
25550
404k
  if (!yymsg)
25551
0
    yymsg = "Deleting";
25552
404k
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
25553
25554
404k
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
25555
404k
  YYUSE (yytype);
25556
404k
  YY_IGNORE_MAYBE_UNINITIALIZED_END
25557
404k
}
25558
25559
25560
25561
25562
/*----------.
25563
| yyparse.  |
25564
`----------*/
25565
25566
int
25567
yyparse (core_yyscan_t yyscanner)
25568
202k
{
25569
/* The lookahead symbol.  */
25570
202k
int yychar;
25571
25572
25573
/* The semantic value of the lookahead symbol.  */
25574
/* Default value used for initialization, for pacifying older GCCs
25575
   or non-GCC compilers.  */
25576
202k
YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
25577
202k
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
25578
25579
/* Location data for the lookahead symbol.  */
25580
202k
static YYLTYPE yyloc_default
25581
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
25582
  = { 1, 1, 1, 1 }
25583
# endif
25584
202k
;
25585
202k
YYLTYPE yylloc = yyloc_default;
25586
25587
    /* Number of syntax errors so far.  */
25588
202k
    int yynerrs;
25589
25590
202k
    int yystate;
25591
    /* Number of tokens to shift before error messages enabled.  */
25592
202k
    int yyerrstatus;
25593
25594
    /* The stacks and their tools:
25595
       'yyss': related to states.
25596
       'yyvs': related to semantic values.
25597
       'yyls': related to locations.
25598
25599
       Refer to the stacks through separate pointers, to allow yyoverflow
25600
       to reallocate them elsewhere.  */
25601
25602
    /* The state stack.  */
25603
202k
    yytype_int16 yyssa[YYINITDEPTH];
25604
202k
    yytype_int16 *yyss;
25605
202k
    yytype_int16 *yyssp;
25606
25607
    /* The semantic value stack.  */
25608
202k
    YYSTYPE yyvsa[YYINITDEPTH];
25609
202k
    YYSTYPE *yyvs;
25610
202k
    YYSTYPE *yyvsp;
25611
25612
    /* The location stack.  */
25613
202k
    YYLTYPE yylsa[YYINITDEPTH];
25614
202k
    YYLTYPE *yyls;
25615
202k
    YYLTYPE *yylsp;
25616
25617
    /* The locations where the error started and ended.  */
25618
202k
    YYLTYPE yyerror_range[3];
25619
25620
202k
    YYSIZE_T yystacksize;
25621
25622
202k
  int yyn;
25623
202k
  int yyresult;
25624
  /* Lookahead token as an internal (translated) token number.  */
25625
202k
  int yytoken = 0;
25626
  /* The variables used to return semantic value and location from the
25627
     action routines.  */
25628
202k
  YYSTYPE yyval;
25629
202k
  YYLTYPE yyloc;
25630
25631
#if YYERROR_VERBOSE
25632
  /* Buffer for error messages, and its allocated size.  */
25633
  char yymsgbuf[128];
25634
  char *yymsg = yymsgbuf;
25635
  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
25636
#endif
25637
25638
14.5M
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
25639
25640
  /* The number of symbols on the RHS of the reduced rule.
25641
     Keep to zero when no symbol should be popped.  */
25642
202k
  int yylen = 0;
25643
25644
202k
  yyssp = yyss = yyssa;
25645
202k
  yyvsp = yyvs = yyvsa;
25646
202k
  yylsp = yyls = yylsa;
25647
202k
  yystacksize = YYINITDEPTH;
25648
25649
202k
  YYDPRINTF ((stderr, "Starting parse\n"));
25650
25651
202k
  yystate = 0;
25652
202k
  yyerrstatus = 0;
25653
202k
  yynerrs = 0;
25654
202k
  yychar = YYEMPTY; /* Cause a token to be read.  */
25655
202k
  yylsp[0] = yylloc;
25656
202k
  goto yysetstate;
25657
25658
25659
/*------------------------------------------------------------.
25660
| yynewstate -- push a new state, which is found in yystate.  |
25661
`------------------------------------------------------------*/
25662
19.4M
yynewstate:
25663
  /* In all cases, when you get here, the value and location stacks
25664
     have just been pushed.  So pushing a state here evens the stacks.  */
25665
19.4M
  yyssp++;
25666
25667
25668
/*--------------------------------------------------------------------.
25669
| yynewstate -- set current state (the top of the stack) to yystate.  |
25670
`--------------------------------------------------------------------*/
25671
19.6M
yysetstate:
25672
19.6M
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
25673
19.6M
  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
25674
19.6M
  *yyssp = (yytype_int16) yystate;
25675
25676
19.6M
  if (yyss + yystacksize - 1 <= yyssp)
25677
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
25678
    goto yyexhaustedlab;
25679
#else
25680
0
    {
25681
      /* Get the current used size of the three stacks, in elements.  */
25682
0
      YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
25683
25684
# if defined yyoverflow
25685
      {
25686
        /* Give user a chance to reallocate the stack.  Use copies of
25687
           these so that the &'s don't force the real ones into
25688
           memory.  */
25689
        YYSTYPE *yyvs1 = yyvs;
25690
        yytype_int16 *yyss1 = yyss;
25691
        YYLTYPE *yyls1 = yyls;
25692
25693
        /* Each stack pointer address is followed by the size of the
25694
           data in use in that stack, in bytes.  This used to be a
25695
           conditional around just the two extra args, but that might
25696
           be undefined if yyoverflow is a macro.  */
25697
        yyoverflow (YY_("memory exhausted"),
25698
                    &yyss1, yysize * sizeof (*yyssp),
25699
                    &yyvs1, yysize * sizeof (*yyvsp),
25700
                    &yyls1, yysize * sizeof (*yylsp),
25701
                    &yystacksize);
25702
        yyss = yyss1;
25703
        yyvs = yyvs1;
25704
        yyls = yyls1;
25705
      }
25706
# else /* defined YYSTACK_RELOCATE */
25707
      /* Extend the stack our own way.  */
25708
0
      if (YYMAXDEPTH <= yystacksize)
25709
0
        goto yyexhaustedlab;
25710
0
      yystacksize *= 2;
25711
0
      if (YYMAXDEPTH < yystacksize)
25712
0
        yystacksize = YYMAXDEPTH;
25713
25714
0
      {
25715
0
        yytype_int16 *yyss1 = yyss;
25716
0
        union yyalloc *yyptr =
25717
0
          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
25718
0
        if (! yyptr)
25719
0
          goto yyexhaustedlab;
25720
0
        YYSTACK_RELOCATE (yyss_alloc, yyss);
25721
0
        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
25722
0
        YYSTACK_RELOCATE (yyls_alloc, yyls);
25723
0
# undef YYSTACK_RELOCATE
25724
0
        if (yyss1 != yyssa)
25725
0
          YYSTACK_FREE (yyss1);
25726
0
      }
25727
0
# endif
25728
25729
0
      yyssp = yyss + yysize - 1;
25730
0
      yyvsp = yyvs + yysize - 1;
25731
0
      yylsp = yyls + yysize - 1;
25732
25733
0
      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
25734
0
                  (unsigned long) yystacksize));
25735
25736
0
      if (yyss + yystacksize - 1 <= yyssp)
25737
0
        YYABORT;
25738
0
    }
25739
19.6M
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
25740
25741
19.6M
  if (yystate == YYFINAL)
25742
202k
    YYACCEPT;
25743
25744
19.4M
  goto yybackup;
25745
25746
25747
/*-----------.
25748
| yybackup.  |
25749
`-----------*/
25750
19.4M
yybackup:
25751
  /* Do appropriate processing given the current state.  Read a
25752
     lookahead token if we need one and don't already have one.  */
25753
25754
  /* First try to decide what to do without reference to lookahead token.  */
25755
19.4M
  yyn = yypact[yystate];
25756
19.4M
  if (yypact_value_is_default (yyn))
25757
9.32M
    goto yydefault;
25758
25759
  /* Not known => get a lookahead token if don't already have one.  */
25760
25761
  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
25762
10.1M
  if (yychar == YYEMPTY)
25763
5.56M
    {
25764
5.56M
      YYDPRINTF ((stderr, "Reading a token: "));
25765
5.56M
      yychar = yylex (&yylval, &yylloc, yyscanner);
25766
5.56M
    }
25767
25768
10.1M
  if (yychar <= YYEOF)
25769
1.08M
    {
25770
1.08M
      yychar = yytoken = YYEOF;
25771
1.08M
      YYDPRINTF ((stderr, "Now at end of input.\n"));
25772
1.08M
    }
25773
9.07M
  else
25774
9.07M
    {
25775
9.07M
      yytoken = YYTRANSLATE (yychar);
25776
9.07M
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
25777
9.07M
    }
25778
25779
  /* If the proper action on seeing token YYTOKEN is to reduce or to
25780
     detect an error, take that action.  */
25781
10.1M
  yyn += yytoken;
25782
10.1M
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
25783
4.52M
    goto yydefault;
25784
5.63M
  yyn = yytable[yyn];
25785
5.63M
  if (yyn <= 0)
25786
76.4k
    {
25787
76.4k
      if (yytable_value_is_error (yyn))
25788
0
        goto yyerrlab;
25789
76.4k
      yyn = -yyn;
25790
76.4k
      goto yyreduce;
25791
76.4k
    }
25792
25793
  /* Count tokens shifted since error; after three, turn off error
25794
     status.  */
25795
5.55M
  if (yyerrstatus)
25796
0
    yyerrstatus--;
25797
25798
  /* Shift the lookahead token.  */
25799
5.55M
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
25800
25801
  /* Discard the shifted token.  */
25802
5.55M
  yychar = YYEMPTY;
25803
25804
5.55M
  yystate = yyn;
25805
5.55M
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
25806
5.55M
  *++yyvsp = yylval;
25807
5.55M
  YY_IGNORE_MAYBE_UNINITIALIZED_END
25808
5.55M
  *++yylsp = yylloc;
25809
5.55M
  goto yynewstate;
25810
25811
25812
/*-----------------------------------------------------------.
25813
| yydefault -- do the default action for the current state.  |
25814
`-----------------------------------------------------------*/
25815
13.8M
yydefault:
25816
13.8M
  yyn = yydefact[yystate];
25817
13.8M
  if (yyn == 0)
25818
60
    goto yyerrlab;
25819
13.8M
  goto yyreduce;
25820
25821
25822
/*-----------------------------.
25823
| yyreduce -- do a reduction.  |
25824
`-----------------------------*/
25825
13.9M
yyreduce:
25826
  /* yyn is the number of a rule to reduce with.  */
25827
13.9M
  yylen = yyr2[yyn];
25828
25829
  /* If YYLEN is nonzero, implement the default value of the action:
25830
     '$$ = $1'.
25831
25832
     Otherwise, the following line sets YYVAL to garbage.
25833
     This behavior is undocumented and Bison
25834
     users should not rely upon it.  Assigning to YYVAL
25835
     unconditionally makes the parser a bit smaller, and it avoids a
25836
     GCC warning that YYVAL may be used uninitialized.  */
25837
13.9M
  yyval = yyvsp[1-yylen];
25838
25839
  /* Default location. */
25840
13.9M
  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
25841
13.9M
  yyerror_range[1] = yyloc;
25842
13.9M
  YY_REDUCE_PRINT (yyn);
25843
13.9M
  switch (yyn)
25844
13.9M
    {
25845
202k
  case 2:
25846
202k
#line 842 "gram.y"
25847
202k
    {
25848
202k
        pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
25849
202k
      }
25850
202k
#line 25851 "gram.c"
25851
202k
    break;
25852
25853
43.1k
  case 3:
25854
43.1k
#line 858 "gram.y"
25855
43.1k
    {
25856
43.1k
          if ((yyvsp[-2].list) != NIL)
25857
43.0k
          {
25858
            /* update length of previous stmt */
25859
43.0k
            updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
25860
43.0k
          }
25861
43.1k
          if ((yyvsp[0].node) != NULL)
25862
1.56k
            (yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[-1]) + 1));
25863
41.5k
          else
25864
41.5k
            (yyval.list) = (yyvsp[-2].list);
25865
43.1k
        }
25866
43.1k
#line 25867 "gram.c"
25867
43.1k
    break;
25868
25869
202k
  case 4:
25870
202k
#line 870 "gram.y"
25871
202k
    {
25872
202k
          if ((yyvsp[0].node) != NULL)
25873
202k
            (yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
25874
202k
          else
25875
12
            (yyval.list) = NIL;
25876
202k
        }
25877
202k
#line 25878 "gram.c"
25878
202k
    break;
25879
25880
41.5k
  case 5:
25881
41.5k
#line 884 "gram.y"
25882
41.5k
    { (yyval.node) = NULL; }
25883
41.5k
#line 25884 "gram.c"
25884
41.5k
    break;
25885
25886
42
  case 86:
25887
42
#line 968 "gram.y"
25888
42
    { parser_ybc_beta_feature((yylsp[0]), "extension", true); }
25889
42
#line 25890 "gram.c"
25890
42
    break;
25891
25892
2
  case 87:
25893
2
#line 969 "gram.y"
25894
2
    { parser_ybc_beta_feature((yylsp[0]), "extension", true); }
25895
2
#line 25896 "gram.c"
25896
2
    break;
25897
25898
8
  case 88:
25899
8
#line 970 "gram.y"
25900
8
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25901
8
#line 25902 "gram.c"
25902
8
    break;
25903
25904
40
  case 89:
25905
40
#line 971 "gram.y"
25906
40
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25907
40
#line 25908 "gram.c"
25908
40
    break;
25909
25910
36
  case 90:
25911
36
#line 972 "gram.y"
25912
36
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25913
36
#line 25914 "gram.c"
25914
36
    break;
25915
25916
25
  case 91:
25917
25
#line 973 "gram.y"
25918
25
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25919
25
#line 25920 "gram.c"
25920
25
    break;
25921
25922
175
  case 92:
25923
175
#line 974 "gram.y"
25924
175
    { parser_ybc_beta_feature((yylsp[0]), "analyze", false); }
25925
175
#line 25926 "gram.c"
25926
175
    break;
25927
25928
1
  case 93:
25929
1
#line 975 "gram.y"
25930
1
    { parser_ybc_beta_feature((yylsp[0]), "checkpoint", false); }
25931
1
#line 25932 "gram.c"
25932
1
    break;
25933
25934
13
  case 94:
25935
13
#line 976 "gram.y"
25936
13
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25937
13
#line 25938 "gram.c"
25938
13
    break;
25939
25940
36
  case 95:
25941
36
#line 977 "gram.y"
25942
36
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25943
36
#line 25944 "gram.c"
25944
36
    break;
25945
25946
163
  case 96:
25947
163
#line 978 "gram.y"
25948
163
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25949
163
#line 25950 "gram.c"
25950
163
    break;
25951
25952
1
  case 97:
25953
1
#line 979 "gram.y"
25954
1
    { parser_ybc_beta_feature((yylsp[0]), "tablegroup", true); }
25955
1
#line 25956 "gram.c"
25956
1
    break;
25957
25958
58
  case 98:
25959
58
#line 980 "gram.y"
25960
58
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25961
58
#line 25962 "gram.c"
25962
58
    break;
25963
25964
39
  case 99:
25965
39
#line 981 "gram.y"
25966
39
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25967
39
#line 25968 "gram.c"
25968
39
    break;
25969
25970
24
  case 100:
25971
24
#line 982 "gram.y"
25972
24
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25973
24
#line 25974 "gram.c"
25974
24
    break;
25975
25976
5
  case 101:
25977
5
#line 983 "gram.y"
25978
5
    { parser_ybc_beta_feature((yylsp[0]), "vacuum", false); }
25979
5
#line 25980 "gram.c"
25980
5
    break;
25981
25982
57
  case 102:
25983
57
#line 986 "gram.y"
25984
57
    { parser_ybc_not_support_in_templates((yylsp[0]), "This statement"); }
25985
57
#line 25986 "gram.c"
25986
57
    break;
25987
25988
22
  case 103:
25989
22
#line 987 "gram.y"
25990
22
    { parser_ybc_not_support_in_templates((yylsp[0]), "This statement"); }
25991
22
#line 25992 "gram.c"
25992
22
    break;
25993
25994
1.81k
  case 104:
25995
1.81k
#line 988 "gram.y"
25996
1.81k
    { parser_ybc_not_support_in_templates((yylsp[0]), "This statement"); }
25997
1.81k
#line 25998 "gram.c"
25998
1.81k
    break;
25999
26000
0
  case 105:
26001
0
#line 991 "gram.y"
26002
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26003
0
#line 26004 "gram.c"
26004
0
    break;
26005
26006
0
  case 106:
26007
0
#line 992 "gram.y"
26008
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26009
0
#line 26010 "gram.c"
26010
0
    break;
26011
26012
0
  case 107:
26013
0
#line 993 "gram.y"
26014
0
    { parser_ybc_signal_unsupported((yylsp[0]), "This statement", 1153); }
26015
0
#line 26016 "gram.c"
26016
0
    break;
26017
26018
0
  case 108:
26019
0
#line 994 "gram.y"
26020
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26021
0
#line 26022 "gram.c"
26022
0
    break;
26023
26024
0
  case 109:
26025
0
#line 995 "gram.y"
26026
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26027
0
#line 26028 "gram.c"
26028
0
    break;
26029
26030
0
  case 110:
26031
0
#line 996 "gram.y"
26032
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26033
0
#line 26034 "gram.c"
26034
0
    break;
26035
26036
0
  case 111:
26037
0
#line 997 "gram.y"
26038
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26039
0
#line 26040 "gram.c"
26040
0
    break;
26041
26042
0
  case 112:
26043
0
#line 998 "gram.y"
26044
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26045
0
#line 26046 "gram.c"
26046
0
    break;
26047
26048
0
  case 113:
26049
0
#line 999 "gram.y"
26050
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26051
0
#line 26052 "gram.c"
26052
0
    break;
26053
26054
0
  case 114:
26055
0
#line 1000 "gram.y"
26056
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26057
0
#line 26058 "gram.c"
26058
0
    break;
26059
26060
0
  case 115:
26061
0
#line 1001 "gram.y"
26062
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26063
0
#line 26064 "gram.c"
26064
0
    break;
26065
26066
0
  case 116:
26067
0
#line 1002 "gram.y"
26068
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26069
0
#line 26070 "gram.c"
26070
0
    break;
26071
26072
0
  case 117:
26073
0
#line 1003 "gram.y"
26074
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26075
0
#line 26076 "gram.c"
26076
0
    break;
26077
26078
0
  case 118:
26079
0
#line 1004 "gram.y"
26080
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26081
0
#line 26082 "gram.c"
26082
0
    break;
26083
26084
0
  case 119:
26085
0
#line 1005 "gram.y"
26086
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26087
0
#line 26088 "gram.c"
26088
0
    break;
26089
26090
0
  case 120:
26091
0
#line 1006 "gram.y"
26092
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26093
0
#line 26094 "gram.c"
26094
0
    break;
26095
26096
0
  case 121:
26097
0
#line 1007 "gram.y"
26098
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26099
0
#line 26100 "gram.c"
26100
0
    break;
26101
26102
0
  case 122:
26103
0
#line 1008 "gram.y"
26104
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26105
0
#line 26106 "gram.c"
26106
0
    break;
26107
26108
0
  case 123:
26109
0
#line 1009 "gram.y"
26110
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26111
0
#line 26112 "gram.c"
26112
0
    break;
26113
26114
0
  case 124:
26115
0
#line 1010 "gram.y"
26116
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26117
0
#line 26118 "gram.c"
26118
0
    break;
26119
26120
0
  case 125:
26121
0
#line 1011 "gram.y"
26122
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26123
0
#line 26124 "gram.c"
26124
0
    break;
26125
26126
0
  case 126:
26127
0
#line 1012 "gram.y"
26128
0
    { parser_ybc_warn_ignored((yylsp[0]), "LISTEN", 1872); }
26129
0
#line 26130 "gram.c"
26130
0
    break;
26131
26132
0
  case 127:
26133
0
#line 1013 "gram.y"
26134
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26135
0
#line 26136 "gram.c"
26136
0
    break;
26137
26138
0
  case 128:
26139
0
#line 1014 "gram.y"
26140
0
    { parser_ybc_warn_ignored((yylsp[0]), "NOTIFY", 1872); }
26141
0
#line 26142 "gram.c"
26142
0
    break;
26143
26144
0
  case 129:
26145
0
#line 1015 "gram.y"
26146
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26147
0
#line 26148 "gram.c"
26148
0
    break;
26149
26150
0
  case 130:
26151
0
#line 1016 "gram.y"
26152
0
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26153
0
#line 26154 "gram.c"
26154
0
    break;
26155
26156
0
  case 131:
26157
0
#line 1017 "gram.y"
26158
0
    { parser_ybc_warn_ignored((yylsp[0]), "UNLISTEN", 1872); }
26159
0
#line 26160 "gram.c"
26160
0
    break;
26161
26162
23
  case 132:
26163
23
#line 1027 "gram.y"
26164
23
    {
26165
23
          CallStmt *n = makeNode(CallStmt);
26166
23
          n->funccall = castNode(FuncCall, (yyvsp[0].node));
26167
23
          (yyval.node) = (Node *)n;
26168
23
        }
26169
23
#line 26170 "gram.c"
26170
23
    break;
26171
26172
520
  case 133:
26173
520
#line 1042 "gram.y"
26174
520
    {
26175
520
          CreateRoleStmt *n = makeNode(CreateRoleStmt);
26176
520
          n->stmt_type = ROLESTMT_ROLE;
26177
520
          n->role = (yyvsp[-2].str);
26178
520
          n->options = (yyvsp[0].list);
26179
520
          (yyval.node) = (Node *)n;
26180
520
        }
26181
520
#line 26182 "gram.c"
26182
520
    break;
26183
26184
187
  case 134:
26185
187
#line 1052 "gram.y"
26186
187
    {}
26187
187
#line 26188 "gram.c"
26188
187
    break;
26189
26190
0
  case 135:
26191
0
#line 1053 "gram.y"
26192
0
    {}
26193
0
#line 26194 "gram.c"
26194
0
    break;
26195
26196
844
  case 136:
26197
844
#line 1054 "gram.y"
26198
844
    {}
26199
844
#line 26200 "gram.c"
26200
844
    break;
26201
26202
1.54k
  case 137:
26203
1.54k
#line 1064 "gram.y"
26204
1.54k
    {
26205
1.54k
          (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt));
26206
1.54k
        }
26207
1.54k
#line 26208 "gram.c"
26208
1.54k
    break;
26209
26210
563
  case 138:
26211
563
#line 1067 "gram.y"
26212
563
    { (yyval.list) = NIL; }
26213
563
#line 26214 "gram.c"
26214
563
    break;
26215
26216
129
  case 139:
26217
129
#line 1071 "gram.y"
26218
129
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
26219
129
#line 26220 "gram.c"
26220
129
    break;
26221
26222
129
  case 140:
26223
129
#line 1072 "gram.y"
26224
129
    { (yyval.list) = NIL; }
26225
129
#line 26226 "gram.c"
26226
129
    break;
26227
26228
33
  case 141:
26229
33
#line 1077 "gram.y"
26230
33
    {
26231
33
          (yyval.defelt) = makeDefElem("password",
26232
33
                   (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
26233
33
        }
26234
33
#line 26235 "gram.c"
26235
33
    break;
26236
26237
2
  case 142:
26238
2
#line 1082 "gram.y"
26239
2
    {
26240
2
          (yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
26241
2
        }
26242
2
#line 26243 "gram.c"
26243
2
    break;
26244
26245
1
  case 143:
26246
1
#line 1086 "gram.y"
26247
1
    {
26248
          /*
26249
           * These days, passwords are always stored in encrypted
26250
           * form, so there is no difference between PASSWORD and
26251
           * ENCRYPTED PASSWORD.
26252
           */
26253
1
          (yyval.defelt) = makeDefElem("password",
26254
1
                   (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26255
1
        }
26256
1
#line 26257 "gram.c"
26257
1
    break;
26258
26259
1
  case 144:
26260
1
#line 1096 "gram.y"
26261
1
    {
26262
1
          ereport(ERROR,
26263
1
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26264
1
               errmsg("UNENCRYPTED PASSWORD is no longer supported"),
26265
1
               errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
26266
1
               parser_errposition((yylsp[-2]))));
26267
1
        }
26268
1
#line 26269 "gram.c"
26269
1
    break;
26270
26271
11
  case 145:
26272
11
#line 1104 "gram.y"
26273
11
    {
26274
11
          (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[0]));
26275
11
        }
26276
11
#line 26277 "gram.c"
26277
11
    break;
26278
26279
3
  case 146:
26280
3
#line 1108 "gram.y"
26281
3
    {
26282
3
          (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
26283
3
        }
26284
3
#line 26285 "gram.c"
26285
3
    break;
26286
26287
1
  case 147:
26288
1
#line 1112 "gram.y"
26289
1
    {
26290
1
          (yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26291
1
        }
26292
1
#line 26293 "gram.c"
26293
1
    break;
26294
26295
3
  case 148:
26296
3
#line 1117 "gram.y"
26297
3
    {
26298
3
          (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26299
3
        }
26300
3
#line 26301 "gram.c"
26301
3
    break;
26302
26303
1.58k
  case 149:
26304
1.58k
#line 1121 "gram.y"
26305
1.58k
    {
26306
          /*
26307
           * We handle identifiers that aren't parser keywords with
26308
           * the following special-case codes, to avoid bloating the
26309
           * size of the main parser.
26310
           */
26311
1.58k
          if (strcmp((yyvsp[0].str), "superuser") == 0)
26312
312
            (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(true), (yylsp[0]));
26313
1.27k
          else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
26314
4
            (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(false), (yylsp[0]));
26315
1.26k
          else if (strcmp((yyvsp[0].str), "createrole") == 0)
26316
274
            (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(true), (yylsp[0]));
26317
995
          else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
26318
3
            (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(false), (yylsp[0]));
26319
992
          else if (strcmp((yyvsp[0].str), "replication") == 0)
26320
29
            (yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(true), (yylsp[0]));
26321
963
          else if (strcmp((yyvsp[0].str), "noreplication") == 0)
26322
42
            (yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(false), (yylsp[0]));
26323
921
          else if (strcmp((yyvsp[0].str), "createdb") == 0)
26324
274
            (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(true), (yylsp[0]));
26325
647
          else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
26326
3
            (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(false), (yylsp[0]));
26327
644
          else if (strcmp((yyvsp[0].str), "login") == 0)
26328
336
            (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(true), (yylsp[0]));
26329
308
          else if (strcmp((yyvsp[0].str), "nologin") == 0)
26330
24
            (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(false), (yylsp[0]));
26331
284
          else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
26332
274
            (yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(true), (yylsp[0]));
26333
10
          else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
26334
2
            (yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(false), (yylsp[0]));
26335
8
          else if (strcmp((yyvsp[0].str), "noinherit") == 0)
26336
8
          {
26337
            /*
26338
             * Note that INHERIT is a keyword, so it's handled by main parser, but
26339
             * NOINHERIT is handled here.
26340
             */
26341
8
            (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(false), (yylsp[0]));
26342
8
          }
26343
8
          else
26344
0
            ereport(ERROR,
26345
1.58k
                (errcode(ERRCODE_SYNTAX_ERROR),
26346
1.58k
                 errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
26347
1.58k
                   parser_errposition((yylsp[0]))));
26348
1.58k
        }
26349
1.58k
#line 26350 "gram.c"
26350
1.58k
    break;
26351
26352
1.51k
  case 150:
26353
1.51k
#line 1168 "gram.y"
26354
1.51k
    { (yyval.defelt) = (yyvsp[0].defelt); }
26355
1.51k
#line 26356 "gram.c"
26356
1.51k
    break;
26357
26358
1
  case 151:
26359
1
#line 1171 "gram.y"
26360
1
    {
26361
1
          (yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
26362
1
        }
26363
1
#line 26364 "gram.c"
26364
1
    break;
26365
26366
2
  case 152:
26367
2
#line 1175 "gram.y"
26368
2
    {
26369
2
          (yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26370
2
        }
26371
2
#line 26372 "gram.c"
26372
2
    break;
26373
26374
25
  case 153:
26375
25
#line 1179 "gram.y"
26376
25
    {
26377
25
          (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26378
25
        }
26379
25
#line 26380 "gram.c"
26380
25
    break;
26381
26382
3
  case 154:
26383
3
#line 1183 "gram.y"
26384
3
    {
26385
3
          (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
26386
3
        }
26387
3
#line 26388 "gram.c"
26388
3
    break;
26389
26390
1
  case 155:
26391
1
#line 1187 "gram.y"
26392
1
    {
26393
1
          (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
26394
1
        }
26395
1
#line 26396 "gram.c"
26396
1
    break;
26397
26398
37
  case 156:
26399
37
#line 1201 "gram.y"
26400
37
    {
26401
37
          CreateRoleStmt *n = makeNode(CreateRoleStmt);
26402
37
          n->stmt_type = ROLESTMT_USER;
26403
37
          n->role = (yyvsp[-2].str);
26404
37
          n->options = (yyvsp[0].list);
26405
37
          (yyval.node) = (Node *)n;
26406
37
        }
26407
37
#line 26408 "gram.c"
26408
37
    break;
26409
26410
89
  case 157:
26411
89
#line 1219 "gram.y"
26412
89
    {
26413
89
          AlterRoleStmt *n = makeNode(AlterRoleStmt);
26414
89
          n->role = (yyvsp[-2].rolespec);
26415
89
          n->action = +1; /* add, if there are members */
26416
89
          n->options = (yyvsp[0].list);
26417
89
          (yyval.node) = (Node *)n;
26418
89
         }
26419
89
#line 26420 "gram.c"
26420
89
    break;
26421
26422
40
  case 158:
26423
40
#line 1227 "gram.y"
26424
40
    {
26425
40
          AlterRoleStmt *n = makeNode(AlterRoleStmt);
26426
40
          n->role = (yyvsp[-2].rolespec);
26427
40
          n->action = +1; /* add, if there are members */
26428
40
          n->options = (yyvsp[0].list);
26429
40
          (yyval.node) = (Node *)n;
26430
40
         }
26431
40
#line 26432 "gram.c"
26432
40
    break;
26433
26434
66
  case 159:
26435
66
#line 1237 "gram.y"
26436
66
    { (yyval.str) = NULL; }
26437
66
#line 26438 "gram.c"
26438
66
    break;
26439
26440
1
  case 160:
26441
1
#line 1238 "gram.y"
26442
1
    { (yyval.str) = (yyvsp[0].str); }
26443
1
#line 26444 "gram.c"
26444
1
    break;
26445
26446
28
  case 161:
26447
28
#line 1243 "gram.y"
26448
28
    {
26449
28
          AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26450
28
          n->role = (yyvsp[-2].rolespec);
26451
28
          n->database = (yyvsp[-1].str);
26452
28
          n->setstmt = (yyvsp[0].vsetstmt);
26453
28
          (yyval.node) = (Node *)n;
26454
28
        }
26455
28
#line 26456 "gram.c"
26456
28
    break;
26457
26458
5
  case 162:
26459
5
#line 1251 "gram.y"
26460
5
    {
26461
5
          AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26462
5
          n->role = NULL;
26463
5
          n->database = (yyvsp[-1].str);
26464
5
          n->setstmt = (yyvsp[0].vsetstmt);
26465
5
          (yyval.node) = (Node *)n;
26466
5
        }
26467
5
#line 26468 "gram.c"
26468
5
    break;
26469
26470
26
  case 163:
26471
26
#line 1259 "gram.y"
26472
26
    {
26473
26
          AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26474
26
          n->role = (yyvsp[-2].rolespec);
26475
26
          n->database = (yyvsp[-1].str);
26476
26
          n->setstmt = (yyvsp[0].vsetstmt);
26477
26
          (yyval.node) = (Node *)n;
26478
26
        }
26479
26
#line 26480 "gram.c"
26480
26
    break;
26481
26482
4
  case 164:
26483
4
#line 1267 "gram.y"
26484
4
    {
26485
4
          AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26486
4
          n->role = NULL;
26487
4
          n->database = (yyvsp[-1].str);
26488
4
          n->setstmt = (yyvsp[0].vsetstmt);
26489
4
          (yyval.node) = (Node *)n;
26490
4
        }
26491
4
#line 26492 "gram.c"
26492
4
    break;
26493
26494
208
  case 165:
26495
208
#line 1288 "gram.y"
26496
208
    {
26497
208
          DropRoleStmt *n = makeNode(DropRoleStmt);
26498
208
          n->missing_ok = false;
26499
208
          n->roles = (yyvsp[0].list);
26500
208
          (yyval.node) = (Node *)n;
26501
208
        }
26502
208
#line 26503 "gram.c"
26503
208
    break;
26504
26505
27
  case 166:
26506
27
#line 1295 "gram.y"
26507
27
    {
26508
27
          DropRoleStmt *n = makeNode(DropRoleStmt);
26509
27
          n->missing_ok = true;
26510
27
          n->roles = (yyvsp[0].list);
26511
27
          (yyval.node) = (Node *)n;
26512
27
        }
26513
27
#line 26514 "gram.c"
26514
27
    break;
26515
26516
39
  case 167:
26517
39
#line 1302 "gram.y"
26518
39
    {
26519
39
          DropRoleStmt *n = makeNode(DropRoleStmt);
26520
39
          n->missing_ok = false;
26521
39
          n->roles = (yyvsp[0].list);
26522
39
          (yyval.node) = (Node *)n;
26523
39
        }
26524
39
#line 26525 "gram.c"
26525
39
    break;
26526
26527
10
  case 168:
26528
10
#line 1309 "gram.y"
26529
10
    {
26530
10
          DropRoleStmt *n = makeNode(DropRoleStmt);
26531
10
          n->roles = (yyvsp[0].list);
26532
10
          n->missing_ok = true;
26533
10
          (yyval.node) = (Node *)n;
26534
10
        }
26535
10
#line 26536 "gram.c"
26536
10
    break;
26537
26538
4
  case 169:
26539
4
#line 1316 "gram.y"
26540
4
    {
26541
4
          DropRoleStmt *n = makeNode(DropRoleStmt);
26542
4
          n->missing_ok = false;
26543
4
          n->roles = (yyvsp[0].list);
26544
4
          (yyval.node) = (Node *)n;
26545
4
        }
26546
4
#line 26547 "gram.c"
26547
4
    break;
26548
26549
0
  case 170:
26550
0
#line 1323 "gram.y"
26551
0
    {
26552
0
          DropRoleStmt *n = makeNode(DropRoleStmt);
26553
0
          n->missing_ok = true;
26554
0
          n->roles = (yyvsp[0].list);
26555
0
          (yyval.node) = (Node *)n;
26556
0
        }
26557
0
#line 26558 "gram.c"
26558
0
    break;
26559
26560
5
  case 171:
26561
5
#line 1340 "gram.y"
26562
5
    {
26563
5
          CreateRoleStmt *n = makeNode(CreateRoleStmt);
26564
5
          n->stmt_type = ROLESTMT_GROUP;
26565
5
          n->role = (yyvsp[-2].str);
26566
5
          n->options = (yyvsp[0].list);
26567
5
          (yyval.node) = (Node *)n;
26568
5
        }
26569
5
#line 26570 "gram.c"
26570
5
    break;
26571
26572
6
  case 172:
26573
6
#line 1358 "gram.y"
26574
6
    {
26575
6
          AlterRoleStmt *n = makeNode(AlterRoleStmt);
26576
6
          n->role = (yyvsp[-3].rolespec);
26577
6
          n->action = (yyvsp[-2].ival);
26578
6
          n->options = list_make1(makeDefElem("rolemembers",
26579
6
                            (Node *)(yyvsp[0].list), (yylsp[0])));
26580
6
          (yyval.node) = (Node *)n;
26581
6
        }
26582
6
#line 26583 "gram.c"
26583
6
    break;
26584
26585
24
  case 173:
26586
24
#line 1368 "gram.y"
26587
24
    { (yyval.ival) = +1; }
26588
24
#line 26589 "gram.c"
26589
24
    break;
26590
26591
24
  case 174:
26592
24
#line 1369 "gram.y"
26593
24
    { (yyval.ival) = -1; }
26594
24
#line 26595 "gram.c"
26595
24
    break;
26596
26597
22
  case 175:
26598
22
#line 1381 "gram.y"
26599
22
    {
26600
22
          CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26601
          /* One can omit the schema name or the authorization id. */
26602
22
          n->schemaname = (yyvsp[-3].str);
26603
22
          n->authrole = (yyvsp[-1].rolespec);
26604
22
          if ((yyvsp[0].list) != NIL)
26605
0
            parser_ybc_not_support((yylsp[0]), "CREATE SCHEMA with elements");
26606
22
          n->schemaElts = (yyvsp[0].list);
26607
22
          n->if_not_exists = false;
26608
22
          (yyval.node) = (Node *)n;
26609
22
        }
26610
22
#line 26611 "gram.c"
26611
22
    break;
26612
26613
49
  case 176:
26614
49
#line 1393 "gram.y"
26615
49
    {
26616
49
          CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26617
          /* ...but not both */
26618
49
          n->schemaname = (yyvsp[-1].str);
26619
49
          n->authrole = NULL;
26620
49
          if ((yyvsp[0].list) != NIL)
26621
2
            parser_ybc_not_support((yylsp[0]), "CREATE SCHEMA with elements");
26622
49
          n->schemaElts = (yyvsp[0].list);
26623
49
          n->if_not_exists = false;
26624
49
          (yyval.node) = (Node *)n;
26625
49
        }
26626
49
#line 26627 "gram.c"
26627
49
    break;
26628
26629
19
  case 177:
26630
19
#line 1405 "gram.y"
26631
19
    {
26632
19
          CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26633
          /* schema name can be omitted here, too */
26634
19
          n->schemaname = (yyvsp[-3].str);
26635
19
          n->authrole = (yyvsp[-1].rolespec);
26636
19
          if ((yyvsp[0].list) != NIL)
26637
19
            ereport(ERROR,
26638
19
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26639
19
                 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
26640
19
                 parser_errposition((yylsp[0]))));
26641
19
          n->schemaElts = (yyvsp[0].list);
26642
19
          n->if_not_exists = true;
26643
19
          (yyval.node) = (Node *)n;
26644
19
        }
26645
19
#line 26646 "gram.c"
26646
19
    break;
26647
26648
0
  case 178:
26649
0
#line 1420 "gram.y"
26650
0
    {
26651
0
          CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26652
          /* ...but not here */
26653
0
          n->schemaname = (yyvsp[-1].str);
26654
0
          n->authrole = NULL;
26655
0
          if ((yyvsp[0].list) != NIL)
26656
0
            ereport(ERROR,
26657
0
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26658
0
                 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
26659
0
                 parser_errposition((yylsp[0]))));
26660
0
          n->schemaElts = (yyvsp[0].list);
26661
0
          n->if_not_exists = true;
26662
0
          (yyval.node) = (Node *)n;
26663
0
        }
26664
0
#line 26665 "gram.c"
26665
0
    break;
26666
26667
53
  case 179:
26668
53
#line 1437 "gram.y"
26669
53
    { (yyval.str) = (yyvsp[0].str); }
26670
53
#line 26671 "gram.c"
26671
53
    break;
26672
26673
0
  case 180:
26674
0
#line 1438 "gram.y"
26675
0
    { (yyval.str) = NULL; }
26676
0
#line 26677 "gram.c"
26677
0
    break;
26678
26679
10
  case 181:
26680
10
#line 1443 "gram.y"
26681
10
    {
26682
10
          if ((yyloc) < 0)      /* see comments for YYLLOC_DEFAULT */
26683
2
            (yyloc) = (yylsp[0]);
26684
10
          (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
26685
10
        }
26686
10
#line 26687 "gram.c"
26687
10
    break;
26688
26689
90
  case 182:
26690
90
#line 1449 "gram.y"
26691
90
    { (yyval.list) = NIL; }
26692
90
#line 26693 "gram.c"
26693
90
    break;
26694
26695
4.98k
  case 189:
26696
4.98k
#line 1477 "gram.y"
26697
4.98k
    {
26698
4.98k
          VariableSetStmt *n = (yyvsp[0].vsetstmt);
26699
4.98k
          n->is_local = false;
26700
4.98k
          (yyval.node) = (Node *) n;
26701
4.98k
        }
26702
4.98k
#line 26703 "gram.c"
26703
4.98k
    break;
26704
26705
8
  case 190:
26706
8
#line 1483 "gram.y"
26707
8
    {
26708
8
          VariableSetStmt *n = (yyvsp[0].vsetstmt);
26709
8
          n->is_local = true;
26710
8
          (yyval.node) = (Node *) n;
26711
8
        }
26712
8
#line 26713 "gram.c"
26713
8
    break;
26714
26715
20
  case 191:
26716
20
#line 1489 "gram.y"
26717
20
    {
26718
20
          VariableSetStmt *n = (yyvsp[0].vsetstmt);
26719
20
          n->is_local = false;
26720
20
          (yyval.node) = (Node *) n;
26721
20
        }
26722
20
#line 26723 "gram.c"
26723
20
    break;
26724
26725
2
  case 192:
26726
2
#line 1498 "gram.y"
26727
2
    {
26728
2
          VariableSetStmt *n = makeNode(VariableSetStmt);
26729
2
          n->kind = VAR_SET_MULTI;
26730
2
          n->name = "TRANSACTION";
26731
2
          n->args = (yyvsp[0].list);
26732
2
          (yyval.vsetstmt) = n;
26733
2
        }
26734
2
#line 26735 "gram.c"
26735
2
    break;
26736
26737
1.13k
  case 193:
26738
1.13k
#line 1506 "gram.y"
26739
1.13k
    {
26740
1.13k
          VariableSetStmt *n = makeNode(VariableSetStmt);
26741
1.13k
          n->kind = VAR_SET_MULTI;
26742
1.13k
          n->name = "SESSION CHARACTERISTICS";
26743
1.13k
          n->args = (yyvsp[0].list);
26744
1.13k
          (yyval.vsetstmt) = n;
26745
1.13k
        }
26746
1.13k
#line 26747 "gram.c"
26747
1.13k
    break;
26748
26749
201
  case 195:
26750
201
#line 1518 "gram.y"
26751
201
    {
26752
201
          VariableSetStmt *n = makeNode(VariableSetStmt);
26753
201
          n->kind = VAR_SET_VALUE;
26754
201
          n->name = (yyvsp[-2].str);
26755
201
          n->args = (yyvsp[0].list);
26756
201
          (yyval.vsetstmt) = n;
26757
201
        }
26758
201
#line 26759 "gram.c"
26759
201
    break;
26760
26761
2.85k
  case 196:
26762
2.85k
#line 1526 "gram.y"
26763
2.85k
    {
26764
2.85k
          VariableSetStmt *n = makeNode(VariableSetStmt);
26765
2.85k
          n->kind = VAR_SET_VALUE;
26766
2.85k
          n->name = (yyvsp[-2].str);
26767
2.85k
          n->args = (yyvsp[0].list);
26768
2.85k
          (yyval.vsetstmt) = n;
26769
2.85k
        }
26770
2.85k
#line 26771 "gram.c"
26771
2.85k
    break;
26772
26773
0
  case 197:
26774
0
#line 1534 "gram.y"
26775
0
    {
26776
0
          VariableSetStmt *n = makeNode(VariableSetStmt);
26777
0
          n->kind = VAR_SET_DEFAULT;
26778
0
          n->name = (yyvsp[-2].str);
26779
0
          (yyval.vsetstmt) = n;
26780
0
        }
26781
0
#line 26782 "gram.c"
26782
0
    break;
26783
26784
1
  case 198:
26785
1
#line 1541 "gram.y"
26786
1
    {
26787
1
          VariableSetStmt *n = makeNode(VariableSetStmt);
26788
1
          n->kind = VAR_SET_DEFAULT;
26789
1
          n->name = (yyvsp[-2].str);
26790
1
          (yyval.vsetstmt) = n;
26791
1
        }
26792
1
#line 26793 "gram.c"
26793
1
    break;
26794
26795
3.05k
  case 199:
26796
3.05k
#line 1549 "gram.y"
26797
3.05k
    {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
26798
3.05k
#line 26799 "gram.c"
26799
3.05k
    break;
26800
26801
0
  case 200:
26802
0
#line 1551 "gram.y"
26803
0
    {
26804
0
          VariableSetStmt *n = makeNode(VariableSetStmt);
26805
0
          n->kind = VAR_SET_CURRENT;
26806
0
          n->name = (yyvsp[-2].str);
26807
0
          (yyval.vsetstmt) = n;
26808
0
        }
26809
0
#line 26810 "gram.c"
26810
0
    break;
26811
26812
0
  case 201:
26813
0
#line 1559 "gram.y"
26814
0
    {
26815
0
          VariableSetStmt *n = makeNode(VariableSetStmt);
26816
0
          n->kind = VAR_SET_VALUE;
26817
0
          n->name = "timezone";
26818
0
          if ((yyvsp[0].node) != NULL)
26819
0
            n->args = list_make1((yyvsp[0].node));
26820
0
          else
26821
0
            n->kind = VAR_SET_DEFAULT;
26822
0
          (yyval.vsetstmt) = n;
26823
0
        }
26824
0
#line 26825 "gram.c"
26825
0
    break;
26826
26827
0
  case 202:
26828
0
#line 1570 "gram.y"
26829
0
    {
26830
0
          ereport(ERROR,
26831
0
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26832
0
               errmsg("current database cannot be changed"),
26833
0
               parser_errposition((yylsp[0]))));
26834
0
          (yyval.vsetstmt) = NULL; /*not reached*/
26835
0
        }
26836
0
#line 26837 "gram.c"
26837
0
    break;
26838
26839
0
  case 203:
26840
0
#line 1578 "gram.y"
26841
0
    {
26842
0
          VariableSetStmt *n = makeNode(VariableSetStmt);
26843
0
          n->kind = VAR_SET_VALUE;
26844
0
          n->name = "search_path";
26845
0
          n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26846
0
          (yyval.vsetstmt) = n;
26847
0
        }
26848
0
#line 26849 "gram.c"
26849
0
    break;
26850
26851
0
  case 204:
26852
0
#line 1586 "gram.y"
26853
0
    {
26854
0
          VariableSetStmt *n = makeNode(VariableSetStmt);
26855
0
          n->kind = VAR_SET_VALUE;
26856
0
          n->name = "client_encoding";
26857
0
          if ((yyvsp[0].str) != NULL)
26858
0
            n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26859
0
          else
26860
0
            n->kind = VAR_SET_DEFAULT;
26861
0
          (yyval.vsetstmt) = n;
26862
0
        }
26863
0
#line 26864 "gram.c"
26864
0
    break;
26865
26866
126
  case 205:
26867
126
#line 1597 "gram.y"
26868
126
    {
26869
126
          VariableSetStmt *n = makeNode(VariableSetStmt);
26870
126
          n->kind = VAR_SET_VALUE;
26871
126
          n->name = "role";
26872
126
          n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26873
126
          (yyval.vsetstmt) = n;
26874
126
        }
26875
126
#line 26876 "gram.c"
26876
126
    break;
26877
26878
731
  case 206:
26879
731
#line 1605 "gram.y"
26880
731
    {
26881
731
          VariableSetStmt *n = makeNode(VariableSetStmt);
26882
731
          n->kind = VAR_SET_VALUE;
26883
731
          n->name = "session_authorization";
26884
731
          n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26885
731
          (yyval.vsetstmt) = n;
26886
731
        }
26887
731
#line 26888 "gram.c"
26888
731
    break;
26889
26890
1
  case 207:
26891
1
#line 1613 "gram.y"
26892
1
    {
26893
1
          VariableSetStmt *n = makeNode(VariableSetStmt);
26894
1
          n->kind = VAR_SET_DEFAULT;
26895
1
          n->name = "session_authorization";
26896
1
          (yyval.vsetstmt) = n;
26897
1
        }
26898
1
#line 26899 "gram.c"
26899
1
    break;
26900
26901
0
  case 208:
26902
0
#line 1620 "gram.y"
26903
0
    {
26904
0
          VariableSetStmt *n = makeNode(VariableSetStmt);
26905
0
          n->kind = VAR_SET_VALUE;
26906
0
          n->name = "xmloption";
26907
0
          n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
26908
0
          (yyval.vsetstmt) = n;
26909
0
        }
26910
0
#line 26911 "gram.c"
26911
0
    break;
26912
26913
0
  case 209:
26914
0
#line 1629 "gram.y"
26915
0
    {
26916
0
          VariableSetStmt *n = makeNode(VariableSetStmt);
26917
0
          n->kind = VAR_SET_MULTI;
26918
0
          n->name = "TRANSACTION SNAPSHOT";
26919
0
          n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26920
0
          (yyval.vsetstmt) = n;
26921
0
        }
26922
0
#line 26923 "gram.c"
26923
0
    break;
26924
26925
3.19k
  case 210:
26926
3.19k
#line 1638 "gram.y"
26927
3.19k
    { (yyval.str) = (yyvsp[0].str); }
26928
3.19k
#line 26929 "gram.c"
26929
3.19k
    break;
26930
26931
0
  case 211:
26932
0
#line 1640 "gram.y"
26933
0
    { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
26934
0
#line 26935 "gram.c"
26935
0
    break;
26936
26937
3.05k
  case 212:
26938
3.05k
#line 1643 "gram.y"
26939
3.05k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
26940
3.05k
#line 26941 "gram.c"
26941
3.05k
    break;
26942
26943
0
  case 213:
26944
0
#line 1644 "gram.y"
26945
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
26946
0
#line 26947 "gram.c"
26947
0
    break;
26948
26949
1.72k
  case 214:
26950
1.72k
#line 1648 "gram.y"
26951
1.72k
    { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
26952
1.72k
#line 26953 "gram.c"
26953
1.72k
    break;
26954
26955
1.33k
  case 215:
26956
1.33k
#line 1650 "gram.y"
26957
1.33k
    { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
26958
1.33k
#line 26959 "gram.c"
26959
1.33k
    break;
26960
26961
0
  case 216:
26962
0
#line 1653 "gram.y"
26963
0
    { (yyval.str) = "read uncommitted"; }
26964
0
#line 26965 "gram.c"
26965
0
    break;
26966
26967
168
  case 217:
26968
168
#line 1654 "gram.y"
26969
168
    { (yyval.str) = "read committed"; }
26970
168
#line 26971 "gram.c"
26971
168
    break;
26972
26973
1.72k
  case 218:
26974
1.72k
#line 1655 "gram.y"
26975
1.72k
    { (yyval.str) = "repeatable read"; }
26976
1.72k
#line 26977 "gram.c"
26977
1.72k
    break;
26978
26979
38
  case 219:
26980
38
#line 1656 "gram.y"
26981
38
    { (yyval.str) = "serializable"; }
26982
38
#line 26983 "gram.c"
26983
38
    break;
26984
26985
260
  case 220:
26986
260
#line 1660 "gram.y"
26987
260
    { (yyval.str) = "true"; }
26988
260
#line 26989 "gram.c"
26989
260
    break;
26990
26991
38
  case 221:
26992
38
#line 1661 "gram.y"
26993
38
    { (yyval.str) = "false"; }
26994
38
#line 26995 "gram.c"
26995
38
    break;
26996
26997
71
  case 222:
26998
71
#line 1662 "gram.y"
26999
71
    { (yyval.str) = "on"; }
27000
71
#line 27001 "gram.c"
27001
71
    break;
27002
27003
2.37k
  case 223:
27004
2.37k
#line 1668 "gram.y"
27005
2.37k
    { (yyval.str) = (yyvsp[0].str); }
27006
2.37k
#line 27007 "gram.c"
27007
2.37k
    break;
27008
27009
0
  case 224:
27010
0
#line 1681 "gram.y"
27011
0
    {
27012
0
          (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
27013
0
        }
27014
0
#line 27015 "gram.c"
27015
0
    break;
27016
27017
0
  case 225:
27018
0
#line 1685 "gram.y"
27019
0
    {
27020
0
          (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
27021
0
        }
27022
0
#line 27023 "gram.c"
27023
0
    break;
27024
27025
0
  case 226:
27026
0
#line 1689 "gram.y"
27027
0
    {
27028
0
          TypeName *t = (yyvsp[-2].typnam);
27029
0
          if ((yyvsp[0].list) != NIL)
27030
0
          {
27031
0
            A_Const *n = (A_Const *) linitial((yyvsp[0].list));
27032
0
            if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
27033
0
              ereport(ERROR,
27034
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
27035
0
                   errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
27036
0
                   parser_errposition((yylsp[0]))));
27037
0
          }
27038
0
          t->typmods = (yyvsp[0].list);
27039
0
          (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
27040
0
        }
27041
0
#line 27042 "gram.c"
27042
0
    break;
27043
27044
0
  case 227:
27045
0
#line 1704 "gram.y"
27046
0
    {
27047
0
          TypeName *t = (yyvsp[-4].typnam);
27048
0
          t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
27049
0
                      makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
27050
0
          (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
27051
0
        }
27052
0
#line 27053 "gram.c"
27053
0
    break;
27054
27055
0
  case 228:
27056
0
#line 1710 "gram.y"
27057
0
    { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
27058
0
#line 27059 "gram.c"
27059
0
    break;
27060
27061
0
  case 229:
27062
0
#line 1711 "gram.y"
27063
0
    { (yyval.node) = NULL; }
27064
0
#line 27065 "gram.c"
27065
0
    break;
27066
27067
0
  case 230:
27068
0
#line 1712 "gram.y"
27069
0
    { (yyval.node) = NULL; }
27070
0
#line 27071 "gram.c"
27071
0
    break;
27072
27073
0
  case 231:
27074
0
#line 1716 "gram.y"
27075
0
    { (yyval.str) = (yyvsp[0].str); }
27076
0
#line 27077 "gram.c"
27077
0
    break;
27078
27079
0
  case 232:
27080
0
#line 1717 "gram.y"
27081
0
    { (yyval.str) = NULL; }
27082
0
#line 27083 "gram.c"
27083
0
    break;
27084
27085
0
  case 233:
27086
0
#line 1718 "gram.y"
27087
0
    { (yyval.str) = NULL; }
27088
0
#line 27089 "gram.c"
27089
0
    break;
27090
27091
2.55k
  case 234:
27092
2.55k
#line 1722 "gram.y"
27093
2.55k
    { (yyval.str) = (yyvsp[0].str); }
27094
2.55k
#line 27095 "gram.c"
27095
2.55k
    break;
27096
27097
1.56k
  case 235:
27098
1.56k
#line 1723 "gram.y"
27099
1.56k
    { (yyval.str) = (yyvsp[0].str); }
27100
1.56k
#line 27101 "gram.c"
27101
1.56k
    break;
27102
27103
491
  case 236:
27104
491
#line 1727 "gram.y"
27105
491
    { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
27106
491
#line 27107 "gram.c"
27107
491
    break;
27108
27109
99
  case 237:
27110
99
#line 1731 "gram.y"
27111
99
    { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27112
99
#line 27113 "gram.c"
27113
99
    break;
27114
27115
0
  case 238:
27116
0
#line 1733 "gram.y"
27117
0
    {
27118
0
          VariableSetStmt *n = makeNode(VariableSetStmt);
27119
0
          n->kind = VAR_RESET;
27120
0
          n->name = "timezone";
27121
0
          (yyval.vsetstmt) = n;
27122
0
        }
27123
0
#line 27124 "gram.c"
27124
0
    break;
27125
27126
0
  case 239:
27127
0
#line 1740 "gram.y"
27128
0
    {
27129
0
          VariableSetStmt *n = makeNode(VariableSetStmt);
27130
0
          n->kind = VAR_RESET;
27131
0
          n->name = "transaction_isolation";
27132
0
          (yyval.vsetstmt) = n;
27133
0
        }
27134
0
#line 27135 "gram.c"
27135
0
    break;
27136
27137
392
  case 240:
27138
392
#line 1747 "gram.y"
27139
392
    {
27140
392
          VariableSetStmt *n = makeNode(VariableSetStmt);
27141
392
          n->kind = VAR_RESET;
27142
392
          n->name = "session_authorization";
27143
392
          (yyval.vsetstmt) = n;
27144
392
        }
27145
392
#line 27146 "gram.c"
27146
392
    break;
27147
27148
99
  case 241:
27149
99
#line 1757 "gram.y"
27150
99
    {
27151
99
          VariableSetStmt *n = makeNode(VariableSetStmt);
27152
99
          n->kind = VAR_RESET;
27153
99
          n->name = (yyvsp[0].str);
27154
99
          (yyval.vsetstmt) = n;
27155
99
        }
27156
99
#line 27157 "gram.c"
27157
99
    break;
27158
27159
0
  case 242:
27160
0
#line 1764 "gram.y"
27161
0
    {
27162
0
          VariableSetStmt *n = makeNode(VariableSetStmt);
27163
0
          n->kind = VAR_RESET_ALL;
27164
0
          (yyval.vsetstmt) = n;
27165
0
        }
27166
0
#line 27167 "gram.c"
27167
0
    break;
27168
27169
42
  case 243:
27170
42
#line 1773 "gram.y"
27171
42
    { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27172
42
#line 27173 "gram.c"
27173
42
    break;
27174
27175
21
  case 244:
27176
21
#line 1774 "gram.y"
27177
21
    { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
27178
21
#line 27179 "gram.c"
27179
21
    break;
27180
27181
0
  case 245:
27182
0
#line 1779 "gram.y"
27183
0
    { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27184
0
#line 27185 "gram.c"
27185
0
    break;
27186
27187
0
  case 246:
27188
0
#line 1780 "gram.y"
27189
0
    { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
27190
0
#line 27191 "gram.c"
27191
0
    break;
27192
27193
33
  case 247:
27194
33
#line 1786 "gram.y"
27195
33
    {
27196
33
          VariableShowStmt *n = makeNode(VariableShowStmt);
27197
33
          n->name = (yyvsp[0].str);
27198
33
          (yyval.node) = (Node *) n;
27199
33
        }
27200
33
#line 27201 "gram.c"
27201
33
    break;
27202
27203
0
  case 248:
27204
0
#line 1792 "gram.y"
27205
0
    {
27206
0
          VariableShowStmt *n = makeNode(VariableShowStmt);
27207
0
          n->name = "timezone";
27208
0
          (yyval.node) = (Node *) n;
27209
0
        }
27210
0
#line 27211 "gram.c"
27211
0
    break;
27212
27213
0
  case 249:
27214
0
#line 1798 "gram.y"
27215
0
    {
27216
0
          VariableShowStmt *n = makeNode(VariableShowStmt);
27217
0
          n->name = "transaction_isolation";
27218
0
          (yyval.node) = (Node *) n;
27219
0
        }
27220
0
#line 27221 "gram.c"
27221
0
    break;
27222
27223
0
  case 250:
27224
0
#line 1804 "gram.y"
27225
0
    {
27226
0
          VariableShowStmt *n = makeNode(VariableShowStmt);
27227
0
          n->name = "session_authorization";
27228
0
          (yyval.node) = (Node *) n;
27229
0
        }
27230
0
#line 27231 "gram.c"
27231
0
    break;
27232
27233
0
  case 251:
27234
0
#line 1810 "gram.y"
27235
0
    {
27236
0
          VariableShowStmt *n = makeNode(VariableShowStmt);
27237
0
          n->name = "all";
27238
0
          (yyval.node) = (Node *) n;
27239
0
        }
27240
0
#line 27241 "gram.c"
27241
0
    break;
27242
27243
9
  case 252:
27244
9
#line 1820 "gram.y"
27245
9
    {
27246
9
          ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
27247
9
          n->constraints = (yyvsp[-1].list);
27248
9
          n->deferred = (yyvsp[0].boolean);
27249
9
          (yyval.node) = (Node *) n;
27250
9
        }
27251
9
#line 27252 "gram.c"
27252
9
    break;
27253
27254
9
  case 253:
27255
9
#line 1829 "gram.y"
27256
9
    { (yyval.list) = NIL; }
27257
9
#line 27258 "gram.c"
27258
9
    break;
27259
27260
0
  case 254:
27261
0
#line 1830 "gram.y"
27262
0
    { (yyval.list) = (yyvsp[0].list); }
27263
0
#line 27264 "gram.c"
27264
0
    break;
27265
27266
4
  case 255:
27267
4
#line 1834 "gram.y"
27268
4
    { (yyval.boolean) = true; }
27269
4
#line 27270 "gram.c"
27270
4
    break;
27271
27272
5
  case 256:
27273
5
#line 1835 "gram.y"
27274
5
    { (yyval.boolean) = false; }
27275
5
#line 27276 "gram.c"
27276
5
    break;
27277
27278
1
  case 257:
27279
1
#line 1844 "gram.y"
27280
1
    {
27281
1
          CheckPointStmt *n = makeNode(CheckPointStmt);
27282
1
          (yyval.node) = (Node *)n;
27283
1
        }
27284
1
#line 27285 "gram.c"
27285
1
    break;
27286
27287
0
  case 258:
27288
0
#line 1859 "gram.y"
27289
0
    {
27290
0
          DiscardStmt *n = makeNode(DiscardStmt);
27291
0
          n->target = DISCARD_ALL;
27292
0
          (yyval.node) = (Node *) n;
27293
0
        }
27294
0
#line 27295 "gram.c"
27295
0
    break;
27296
27297
471
  case 259:
27298
471
#line 1865 "gram.y"
27299
471
    {
27300
471
          DiscardStmt *n = makeNode(DiscardStmt);
27301
471
          n->target = DISCARD_TEMP;
27302
471
          (yyval.node) = (Node *) n;
27303
471
        }
27304
471
#line 27305 "gram.c"
27305
471
    break;
27306
27307
0
  case 260:
27308
0
#line 1871 "gram.y"
27309
0
    {
27310
0
          DiscardStmt *n = makeNode(DiscardStmt);
27311
0
          n->target = DISCARD_TEMP;
27312
0
          (yyval.node) = (Node *) n;
27313
0
        }
27314
0
#line 27315 "gram.c"
27315
0
    break;
27316
27317
0
  case 261:
27318
0
#line 1877 "gram.y"
27319
0
    {
27320
0
          DiscardStmt *n = makeNode(DiscardStmt);
27321
0
          n->target = DISCARD_PLANS;
27322
0
          (yyval.node) = (Node *) n;
27323
0
        }
27324
0
#line 27325 "gram.c"
27325
0
    break;
27326
27327
0
  case 262:
27328
0
#line 1883 "gram.y"
27329
0
    {
27330
0
          DiscardStmt *n = makeNode(DiscardStmt);
27331
0
          n->target = DISCARD_SEQUENCES;
27332
0
          (yyval.node) = (Node *) n;
27333
0
        }
27334
0
#line 27335 "gram.c"
27335
0
    break;
27336
27337
475
  case 263:
27338
475
#line 1902 "gram.y"
27339
475
    {
27340
475
          AlterTableStmt *n = makeNode(AlterTableStmt);
27341
475
          n->relation = (yyvsp[-1].range);
27342
475
          n->cmds = (yyvsp[0].list);
27343
475
          n->relkind = OBJECT_TABLE;
27344
475
          n->missing_ok = false;
27345
475
          (yyval.node) = (Node *)n;
27346
475
        }
27347
475
#line 27348 "gram.c"
27348
475
    break;
27349
27350
0
  case 264:
27351
0
#line 1911 "gram.y"
27352
0
    {
27353
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
27354
0
          n->relation = (yyvsp[-1].range);
27355
0
          n->cmds = (yyvsp[0].list);
27356
0
          n->relkind = OBJECT_TABLE;
27357
0
          n->missing_ok = true;
27358
0
          (yyval.node) = (Node *)n;
27359
0
        }
27360
0
#line 27361 "gram.c"
27361
0
    break;
27362
27363
53
  case 265:
27364
53
#line 1920 "gram.y"
27365
53
    {
27366
53
          AlterTableStmt *n = makeNode(AlterTableStmt);
27367
53
          n->relation = (yyvsp[-1].range);
27368
53
          n->cmds = list_make1((yyvsp[0].node));
27369
53
          n->relkind = OBJECT_TABLE;
27370
53
          n->missing_ok = false;
27371
53
          (yyval.node) = (Node *)n;
27372
53
        }
27373
53
#line 27374 "gram.c"
27374
53
    break;
27375
27376
0
  case 266:
27377
0
#line 1929 "gram.y"
27378
0
    {
27379
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
27380
0
          n->relation = (yyvsp[-1].range);
27381
0
          n->cmds = list_make1((yyvsp[0].node));
27382
0
          n->relkind = OBJECT_TABLE;
27383
0
          n->missing_ok = true;
27384
0
          (yyval.node) = (Node *)n;
27385
0
        }
27386
0
#line 27387 "gram.c"
27387
0
    break;
27388
27389
0
  case 267:
27390
0
#line 1938 "gram.y"
27391
0
    {
27392
0
          parser_ybc_signal_unsupported((yylsp[-9]), "ALTER TABLE ALL IN TABLESPACE", 1124);
27393
0
          AlterTableMoveAllStmt *n =
27394
0
            makeNode(AlterTableMoveAllStmt);
27395
0
          n->orig_tablespacename = (yyvsp[-4].str);
27396
0
          n->objtype = OBJECT_TABLE;
27397
0
          n->roles = NIL;
27398
0
          n->new_tablespacename = (yyvsp[-1].str);
27399
0
          n->nowait = (yyvsp[0].boolean);
27400
0
          (yyval.node) = (Node *)n;
27401
0
        }
27402
0
#line 27403 "gram.c"
27403
0
    break;
27404
27405
0
  case 268:
27406
0
#line 1950 "gram.y"
27407
0
    {
27408
0
          parser_ybc_signal_unsupported((yylsp[-12]), "ALTER TABLE ALL IN TABLESPACE", 1124);
27409
0
          AlterTableMoveAllStmt *n =
27410
0
            makeNode(AlterTableMoveAllStmt);
27411
0
          n->orig_tablespacename = (yyvsp[-7].str);
27412
0
          n->objtype = OBJECT_TABLE;
27413
0
          n->roles = (yyvsp[-4].list);
27414
0
          n->new_tablespacename = (yyvsp[-1].str);
27415
0
          n->nowait = (yyvsp[0].boolean);
27416
0
          (yyval.node) = (Node *)n;
27417
0
        }
27418
0
#line 27419 "gram.c"
27419
0
    break;
27420
27421
0
  case 269:
27422
0
#line 1962 "gram.y"
27423
0
    {
27424
0
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER INDEX", 1130);
27425
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
27426
0
          n->relation = (yyvsp[-1].range);
27427
0
          n->cmds = (yyvsp[0].list);
27428
0
          n->relkind = OBJECT_INDEX;
27429
0
          n->missing_ok = false;
27430
0
          (yyval.node) = (Node *)n;
27431
0
        }
27432
0
#line 27433 "gram.c"
27433
0
    break;
27434
27435
0
  case 270:
27436
0
#line 1972 "gram.y"
27437
0
    {
27438
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER INDEX", 1130);
27439
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
27440
0
          n->relation = (yyvsp[-1].range);
27441
0
          n->cmds = (yyvsp[0].list);
27442
0
          n->relkind = OBJECT_INDEX;
27443
0
          n->missing_ok = true;
27444
0
          (yyval.node) = (Node *)n;
27445
0
        }
27446
0
#line 27447 "gram.c"
27447
0
    break;
27448
27449
0
  case 271:
27450
0
#line 1982 "gram.y"
27451
0
    {
27452
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
27453
0
          n->relation = (yyvsp[-1].range);
27454
0
          n->cmds = list_make1((yyvsp[0].node));
27455
0
          n->relkind = OBJECT_INDEX;
27456
0
          n->missing_ok = false;
27457
0
          (yyval.node) = (Node *)n;
27458
0
        }
27459
0
#line 27460 "gram.c"
27460
0
    break;
27461
27462
0
  case 272:
27463
0
#line 1991 "gram.y"
27464
0
    {
27465
0
          parser_ybc_signal_unsupported((yylsp[-9]), "ALTER INDEX", 1130);
27466
0
          AlterTableMoveAllStmt *n =
27467
0
            makeNode(AlterTableMoveAllStmt);
27468
0
          n->orig_tablespacename = (yyvsp[-4].str);
27469
0
          n->objtype = OBJECT_INDEX;
27470
0
          n->roles = NIL;
27471
0
          n->new_tablespacename = (yyvsp[-1].str);
27472
0
          n->nowait = (yyvsp[0].boolean);
27473
0
          (yyval.node) = (Node *)n;
27474
0
        }
27475
0
#line 27476 "gram.c"
27476
0
    break;
27477
27478
0
  case 273:
27479
0
#line 2003 "gram.y"
27480
0
    {
27481
0
          parser_ybc_signal_unsupported((yylsp[-12]), "ALTER INDEX", 1130);
27482
0
          AlterTableMoveAllStmt *n =
27483
0
            makeNode(AlterTableMoveAllStmt);
27484
0
          n->orig_tablespacename = (yyvsp[-7].str);
27485
0
          n->objtype = OBJECT_INDEX;
27486
0
          n->roles = (yyvsp[-4].list);
27487
0
          n->new_tablespacename = (yyvsp[-1].str);
27488
0
          n->nowait = (yyvsp[0].boolean);
27489
0
          (yyval.node) = (Node *)n;
27490
0
        }
27491
0
#line 27492 "gram.c"
27492
0
    break;
27493
27494
0
  case 274:
27495
0
#line 2015 "gram.y"
27496
0
    {
27497
0
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER SEQUENCE", 1002);
27498
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
27499
0
          n->relation = (yyvsp[-1].range);
27500
0
          n->cmds = (yyvsp[0].list);
27501
0
          n->relkind = OBJECT_SEQUENCE;
27502
0
          n->missing_ok = false;
27503
0
          (yyval.node) = (Node *)n;
27504
0
        }
27505
0
#line 27506 "gram.c"
27506
0
    break;
27507
27508
0
  case 275:
27509
0
#line 2025 "gram.y"
27510
0
    {
27511
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER SEQUENCE", 1002);
27512
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
27513
0
          n->relation = (yyvsp[-1].range);
27514
0
          n->cmds = (yyvsp[0].list);
27515
0
          n->relkind = OBJECT_SEQUENCE;
27516
0
          n->missing_ok = true;
27517
0
          (yyval.node) = (Node *)n;
27518
0
        }
27519
0
#line 27520 "gram.c"
27520
0
    break;
27521
27522
2
  case 276:
27523
2
#line 2035 "gram.y"
27524
2
    {
27525
2
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER VIEW", 1131);
27526
2
          AlterTableStmt *n = makeNode(AlterTableStmt);
27527
2
          n->relation = (yyvsp[-1].range);
27528
2
          n->cmds = (yyvsp[0].list);
27529
2
          n->relkind = OBJECT_VIEW;
27530
2
          n->missing_ok = false;
27531
2
          (yyval.node) = (Node *)n;
27532
2
        }
27533
2
#line 27534 "gram.c"
27534
2
    break;
27535
27536
0
  case 277:
27537
0
#line 2045 "gram.y"
27538
0
    {
27539
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER VIEW", 1131);
27540
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
27541
0
          n->relation = (yyvsp[-1].range);
27542
0
          n->cmds = (yyvsp[0].list);
27543
0
          n->relkind = OBJECT_VIEW;
27544
0
          n->missing_ok = true;
27545
0
          (yyval.node) = (Node *)n;
27546
0
        }
27547
0
#line 27548 "gram.c"
27548
0
    break;
27549
27550
0
  case 278:
27551
0
#line 2055 "gram.y"
27552
0
    {
27553
0
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER MATERIALIZED VIEW", 1131);
27554
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
27555
0
          n->relation = (yyvsp[-1].range);
27556
0
          n->cmds = (yyvsp[0].list);
27557
0
          n->relkind = OBJECT_MATVIEW;
27558
0
          n->missing_ok = false;
27559
0
          (yyval.node) = (Node *)n;
27560
0
        }
27561
0
#line 27562 "gram.c"
27562
0
    break;
27563
27564
0
  case 279:
27565
0
#line 2065 "gram.y"
27566
0
    {
27567
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER MATERIALIZED VIEW", 1131);
27568
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
27569
0
          n->relation = (yyvsp[-1].range);
27570
0
          n->cmds = (yyvsp[0].list);
27571
0
          n->relkind = OBJECT_MATVIEW;
27572
0
          n->missing_ok = true;
27573
0
          (yyval.node) = (Node *)n;
27574
0
        }
27575
0
#line 27576 "gram.c"
27576
0
    break;
27577
27578
0
  case 280:
27579
0
#line 2075 "gram.y"
27580
0
    {
27581
0
          parser_ybc_signal_unsupported((yylsp[-10]), "ALTER MATERIALIZED VIEW", 1131);
27582
0
          AlterTableMoveAllStmt *n =
27583
0
            makeNode(AlterTableMoveAllStmt);
27584
0
          n->orig_tablespacename = (yyvsp[-4].str);
27585
0
          n->objtype = OBJECT_MATVIEW;
27586
0
          n->roles = NIL;
27587
0
          n->new_tablespacename = (yyvsp[-1].str);
27588
0
          n->nowait = (yyvsp[0].boolean);
27589
0
          (yyval.node) = (Node *)n;
27590
0
        }
27591
0
#line 27592 "gram.c"
27592
0
    break;
27593
27594
0
  case 281:
27595
0
#line 2087 "gram.y"
27596
0
    {
27597
0
          parser_ybc_signal_unsupported((yylsp[-13]), "ALTER MATERIALIZED VIEW", 1131);
27598
0
          AlterTableMoveAllStmt *n =
27599
0
            makeNode(AlterTableMoveAllStmt);
27600
0
          n->orig_tablespacename = (yyvsp[-7].str);
27601
0
          n->objtype = OBJECT_MATVIEW;
27602
0
          n->roles = (yyvsp[-4].list);
27603
0
          n->new_tablespacename = (yyvsp[-1].str);
27604
0
          n->nowait = (yyvsp[0].boolean);
27605
0
          (yyval.node) = (Node *)n;
27606
0
        }
27607
0
#line 27608 "gram.c"
27608
0
    break;
27609
27610
513
  case 282:
27611
513
#line 2101 "gram.y"
27612
513
    { (yyval.list) = list_make1((yyvsp[0].node)); }
27613
513
#line 27614 "gram.c"
27614
513
    break;
27615
27616
18
  case 283:
27617
18
#line 2102 "gram.y"
27618
18
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
27619
18
#line 27620 "gram.c"
27620
18
    break;
27621
27622
45
  case 284:
27623
45
#line 2108 "gram.y"
27624
45
    {
27625
45
          AlterTableCmd *n = makeNode(AlterTableCmd);
27626
45
          PartitionCmd *cmd = makeNode(PartitionCmd);
27627
27628
45
          n->subtype = AT_AttachPartition;
27629
45
          cmd->name = (yyvsp[-1].range);
27630
45
          cmd->bound = (yyvsp[0].partboundspec);
27631
45
          n->def = (Node *) cmd;
27632
27633
45
          (yyval.node) = (Node *) n;
27634
45
        }
27635
45
#line 27636 "gram.c"
27636
45
    break;
27637
27638
8
  case 285:
27639
8
#line 2121 "gram.y"
27640
8
    {
27641
8
          AlterTableCmd *n = makeNode(AlterTableCmd);
27642
8
          PartitionCmd *cmd = makeNode(PartitionCmd);
27643
27644
8
          n->subtype = AT_DetachPartition;
27645
8
          cmd->name = (yyvsp[0].range);
27646
8
          cmd->bound = NULL;
27647
8
          n->def = (Node *) cmd;
27648
27649
8
          (yyval.node) = (Node *) n;
27650
8
        }
27651
8
#line 27652 "gram.c"
27652
8
    break;
27653
27654
0
  case 286:
27655
0
#line 2137 "gram.y"
27656
0
    {
27657
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27658
0
          PartitionCmd *cmd = makeNode(PartitionCmd);
27659
27660
0
          n->subtype = AT_AttachPartition;
27661
0
          cmd->name = (yyvsp[0].range);
27662
0
          cmd->bound = NULL;
27663
0
          n->def = (Node *) cmd;
27664
27665
0
          (yyval.node) = (Node *) n;
27666
0
        }
27667
0
#line 27668 "gram.c"
27668
0
    break;
27669
27670
39
  case 287:
27671
39
#line 2153 "gram.y"
27672
39
    {
27673
39
          AlterTableCmd *n = makeNode(AlterTableCmd);
27674
39
          n->subtype = AT_AddColumn;
27675
39
          n->def = (yyvsp[0].node);
27676
39
          n->missing_ok = false;
27677
39
          (yyval.node) = (Node *)n;
27678
39
        }
27679
39
#line 27680 "gram.c"
27680
39
    break;
27681
27682
15
  case 288:
27683
15
#line 2162 "gram.y"
27684
15
    {
27685
15
          AlterTableCmd *n = makeNode(AlterTableCmd);
27686
15
          n->subtype = AT_AddColumn;
27687
15
          n->def = (yyvsp[0].node);
27688
15
          n->missing_ok = true;
27689
15
          (yyval.node) = (Node *)n;
27690
15
        }
27691
15
#line 27692 "gram.c"
27692
15
    break;
27693
27694
58
  case 289:
27695
58
#line 2171 "gram.y"
27696
58
    {
27697
58
          AlterTableCmd *n = makeNode(AlterTableCmd);
27698
58
          n->subtype = AT_AddColumn;
27699
58
          n->def = (yyvsp[0].node);
27700
58
          n->missing_ok = false;
27701
58
          (yyval.node) = (Node *)n;
27702
58
        }
27703
58
#line 27704 "gram.c"
27704
58
    break;
27705
27706
15
  case 290:
27707
15
#line 2180 "gram.y"
27708
15
    {
27709
15
          AlterTableCmd *n = makeNode(AlterTableCmd);
27710
15
          n->subtype = AT_AddColumn;
27711
15
          n->def = (yyvsp[0].node);
27712
15
          n->missing_ok = true;
27713
15
          (yyval.node) = (Node *)n;
27714
15
        }
27715
15
#line 27716 "gram.c"
27716
15
    break;
27717
27718
3
  case 291:
27719
3
#line 2189 "gram.y"
27720
3
    {
27721
3
          AlterTableCmd *n = makeNode(AlterTableCmd);
27722
3
          n->subtype = AT_ColumnDefault;
27723
3
          n->name = (yyvsp[-1].str);
27724
3
          n->def = (yyvsp[0].node);
27725
3
          (yyval.node) = (Node *)n;
27726
3
        }
27727
3
#line 27728 "gram.c"
27728
3
    break;
27729
27730
0
  case 292:
27731
0
#line 2198 "gram.y"
27732
0
    {
27733
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27734
0
          n->subtype = AT_DropNotNull;
27735
0
          n->name = (yyvsp[-3].str);
27736
0
          (yyval.node) = (Node *)n;
27737
0
        }
27738
0
#line 27739 "gram.c"
27739
0
    break;
27740
27741
0
  case 293:
27742
0
#line 2206 "gram.y"
27743
0
    {
27744
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27745
0
          n->subtype = AT_SetNotNull;
27746
0
          n->name = (yyvsp[-3].str);
27747
0
          (yyval.node) = (Node *)n;
27748
0
        }
27749
0
#line 27750 "gram.c"
27750
0
    break;
27751
27752
0
  case 294:
27753
0
#line 2214 "gram.y"
27754
0
    {
27755
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER TABLE ALTER column", 1124);
27756
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27757
0
          n->subtype = AT_SetStatistics;
27758
0
          n->name = (yyvsp[-3].str);
27759
0
          n->def = (Node *) makeInteger((yyvsp[0].ival));
27760
0
          (yyval.node) = (Node *)n;
27761
0
        }
27762
0
#line 27763 "gram.c"
27763
0
    break;
27764
27765
0
  case 295:
27766
0
#line 2224 "gram.y"
27767
0
    {
27768
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27769
27770
0
          if ((yyvsp[-3].ival) <= 0 || (yyvsp[-3].ival) > PG_INT16_MAX)
27771
0
            ereport(ERROR,
27772
0
                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
27773
0
                 errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
27774
0
                 parser_errposition((yylsp[-3]))));
27775
27776
0
          n->subtype = AT_SetStatistics;
27777
0
          n->num = (int16) (yyvsp[-3].ival);
27778
0
          n->def = (Node *) makeInteger((yyvsp[0].ival));
27779
0
          (yyval.node) = (Node *)n;
27780
0
        }
27781
0
#line 27782 "gram.c"
27782
0
    break;
27783
27784
0
  case 296:
27785
0
#line 2240 "gram.y"
27786
0
    {
27787
0
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER TABLE ALTER column", 1124);
27788
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27789
0
          n->subtype = AT_SetOptions;
27790
0
          n->name = (yyvsp[-2].str);
27791
0
          n->def = (Node *) (yyvsp[0].list);
27792
0
          (yyval.node) = (Node *)n;
27793
0
        }
27794
0
#line 27795 "gram.c"
27795
0
    break;
27796
27797
0
  case 297:
27798
0
#line 2250 "gram.y"
27799
0
    {
27800
0
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER TABLE ALTER column", 1124);
27801
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27802
0
          n->subtype = AT_ResetOptions;
27803
0
          n->name = (yyvsp[-2].str);
27804
0
          n->def = (Node *) (yyvsp[0].list);
27805
0
          (yyval.node) = (Node *)n;
27806
0
        }
27807
0
#line 27808 "gram.c"
27808
0
    break;
27809
27810
0
  case 298:
27811
0
#line 2260 "gram.y"
27812
0
    {
27813
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER TABLE ALTER column", 1124);
27814
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27815
0
          n->subtype = AT_SetStorage;
27816
0
          n->name = (yyvsp[-3].str);
27817
0
          n->def = (Node *) makeString((yyvsp[0].str));
27818
0
          (yyval.node) = (Node *)n;
27819
0
        }
27820
0
#line 27821 "gram.c"
27821
0
    break;
27822
27823
0
  case 299:
27824
0
#line 2270 "gram.y"
27825
0
    {
27826
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27827
0
          Constraint *c = makeNode(Constraint);
27828
27829
0
          c->contype = CONSTR_IDENTITY;
27830
0
          c->generated_when = (yyvsp[-3].ival);
27831
0
          c->options = (yyvsp[0].list);
27832
0
          c->location = (yylsp[-4]);
27833
27834
0
          n->subtype = AT_AddIdentity;
27835
0
          n->name = (yyvsp[-6].str);
27836
0
          n->def = (Node *) c;
27837
27838
0
          (yyval.node) = (Node *)n;
27839
0
        }
27840
0
#line 27841 "gram.c"
27841
0
    break;
27842
27843
0
  case 300:
27844
0
#line 2287 "gram.y"
27845
0
    {
27846
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27847
0
          n->subtype = AT_SetIdentity;
27848
0
          n->name = (yyvsp[-1].str);
27849
0
          n->def = (Node *) (yyvsp[0].list);
27850
0
          (yyval.node) = (Node *)n;
27851
0
        }
27852
0
#line 27853 "gram.c"
27853
0
    break;
27854
27855
0
  case 301:
27856
0
#line 2296 "gram.y"
27857
0
    {
27858
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27859
0
          n->subtype = AT_DropIdentity;
27860
0
          n->name = (yyvsp[-2].str);
27861
0
          n->missing_ok = false;
27862
0
          (yyval.node) = (Node *)n;
27863
0
        }
27864
0
#line 27865 "gram.c"
27865
0
    break;
27866
27867
0
  case 302:
27868
0
#line 2305 "gram.y"
27869
0
    {
27870
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27871
0
          n->subtype = AT_DropIdentity;
27872
0
          n->name = (yyvsp[-4].str);
27873
0
          n->missing_ok = true;
27874
0
          (yyval.node) = (Node *)n;
27875
0
        }
27876
0
#line 27877 "gram.c"
27877
0
    break;
27878
27879
12
  case 303:
27880
12
#line 2314 "gram.y"
27881
12
    {
27882
12
          AlterTableCmd *n = makeNode(AlterTableCmd);
27883
12
          n->subtype = AT_DropColumn;
27884
12
          n->name = (yyvsp[-1].str);
27885
12
          n->behavior = (yyvsp[0].dbehavior);
27886
12
          n->missing_ok = true;
27887
12
          (yyval.node) = (Node *)n;
27888
12
        }
27889
12
#line 27890 "gram.c"
27890
12
    break;
27891
27892
68
  case 304:
27893
68
#line 2324 "gram.y"
27894
68
    {
27895
68
          AlterTableCmd *n = makeNode(AlterTableCmd);
27896
68
          n->subtype = AT_DropColumn;
27897
68
          n->name = (yyvsp[-1].str);
27898
68
          n->behavior = (yyvsp[0].dbehavior);
27899
68
          n->missing_ok = false;
27900
68
          (yyval.node) = (Node *)n;
27901
68
        }
27902
68
#line 27903 "gram.c"
27903
68
    break;
27904
27905
13
  case 305:
27906
13
#line 2337 "gram.y"
27907
13
    {
27908
13
          AlterTableCmd *n = makeNode(AlterTableCmd);
27909
13
          ColumnDef *def = makeNode(ColumnDef);
27910
13
          n->subtype = AT_AlterColumnType;
27911
13
          n->name = (yyvsp[-5].str);
27912
13
          n->def = (Node *) def;
27913
          /* We only use these fields of the ColumnDef node */
27914
13
          def->typeName = (yyvsp[-2].typnam);
27915
13
          def->collClause = (CollateClause *) (yyvsp[-1].node);
27916
13
          def->raw_default = (yyvsp[0].node);
27917
13
          def->location = (yylsp[-5]);
27918
13
          (yyval.node) = (Node *)n;
27919
13
        }
27920
13
#line 27921 "gram.c"
27921
13
    break;
27922
27923
10
  case 306:
27924
10
#line 2352 "gram.y"
27925
10
    {
27926
10
          AlterTableCmd *n = makeNode(AlterTableCmd);
27927
10
          n->subtype = AT_AlterColumnGenericOptions;
27928
10
          n->name = (yyvsp[-1].str);
27929
10
          n->def = (Node *) (yyvsp[0].list);
27930
10
          (yyval.node) = (Node *)n;
27931
10
        }
27932
10
#line 27933 "gram.c"
27933
10
    break;
27934
27935
128
  case 307:
27936
128
#line 2361 "gram.y"
27937
128
    {
27938
128
          AlterTableCmd *n = makeNode(AlterTableCmd);
27939
128
          n->subtype = AT_AddConstraint;
27940
128
          n->def = (yyvsp[0].node);
27941
128
          (yyval.node) = (Node *)n;
27942
128
        }
27943
128
#line 27944 "gram.c"
27944
128
    break;
27945
27946
4
  case 308:
27947
4
#line 2369 "gram.y"
27948
4
    {
27949
4
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER TABLE ALTER CONSTRAINT", 1124);
27950
4
          AlterTableCmd *n = makeNode(AlterTableCmd);
27951
4
          Constraint *c = makeNode(Constraint);
27952
4
          n->subtype = AT_AlterConstraint;
27953
4
          n->def = (Node *) c;
27954
4
          c->contype = CONSTR_FOREIGN; /* others not supported, yet */
27955
4
          c->conname = (yyvsp[-1].str);
27956
4
          processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
27957
4
                  &c->deferrable,
27958
4
                  &c->initdeferred,
27959
4
                  NULL, NULL, yyscanner);
27960
4
          (yyval.node) = (Node *)n;
27961
4
        }
27962
4
#line 27963 "gram.c"
27963
4
    break;
27964
27965
0
  case 309:
27966
0
#line 2385 "gram.y"
27967
0
    {
27968
0
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE VALIDATE CONSTRAINT", 1124);
27969
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27970
0
          n->subtype = AT_ValidateConstraint;
27971
0
          n->name = (yyvsp[0].str);
27972
0
          (yyval.node) = (Node *)n;
27973
0
        }
27974
0
#line 27975 "gram.c"
27975
0
    break;
27976
27977
0
  case 310:
27978
0
#line 2394 "gram.y"
27979
0
    {
27980
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
27981
0
          n->subtype = AT_DropConstraint;
27982
0
          n->name = (yyvsp[-1].str);
27983
0
          n->behavior = (yyvsp[0].dbehavior);
27984
0
          n->missing_ok = true;
27985
0
          (yyval.node) = (Node *)n;
27986
0
        }
27987
0
#line 27988 "gram.c"
27988
0
    break;
27989
27990
21
  case 311:
27991
21
#line 2404 "gram.y"
27992
21
    {
27993
21
          AlterTableCmd *n = makeNode(AlterTableCmd);
27994
21
          n->subtype = AT_DropConstraint;
27995
21
          n->name = (yyvsp[-1].str);
27996
21
          n->behavior = (yyvsp[0].dbehavior);
27997
21
          n->missing_ok = false;
27998
21
          (yyval.node) = (Node *)n;
27999
21
        }
28000
21
#line 28001 "gram.c"
28001
21
    break;
28002
28003
2
  case 312:
28004
2
#line 2414 "gram.y"
28005
2
    {
28006
2
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE SET WITH OIDS", 1124);
28007
2
          AlterTableCmd *n = makeNode(AlterTableCmd);
28008
2
          n->subtype = AT_AddOids;
28009
2
          (yyval.node) = (Node *)n;
28010
2
        }
28011
2
#line 28012 "gram.c"
28012
2
    break;
28013
28014
3
  case 313:
28015
3
#line 2422 "gram.y"
28016
3
    {
28017
3
          AlterTableCmd *n = makeNode(AlterTableCmd);
28018
3
          n->subtype = AT_DropOids;
28019
3
          (yyval.node) = (Node *)n;
28020
3
        }
28021
3
#line 28022 "gram.c"
28022
3
    break;
28023
28024
0
  case 314:
28025
0
#line 2429 "gram.y"
28026
0
    {
28027
0
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE CLUSTER", 1124);
28028
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28029
0
          n->subtype = AT_ClusterOn;
28030
0
          n->name = (yyvsp[0].str);
28031
0
          (yyval.node) = (Node *)n;
28032
0
        }
28033
0
#line 28034 "gram.c"
28034
0
    break;
28035
28036
0
  case 315:
28037
0
#line 2438 "gram.y"
28038
0
    {
28039
0
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE SET WITHOUT CLUSTER", 1124);
28040
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28041
0
          n->subtype = AT_DropCluster;
28042
0
          n->name = NULL;
28043
0
          (yyval.node) = (Node *)n;
28044
0
        }
28045
0
#line 28046 "gram.c"
28046
0
    break;
28047
28048
0
  case 316:
28049
0
#line 2447 "gram.y"
28050
0
    {
28051
0
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE SET LOGGED", 1124);
28052
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28053
0
          n->subtype = AT_SetLogged;
28054
0
          (yyval.node) = (Node *)n;
28055
0
        }
28056
0
#line 28057 "gram.c"
28057
0
    break;
28058
28059
0
  case 317:
28060
0
#line 2455 "gram.y"
28061
0
    {
28062
0
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE SET UNLOGGED", 1124);
28063
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28064
0
          n->subtype = AT_SetUnLogged;
28065
0
          (yyval.node) = (Node *)n;
28066
0
        }
28067
0
#line 28068 "gram.c"
28068
0
    break;
28069
28070
0
  case 318:
28071
0
#line 2463 "gram.y"
28072
0
    {
28073
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28074
0
          n->subtype = AT_EnableTrig;
28075
0
          n->name = (yyvsp[0].str);
28076
0
          (yyval.node) = (Node *)n;
28077
0
        }
28078
0
#line 28079 "gram.c"
28079
0
    break;
28080
28081
0
  case 319:
28082
0
#line 2471 "gram.y"
28083
0
    {
28084
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28085
0
          n->subtype = AT_EnableAlwaysTrig;
28086
0
          n->name = (yyvsp[0].str);
28087
0
          (yyval.node) = (Node *)n;
28088
0
        }
28089
0
#line 28090 "gram.c"
28090
0
    break;
28091
28092
0
  case 320:
28093
0
#line 2479 "gram.y"
28094
0
    {
28095
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28096
0
          n->subtype = AT_EnableReplicaTrig;
28097
0
          n->name = (yyvsp[0].str);
28098
0
          (yyval.node) = (Node *)n;
28099
0
        }
28100
0
#line 28101 "gram.c"
28101
0
    break;
28102
28103
0
  case 321:
28104
0
#line 2487 "gram.y"
28105
0
    {
28106
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28107
0
          n->subtype = AT_EnableTrigAll;
28108
0
          (yyval.node) = (Node *)n;
28109
0
        }
28110
0
#line 28111 "gram.c"
28111
0
    break;
28112
28113
0
  case 322:
28114
0
#line 2494 "gram.y"
28115
0
    {
28116
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28117
0
          n->subtype = AT_EnableTrigUser;
28118
0
          (yyval.node) = (Node *)n;
28119
0
        }
28120
0
#line 28121 "gram.c"
28121
0
    break;
28122
28123
0
  case 323:
28124
0
#line 2501 "gram.y"
28125
0
    {
28126
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28127
0
          n->subtype = AT_DisableTrig;
28128
0
          n->name = (yyvsp[0].str);
28129
0
          (yyval.node) = (Node *)n;
28130
0
        }
28131
0
#line 28132 "gram.c"
28132
0
    break;
28133
28134
0
  case 324:
28135
0
#line 2509 "gram.y"
28136
0
    {
28137
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28138
0
          n->subtype = AT_DisableTrigAll;
28139
0
          (yyval.node) = (Node *)n;
28140
0
        }
28141
0
#line 28142 "gram.c"
28142
0
    break;
28143
28144
0
  case 325:
28145
0
#line 2516 "gram.y"
28146
0
    {
28147
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28148
0
          n->subtype = AT_DisableTrigUser;
28149
0
          (yyval.node) = (Node *)n;
28150
0
        }
28151
0
#line 28152 "gram.c"
28152
0
    break;
28153
28154
0
  case 326:
28155
0
#line 2523 "gram.y"
28156
0
    {
28157
0
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE ENABLE RULE", 1124);
28158
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28159
0
          n->subtype = AT_EnableRule;
28160
0
          n->name = (yyvsp[0].str);
28161
0
          (yyval.node) = (Node *)n;
28162
0
        }
28163
0
#line 28164 "gram.c"
28164
0
    break;
28165
28166
0
  case 327:
28167
0
#line 2532 "gram.y"
28168
0
    {
28169
0
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER TABLE ENABLE RULE", 1124);
28170
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28171
0
          n->subtype = AT_EnableAlwaysRule;
28172
0
          n->name = (yyvsp[0].str);
28173
0
          (yyval.node) = (Node *)n;
28174
0
        }
28175
0
#line 28176 "gram.c"
28176
0
    break;
28177
28178
0
  case 328:
28179
0
#line 2541 "gram.y"
28180
0
    {
28181
0
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER TABLE ENABLE RULE", 1124);
28182
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28183
0
          n->subtype = AT_EnableReplicaRule;
28184
0
          n->name = (yyvsp[0].str);
28185
0
          (yyval.node) = (Node *)n;
28186
0
        }
28187
0
#line 28188 "gram.c"
28188
0
    break;
28189
28190
0
  case 329:
28191
0
#line 2550 "gram.y"
28192
0
    {
28193
0
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE DISABLE RULE", 1124);
28194
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28195
0
          n->subtype = AT_DisableRule;
28196
0
          n->name = (yyvsp[0].str);
28197
0
          (yyval.node) = (Node *)n;
28198
0
        }
28199
0
#line 28200 "gram.c"
28200
0
    break;
28201
28202
4
  case 330:
28203
4
#line 2559 "gram.y"
28204
4
    {
28205
4
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE INHERIT", 1124);
28206
4
          AlterTableCmd *n = makeNode(AlterTableCmd);
28207
4
          n->subtype = AT_AddInherit;
28208
4
          n->def = (Node *) (yyvsp[0].range);
28209
4
          (yyval.node) = (Node *)n;
28210
4
        }
28211
4
#line 28212 "gram.c"
28212
4
    break;
28213
28214
0
  case 331:
28215
0
#line 2568 "gram.y"
28216
0
    {
28217
0
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE NO INHERIT", 1124);
28218
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28219
0
          n->subtype = AT_DropInherit;
28220
0
          n->def = (Node *) (yyvsp[0].range);
28221
0
          (yyval.node) = (Node *)n;
28222
0
        }
28223
0
#line 28224 "gram.c"
28224
0
    break;
28225
28226
0
  case 332:
28227
0
#line 2577 "gram.y"
28228
0
    {
28229
0
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE OF", 1124);
28230
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28231
0
          TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
28232
0
          def->location = (yylsp[0]);
28233
0
          n->subtype = AT_AddOf;
28234
0
          n->def = (Node *) def;
28235
0
          (yyval.node) = (Node *)n;
28236
0
        }
28237
0
#line 28238 "gram.c"
28238
0
    break;
28239
28240
0
  case 333:
28241
0
#line 2588 "gram.y"
28242
0
    {
28243
0
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE NOT OF", 1124);
28244
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28245
0
          n->subtype = AT_DropOf;
28246
0
          (yyval.node) = (Node *)n;
28247
0
        }
28248
0
#line 28249 "gram.c"
28249
0
    break;
28250
28251
35
  case 334:
28252
35
#line 2596 "gram.y"
28253
35
    {
28254
35
          AlterTableCmd *n = makeNode(AlterTableCmd);
28255
35
          n->subtype = AT_ChangeOwner;
28256
35
          n->newowner = (yyvsp[0].rolespec);
28257
35
          (yyval.node) = (Node *)n;
28258
35
        }
28259
35
#line 28260 "gram.c"
28260
35
    break;
28261
28262
0
  case 335:
28263
0
#line 2604 "gram.y"
28264
0
    {
28265
0
          parser_ybc_beta_feature((yylsp[-2]), "tablespace_alteration", true);
28266
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28267
0
          n->subtype = AT_SetTableSpace;
28268
0
          n->name = (yyvsp[0].str);
28269
0
          (yyval.node) = (Node *)n;
28270
0
        }
28271
0
#line 28272 "gram.c"
28272
0
    break;
28273
28274
4
  case 336:
28275
4
#line 2613 "gram.y"
28276
4
    {
28277
4
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE SET", 1124);
28278
4
          AlterTableCmd *n = makeNode(AlterTableCmd);
28279
4
          n->subtype = AT_SetRelOptions;
28280
4
          n->def = (Node *)(yyvsp[0].list);
28281
4
          (yyval.node) = (Node *)n;
28282
4
        }
28283
4
#line 28284 "gram.c"
28284
4
    break;
28285
28286
0
  case 337:
28287
0
#line 2622 "gram.y"
28288
0
    {
28289
0
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE RESET", 1124);
28290
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28291
0
          n->subtype = AT_ResetRelOptions;
28292
0
          n->def = (Node *)(yyvsp[0].list);
28293
0
          (yyval.node) = (Node *)n;
28294
0
        }
28295
0
#line 28296 "gram.c"
28296
0
    break;
28297
28298
0
  case 338:
28299
0
#line 2631 "gram.y"
28300
0
    {
28301
0
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE REPLICA IDENTITY", 1124);
28302
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28303
0
          n->subtype = AT_ReplicaIdentity;
28304
0
          n->def = (yyvsp[0].node);
28305
0
          (yyval.node) = (Node *)n;
28306
0
        }
28307
0
#line 28308 "gram.c"
28308
0
    break;
28309
28310
73
  case 339:
28311
73
#line 2640 "gram.y"
28312
73
    {
28313
73
          AlterTableCmd *n = makeNode(AlterTableCmd);
28314
73
          n->subtype = AT_EnableRowSecurity;
28315
73
          (yyval.node) = (Node *)n;
28316
73
        }
28317
73
#line 28318 "gram.c"
28318
73
    break;
28319
28320
6
  case 340:
28321
6
#line 2647 "gram.y"
28322
6
    {
28323
6
          AlterTableCmd *n = makeNode(AlterTableCmd);
28324
6
          n->subtype = AT_DisableRowSecurity;
28325
6
          (yyval.node) = (Node *)n;
28326
6
        }
28327
6
#line 28328 "gram.c"
28328
6
    break;
28329
28330
22
  case 341:
28331
22
#line 2654 "gram.y"
28332
22
    {
28333
22
          AlterTableCmd *n = makeNode(AlterTableCmd);
28334
22
          n->subtype = AT_ForceRowSecurity;
28335
22
          (yyval.node) = (Node *)n;
28336
22
        }
28337
22
#line 28338 "gram.c"
28338
22
    break;
28339
28340
10
  case 342:
28341
10
#line 2661 "gram.y"
28342
10
    {
28343
10
          AlterTableCmd *n = makeNode(AlterTableCmd);
28344
10
          n->subtype = AT_NoForceRowSecurity;
28345
10
          (yyval.node) = (Node *)n;
28346
10
        }
28347
10
#line 28348 "gram.c"
28348
10
    break;
28349
28350
14
  case 343:
28351
14
#line 2667 "gram.y"
28352
14
    {
28353
14
          parser_ybc_signal_unsupported((yylsp[0]), "ALTER TABLE", 1124);
28354
14
          AlterTableCmd *n = makeNode(AlterTableCmd);
28355
14
          n->subtype = AT_GenericOptions;
28356
14
          n->def = (Node *)(yyvsp[0].list);
28357
14
          (yyval.node) = (Node *) n;
28358
14
        }
28359
14
#line 28360 "gram.c"
28360
14
    break;
28361
28362
4
  case 344:
28363
4
#line 2677 "gram.y"
28364
4
    { (yyval.node) = (yyvsp[0].node); }
28365
4
#line 28366 "gram.c"
28366
4
    break;
28367
28368
1
  case 345:
28369
1
#line 2678 "gram.y"
28370
1
    { (yyval.node) = NULL; }
28371
1
#line 28372 "gram.c"
28372
1
    break;
28373
28374
1.23k
  case 346:
28375
1.23k
#line 2682 "gram.y"
28376
1.23k
    { (yyval.dbehavior) = DROP_CASCADE; }
28377
1.23k
#line 28378 "gram.c"
28378
1.23k
    break;
28379
28380
2
  case 347:
28381
2
#line 2683 "gram.y"
28382
2
    { (yyval.dbehavior) = DROP_RESTRICT; }
28383
2
#line 28384 "gram.c"
28384
2
    break;
28385
28386
1.39k
  case 348:
28387
1.39k
#line 2684 "gram.y"
28388
1.39k
    { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
28389
1.39k
#line 28390 "gram.c"
28390
1.39k
    break;
28391
28392
0
  case 349:
28393
0
#line 2689 "gram.y"
28394
0
    {
28395
0
          CollateClause *n = makeNode(CollateClause);
28396
0
          n->arg = NULL;
28397
0
          n->collname = (yyvsp[0].list);
28398
0
          n->location = (yylsp[-1]);
28399
0
          (yyval.node) = (Node *) n;
28400
0
        }
28401
0
#line 28402 "gram.c"
28402
0
    break;
28403
28404
267
  case 350:
28405
267
#line 2696 "gram.y"
28406
267
    { (yyval.node) = NULL; }
28407
267
#line 28408 "gram.c"
28408
267
    break;
28409
28410
0
  case 351:
28411
0
#line 2700 "gram.y"
28412
0
    { (yyval.node) = (yyvsp[0].node); }
28413
0
#line 28414 "gram.c"
28414
0
    break;
28415
28416
13
  case 352:
28417
13
#line 2701 "gram.y"
28418
13
    { (yyval.node) = NULL; }
28419
13
#line 28420 "gram.c"
28420
13
    break;
28421
28422
0
  case 353:
28423
0
#line 2706 "gram.y"
28424
0
    {
28425
0
          ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28426
0
          n->identity_type = REPLICA_IDENTITY_NOTHING;
28427
0
          n->name = NULL;
28428
0
          (yyval.node) = (Node *) n;
28429
0
        }
28430
0
#line 28431 "gram.c"
28431
0
    break;
28432
28433
0
  case 354:
28434
0
#line 2713 "gram.y"
28435
0
    {
28436
0
          ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28437
0
          n->identity_type = REPLICA_IDENTITY_FULL;
28438
0
          n->name = NULL;
28439
0
          (yyval.node) = (Node *) n;
28440
0
        }
28441
0
#line 28442 "gram.c"
28442
0
    break;
28443
28444
0
  case 355:
28445
0
#line 2720 "gram.y"
28446
0
    {
28447
0
          ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28448
0
          n->identity_type = REPLICA_IDENTITY_DEFAULT;
28449
0
          n->name = NULL;
28450
0
          (yyval.node) = (Node *) n;
28451
0
        }
28452
0
#line 28453 "gram.c"
28453
0
    break;
28454
28455
0
  case 356:
28456
0
#line 2727 "gram.y"
28457
0
    {
28458
0
          ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28459
0
          n->identity_type = REPLICA_IDENTITY_INDEX;
28460
0
          n->name = (yyvsp[0].str);
28461
0
          (yyval.node) = (Node *) n;
28462
0
        }
28463
0
#line 28464 "gram.c"
28464
0
    break;
28465
28466
39
  case 357:
28467
39
#line 2736 "gram.y"
28468
39
    { (yyval.list) = (yyvsp[-1].list); }
28469
39
#line 28470 "gram.c"
28470
39
    break;
28471
28472
16
  case 358:
28473
16
#line 2739 "gram.y"
28474
16
    { (yyval.list) = (yyvsp[0].list); }
28475
16
#line 28476 "gram.c"
28476
16
    break;
28477
28478
269
  case 359:
28479
269
#line 2740 "gram.y"
28480
269
    { (yyval.list) = NIL; }
28481
269
#line 28482 "gram.c"
28482
269
    break;
28483
28484
39
  case 360:
28485
39
#line 2747 "gram.y"
28486
39
    {
28487
39
          (yyval.list) = list_make1((yyvsp[0].defelt));
28488
39
        }
28489
39
#line 28490 "gram.c"
28490
39
    break;
28491
28492
1
  case 361:
28493
1
#line 2751 "gram.y"
28494
1
    {
28495
1
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
28496
1
        }
28497
1
#line 28498 "gram.c"
28498
1
    break;
28499
28500
30
  case 362:
28501
30
#line 2759 "gram.y"
28502
30
    {
28503
30
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
28504
30
        }
28505
30
#line 28506 "gram.c"
28506
30
    break;
28507
28508
10
  case 363:
28509
10
#line 2763 "gram.y"
28510
10
    {
28511
10
          (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
28512
10
        }
28513
10
#line 28514 "gram.c"
28514
10
    break;
28515
28516
0
  case 364:
28517
0
#line 2767 "gram.y"
28518
0
    {
28519
0
          (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
28520
0
                       DEFELEM_UNSPEC, (yylsp[-4]));
28521
0
        }
28522
0
#line 28523 "gram.c"
28523
0
    break;
28524
28525
0
  case 365:
28526
0
#line 2772 "gram.y"
28527
0
    {
28528
0
          (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
28529
0
        }
28530
0
#line 28531 "gram.c"
28531
0
    break;
28532
28533
0
  case 366:
28534
0
#line 2779 "gram.y"
28535
0
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
28536
0
#line 28537 "gram.c"
28537
0
    break;
28538
28539
0
  case 367:
28540
0
#line 2781 "gram.y"
28541
0
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
28542
0
#line 28543 "gram.c"
28543
0
    break;
28544
28545
0
  case 368:
28546
0
#line 2786 "gram.y"
28547
0
    {
28548
0
          (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
28549
0
        }
28550
0
#line 28551 "gram.c"
28551
0
    break;
28552
28553
0
  case 369:
28554
0
#line 2790 "gram.y"
28555
0
    {
28556
0
          (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
28557
0
        }
28558
0
#line 28559 "gram.c"
28559
0
    break;
28560
28561
0
  case 370:
28562
0
#line 2794 "gram.y"
28563
0
    {
28564
0
          if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
28565
0
            strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
28566
0
            strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
28567
0
            ereport(ERROR,
28568
0
                (errcode(ERRCODE_SYNTAX_ERROR),
28569
0
                 errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
28570
0
                 parser_errposition((yylsp[0]))));
28571
0
          (yyval.defelt) = (yyvsp[0].defelt);
28572
0
        }
28573
0
#line 28574 "gram.c"
28574
0
    break;
28575
28576
0
  case 371:
28577
0
#line 2805 "gram.y"
28578
0
    {
28579
0
          (yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
28580
0
        }
28581
0
#line 28582 "gram.c"
28582
0
    break;
28583
28584
6
  case 372:
28585
6
#line 2813 "gram.y"
28586
6
    {
28587
6
          ListCell   *lc;
28588
6
          PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28589
28590
6
          n->strategy = PARTITION_STRATEGY_HASH;
28591
6
          n->modulus = n->remainder = -1;
28592
28593
6
          foreach (lc, (yyvsp[-1].list))
28594
12
          {
28595
12
            DefElem    *opt = lfirst_node(DefElem, lc);
28596
28597
12
            if (strcmp(opt->defname, "modulus") == 0)
28598
6
            {
28599
6
              if (n->modulus != -1)
28600
6
                ereport(ERROR,
28601
6
                    (errcode(ERRCODE_DUPLICATE_OBJECT),
28602
6
                     errmsg("modulus for hash partition provided more than once"),
28603
6
                     parser_errposition(opt->location)));
28604
6
              n->modulus = defGetInt32(opt);
28605
6
            }
28606
6
            else if (strcmp(opt->defname, "remainder") == 0)
28607
6
            {
28608
6
              if (n->remainder != -1)
28609
6
                ereport(ERROR,
28610
6
                    (errcode(ERRCODE_DUPLICATE_OBJECT),
28611
6
                     errmsg("remainder for hash partition provided more than once"),
28612
6
                     parser_errposition(opt->location)));
28613
6
              n->remainder = defGetInt32(opt);
28614
6
            }
28615
6
            else
28616
0
              ereport(ERROR,
28617
12
                  (errcode(ERRCODE_SYNTAX_ERROR),
28618
12
                   errmsg("unrecognized hash partition bound specification \"%s\"",
28619
12
                      opt->defname),
28620
12
                   parser_errposition(opt->location)));
28621
12
          }
28622
28623
6
          if (n->modulus == -1)
28624
6
            ereport(ERROR,
28625
6
                (errcode(ERRCODE_SYNTAX_ERROR),
28626
6
                 errmsg("modulus for hash partition must be specified")));
28627
6
          if (n->remainder == -1)
28628
6
            ereport(ERROR,
28629
6
                (errcode(ERRCODE_SYNTAX_ERROR),
28630
6
                 errmsg("remainder for hash partition must be specified")));
28631
28632
6
          n->location = (yylsp[-3]);
28633
28634
6
          (yyval.partboundspec) = n;
28635
6
        }
28636
6
#line 28637 "gram.c"
28637
6
    break;
28638
28639
51
  case 373:
28640
51
#line 2866 "gram.y"
28641
51
    {
28642
51
          PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28643
28644
51
          n->strategy = PARTITION_STRATEGY_LIST;
28645
51
          n->is_default = false;
28646
51
          n->listdatums = (yyvsp[-1].list);
28647
51
          n->location = (yylsp[-3]);
28648
28649
51
          (yyval.partboundspec) = n;
28650
51
        }
28651
51
#line 28652 "gram.c"
28652
51
    break;
28653
28654
98
  case 374:
28655
98
#line 2879 "gram.y"
28656
98
    {
28657
98
          PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28658
28659
98
          n->strategy = PARTITION_STRATEGY_RANGE;
28660
98
          n->is_default = false;
28661
98
          n->lowerdatums = (yyvsp[-5].list);
28662
98
          n->upperdatums = (yyvsp[-1].list);
28663
98
          n->location = (yylsp[-7]);
28664
28665
98
          (yyval.partboundspec) = n;
28666
98
        }
28667
98
#line 28668 "gram.c"
28668
98
    break;
28669
28670
2
  case 375:
28671
2
#line 2893 "gram.y"
28672
2
    {
28673
2
          PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28674
28675
2
          n->is_default = true;
28676
2
          n->location = (yylsp[0]);
28677
28678
2
          (yyval.partboundspec) = n;
28679
2
        }
28680
2
#line 28681 "gram.c"
28681
2
    break;
28682
28683
12
  case 376:
28684
12
#line 2905 "gram.y"
28685
12
    {
28686
12
        (yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
28687
12
      }
28688
12
#line 28689 "gram.c"
28689
12
    break;
28690
28691
6
  case 377:
28692
6
#line 2912 "gram.y"
28693
6
    {
28694
6
        (yyval.list) = list_make1((yyvsp[0].defelt));
28695
6
      }
28696
6
#line 28697 "gram.c"
28697
6
    break;
28698
28699
6
  case 378:
28700
6
#line 2916 "gram.y"
28701
6
    {
28702
6
        (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
28703
6
      }
28704
6
#line 28705 "gram.c"
28705
6
    break;
28706
28707
4
  case 379:
28708
4
#line 2922 "gram.y"
28709
4
    { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
28710
4
#line 28711 "gram.c"
28711
4
    break;
28712
28713
309
  case 380:
28714
309
#line 2923 "gram.y"
28715
309
    { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
28716
309
#line 28717 "gram.c"
28717
309
    break;
28718
28719
0
  case 381:
28720
0
#line 2924 "gram.y"
28721
0
    { (yyval.node) = makeStringConst(pstrdup("true"), (yylsp[0])); }
28722
0
#line 28723 "gram.c"
28723
0
    break;
28724
28725
0
  case 382:
28726
0
#line 2925 "gram.y"
28727
0
    { (yyval.node) = makeStringConst(pstrdup("false"), (yylsp[0])); }
28728
0
#line 28729 "gram.c"
28729
0
    break;
28730
28731
2
  case 383:
28732
2
#line 2926 "gram.y"
28733
2
    { (yyval.node) = makeNullAConst((yylsp[0])); }
28734
2
#line 28735 "gram.c"
28735
2
    break;
28736
28737
51
  case 384:
28738
51
#line 2930 "gram.y"
28739
51
    { (yyval.list) = list_make1((yyvsp[0].node)); }
28740
51
#line 28741 "gram.c"
28741
51
    break;
28742
28743
33
  case 385:
28744
33
#line 2932 "gram.y"
28745
33
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
28746
33
#line 28747 "gram.c"
28747
33
    break;
28748
28749
211
  case 386:
28750
211
#line 2936 "gram.y"
28751
211
    { (yyval.list) = list_make1((yyvsp[0].node)); }
28752
211
#line 28753 "gram.c"
28753
211
    break;
28754
28755
24
  case 387:
28756
24
#line 2938 "gram.y"
28757
24
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
28758
24
#line 28759 "gram.c"
28759
24
    break;
28760
28761
2
  case 388:
28762
2
#line 2943 "gram.y"
28763
2
    {
28764
2
          PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
28765
28766
2
          n->kind = PARTITION_RANGE_DATUM_MINVALUE;
28767
2
          n->value = NULL;
28768
2
          n->location = (yylsp[0]);
28769
28770
2
          (yyval.node) = (Node *) n;
28771
2
        }
28772
2
#line 28773 "gram.c"
28773
2
    break;
28774
28775
2
  case 389:
28776
2
#line 2953 "gram.y"
28777
2
    {
28778
2
          PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
28779
28780
2
          n->kind = PARTITION_RANGE_DATUM_MAXVALUE;
28781
2
          n->value = NULL;
28782
2
          n->location = (yylsp[0]);
28783
28784
2
          (yyval.node) = (Node *) n;
28785
2
        }
28786
2
#line 28787 "gram.c"
28787
2
    break;
28788
28789
231
  case 390:
28790
231
#line 2963 "gram.y"
28791
231
    {
28792
231
          PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
28793
28794
231
          n->kind = PARTITION_RANGE_DATUM_VALUE;
28795
231
          n->value = (yyvsp[0].node);
28796
231
          n->location = (yylsp[0]);
28797
28798
231
          (yyval.node) = (Node *) n;
28799
231
        }
28800
231
#line 28801 "gram.c"
28801
231
    break;
28802
28803
0
  case 391:
28804
0
#line 2983 "gram.y"
28805
0
    {
28806
0
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER TYPE", 1893);
28807
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
28808
28809
          /* can't use qualified_name, sigh */
28810
0
          n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
28811
0
          n->cmds = (yyvsp[0].list);
28812
0
          n->relkind = OBJECT_TYPE;
28813
0
          (yyval.node) = (Node *)n;
28814
0
        }
28815
0
#line 28816 "gram.c"
28816
0
    break;
28817
28818
0
  case 392:
28819
0
#line 2996 "gram.y"
28820
0
    { (yyval.list) = list_make1((yyvsp[0].node)); }
28821
0
#line 28822 "gram.c"
28822
0
    break;
28823
28824
0
  case 393:
28825
0
#line 2997 "gram.y"
28826
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
28827
0
#line 28828 "gram.c"
28828
0
    break;
28829
28830
0
  case 394:
28831
0
#line 3003 "gram.y"
28832
0
    {
28833
0
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER TYPE ADD ATTRIBUTE", 1893);
28834
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28835
0
          n->subtype = AT_AddColumn;
28836
0
          n->def = (yyvsp[-1].node);
28837
0
          n->behavior = (yyvsp[0].dbehavior);
28838
0
          (yyval.node) = (Node *)n;
28839
0
        }
28840
0
#line 28841 "gram.c"
28841
0
    break;
28842
28843
0
  case 395:
28844
0
#line 3013 "gram.y"
28845
0
    {
28846
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER TYPE DROP ATTRIBUTE", 1893);
28847
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28848
0
          n->subtype = AT_DropColumn;
28849
0
          n->name = (yyvsp[-1].str);
28850
0
          n->behavior = (yyvsp[0].dbehavior);
28851
0
          n->missing_ok = true;
28852
0
          (yyval.node) = (Node *)n;
28853
0
        }
28854
0
#line 28855 "gram.c"
28855
0
    break;
28856
28857
0
  case 396:
28858
0
#line 3024 "gram.y"
28859
0
    {
28860
0
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER TYPE DROP ATTRIBUTE", 1893);
28861
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28862
0
          n->subtype = AT_DropColumn;
28863
0
          n->name = (yyvsp[-1].str);
28864
0
          n->behavior = (yyvsp[0].dbehavior);
28865
0
          n->missing_ok = false;
28866
0
          (yyval.node) = (Node *)n;
28867
0
        }
28868
0
#line 28869 "gram.c"
28869
0
    break;
28870
28871
0
  case 397:
28872
0
#line 3035 "gram.y"
28873
0
    {
28874
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER TYPE ALTER ATTRIBUTE", 1893);
28875
0
          AlterTableCmd *n = makeNode(AlterTableCmd);
28876
0
          ColumnDef *def = makeNode(ColumnDef);
28877
0
          n->subtype = AT_AlterColumnType;
28878
0
          n->name = (yyvsp[-5].str);
28879
0
          n->def = (Node *) def;
28880
0
          n->behavior = (yyvsp[0].dbehavior);
28881
          /* We only use these fields of the ColumnDef node */
28882
0
          def->typeName = (yyvsp[-2].typnam);
28883
0
          def->collClause = (CollateClause *) (yyvsp[-1].node);
28884
0
          def->raw_default = NULL;
28885
0
          def->location = (yylsp[-5]);
28886
0
          (yyval.node) = (Node *)n;
28887
0
        }
28888
0
#line 28889 "gram.c"
28889
0
    break;
28890
28891
2.90k
  case 398:
28892
2.90k
#line 3062 "gram.y"
28893
2.90k
    {
28894
2.90k
          ClosePortalStmt *n = makeNode(ClosePortalStmt);
28895
2.90k
          n->portalname = (yyvsp[0].str);
28896
2.90k
          (yyval.node) = (Node *)n;
28897
2.90k
        }
28898
2.90k
#line 28899 "gram.c"
28899
2.90k
    break;
28900
28901
0
  case 399:
28902
0
#line 3068 "gram.y"
28903
0
    {
28904
0
          ClosePortalStmt *n = makeNode(ClosePortalStmt);
28905
0
          n->portalname = NULL;
28906
0
          (yyval.node) = (Node *)n;
28907
0
        }
28908
0
#line 28909 "gram.c"
28909
0
    break;
28910
28911
226
  case 400:
28912
226
#line 3102 "gram.y"
28913
226
    {
28914
226
          CopyStmt *n = makeNode(CopyStmt);
28915
226
          n->relation = (yyvsp[-8].range);
28916
226
          n->query = NULL;
28917
226
          n->attlist = (yyvsp[-7].list);
28918
226
          n->is_from = (yyvsp[-5].boolean);
28919
226
          n->is_program = (yyvsp[-4].boolean);
28920
226
          n->filename = (yyvsp[-3].str);
28921
28922
226
          if (n->is_program && n->filename == NULL)
28923
226
            ereport(ERROR,
28924
226
                (errcode(ERRCODE_SYNTAX_ERROR),
28925
226
                 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
28926
226
                 parser_errposition((yylsp[-3]))));
28927
28928
226
          n->options = NIL;
28929
          /* Concatenate user-supplied flags */
28930
226
          if ((yyvsp[-9].defelt))
28931
0
            n->options = lappend(n->options, (yyvsp[-9].defelt));
28932
226
          if ((yyvsp[-6].defelt))
28933
0
            n->options = lappend(n->options, (yyvsp[-6].defelt));
28934
226
          if ((yyvsp[-2].defelt))
28935
0
            n->options = lappend(n->options, (yyvsp[-2].defelt));
28936
226
          if ((yyvsp[0].list))
28937
65
            n->options = list_concat(n->options, (yyvsp[0].list));
28938
226
          (yyval.node) = (Node *)n;
28939
226
        }
28940
226
#line 28941 "gram.c"
28941
226
    break;
28942
28943
37
  case 401:
28944
37
#line 3130 "gram.y"
28945
37
    {
28946
37
          CopyStmt *n = makeNode(CopyStmt);
28947
37
          n->relation = NULL;
28948
37
          n->query = (yyvsp[-6].node);
28949
37
          n->attlist = NIL;
28950
37
          n->is_from = false;
28951
37
          n->is_program = (yyvsp[-3].boolean);
28952
37
          n->filename = (yyvsp[-2].str);
28953
37
          n->options = (yyvsp[0].list);
28954
28955
37
          if (n->is_program && n->filename == NULL)
28956
37
            ereport(ERROR,
28957
37
                (errcode(ERRCODE_SYNTAX_ERROR),
28958
37
                 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
28959
37
                 parser_errposition((yylsp[-4]))));
28960
28961
37
          (yyval.node) = (Node *)n;
28962
37
        }
28963
37
#line 28964 "gram.c"
28964
37
    break;
28965
28966
193
  case 402:
28967
193
#line 3151 "gram.y"
28968
193
    { (yyval.boolean) = true; }
28969
193
#line 28970 "gram.c"
28970
193
    break;
28971
28972
33
  case 403:
28973
33
#line 3152 "gram.y"
28974
33
    { (yyval.boolean) = false; }
28975
33
#line 28976 "gram.c"
28976
33
    break;
28977
28978
18
  case 404:
28979
18
#line 3156 "gram.y"
28980
18
    { (yyval.boolean) = true; }
28981
18
#line 28982 "gram.c"
28982
18
    break;
28983
28984
245
  case 405:
28985
245
#line 3157 "gram.y"
28986
245
    { (yyval.boolean) = false; }
28987
245
#line 28988 "gram.c"
28988
245
    break;
28989
28990
122
  case 406:
28991
122
#line 3166 "gram.y"
28992
122
    { (yyval.str) = (yyvsp[0].str); }
28993
122
#line 28994 "gram.c"
28994
122
    break;
28995
28996
93
  case 407:
28997
93
#line 3167 "gram.y"
28998
93
    { (yyval.str) = NULL; }
28999
93
#line 29000 "gram.c"
29000
93
    break;
29001
29002
48
  case 408:
29003
48
#line 3168 "gram.y"
29004
48
    { (yyval.str) = NULL; }
29005
48
#line 29006 "gram.c"
29006
48
    break;
29007
29008
223
  case 409:
29009
223
#line 3171 "gram.y"
29010
223
    { (yyval.list) = (yyvsp[0].list); }
29011
223
#line 29012 "gram.c"
29012
223
    break;
29013
29014
40
  case 410:
29015
40
#line 3172 "gram.y"
29016
40
    { (yyval.list) = (yyvsp[-1].list); }
29017
40
#line 29018 "gram.c"
29018
40
    break;
29019
29020
46
  case 411:
29021
46
#line 3177 "gram.y"
29022
46
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
29023
46
#line 29024 "gram.c"
29024
46
    break;
29025
29026
223
  case 412:
29027
223
#line 3178 "gram.y"
29028
223
    { (yyval.list) = NIL; }
29029
223
#line 29030 "gram.c"
29030
223
    break;
29031
29032
0
  case 413:
29033
0
#line 3183 "gram.y"
29034
0
    {
29035
0
          (yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
29036
0
        }
29037
0
#line 29038 "gram.c"
29038
0
    break;
29039
29040
0
  case 414:
29041
0
#line 3187 "gram.y"
29042
0
    {
29043
0
          (yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(true), (yylsp[0]));
29044
0
        }
29045
0
#line 29046 "gram.c"
29046
0
    break;
29047
29048
0
  case 415:
29049
0
#line 3191 "gram.y"
29050
0
    {
29051
0
          (yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(true), (yylsp[0]));
29052
0
        }
29053
0
#line 29054 "gram.c"
29054
0
    break;
29055
29056
38
  case 416:
29057
38
#line 3195 "gram.y"
29058
38
    {
29059
38
          (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29060
38
        }
29061
38
#line 29062 "gram.c"
29062
38
    break;
29063
29064
4
  case 417:
29065
4
#line 3199 "gram.y"
29066
4
    {
29067
4
          (yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29068
4
        }
29069
4
#line 29070 "gram.c"
29070
4
    break;
29071
29072
2
  case 418:
29073
2
#line 3203 "gram.y"
29074
2
    {
29075
2
          (yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
29076
2
        }
29077
2
#line 29078 "gram.c"
29078
2
    break;
29079
29080
2
  case 419:
29081
2
#line 3207 "gram.y"
29082
2
    {
29083
2
          (yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[0]));
29084
2
        }
29085
2
#line 29086 "gram.c"
29086
2
    break;
29087
29088
0
  case 420:
29089
0
#line 3211 "gram.y"
29090
0
    {
29091
0
          (yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29092
0
        }
29093
0
#line 29094 "gram.c"
29094
0
    break;
29095
29096
0
  case 421:
29097
0
#line 3215 "gram.y"
29098
0
    {
29099
0
          (yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29100
0
        }
29101
0
#line 29102 "gram.c"
29102
0
    break;
29103
29104
0
  case 422:
29105
0
#line 3219 "gram.y"
29106
0
    {
29107
0
          (yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
29108
0
        }
29109
0
#line 29110 "gram.c"
29110
0
    break;
29111
29112
0
  case 423:
29113
0
#line 3223 "gram.y"
29114
0
    {
29115
0
          (yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
29116
0
        }
29117
0
#line 29118 "gram.c"
29118
0
    break;
29119
29120
0
  case 424:
29121
0
#line 3227 "gram.y"
29122
0
    {
29123
0
          (yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list), (yylsp[-3]));
29124
0
        }
29125
0
#line 29126 "gram.c"
29126
0
    break;
29127
29128
0
  case 425:
29129
0
#line 3231 "gram.y"
29130
0
    {
29131
0
          (yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list), (yylsp[-2]));
29132
0
        }
29133
0
#line 29134 "gram.c"
29134
0
    break;
29135
29136
0
  case 426:
29137
0
#line 3235 "gram.y"
29138
0
    {
29139
0
          (yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
29140
0
        }
29141
0
#line 29142 "gram.c"
29142
0
    break;
29143
29144
0
  case 427:
29145
0
#line 3244 "gram.y"
29146
0
    {
29147
0
          (yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
29148
0
        }
29149
0
#line 29150 "gram.c"
29150
0
    break;
29151
29152
226
  case 428:
29153
226
#line 3247 "gram.y"
29154
226
    { (yyval.defelt) = NULL; }
29155
226
#line 29156 "gram.c"
29156
226
    break;
29157
29158
0
  case 429:
29159
0
#line 3252 "gram.y"
29160
0
    {
29161
0
          (yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(true), (yylsp[-1]));
29162
0
        }
29163
0
#line 29164 "gram.c"
29164
0
    break;
29165
29166
226
  case 430:
29167
226
#line 3255 "gram.y"
29168
226
    { (yyval.defelt) = NULL; }
29169
226
#line 29170 "gram.c"
29170
226
    break;
29171
29172
0
  case 431:
29173
0
#line 3260 "gram.y"
29174
0
    {
29175
0
          (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
29176
0
        }
29177
0
#line 29178 "gram.c"
29178
0
    break;
29179
29180
226
  case 432:
29181
226
#line 3263 "gram.y"
29182
226
    { (yyval.defelt) = NULL; }
29183
226
#line 29184 "gram.c"
29184
226
    break;
29185
29186
0
  case 433:
29187
0
#line 3267 "gram.y"
29188
0
    {}
29189
0
#line 29190 "gram.c"
29190
0
    break;
29191
29192
0
  case 434:
29193
0
#line 3268 "gram.y"
29194
0
    {}
29195
0
#line 29196 "gram.c"
29196
0
    break;
29197
29198
40
  case 435:
29199
40
#line 3274 "gram.y"
29200
40
    {
29201
40
          (yyval.list) = list_make1((yyvsp[0].defelt));
29202
40
        }
29203
40
#line 29204 "gram.c"
29204
40
    break;
29205
29206
70
  case 436:
29207
70
#line 3278 "gram.y"
29208
70
    {
29209
70
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
29210
70
        }
29211
70
#line 29212 "gram.c"
29212
70
    break;
29213
29214
110
  case 437:
29215
110
#line 3285 "gram.y"
29216
110
    {
29217
110
          (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
29218
110
        }
29219
110
#line 29220 "gram.c"
29220
110
    break;
29221
29222
45
  case 438:
29223
45
#line 3291 "gram.y"
29224
45
    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
29225
45
#line 29226 "gram.c"
29226
45
    break;
29227
29228
30
  case 439:
29229
30
#line 3292 "gram.y"
29230
30
    { (yyval.node) = (Node *) (yyvsp[0].value); }
29231
30
#line 29232 "gram.c"
29232
30
    break;
29233
29234
0
  case 440:
29235
0
#line 3293 "gram.y"
29236
0
    { (yyval.node) = (Node *) makeNode(A_Star); }
29237
0
#line 29238 "gram.c"
29238
0
    break;
29239
29240
0
  case 441:
29241
0
#line 3294 "gram.y"
29242
0
    { (yyval.node) = (Node *) (yyvsp[-1].list); }
29243
0
#line 29244 "gram.c"
29244
0
    break;
29245
29246
35
  case 442:
29247
35
#line 3295 "gram.y"
29248
35
    { (yyval.node) = NULL; }
29249
35
#line 29250 "gram.c"
29250
35
    break;
29251
29252
0
  case 443:
29253
0
#line 3300 "gram.y"
29254
0
    {
29255
0
          (yyval.list) = list_make1((yyvsp[0].node));
29256
0
        }
29257
0
#line 29258 "gram.c"
29258
0
    break;
29259
29260
0
  case 444:
29261
0
#line 3304 "gram.y"
29262
0
    {
29263
0
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29264
0
        }
29265
0
#line 29266 "gram.c"
29266
0
    break;
29267
29268
0
  case 445:
29269
0
#line 3311 "gram.y"
29270
0
    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
29271
0
#line 29272 "gram.c"
29272
0
    break;
29273
29274
1.71k
  case 446:
29275
1.71k
#line 3325 "gram.y"
29276
1.71k
    {
29277
1.71k
          CreateStmt *n = makeNode(CreateStmt);
29278
1.71k
          (yyvsp[-10].range)->relpersistence = (yyvsp[-12].ival);
29279
1.71k
          n->relation = (yyvsp[-10].range);
29280
1.71k
          n->tableElts = (yyvsp[-8].list);
29281
1.71k
          n->inhRelations = (yyvsp[-6].list);
29282
1.71k
          n->partspec = (yyvsp[-5].partspec);
29283
1.71k
          n->ofTypename = NULL;
29284
1.71k
          n->constraints = NIL;
29285
1.71k
          n->options = (yyvsp[-4].list);
29286
1.71k
          n->oncommit = (yyvsp[-3].oncommit);
29287
1.71k
          n->tablespacename = (yyvsp[-2].str);
29288
1.71k
          n->if_not_exists = false;
29289
1.71k
          n->split_options = (yyvsp[-1].splitopt);
29290
1.71k
          n->tablegroup = (yyvsp[0].grpopt);
29291
1.71k
          if ((yyvsp[-1].splitopt) && (yyvsp[-12].ival) == RELPERSISTENCE_TEMP)
29292
0
          {
29293
0
            ereport(WARNING, (errmsg("Split options on TEMP table will be ignored")));
29294
0
          }
29295
1.71k
          if ((yyvsp[0].grpopt) && (yyvsp[-12].ival) == RELPERSISTENCE_TEMP)
29296
0
          {
29297
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29298
0
                    errmsg("Cannot use TABLEGROUP with TEMP table.")));
29299
0
          }
29300
1.71k
          if ((yyvsp[-2].str) && (yyvsp[0].grpopt))
29301
0
          {
29302
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29303
0
                    errmsg("Cannot use TABLEGROUP with TABLESPACE."),
29304
0
                    errdetail("The tablespace of the tablegroup will be used.")));
29305
0
          }
29306
1.71k
          if ((yyvsp[-1].splitopt) && (yyvsp[0].grpopt))
29307
0
          {
29308
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29309
0
                    errmsg("Cannot use TABLEGROUP with SPLIT.")));
29310
0
          }
29311
1.71k
          (yyval.node) = (Node *)n;
29312
1.71k
        }
29313
1.71k
#line 29314 "gram.c"
29314
1.71k
    break;
29315
29316
9
  case 447:
29317
9
#line 3365 "gram.y"
29318
9
    {
29319
9
          CreateStmt *n = makeNode(CreateStmt);
29320
9
          (yyvsp[-10].range)->relpersistence = (yyvsp[-15].ival);
29321
9
          n->relation = (yyvsp[-10].range);
29322
9
          n->tableElts = (yyvsp[-8].list);
29323
9
          n->inhRelations = (yyvsp[-6].list);
29324
9
          n->partspec = (yyvsp[-5].partspec);
29325
9
          n->ofTypename = NULL;
29326
9
          n->constraints = NIL;
29327
9
          n->options = (yyvsp[-4].list);
29328
9
          n->oncommit = (yyvsp[-3].oncommit);
29329
9
          n->tablespacename = (yyvsp[-2].str);
29330
9
          n->if_not_exists = true;
29331
9
          n->split_options = (yyvsp[-1].splitopt);
29332
9
          n->tablegroup = (yyvsp[0].grpopt);
29333
9
          if ((yyvsp[-1].splitopt) && (yyvsp[-15].ival) == RELPERSISTENCE_TEMP)
29334
0
          {
29335
0
            ereport(WARNING, (errmsg("Split options on TEMP table will be ignored")));
29336
0
          }
29337
9
          if ((yyvsp[0].grpopt) && (yyvsp[-15].ival) == RELPERSISTENCE_TEMP)
29338
0
          {
29339
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29340
0
                    errmsg("Cannot use TABLEGROUP with TEMP table.")));
29341
0
          }
29342
9
          if ((yyvsp[-2].str) && (yyvsp[0].grpopt))
29343
0
          {
29344
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29345
0
                    errmsg("Cannot use TABLEGROUP with TABLESPACE."),
29346
0
                    errdetail("The tablespace of the tablegroup will be used.")));
29347
0
          }
29348
9
          if ((yyvsp[-1].splitopt) && (yyvsp[0].grpopt))
29349
0
          {
29350
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29351
0
                    errmsg("Cannot use TABLEGROUP with SPLIT.")));
29352
0
          }
29353
9
          (yyval.node) = (Node *)n;
29354
9
        }
29355
9
#line 29356 "gram.c"
29356
9
    break;
29357
29358
6
  case 448:
29359
6
#line 3405 "gram.y"
29360
6
    {
29361
6
          CreateStmt *n = makeNode(CreateStmt);
29362
6
          (yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
29363
6
          n->relation = (yyvsp[-9].range);
29364
6
          n->tableElts = (yyvsp[-6].list);
29365
6
          n->inhRelations = NIL;
29366
6
          n->partspec = (yyvsp[-5].partspec);
29367
6
          n->ofTypename = makeTypeNameFromNameList((yyvsp[-7].list));
29368
6
          n->ofTypename->location = (yylsp[-7]);
29369
6
          n->constraints = NIL;
29370
6
          n->options = (yyvsp[-4].list);
29371
6
          n->oncommit = (yyvsp[-3].oncommit);
29372
6
          n->tablespacename = (yyvsp[-2].str);
29373
6
          n->if_not_exists = false;
29374
6
          n->split_options = (yyvsp[-1].splitopt);
29375
6
          n->tablegroup = (yyvsp[0].grpopt);
29376
6
          if ((yyvsp[-1].splitopt) && (yyvsp[-11].ival) == RELPERSISTENCE_TEMP)
29377
0
          {
29378
0
            ereport(WARNING, (errmsg("Split options on TEMP table will be ignored")));
29379
0
          }
29380
6
          if ((yyvsp[0].grpopt) && (yyvsp[-11].ival) == RELPERSISTENCE_TEMP)
29381
0
          {
29382
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29383
0
                    errmsg("Cannot use TABLEGROUP with TEMP table.")));
29384
0
          }
29385
6
          if ((yyvsp[-2].str) && (yyvsp[0].grpopt))
29386
0
          {
29387
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29388
0
                    errmsg("Cannot use TABLEGROUP with TABLESPACE."),
29389
0
                    errdetail("The tablespace of the tablegroup will be used.")));
29390
0
          }
29391
6
          if ((yyvsp[-1].splitopt) && (yyvsp[0].grpopt))
29392
0
          {
29393
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29394
0
                    errmsg("Cannot use TABLEGROUP with SPLIT.")));
29395
0
          }
29396
6
          (yyval.node) = (Node *)n;
29397
6
        }
29398
6
#line 29399 "gram.c"
29399
6
    break;
29400
29401
0
  case 449:
29402
0
#line 3446 "gram.y"
29403
0
    {
29404
0
          CreateStmt *n = makeNode(CreateStmt);
29405
0
          (yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
29406
0
          n->relation = (yyvsp[-9].range);
29407
0
          n->tableElts = (yyvsp[-6].list);
29408
0
          n->inhRelations = NIL;
29409
0
          n->partspec = (yyvsp[-5].partspec);
29410
0
          n->ofTypename = makeTypeNameFromNameList((yyvsp[-7].list));
29411
0
          n->ofTypename->location = (yylsp[-7]);
29412
0
          n->constraints = NIL;
29413
0
          n->options = (yyvsp[-4].list);
29414
0
          n->oncommit = (yyvsp[-3].oncommit);
29415
0
          n->tablespacename = (yyvsp[-2].str);
29416
0
          n->if_not_exists = true;
29417
0
          n->split_options = (yyvsp[-1].splitopt);
29418
0
          n->tablegroup = (yyvsp[0].grpopt);
29419
0
          if ((yyvsp[-1].splitopt) && (yyvsp[-14].ival) == RELPERSISTENCE_TEMP)
29420
0
          {
29421
0
            ereport(WARNING, (errmsg("Split options on TEMP table will be ignored")));
29422
0
          }
29423
0
          if ((yyvsp[0].grpopt) && (yyvsp[-14].ival) == RELPERSISTENCE_TEMP)
29424
0
          {
29425
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29426
0
                    errmsg("Cannot use TABLEGROUP with TEMP table.")));
29427
0
          }
29428
0
          if ((yyvsp[-2].str) && (yyvsp[0].grpopt))
29429
0
          {
29430
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29431
0
                    errmsg("Cannot use TABLEGROUP with TABLESPACE."),
29432
0
                    errdetail("The tablespace of the tablegroup will be used.")));
29433
0
          }
29434
0
          if ((yyvsp[-1].splitopt) && (yyvsp[0].grpopt))
29435
0
          {
29436
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29437
0
                    errmsg("Cannot use TABLEGROUP with SPLIT.")));
29438
0
          }
29439
0
          (yyval.node) = (Node *)n;
29440
0
        }
29441
0
#line 29442 "gram.c"
29442
0
    break;
29443
29444
98
  case 450:
29445
98
#line 3487 "gram.y"
29446
98
    {
29447
98
          CreateStmt *n = makeNode(CreateStmt);
29448
98
          (yyvsp[-11].range)->relpersistence = (yyvsp[-13].ival);
29449
98
          n->relation = (yyvsp[-11].range);
29450
98
          n->tableElts = (yyvsp[-7].list);
29451
98
          n->inhRelations = list_make1((yyvsp[-8].range));
29452
98
          n->partbound = (yyvsp[-6].partboundspec);
29453
98
          n->partspec = (yyvsp[-5].partspec);
29454
98
          n->ofTypename = NULL;
29455
98
          n->constraints = NIL;
29456
98
          n->options = (yyvsp[-4].list);
29457
98
          n->oncommit = (yyvsp[-3].oncommit);
29458
98
          n->tablespacename = (yyvsp[-2].str);
29459
98
          n->if_not_exists = false;
29460
98
          n->split_options = (yyvsp[-1].splitopt);
29461
98
          n->tablegroup = (yyvsp[0].grpopt);
29462
98
          if ((yyvsp[-1].splitopt) && (yyvsp[-13].ival) == RELPERSISTENCE_TEMP)
29463
0
          {
29464
0
            ereport(WARNING, (errmsg("Split options on TEMP table will be ignored")));
29465
0
          }
29466
98
          if ((yyvsp[0].grpopt) && (yyvsp[-13].ival) == RELPERSISTENCE_TEMP)
29467
0
          {
29468
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29469
0
                    errmsg("Cannot use TABLEGROUP with TEMP table.")));
29470
0
          }
29471
98
          if ((yyvsp[-2].str) && (yyvsp[0].grpopt))
29472
0
          {
29473
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29474
0
                    errmsg("Cannot use TABLEGROUP with TABLESPACE."),
29475
0
                    errdetail("The tablespace of the tablegroup will be used.")));
29476
0
          }
29477
98
          if ((yyvsp[-1].splitopt) && (yyvsp[0].grpopt))
29478
0
          {
29479
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29480
0
                    errmsg("Cannot use TABLEGROUP with SPLIT.")));
29481
0
          }
29482
98
          (yyval.node) = (Node *)n;
29483
98
        }
29484
98
#line 29485 "gram.c"
29485
98
    break;
29486
29487
0
  case 451:
29488
0
#line 3528 "gram.y"
29489
0
    {
29490
0
          CreateStmt *n = makeNode(CreateStmt);
29491
0
          (yyvsp[-11].range)->relpersistence = (yyvsp[-16].ival);
29492
0
          n->relation = (yyvsp[-11].range);
29493
0
          n->tableElts = (yyvsp[-7].list);
29494
0
          n->inhRelations = list_make1((yyvsp[-8].range));
29495
0
          n->partbound = (yyvsp[-6].partboundspec);
29496
0
          n->partspec = (yyvsp[-5].partspec);
29497
0
          n->ofTypename = NULL;
29498
0
          n->constraints = NIL;
29499
0
          n->options = (yyvsp[-4].list);
29500
0
          n->oncommit = (yyvsp[-3].oncommit);
29501
0
          n->tablespacename = (yyvsp[-2].str);
29502
0
          n->if_not_exists = true;
29503
0
          n->split_options = (yyvsp[-1].splitopt);
29504
0
          n->tablegroup = (yyvsp[0].grpopt);
29505
0
          if ((yyvsp[-1].splitopt) && (yyvsp[-16].ival) == RELPERSISTENCE_TEMP)
29506
0
          {
29507
0
            ereport(WARNING, (errmsg("Split options on TEMP table will be ignored")));
29508
0
          }
29509
0
          if ((yyvsp[0].grpopt) && (yyvsp[-16].ival) == RELPERSISTENCE_TEMP)
29510
0
          {
29511
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29512
0
                    errmsg("Cannot use TABLEGROUP with TEMP table.")));
29513
0
          }
29514
0
          if ((yyvsp[-2].str) && (yyvsp[0].grpopt))
29515
0
          {
29516
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29517
0
                    errmsg("Cannot use TABLEGROUP with TABLESPACE."),
29518
0
                    errdetail("The tablespace of the tablegroup will be used.")));
29519
0
          }
29520
0
          if ((yyvsp[-1].splitopt) && (yyvsp[0].grpopt))
29521
0
          {
29522
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29523
0
                    errmsg("Cannot use TABLEGROUP with SPLIT.")));
29524
0
          }
29525
0
          (yyval.node) = (Node *)n;
29526
0
        }
29527
0
#line 29528 "gram.c"
29528
0
    break;
29529
29530
5
  case 452:
29531
5
#line 3579 "gram.y"
29532
5
    { (yyval.ival) = RELPERSISTENCE_TEMP; }
29533
5
#line 29534 "gram.c"
29534
5
    break;
29535
29536
85
  case 453:
29537
85
#line 3580 "gram.y"
29538
85
    { (yyval.ival) = RELPERSISTENCE_TEMP; }
29539
85
#line 29540 "gram.c"
29540
85
    break;
29541
29542
0
  case 454:
29543
0
#line 3581 "gram.y"
29544
0
    { (yyval.ival) = RELPERSISTENCE_TEMP; }
29545
0
#line 29546 "gram.c"
29546
0
    break;
29547
29548
0
  case 455:
29549
0
#line 3582 "gram.y"
29550
0
    { (yyval.ival) = RELPERSISTENCE_TEMP; }
29551
0
#line 29552 "gram.c"
29552
0
    break;
29553
29554
0
  case 456:
29555
0
#line 3584 "gram.y"
29556
0
    {
29557
0
          ereport(WARNING,
29558
0
              (errmsg("GLOBAL is deprecated in temporary table creation"),
29559
0
               parser_errposition((yylsp[-1]))));
29560
0
          (yyval.ival) = RELPERSISTENCE_TEMP;
29561
0
        }
29562
0
#line 29563 "gram.c"
29563
0
    break;
29564
29565
0
  case 457:
29566
0
#line 3591 "gram.y"
29567
0
    {
29568
0
          ereport(WARNING,
29569
0
              (errmsg("GLOBAL is deprecated in temporary table creation"),
29570
0
               parser_errposition((yylsp[-1]))));
29571
0
          (yyval.ival) = RELPERSISTENCE_TEMP;
29572
0
        }
29573
0
#line 29574 "gram.c"
29574
0
    break;
29575
29576
0
  case 458:
29577
0
#line 3598 "gram.y"
29578
0
    {
29579
0
          parser_ybc_signal_unsupported((yylsp[0]), "UNLOGGED database object", 1129);
29580
0
          (yyval.ival) = RELPERSISTENCE_UNLOGGED;
29581
0
        }
29582
0
#line 29583 "gram.c"
29583
0
    break;
29584
29585
1.93k
  case 459:
29586
1.93k
#line 3602 "gram.y"
29587
1.93k
    { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
29588
1.93k
#line 29589 "gram.c"
29589
1.93k
    break;
29590
29591
1.81k
  case 460:
29592
1.81k
#line 3606 "gram.y"
29593
1.81k
    { (yyval.list) = (yyvsp[0].list); }
29594
1.81k
#line 29595 "gram.c"
29595
1.81k
    break;
29596
29597
84
  case 461:
29598
84
#line 3607 "gram.y"
29599
84
    { (yyval.list) = NIL; }
29600
84
#line 29601 "gram.c"
29601
84
    break;
29602
29603
4
  case 462:
29604
4
#line 3611 "gram.y"
29605
4
    { (yyval.list) = (yyvsp[-1].list); }
29606
4
#line 29607 "gram.c"
29607
4
    break;
29608
29609
114
  case 463:
29610
114
#line 3612 "gram.y"
29611
114
    { (yyval.list) = NIL; }
29612
114
#line 29613 "gram.c"
29613
114
    break;
29614
29615
1.81k
  case 464:
29616
1.81k
#line 3617 "gram.y"
29617
1.81k
    {
29618
1.81k
          (yyval.list) = list_make1((yyvsp[0].node));
29619
1.81k
        }
29620
1.81k
#line 29621 "gram.c"
29621
1.81k
    break;
29622
29623
2.67k
  case 465:
29624
2.67k
#line 3621 "gram.y"
29625
2.67k
    {
29626
2.67k
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29627
2.67k
        }
29628
2.67k
#line 29629 "gram.c"
29629
2.67k
    break;
29630
29631
4
  case 466:
29632
4
#line 3628 "gram.y"
29633
4
    {
29634
4
          (yyval.list) = list_make1((yyvsp[0].node));
29635
4
        }
29636
4
#line 29637 "gram.c"
29637
4
    break;
29638
29639
0
  case 467:
29640
0
#line 3632 "gram.y"
29641
0
    {
29642
0
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29643
0
        }
29644
0
#line 29645 "gram.c"
29645
0
    break;
29646
29647
4.16k
  case 468:
29648
4.16k
#line 3638 "gram.y"
29649
4.16k
    { (yyval.node) = (yyvsp[0].node); }
29650
4.16k
#line 29651 "gram.c"
29651
4.16k
    break;
29652
29653
0
  case 469:
29654
0
#line 3639 "gram.y"
29655
0
    { (yyval.node) = (yyvsp[0].node); }
29656
0
#line 29657 "gram.c"
29657
0
    break;
29658
29659
326
  case 470:
29660
326
#line 3640 "gram.y"
29661
326
    { (yyval.node) = (yyvsp[0].node); }
29662
326
#line 29663 "gram.c"
29663
326
    break;
29664
29665
0
  case 471:
29666
0
#line 3644 "gram.y"
29667
0
    { (yyval.node) = (yyvsp[0].node); }
29668
0
#line 29669 "gram.c"
29669
0
    break;
29670
29671
4
  case 472:
29672
4
#line 3645 "gram.y"
29673
4
    { (yyval.node) = (yyvsp[0].node); }
29674
4
#line 29675 "gram.c"
29675
4
    break;
29676
29677
4.29k
  case 473:
29678
4.29k
#line 3649 "gram.y"
29679
4.29k
    {
29680
4.29k
          ColumnDef *n = makeNode(ColumnDef);
29681
4.29k
          n->colname = (yyvsp[-3].str);
29682
4.29k
          n->typeName = (yyvsp[-2].typnam);
29683
4.29k
          n->inhcount = 0;
29684
4.29k
          n->is_local = true;
29685
4.29k
          n->is_not_null = false;
29686
4.29k
          n->is_from_type = false;
29687
4.29k
          n->storage = 0;
29688
4.29k
          n->raw_default = NULL;
29689
4.29k
          n->cooked_default = NULL;
29690
4.29k
          n->collOid = InvalidOid;
29691
4.29k
          n->fdwoptions = (yyvsp[-1].list);
29692
4.29k
          SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29693
4.29k
                   yyscanner);
29694
4.29k
          n->location = (yylsp[-3]);
29695
4.29k
          (yyval.node) = (Node *)n;
29696
4.29k
        }
29697
4.29k
#line 29698 "gram.c"
29698
4.29k
    break;
29699
29700
0
  case 474:
29701
0
#line 3670 "gram.y"
29702
0
    {
29703
0
          ColumnDef *n = makeNode(ColumnDef);
29704
0
          n->colname = (yyvsp[-1].str);
29705
0
          n->typeName = NULL;
29706
0
          n->inhcount = 0;
29707
0
          n->is_local = true;
29708
0
          n->is_not_null = false;
29709
0
          n->is_from_type = false;
29710
0
          n->storage = 0;
29711
0
          n->raw_default = NULL;
29712
0
          n->cooked_default = NULL;
29713
0
          n->collOid = InvalidOid;
29714
0
          SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29715
0
                   yyscanner);
29716
0
          n->location = (yylsp[-1]);
29717
0
          (yyval.node) = (Node *)n;
29718
0
        }
29719
0
#line 29720 "gram.c"
29720
0
    break;
29721
29722
0
  case 475:
29723
0
#line 3688 "gram.y"
29724
0
    {
29725
0
          ColumnDef *n = makeNode(ColumnDef);
29726
0
          n->colname = (yyvsp[-3].str);
29727
0
          n->typeName = NULL;
29728
0
          n->inhcount = 0;
29729
0
          n->is_local = true;
29730
0
          n->is_not_null = false;
29731
0
          n->is_from_type = false;
29732
0
          n->storage = 0;
29733
0
          n->raw_default = NULL;
29734
0
          n->cooked_default = NULL;
29735
0
          n->collOid = InvalidOid;
29736
0
          SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29737
0
                   yyscanner);
29738
0
          n->location = (yylsp[-3]);
29739
0
          (yyval.node) = (Node *)n;
29740
0
        }
29741
0
#line 29742 "gram.c"
29742
0
    break;
29743
29744
1.58k
  case 476:
29745
1.58k
#line 3708 "gram.y"
29746
1.58k
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
29747
1.58k
#line 29748 "gram.c"
29748
1.58k
    break;
29749
29750
4.31k
  case 477:
29751
4.31k
#line 3709 "gram.y"
29752
4.31k
    { (yyval.list) = NIL; }
29753
4.31k
#line 29754 "gram.c"
29754
4.31k
    break;
29755
29756
5
  case 478:
29757
5
#line 3714 "gram.y"
29758
5
    {
29759
5
          Constraint *n = castNode(Constraint, (yyvsp[0].node));
29760
5
          n->conname = (yyvsp[-1].str);
29761
5
          n->location = (yylsp[-2]);
29762
5
          (yyval.node) = (Node *) n;
29763
5
        }
29764
5
#line 29765 "gram.c"
29765
5
    break;
29766
29767
1.48k
  case 479:
29768
1.48k
#line 3720 "gram.y"
29769
1.48k
    { (yyval.node) = (yyvsp[0].node); }
29770
1.48k
#line 29771 "gram.c"
29771
1.48k
    break;
29772
29773
68
  case 480:
29774
68
#line 3721 "gram.y"
29775
68
    { (yyval.node) = (yyvsp[0].node); }
29776
68
#line 29777 "gram.c"
29777
68
    break;
29778
29779
29
  case 481:
29780
29
#line 3723 "gram.y"
29781
29
    {
29782
29
          if (!YBIsCollationEnabled())
29783
0
            parser_ybc_signal_unsupported((yylsp[-1]), "COLLATE", 1127);
29784
          /*
29785
           * Note: the CollateClause is momentarily included in
29786
           * the list built by ColQualList, but we split it out
29787
           * again in SplitColQualList.
29788
           */
29789
29
          CollateClause *n = makeNode(CollateClause);
29790
29
          n->arg = NULL;
29791
29
          n->collname = (yyvsp[0].list);
29792
29
          n->location = (yylsp[-1]);
29793
29
          (yyval.node) = (Node *) n;
29794
29
        }
29795
29
#line 29796 "gram.c"
29796
29
    break;
29797
29798
332
  case 482:
29799
332
#line 3756 "gram.y"
29800
332
    {
29801
332
          Constraint *n = makeNode(Constraint);
29802
332
          n->contype = CONSTR_NOTNULL;
29803
332
          n->location = (yylsp[-1]);
29804
332
          (yyval.node) = (Node *)n;
29805
332
        }
29806
332
#line 29807 "gram.c"
29807
332
    break;
29808
29809
3
  case 483:
29810
3
#line 3763 "gram.y"
29811
3
    {
29812
3
          Constraint *n = makeNode(Constraint);
29813
3
          n->contype = CONSTR_NULL;
29814
3
          n->location = (yylsp[0]);
29815
3
          (yyval.node) = (Node *)n;
29816
3
        }
29817
3
#line 29818 "gram.c"
29818
3
    break;
29819
29820
85
  case 484:
29821
85
#line 3770 "gram.y"
29822
85
    {
29823
85
          Constraint *n = makeNode(Constraint);
29824
85
          n->contype = CONSTR_UNIQUE;
29825
85
          n->location = (yylsp[-2]);
29826
85
          n->keys = NULL;
29827
85
          n->options = (yyvsp[-1].list);
29828
85
          n->indexname = NULL;
29829
85
          n->indexspace = (yyvsp[0].str);
29830
85
          (yyval.node) = (Node *)n;
29831
85
        }
29832
85
#line 29833 "gram.c"
29833
85
    break;
29834
29835
691
  case 485:
29836
691
#line 3781 "gram.y"
29837
691
    {
29838
691
          if ((yyvsp[0].str))
29839
0
          {
29840
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29841
0
                errmsg("Cannot set TABLESPACE for PRIMARY KEY INDEX."),
29842
0
                errdetail("The tablespace of the indexed table will be used.")));
29843
0
          }
29844
691
          Constraint *n = makeNode(Constraint);
29845
691
          n->contype = CONSTR_PRIMARY;
29846
691
          n->location = (yylsp[-3]);
29847
691
          n->keys = NULL;
29848
691
          n->options = (yyvsp[-1].list);
29849
691
          n->indexname = NULL;
29850
691
          n->indexspace = (yyvsp[0].str);
29851
691
          (yyval.node) = (Node *)n;
29852
691
        }
29853
691
#line 29854 "gram.c"
29854
691
    break;
29855
29856
53
  case 486:
29857
53
#line 3798 "gram.y"
29858
53
    {
29859
53
          Constraint *n = makeNode(Constraint);
29860
53
          n->contype = CONSTR_CHECK;
29861
53
          n->location = (yylsp[-4]);
29862
53
          n->is_no_inherit = (yyvsp[0].boolean);
29863
53
          n->raw_expr = (yyvsp[-2].node);
29864
53
          n->cooked_expr = NULL;
29865
53
          n->skip_validation = false;
29866
53
          n->initially_valid = true;
29867
53
          (yyval.node) = (Node *)n;
29868
53
        }
29869
53
#line 29870 "gram.c"
29870
53
    break;
29871
29872
109
  case 487:
29873
109
#line 3810 "gram.y"
29874
109
    {
29875
109
          Constraint *n = makeNode(Constraint);
29876
109
          n->contype = CONSTR_DEFAULT;
29877
109
          n->location = (yylsp[-1]);
29878
109
          n->raw_expr = (yyvsp[0].node);
29879
109
          n->cooked_expr = NULL;
29880
109
          (yyval.node) = (Node *)n;
29881
109
        }
29882
109
#line 29883 "gram.c"
29883
109
    break;
29884
29885
4
  case 488:
29886
4
#line 3819 "gram.y"
29887
4
    {
29888
4
          Constraint *n = makeNode(Constraint);
29889
4
          n->contype = CONSTR_IDENTITY;
29890
4
          n->generated_when = (yyvsp[-3].ival);
29891
4
          n->options = (yyvsp[0].list);
29892
4
          n->location = (yylsp[-4]);
29893
4
          (yyval.node) = (Node *)n;
29894
4
        }
29895
4
#line 29896 "gram.c"
29896
4
    break;
29897
29898
213
  case 489:
29899
213
#line 3828 "gram.y"
29900
213
    {
29901
213
          Constraint *n = makeNode(Constraint);
29902
213
          n->contype = CONSTR_FOREIGN;
29903
213
          n->location = (yylsp[-4]);
29904
213
          n->pktable      = (yyvsp[-3].range);
29905
213
          n->fk_attrs     = NIL;
29906
213
          n->pk_attrs     = (yyvsp[-2].list);
29907
213
          n->fk_matchtype   = (yyvsp[-1].ival);
29908
213
          n->fk_upd_action  = (char) ((yyvsp[0].ival) >> 8);
29909
213
          n->fk_del_action  = (char) ((yyvsp[0].ival) & 0xFF);
29910
213
          n->skip_validation  = false;
29911
213
          n->initially_valid  = true;
29912
213
          (yyval.node) = (Node *)n;
29913
213
        }
29914
213
#line 29915 "gram.c"
29915
213
    break;
29916
29917
3
  case 490:
29918
3
#line 3845 "gram.y"
29919
3
    { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
29920
3
#line 29921 "gram.c"
29921
3
    break;
29922
29923
1
  case 491:
29924
1
#line 3846 "gram.y"
29925
1
    { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
29926
1
#line 29927 "gram.c"
29927
1
    break;
29928
29929
27
  case 492:
29930
27
#line 3866 "gram.y"
29931
27
    {
29932
27
          Constraint *n = makeNode(Constraint);
29933
27
          n->contype = CONSTR_ATTR_DEFERRABLE;
29934
27
          n->location = (yylsp[0]);
29935
27
          (yyval.node) = (Node *)n;
29936
27
        }
29937
27
#line 29938 "gram.c"
29938
27
    break;
29939
29940
0
  case 493:
29941
0
#line 3873 "gram.y"
29942
0
    {
29943
0
          Constraint *n = makeNode(Constraint);
29944
0
          n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
29945
0
          n->location = (yylsp[-1]);
29946
0
          (yyval.node) = (Node *)n;
29947
0
        }
29948
0
#line 29949 "gram.c"
29949
0
    break;
29950
29951
41
  case 494:
29952
41
#line 3880 "gram.y"
29953
41
    {
29954
41
          Constraint *n = makeNode(Constraint);
29955
41
          n->contype = CONSTR_ATTR_DEFERRED;
29956
41
          n->location = (yylsp[-1]);
29957
41
          (yyval.node) = (Node *)n;
29958
41
        }
29959
41
#line 29960 "gram.c"
29960
41
    break;
29961
29962
0
  case 495:
29963
0
#line 3887 "gram.y"
29964
0
    {
29965
0
          Constraint *n = makeNode(Constraint);
29966
0
          n->contype = CONSTR_ATTR_IMMEDIATE;
29967
0
          n->location = (yylsp[-1]);
29968
0
          (yyval.node) = (Node *)n;
29969
0
        }
29970
0
#line 29971 "gram.c"
29971
0
    break;
29972
29973
0
  case 496:
29974
0
#line 3898 "gram.y"
29975
0
    {
29976
0
          parser_ybc_signal_unsupported((yylsp[-2]), "LIKE clause", 1129);
29977
0
          TableLikeClause *n = makeNode(TableLikeClause);
29978
0
          n->relation = (yyvsp[-1].range);
29979
0
          n->options = (yyvsp[0].ival);
29980
0
          (yyval.node) = (Node *)n;
29981
0
        }
29982
0
#line 29983 "gram.c"
29983
0
    break;
29984
29985
0
  case 497:
29986
0
#line 3908 "gram.y"
29987
0
    { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
29988
0
#line 29989 "gram.c"
29989
0
    break;
29990
29991
0
  case 498:
29992
0
#line 3909 "gram.y"
29993
0
    { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
29994
0
#line 29995 "gram.c"
29995
0
    break;
29996
29997
0
  case 499:
29998
0
#line 3910 "gram.y"
29999
0
    { (yyval.ival) = 0; }
30000
0
#line 30001 "gram.c"
30001
0
    break;
30002
30003
0
  case 500:
30004
0
#line 3915 "gram.y"
30005
0
    {
30006
0
          parser_ybc_signal_unsupported((yylsp[0]), "LIKE COMMENTS", 1129);
30007
0
          (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS;
30008
0
        }
30009
0
#line 30010 "gram.c"
30010
0
    break;
30011
30012
0
  case 501:
30013
0
#line 3920 "gram.y"
30014
0
    {
30015
0
          parser_ybc_signal_unsupported((yylsp[0]), "LIKE CONSTRAINTS", 1129);
30016
0
          (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS;
30017
0
        }
30018
0
#line 30019 "gram.c"
30019
0
    break;
30020
30021
0
  case 502:
30022
0
#line 3925 "gram.y"
30023
0
    {
30024
0
          parser_ybc_signal_unsupported((yylsp[0]), "LIKE DEFAULTS", 1129);
30025
0
          (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS;
30026
0
        }
30027
0
#line 30028 "gram.c"
30028
0
    break;
30029
30030
0
  case 503:
30031
0
#line 3930 "gram.y"
30032
0
    {
30033
0
          parser_ybc_signal_unsupported((yylsp[0]), "LIKE IDENTITY", 1129);
30034
0
          (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY;
30035
0
        }
30036
0
#line 30037 "gram.c"
30037
0
    break;
30038
30039
0
  case 504:
30040
0
#line 3935 "gram.y"
30041
0
    {
30042
0
          parser_ybc_signal_unsupported((yylsp[0]), "LIKE INDEXES", 1129);
30043
0
          (yyval.ival) = CREATE_TABLE_LIKE_INDEXES;
30044
0
        }
30045
0
#line 30046 "gram.c"
30046
0
    break;
30047
30048
0
  case 505:
30049
0
#line 3940 "gram.y"
30050
0
    {
30051
0
          parser_ybc_signal_unsupported((yylsp[0]), "LIKE STATISTICS", 1129);
30052
0
          (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS;
30053
0
        }
30054
0
#line 30055 "gram.c"
30055
0
    break;
30056
30057
0
  case 506:
30058
0
#line 3945 "gram.y"
30059
0
    { parser_ybc_signal_unsupported((yylsp[0]), "LIKE STORAGE", 1129); (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
30060
0
#line 30061 "gram.c"
30061
0
    break;
30062
30063
0
  case 507:
30064
0
#line 3946 "gram.y"
30065
0
    { parser_ybc_signal_unsupported((yylsp[0]), "LIKE ALL", 1129); (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
30066
0
#line 30067 "gram.c"
30067
0
    break;
30068
30069
87
  case 508:
30070
87
#line 3956 "gram.y"
30071
87
    {
30072
87
          Constraint *n = castNode(Constraint, (yyvsp[0].node));
30073
87
          n->conname = (yyvsp[-1].str);
30074
87
          n->location = (yylsp[-2]);
30075
87
          (yyval.node) = (Node *) n;
30076
87
        }
30077
87
#line 30078 "gram.c"
30078
87
    break;
30079
30080
371
  case 509:
30081
371
#line 3962 "gram.y"
30082
371
    { (yyval.node) = (yyvsp[0].node); }
30083
371
#line 30084 "gram.c"
30084
371
    break;
30085
30086
20
  case 510:
30087
20
#line 3967 "gram.y"
30088
20
    {
30089
20
          Constraint *n = makeNode(Constraint);
30090
20
          n->contype = CONSTR_CHECK;
30091
20
          n->location = (yylsp[-4]);
30092
20
          n->raw_expr = (yyvsp[-2].node);
30093
20
          n->cooked_expr = NULL;
30094
20
          processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
30095
20
                   NULL, NULL, &n->skip_validation,
30096
20
                   &n->is_no_inherit, yyscanner);
30097
20
          n->initially_valid = !n->skip_validation;
30098
20
          (yyval.node) = (Node *)n;
30099
20
        }
30100
20
#line 30101 "gram.c"
30101
20
    break;
30102
30103
10
  case 511:
30104
10
#line 3981 "gram.y"
30105
10
    {
30106
10
          Constraint *n = makeNode(Constraint);
30107
10
          n->contype = CONSTR_UNIQUE;
30108
10
          n->location = (yylsp[-7]);
30109
10
          n->keys = (yyvsp[-5].list);
30110
10
          n->including = (yyvsp[-3].list);
30111
10
          n->options = (yyvsp[-2].list);
30112
10
          n->indexname = NULL;
30113
10
          n->indexspace = (yyvsp[-1].str);
30114
10
          processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
30115
10
                   &n->deferrable, &n->initdeferred, NULL,
30116
10
                   NULL, yyscanner);
30117
30118
          /* Make column list available as index params also */
30119
10
          ListCell *lc;
30120
10
          foreach(lc, (yyvsp[-5].list))
30121
18
          {
30122
18
            IndexElem *index_elem = makeNode(IndexElem);
30123
18
            index_elem->name = pstrdup(strVal(lfirst(lc)));
30124
18
            index_elem->expr = NULL;
30125
18
            index_elem->indexcolname = NULL;
30126
18
            index_elem->collation = NIL;
30127
18
            index_elem->opclass = NIL;
30128
18
            index_elem->ordering = SORTBY_DEFAULT;
30129
18
            index_elem->nulls_ordering = SORTBY_NULLS_DEFAULT;
30130
18
            n->yb_index_params = lappend(n->yb_index_params, index_elem);
30131
18
          }
30132
30133
10
          (yyval.node) = (Node *)n;
30134
10
        }
30135
10
#line 30136 "gram.c"
30136
10
    break;
30137
30138
0
  case 512:
30139
0
#line 4012 "gram.y"
30140
0
    {
30141
0
          Constraint *n = makeNode(Constraint);
30142
0
          n->contype = CONSTR_UNIQUE;
30143
0
          n->location = (yylsp[-2]);
30144
0
          n->keys = NIL;
30145
0
          n->including = NIL;
30146
0
          n->options = NIL;
30147
0
          n->indexname = (yyvsp[-1].str);
30148
0
          n->indexspace = NULL;
30149
0
          processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
30150
0
                   &n->deferrable, &n->initdeferred, NULL,
30151
0
                   NULL, yyscanner);
30152
0
          (yyval.node) = (Node *)n;
30153
0
        }
30154
0
#line 30155 "gram.c"
30155
0
    break;
30156
30157
287
  case 513:
30158
287
#line 4028 "gram.y"
30159
287
    {
30160
287
          Constraint *n = makeNode(Constraint);
30161
287
          n->contype = CONSTR_PRIMARY;
30162
287
          n->location = (yylsp[-8]);
30163
          /* For Postgres' purpose, make index params available as a column list also */
30164
287
          ListCell *lc;
30165
287
          foreach(lc, (yyvsp[-5].list))
30166
434
          {
30167
434
            IndexElem *index_elem = (IndexElem *)lfirst(lc);
30168
434
            n->keys = lappend(n->keys, makeString(index_elem->name));
30169
434
          }
30170
287
          n->including = (yyvsp[-3].list);
30171
287
          n->options = (yyvsp[-2].list);
30172
287
          n->indexname = NULL;
30173
287
          if ((yyvsp[-1].str))
30174
0
          {
30175
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
30176
0
                errmsg("Cannot set TABLESPACE for PRIMARY KEY INDEX."),
30177
0
                errdetail("The tablespace of the indexed table will be used.")));
30178
0
          }
30179
287
          n->indexspace = (yyvsp[-1].str);
30180
287
          processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
30181
287
                   &n->deferrable, &n->initdeferred, NULL,
30182
287
                   NULL, yyscanner);
30183
30184
287
          n->yb_index_params = (yyvsp[-5].list);
30185
30186
287
          (yyval.node) = (Node *)n;
30187
287
        }
30188
287
#line 30189 "gram.c"
30189
287
    break;
30190
30191
2
  case 514:
30192
2
#line 4058 "gram.y"
30193
2
    {
30194
2
          Constraint *n = makeNode(Constraint);
30195
2
          n->contype = CONSTR_PRIMARY;
30196
2
          n->location = (yylsp[-3]);
30197
2
          n->keys = NIL;
30198
2
          n->including = NIL;
30199
2
          n->options = NIL;
30200
2
          n->indexname = (yyvsp[-1].str);
30201
2
          n->indexspace = NULL;
30202
2
          processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
30203
2
                   &n->deferrable, &n->initdeferred, NULL,
30204
2
                   NULL, yyscanner);
30205
2
          (yyval.node) = (Node *)n;
30206
2
        }
30207
2
#line 30208 "gram.c"
30208
2
    break;
30209
30210
1
  case 515:
30211
1
#line 4075 "gram.y"
30212
1
    {
30213
1
          parser_ybc_signal_unsupported((yylsp[-9]), "EXCLUDE constraint", 3944);
30214
1
          Constraint *n = makeNode(Constraint);
30215
1
          n->contype = CONSTR_EXCLUSION;
30216
1
          n->location = (yylsp[-9]);
30217
1
          n->access_method  = (yyvsp[-8].str);
30218
1
          n->exclusions   = (yyvsp[-6].list);
30219
1
          n->including    = (yyvsp[-4].list);
30220
1
          n->options      = (yyvsp[-3].list);
30221
1
          n->indexname    = NULL;
30222
1
          n->indexspace   = (yyvsp[-2].str);
30223
1
          n->where_clause   = (yyvsp[-1].node);
30224
1
          processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
30225
1
                   &n->deferrable, &n->initdeferred, NULL,
30226
1
                   NULL, yyscanner);
30227
1
          (yyval.node) = (Node *)n;
30228
1
        }
30229
1
#line 30230 "gram.c"
30230
1
    break;
30231
30232
139
  case 516:
30233
139
#line 4094 "gram.y"
30234
139
    {
30235
139
          Constraint *n = makeNode(Constraint);
30236
139
          n->contype = CONSTR_FOREIGN;
30237
139
          n->location = (yylsp[-10]);
30238
139
          n->pktable      = (yyvsp[-4].range);
30239
139
          n->fk_attrs     = (yyvsp[-7].list);
30240
139
          n->pk_attrs     = (yyvsp[-3].list);
30241
139
          n->fk_matchtype   = (yyvsp[-2].ival);
30242
139
          n->fk_upd_action  = (char) ((yyvsp[-1].ival) >> 8);
30243
139
          n->fk_del_action  = (char) ((yyvsp[-1].ival) & 0xFF);
30244
139
          processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
30245
139
                   &n->deferrable, &n->initdeferred,
30246
139
                   &n->skip_validation, NULL,
30247
139
                   yyscanner);
30248
139
          n->initially_valid = !n->skip_validation;
30249
139
          (yyval.node) = (Node *)n;
30250
139
        }
30251
139
#line 30252 "gram.c"
30252
139
    break;
30253
30254
0
  case 517:
30255
0
#line 4113 "gram.y"
30256
0
    { parser_ybc_signal_unsupported((yylsp[-1]), "NO INHERIT", 1129); (yyval.boolean) = true; }
30257
0
#line 30258 "gram.c"
30258
0
    break;
30259
30260
53
  case 518:
30261
53
#line 4114 "gram.y"
30262
53
    {  (yyval.boolean) = false; }
30263
53
#line 30264 "gram.c"
30264
53
    break;
30265
30266
273
  case 519:
30267
273
#line 4118 "gram.y"
30268
273
    { (yyval.list) = (yyvsp[-1].list); }
30269
273
#line 30270 "gram.c"
30270
273
    break;
30271
30272
805
  case 520:
30273
805
#line 4119 "gram.y"
30274
805
    { (yyval.list) = NIL; }
30275
805
#line 30276 "gram.c"
30276
805
    break;
30277
30278
437
  case 521:
30279
437
#line 4123 "gram.y"
30280
437
    { (yyval.list) = list_make1((yyvsp[0].node)); }
30281
437
#line 30282 "gram.c"
30282
437
    break;
30283
30284
248
  case 522:
30285
248
#line 4124 "gram.y"
30286
248
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
30287
248
#line 30288 "gram.c"
30288
248
    break;
30289
30290
685
  case 523:
30291
685
#line 4128 "gram.y"
30292
685
    {
30293
685
          (yyval.node) = (Node *) makeString((yyvsp[0].str));
30294
685
        }
30295
685
#line 30296 "gram.c"
30296
685
    break;
30297
30298
1
  case 524:
30299
1
#line 4133 "gram.y"
30300
1
    { (yyval.list) = (yyvsp[-1].list); }
30301
1
#line 30302 "gram.c"
30302
1
    break;
30303
30304
297
  case 525:
30305
297
#line 4134 "gram.y"
30306
297
    { (yyval.list) = NIL; }
30307
297
#line 30308 "gram.c"
30308
297
    break;
30309
30310
15
  case 526:
30311
15
#line 4138 "gram.y"
30312
15
    {
30313
15
        (yyval.ival) = FKCONSTR_MATCH_FULL;
30314
15
      }
30315
15
#line 30316 "gram.c"
30316
15
    break;
30317
30318
0
  case 527:
30319
0
#line 4142 "gram.y"
30320
0
    {
30321
0
        ereport(ERROR,
30322
0
            (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
30323
0
             errmsg("MATCH PARTIAL not yet implemented"),
30324
0
             parser_errposition((yylsp[-1]))));
30325
0
        (yyval.ival) = FKCONSTR_MATCH_PARTIAL;
30326
0
      }
30327
0
#line 30328 "gram.c"
30328
0
    break;
30329
30330
3
  case 528:
30331
3
#line 4150 "gram.y"
30332
3
    {
30333
3
        (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
30334
3
      }
30335
3
#line 30336 "gram.c"
30336
3
    break;
30337
30338
334
  case 529:
30339
334
#line 4154 "gram.y"
30340
334
    {
30341
334
        (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
30342
334
      }
30343
334
#line 30344 "gram.c"
30344
334
    break;
30345
30346
1
  case 530:
30347
1
#line 4160 "gram.y"
30348
1
    { (yyval.list) = list_make1((yyvsp[0].list)); }
30349
1
#line 30350 "gram.c"
30350
1
    break;
30351
30352
0
  case 531:
30353
0
#line 4162 "gram.y"
30354
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
30355
0
#line 30356 "gram.c"
30356
0
    break;
30357
30358
1
  case 532:
30359
1
#line 4166 "gram.y"
30360
1
    {
30361
1
        (yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
30362
1
      }
30363
1
#line 30364 "gram.c"
30364
1
    break;
30365
30366
0
  case 533:
30367
0
#line 4171 "gram.y"
30368
0
    {
30369
0
        (yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
30370
0
      }
30371
0
#line 30372 "gram.c"
30372
0
    break;
30373
30374
0
  case 534:
30375
0
#line 4177 "gram.y"
30376
0
    { (yyval.node) = (yyvsp[-1].node); }
30377
0
#line 30378 "gram.c"
30378
0
    break;
30379
30380
1
  case 535:
30381
1
#line 4178 "gram.y"
30382
1
    { (yyval.node) = NULL; }
30383
1
#line 30384 "gram.c"
30384
1
    break;
30385
30386
13
  case 536:
30387
13
#line 4189 "gram.y"
30388
13
    { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
30389
13
#line 30390 "gram.c"
30390
13
    break;
30391
30392
10
  case 537:
30393
10
#line 4191 "gram.y"
30394
10
    { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
30395
10
#line 30396 "gram.c"
30396
10
    break;
30397
30398
16
  case 538:
30399
16
#line 4193 "gram.y"
30400
16
    { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
30401
16
#line 30402 "gram.c"
30402
16
    break;
30403
30404
22
  case 539:
30405
22
#line 4195 "gram.y"
30406
22
    { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
30407
22
#line 30408 "gram.c"
30408
22
    break;
30409
30410
291
  case 540:
30411
291
#line 4197 "gram.y"
30412
291
    { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
30413
291
#line 30414 "gram.c"
30414
291
    break;
30415
30416
51
  case 541:
30417
51
#line 4200 "gram.y"
30418
51
    { (yyval.ival) = (yyvsp[0].ival); }
30419
51
#line 30420 "gram.c"
30420
51
    break;
30421
30422
48
  case 542:
30423
48
#line 4203 "gram.y"
30424
48
    { (yyval.ival) = (yyvsp[0].ival); }
30425
48
#line 30426 "gram.c"
30426
48
    break;
30427
30428
4
  case 543:
30429
4
#line 4207 "gram.y"
30430
4
    { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
30431
4
#line 30432 "gram.c"
30432
4
    break;
30433
30434
4
  case 544:
30435
4
#line 4208 "gram.y"
30436
4
    { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
30437
4
#line 30438 "gram.c"
30438
4
    break;
30439
30440
49
  case 545:
30441
49
#line 4209 "gram.y"
30442
49
    { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
30443
49
#line 30444 "gram.c"
30444
49
    break;
30445
30446
28
  case 546:
30447
28
#line 4210 "gram.y"
30448
28
    { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
30449
28
#line 30450 "gram.c"
30450
28
    break;
30451
30452
14
  case 547:
30453
14
#line 4211 "gram.y"
30454
14
    { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
30455
14
#line 30456 "gram.c"
30456
14
    break;
30457
30458
28
  case 548:
30459
28
#line 4215 "gram.y"
30460
28
    {
30461
28
          parser_ybc_signal_unsupported((yylsp[-3]), "INHERITS", 1129);
30462
28
          (yyval.list) = (yyvsp[-1].list);
30463
28
        }
30464
28
#line 30465 "gram.c"
30465
28
    break;
30466
30467
1.87k
  case 549:
30468
1.87k
#line 4219 "gram.y"
30469
1.87k
    { (yyval.list) = NIL; }
30470
1.87k
#line 30471 "gram.c"
30471
1.87k
    break;
30472
30473
48
  case 550:
30474
48
#line 4223 "gram.y"
30475
48
    { (yyval.partspec) = (yyvsp[0].partspec); }
30476
48
#line 30477 "gram.c"
30477
48
    break;
30478
30479
1.77k
  case 551:
30480
1.77k
#line 4224 "gram.y"
30481
1.77k
    { (yyval.partspec) = NULL; }
30482
1.77k
#line 30483 "gram.c"
30483
1.77k
    break;
30484
30485
48
  case 552:
30486
48
#line 4228 "gram.y"
30487
48
    {
30488
48
          PartitionSpec *n = makeNode(PartitionSpec);
30489
30490
48
          n->strategy = (yyvsp[-3].str);
30491
48
          n->partParams = (yyvsp[-1].list);
30492
48
          n->location = (yylsp[-5]);
30493
30494
48
          (yyval.partspec) = n;
30495
48
        }
30496
48
#line 30497 "gram.c"
30497
48
    break;
30498
30499
17
  case 553:
30500
17
#line 4239 "gram.y"
30501
17
    { (yyval.str) = (yyvsp[0].str); }
30502
17
#line 30503 "gram.c"
30503
17
    break;
30504
30505
31
  case 554:
30506
31
#line 4240 "gram.y"
30507
31
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
30508
31
#line 30509 "gram.c"
30509
31
    break;
30510
30511
48
  case 555:
30512
48
#line 4243 "gram.y"
30513
48
    { (yyval.list) = list_make1((yyvsp[0].partelem)); }
30514
48
#line 30515 "gram.c"
30515
48
    break;
30516
30517
6
  case 556:
30518
6
#line 4244 "gram.y"
30519
6
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
30520
6
#line 30521 "gram.c"
30521
6
    break;
30522
30523
54
  case 557:
30524
54
#line 4248 "gram.y"
30525
54
    {
30526
54
          PartitionElem *n = makeNode(PartitionElem);
30527
30528
54
          n->name = (yyvsp[-2].str);
30529
54
          n->expr = NULL;
30530
54
          n->collation = (yyvsp[-1].list);
30531
54
          n->opclass = (yyvsp[0].list);
30532
54
          n->location = (yylsp[-2]);
30533
54
          (yyval.partelem) = n;
30534
54
        }
30535
54
#line 30536 "gram.c"
30536
54
    break;
30537
30538
0
  case 558:
30539
0
#line 4259 "gram.y"
30540
0
    {
30541
0
          PartitionElem *n = makeNode(PartitionElem);
30542
30543
0
          n->name = NULL;
30544
0
          n->expr = (yyvsp[-2].node);
30545
0
          n->collation = (yyvsp[-1].list);
30546
0
          n->opclass = (yyvsp[0].list);
30547
0
          n->location = (yylsp[-2]);
30548
0
          (yyval.partelem) = n;
30549
0
        }
30550
0
#line 30551 "gram.c"
30551
0
    break;
30552
30553
0
  case 559:
30554
0
#line 4270 "gram.y"
30555
0
    {
30556
0
          PartitionElem *n = makeNode(PartitionElem);
30557
30558
0
          n->name = NULL;
30559
0
          n->expr = (yyvsp[-3].node);
30560
0
          n->collation = (yyvsp[-1].list);
30561
0
          n->opclass = (yyvsp[0].list);
30562
0
          n->location = (yylsp[-4]);
30563
0
          (yyval.partelem) = n;
30564
0
        }
30565
0
#line 30566 "gram.c"
30566
0
    break;
30567
30568
19
  case 560:
30569
19
#line 4283 "gram.y"
30570
19
    { (yyval.list) = (yyvsp[0].list); }
30571
19
#line 30572 "gram.c"
30572
19
    break;
30573
30574
3
  case 561:
30575
3
#line 4285 "gram.y"
30576
3
    {
30577
3
          (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(true), (yylsp[-1])));
30578
3
        }
30579
3
#line 30580 "gram.c"
30580
3
    break;
30581
30582
0
  case 562:
30583
0
#line 4289 "gram.y"
30584
0
    {
30585
0
          (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(false), (yylsp[-1])));
30586
0
        }
30587
0
#line 30588 "gram.c"
30588
0
    break;
30589
30590
1.86k
  case 563:
30591
1.86k
#line 4292 "gram.y"
30592
1.86k
    { (yyval.list) = NIL; }
30593
1.86k
#line 30594 "gram.c"
30594
1.86k
    break;
30595
30596
0
  case 564:
30597
0
#line 4295 "gram.y"
30598
0
    { (yyval.oncommit) = ONCOMMIT_DROP; }
30599
0
#line 30600 "gram.c"
30600
0
    break;
30601
30602
0
  case 565:
30603
0
#line 4296 "gram.y"
30604
0
    { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
30605
0
#line 30606 "gram.c"
30606
0
    break;
30607
30608
0
  case 566:
30609
0
#line 4297 "gram.y"
30610
0
    { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
30611
0
#line 30612 "gram.c"
30612
0
    break;
30613
30614
1.88k
  case 567:
30615
1.88k
#line 4298 "gram.y"
30616
1.88k
    { (yyval.oncommit) = ONCOMMIT_NOOP; }
30617
1.88k
#line 30618 "gram.c"
30618
1.88k
    break;
30619
30620
3
  case 568:
30621
3
#line 4303 "gram.y"
30622
3
    {
30623
3
          parser_ybc_beta_feature((yylsp[-1]), "tablegroup", true);
30624
3
          (yyval.grpopt) = makeNode(OptTableGroup);
30625
3
          (yyval.grpopt)->has_tablegroup = true;
30626
3
          (yyval.grpopt)->tablegroup_name = (yyvsp[0].str);
30627
3
        }
30628
3
#line 30629 "gram.c"
30629
3
    break;
30630
30631
0
  case 569:
30632
0
#line 4310 "gram.y"
30633
0
    {
30634
0
          parser_ybc_beta_feature((yylsp[-1]), "tablegroup", true);
30635
0
          (yyval.grpopt) = makeNode(OptTableGroup);
30636
0
          (yyval.grpopt)->has_tablegroup = false;
30637
0
          (yyval.grpopt)->tablegroup_name = NULL;
30638
0
        }
30639
0
#line 30640 "gram.c"
30640
0
    break;
30641
30642
2.01k
  case 570:
30643
2.01k
#line 4317 "gram.y"
30644
2.01k
    {
30645
2.01k
          (yyval.grpopt) = (OptTableGroup*) NULL;
30646
2.01k
        }
30647
2.01k
#line 30648 "gram.c"
30648
2.01k
    break;
30649
30650
0
  case 571:
30651
0
#line 4323 "gram.y"
30652
0
    { (yyval.str) = (yyvsp[0].str); }
30653
0
#line 30654 "gram.c"
30654
0
    break;
30655
30656
2.07k
  case 572:
30657
2.07k
#line 4324 "gram.y"
30658
2.07k
    { (yyval.str) = NULL; }
30659
2.07k
#line 30660 "gram.c"
30660
2.07k
    break;
30661
30662
0
  case 573:
30663
0
#line 4329 "gram.y"
30664
0
    {
30665
0
          (yyval.str) = (yyvsp[0].str);
30666
0
        }
30667
0
#line 30668 "gram.c"
30668
0
    break;
30669
30670
1.07k
  case 574:
30671
1.07k
#line 4332 "gram.y"
30672
1.07k
    { (yyval.str) = NULL; }
30673
1.07k
#line 30674 "gram.c"
30674
1.07k
    break;
30675
30676
2
  case 575:
30677
2
#line 4335 "gram.y"
30678
2
    { (yyval.str) = (yyvsp[0].str); }
30679
2
#line 30680 "gram.c"
30680
2
    break;
30681
30682
0
  case 576:
30683
0
#line 4340 "gram.y"
30684
0
    {
30685
0
          (yyval.splitopt) = (yyvsp[-1].splitopt);
30686
0
        }
30687
0
#line 30688 "gram.c"
30688
0
    break;
30689
30690
152
  case 577:
30691
152
#line 4344 "gram.y"
30692
152
    {
30693
152
          (yyval.splitopt) = (yyvsp[0].splitopt);
30694
152
        }
30695
152
#line 30696 "gram.c"
30696
152
    break;
30697
30698
1.86k
  case 578:
30699
1.86k
#line 4348 "gram.y"
30700
1.86k
    {
30701
1.86k
          (yyval.splitopt) = (OptSplit*) NULL;
30702
1.86k
        }
30703
1.86k
#line 30704 "gram.c"
30704
1.86k
    break;
30705
30706
146
  case 579:
30707
146
#line 4355 "gram.y"
30708
146
    {
30709
146
          (yyval.splitopt) = makeNode(OptSplit);
30710
146
          (yyval.splitopt)->split_type = NUM_TABLETS;
30711
146
          (yyval.splitopt)->num_tablets = (yyvsp[-1].ival);
30712
146
          (yyval.splitopt)->split_points = NULL;
30713
146
        }
30714
146
#line 30715 "gram.c"
30715
146
    break;
30716
30717
6
  case 580:
30718
6
#line 4362 "gram.y"
30719
6
    {
30720
6
          (yyval.splitopt) = makeNode(OptSplit);
30721
6
          (yyval.splitopt)->split_type = SPLIT_POINTS;
30722
6
          (yyval.splitopt)->num_tablets = -1;
30723
6
          (yyval.splitopt)->split_points = (yyvsp[-1].list);
30724
6
        }
30725
6
#line 30726 "gram.c"
30726
6
    break;
30727
30728
6
  case 581:
30729
6
#line 4371 "gram.y"
30730
6
    { (yyval.list) = list_make1((yyvsp[0].list)); }
30731
6
#line 30732 "gram.c"
30732
6
    break;
30733
30734
9
  case 582:
30735
9
#line 4372 "gram.y"
30736
9
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
30737
9
#line 30738 "gram.c"
30738
9
    break;
30739
30740
15
  case 583:
30741
15
#line 4376 "gram.y"
30742
15
    { (yyval.list) = (yyvsp[-1].list); }
30743
15
#line 30744 "gram.c"
30744
15
    break;
30745
30746
0
  case 584:
30747
0
#line 4396 "gram.y"
30748
0
    {
30749
0
          parser_ybc_not_support((yylsp[-7]), "CREATE STATISTICS");
30750
0
          CreateStatsStmt *n = makeNode(CreateStatsStmt);
30751
0
          n->defnames = (yyvsp[-5].list);
30752
0
          n->stat_types = (yyvsp[-4].list);
30753
0
          n->exprs = (yyvsp[-2].list);
30754
0
          n->relations = (yyvsp[0].list);
30755
0
          n->stxcomment = NULL;
30756
0
          n->if_not_exists = false;
30757
0
          (yyval.node) = (Node *)n;
30758
0
        }
30759
0
#line 30760 "gram.c"
30760
0
    break;
30761
30762
0
  case 585:
30763
0
#line 4409 "gram.y"
30764
0
    {
30765
0
          parser_ybc_not_support((yylsp[-10]), "CREATE STATISTICS");
30766
0
          CreateStatsStmt *n = makeNode(CreateStatsStmt);
30767
0
          n->defnames = (yyvsp[-5].list);
30768
0
          n->stat_types = (yyvsp[-4].list);
30769
0
          n->exprs = (yyvsp[-2].list);
30770
0
          n->relations = (yyvsp[0].list);
30771
0
          n->stxcomment = NULL;
30772
0
          n->if_not_exists = true;
30773
0
          (yyval.node) = (Node *)n;
30774
0
        }
30775
0
#line 30776 "gram.c"
30776
0
    break;
30777
30778
57
  case 586:
30779
57
#line 4434 "gram.y"
30780
57
    {
30781
57
          CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30782
57
          ctas->query = (yyvsp[-1].node);
30783
57
          ctas->into = (yyvsp[-3].into);
30784
57
          ctas->relkind = OBJECT_TABLE;
30785
57
          ctas->is_select_into = false;
30786
57
          ctas->if_not_exists = false;
30787
          /* cram additional flags into the IntoClause */
30788
57
          (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
30789
57
          (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30790
57
          (yyval.node) = (Node *) ctas;
30791
57
        }
30792
57
#line 30793 "gram.c"
30793
57
    break;
30794
30795
0
  case 587:
30796
0
#line 4447 "gram.y"
30797
0
    {
30798
0
          CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30799
0
          ctas->query = (yyvsp[-1].node);
30800
0
          ctas->into = (yyvsp[-3].into);
30801
0
          ctas->relkind = OBJECT_TABLE;
30802
0
          ctas->is_select_into = false;
30803
0
          ctas->if_not_exists = true;
30804
          /* cram additional flags into the IntoClause */
30805
0
          (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
30806
0
          (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30807
0
          (yyval.node) = (Node *) ctas;
30808
0
        }
30809
0
#line 30810 "gram.c"
30810
0
    break;
30811
30812
57
  case 588:
30813
57
#line 4463 "gram.y"
30814
57
    {
30815
57
          (yyval.into) = makeNode(IntoClause);
30816
57
          (yyval.into)->rel = (yyvsp[-4].range);
30817
57
          (yyval.into)->colNames = (yyvsp[-3].list);
30818
57
          (yyval.into)->options = (yyvsp[-2].list);
30819
57
          (yyval.into)->onCommit = (yyvsp[-1].oncommit);
30820
57
          (yyval.into)->tableSpaceName = (yyvsp[0].str);
30821
57
          (yyval.into)->viewQuery = NULL;
30822
57
          (yyval.into)->skipData = false;   /* might get changed later */
30823
57
        }
30824
57
#line 30825 "gram.c"
30825
57
    break;
30826
30827
0
  case 589:
30828
0
#line 4476 "gram.y"
30829
0
    { (yyval.boolean) = true; }
30830
0
#line 30831 "gram.c"
30831
0
    break;
30832
30833
0
  case 590:
30834
0
#line 4477 "gram.y"
30835
0
    { (yyval.boolean) = false; }
30836
0
#line 30837 "gram.c"
30837
0
    break;
30838
30839
57
  case 591:
30840
57
#line 4478 "gram.y"
30841
57
    { (yyval.boolean) = true; }
30842
57
#line 30843 "gram.c"
30843
57
    break;
30844
30845
0
  case 592:
30846
0
#line 4491 "gram.y"
30847
0
    {
30848
0
          CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30849
0
          ctas->query = (yyvsp[-1].node);
30850
0
          ctas->into = (yyvsp[-3].into);
30851
0
          ctas->relkind = OBJECT_MATVIEW;
30852
0
          ctas->is_select_into = false;
30853
0
          ctas->if_not_exists = false;
30854
          /* cram additional flags into the IntoClause */
30855
0
          (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
30856
0
          (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30857
0
          (yyval.node) = (Node *) ctas;
30858
0
        }
30859
0
#line 30860 "gram.c"
30860
0
    break;
30861
30862
0
  case 593:
30863
0
#line 4504 "gram.y"
30864
0
    {
30865
0
          CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30866
0
          ctas->query = (yyvsp[-1].node);
30867
0
          ctas->into = (yyvsp[-3].into);
30868
0
          ctas->relkind = OBJECT_MATVIEW;
30869
0
          ctas->is_select_into = false;
30870
0
          ctas->if_not_exists = true;
30871
          /* cram additional flags into the IntoClause */
30872
0
          (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
30873
0
          (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30874
0
          (yyval.node) = (Node *) ctas;
30875
0
        }
30876
0
#line 30877 "gram.c"
30877
0
    break;
30878
30879
0
  case 594:
30880
0
#line 4520 "gram.y"
30881
0
    {
30882
0
          (yyval.into) = makeNode(IntoClause);
30883
0
          (yyval.into)->rel = (yyvsp[-3].range);
30884
0
          (yyval.into)->colNames = (yyvsp[-2].list);
30885
0
          (yyval.into)->options = (yyvsp[-1].list);
30886
0
          (yyval.into)->onCommit = ONCOMMIT_NOOP;
30887
0
          (yyval.into)->tableSpaceName = (yyvsp[0].str);
30888
0
          (yyval.into)->viewQuery = NULL;   /* filled at analysis time */
30889
0
          (yyval.into)->skipData = false;   /* might get changed later */
30890
0
        }
30891
0
#line 30892 "gram.c"
30892
0
    break;
30893
30894
0
  case 595:
30895
0
#line 4532 "gram.y"
30896
0
    { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
30897
0
#line 30898 "gram.c"
30898
0
    break;
30899
30900
0
  case 596:
30901
0
#line 4533 "gram.y"
30902
0
    { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
30903
0
#line 30904 "gram.c"
30904
0
    break;
30905
30906
0
  case 597:
30907
0
#line 4546 "gram.y"
30908
0
    {
30909
0
          RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
30910
0
          n->concurrent = (yyvsp[-2].boolean);
30911
0
          n->relation = (yyvsp[-1].range);
30912
0
          n->skipData = !((yyvsp[0].boolean));
30913
0
          (yyval.node) = (Node *) n;
30914
0
        }
30915
0
#line 30916 "gram.c"
30916
0
    break;
30917
30918
0
  case 598:
30919
0
#line 4557 "gram.y"
30920
0
    {
30921
0
          (yyval.boolean) = true;
30922
0
        }
30923
0
#line 30924 "gram.c"
30924
0
    break;
30925
30926
0
  case 600:
30927
0
#line 4562 "gram.y"
30928
0
    {
30929
0
          (yyval.boolean) = false;
30930
0
        }
30931
0
#line 30932 "gram.c"
30932
0
    break;
30933
30934
22
  case 601:
30935
22
#line 4577 "gram.y"
30936
22
    {
30937
22
          CreateSeqStmt *n = makeNode(CreateSeqStmt);
30938
22
          (yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
30939
22
          n->sequence = (yyvsp[-1].range);
30940
22
          n->options = (yyvsp[0].list);
30941
22
          n->ownerId = InvalidOid;
30942
22
          n->if_not_exists = false;
30943
22
          (yyval.node) = (Node *)n;
30944
22
        }
30945
22
#line 30946 "gram.c"
30946
22
    break;
30947
30948
0
  case 602:
30949
0
#line 4587 "gram.y"
30950
0
    {
30951
0
          CreateSeqStmt *n = makeNode(CreateSeqStmt);
30952
0
          (yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
30953
0
          n->sequence = (yyvsp[-1].range);
30954
0
          n->options = (yyvsp[0].list);
30955
0
          n->ownerId = InvalidOid;
30956
0
          n->if_not_exists = true;
30957
0
          (yyval.node) = (Node *)n;
30958
0
        }
30959
0
#line 30960 "gram.c"
30960
0
    break;
30961
30962
1
  case 603:
30963
1
#line 4600 "gram.y"
30964
1
    {
30965
1
          AlterSeqStmt *n = makeNode(AlterSeqStmt);
30966
1
          n->sequence = (yyvsp[-1].range);
30967
1
          n->options = (yyvsp[0].list);
30968
1
          n->missing_ok = false;
30969
1
          (yyval.node) = (Node *)n;
30970
1
        }
30971
1
#line 30972 "gram.c"
30972
1
    break;
30973
30974
0
  case 604:
30975
0
#line 4608 "gram.y"
30976
0
    {
30977
0
          AlterSeqStmt *n = makeNode(AlterSeqStmt);
30978
0
          n->sequence = (yyvsp[-1].range);
30979
0
          n->options = (yyvsp[0].list);
30980
0
          n->missing_ok = true;
30981
0
          (yyval.node) = (Node *)n;
30982
0
        }
30983
0
#line 30984 "gram.c"
30984
0
    break;
30985
30986
11
  case 605:
30987
11
#line 4618 "gram.y"
30988
11
    { (yyval.list) = (yyvsp[0].list); }
30989
11
#line 30990 "gram.c"
30990
11
    break;
30991
30992
11
  case 606:
30993
11
#line 4619 "gram.y"
30994
11
    { (yyval.list) = NIL; }
30995
11
#line 30996 "gram.c"
30996
11
    break;
30997
30998
1
  case 607:
30999
1
#line 4622 "gram.y"
31000
1
    { (yyval.list) = (yyvsp[-1].list); }
31001
1
#line 31002 "gram.c"
31002
1
    break;
31003
31004
3
  case 608:
31005
3
#line 4623 "gram.y"
31006
3
    { (yyval.list) = NIL; }
31007
3
#line 31008 "gram.c"
31008
3
    break;
31009
31010
13
  case 609:
31011
13
#line 4626 "gram.y"
31012
13
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31013
13
#line 31014 "gram.c"
31014
13
    break;
31015
31016
0
  case 610:
31017
0
#line 4627 "gram.y"
31018
0
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31019
0
#line 31020 "gram.c"
31020
0
    break;
31021
31022
0
  case 611:
31023
0
#line 4631 "gram.y"
31024
0
    {
31025
0
          (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
31026
0
        }
31027
0
#line 31028 "gram.c"
31028
0
    break;
31029
31030
0
  case 612:
31031
0
#line 4635 "gram.y"
31032
0
    {
31033
0
          (yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
31034
0
        }
31035
0
#line 31036 "gram.c"
31036
0
    break;
31037
31038
0
  case 613:
31039
0
#line 4639 "gram.y"
31040
0
    {
31041
0
          (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[0]));
31042
0
        }
31043
0
#line 31044 "gram.c"
31044
0
    break;
31045
31046
0
  case 614:
31047
0
#line 4643 "gram.y"
31048
0
    {
31049
0
          (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[-1]));
31050
0
        }
31051
0
#line 31052 "gram.c"
31052
0
    break;
31053
31054
0
  case 615:
31055
0
#line 4647 "gram.y"
31056
0
    {
31057
0
          (yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
31058
0
        }
31059
0
#line 31060 "gram.c"
31060
0
    break;
31061
31062
0
  case 616:
31063
0
#line 4651 "gram.y"
31064
0
    {
31065
0
          (yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
31066
0
        }
31067
0
#line 31068 "gram.c"
31068
0
    break;
31069
31070
1
  case 617:
31071
1
#line 4655 "gram.y"
31072
1
    {
31073
1
          (yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
31074
1
        }
31075
1
#line 31076 "gram.c"
31076
1
    break;
31077
31078
0
  case 618:
31079
0
#line 4659 "gram.y"
31080
0
    {
31081
0
          (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
31082
0
        }
31083
0
#line 31084 "gram.c"
31084
0
    break;
31085
31086
0
  case 619:
31087
0
#line 4663 "gram.y"
31088
0
    {
31089
0
          (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
31090
0
        }
31091
0
#line 31092 "gram.c"
31092
0
    break;
31093
31094
6
  case 620:
31095
6
#line 4667 "gram.y"
31096
6
    {
31097
6
          (yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
31098
6
        }
31099
6
#line 31100 "gram.c"
31100
6
    break;
31101
31102
0
  case 621:
31103
0
#line 4671 "gram.y"
31104
0
    {
31105
          /* not documented, only used by pg_dump */
31106
0
          (yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
31107
0
        }
31108
0
#line 31109 "gram.c"
31109
0
    break;
31110
31111
6
  case 622:
31112
6
#line 4676 "gram.y"
31113
6
    {
31114
6
          (yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
31115
6
        }
31116
6
#line 31117 "gram.c"
31117
6
    break;
31118
31119
0
  case 623:
31120
0
#line 4680 "gram.y"
31121
0
    {
31122
0
          (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
31123
0
        }
31124
0
#line 31125 "gram.c"
31125
0
    break;
31126
31127
0
  case 624:
31128
0
#line 4684 "gram.y"
31129
0
    {
31130
0
          (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
31131
0
        }
31132
0
#line 31133 "gram.c"
31133
0
    break;
31134
31135
0
  case 625:
31136
0
#line 4689 "gram.y"
31137
0
    {}
31138
0
#line 31139 "gram.c"
31139
0
    break;
31140
31141
0
  case 626:
31142
0
#line 4690 "gram.y"
31143
0
    {}
31144
0
#line 31145 "gram.c"
31145
0
    break;
31146
31147
24
  case 627:
31148
24
#line 4694 "gram.y"
31149
24
    { (yyval.value) = makeFloat((yyvsp[0].str)); }
31150
24
#line 31151 "gram.c"
31151
24
    break;
31152
31153
0
  case 628:
31154
0
#line 4695 "gram.y"
31155
0
    { (yyval.value) = makeFloat((yyvsp[0].str)); }
31156
0
#line 31157 "gram.c"
31157
0
    break;
31158
31159
0
  case 629:
31160
0
#line 4697 "gram.y"
31161
0
    {
31162
0
          (yyval.value) = makeFloat((yyvsp[0].str));
31163
0
          doNegateFloat((yyval.value));
31164
0
        }
31165
0
#line 31166 "gram.c"
31166
0
    break;
31167
31168
1.73k
  case 630:
31169
1.73k
#line 4701 "gram.y"
31170
1.73k
    { (yyval.value) = makeInteger((yyvsp[0].ival)); }
31171
1.73k
#line 31172 "gram.c"
31172
1.73k
    break;
31173
31174
28
  case 631:
31175
28
#line 4704 "gram.y"
31176
28
    { (yyval.list) = list_make1((yyvsp[0].value)); }
31177
28
#line 31178 "gram.c"
31178
28
    break;
31179
31180
2
  case 632:
31181
2
#line 4705 "gram.y"
31182
2
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
31183
2
#line 31184 "gram.c"
31184
2
    break;
31185
31186
0
  case 633:
31187
0
#line 4718 "gram.y"
31188
0
    {
31189
0
        parser_ybc_not_support((yylsp[-5]), "CREATE LANGUAGE");
31190
0
        CreatePLangStmt *n = makeNode(CreatePLangStmt);
31191
0
        n->replace = (yyvsp[-4].boolean);
31192
0
        n->plname = (yyvsp[0].str);
31193
        /* parameters are all to be supplied by system */
31194
0
        n->plhandler = NIL;
31195
0
        n->plinline = NIL;
31196
0
        n->plvalidator = NIL;
31197
0
        n->pltrusted = false;
31198
0
        (yyval.node) = (Node *)n;
31199
0
      }
31200
0
#line 31201 "gram.c"
31201
0
    break;
31202
31203
0
  case 634:
31204
0
#line 4732 "gram.y"
31205
0
    {
31206
0
        parser_ybc_not_support((yylsp[-9]), "CREATE LANGUAGE");
31207
0
        CreatePLangStmt *n = makeNode(CreatePLangStmt);
31208
0
        n->replace = (yyvsp[-8].boolean);
31209
0
        n->plname = (yyvsp[-4].str);
31210
0
        n->plhandler = (yyvsp[-2].list);
31211
0
        n->plinline = (yyvsp[-1].list);
31212
0
        n->plvalidator = (yyvsp[0].list);
31213
0
        n->pltrusted = (yyvsp[-7].boolean);
31214
0
        (yyval.node) = (Node *)n;
31215
0
      }
31216
0
#line 31217 "gram.c"
31217
0
    break;
31218
31219
0
  case 635:
31220
0
#line 4746 "gram.y"
31221
0
    { (yyval.boolean) = true; }
31222
0
#line 31223 "gram.c"
31223
0
    break;
31224
31225
0
  case 636:
31226
0
#line 4747 "gram.y"
31227
0
    { (yyval.boolean) = false; }
31228
0
#line 31229 "gram.c"
31229
0
    break;
31230
31231
12
  case 637:
31232
12
#line 4755 "gram.y"
31233
12
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
31234
12
#line 31235 "gram.c"
31235
12
    break;
31236
31237
0
  case 638:
31238
0
#line 4756 "gram.y"
31239
0
    { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
31240
0
#line 31241 "gram.c"
31241
0
    break;
31242
31243
0
  case 639:
31244
0
#line 4760 "gram.y"
31245
0
    { (yyval.list) = (yyvsp[0].list); }
31246
0
#line 31247 "gram.c"
31247
0
    break;
31248
31249
0
  case 640:
31250
0
#line 4761 "gram.y"
31251
0
    { (yyval.list) = NIL; }
31252
0
#line 31253 "gram.c"
31253
0
    break;
31254
31255
0
  case 641:
31256
0
#line 4765 "gram.y"
31257
0
    { (yyval.list) = (yyvsp[0].list); }
31258
0
#line 31259 "gram.c"
31259
0
    break;
31260
31261
0
  case 642:
31262
0
#line 4766 "gram.y"
31263
0
    { (yyval.list) = NIL; }
31264
0
#line 31265 "gram.c"
31265
0
    break;
31266
31267
0
  case 643:
31268
0
#line 4770 "gram.y"
31269
0
    { (yyval.list) = (yyvsp[0].list); }
31270
0
#line 31271 "gram.c"
31271
0
    break;
31272
31273
0
  case 644:
31274
0
#line 4771 "gram.y"
31275
0
    { (yyval.list) = NIL; }
31276
0
#line 31277 "gram.c"
31277
0
    break;
31278
31279
0
  case 645:
31280
0
#line 4776 "gram.y"
31281
0
    {
31282
0
          parser_ybc_not_support((yylsp[-4]), "DROP LANGUAGE");
31283
0
          DropStmt *n = makeNode(DropStmt);
31284
0
          n->removeType = OBJECT_LANGUAGE;
31285
0
          n->objects = list_make1(makeString((yyvsp[-1].str)));
31286
0
          n->behavior = (yyvsp[0].dbehavior);
31287
0
          n->missing_ok = false;
31288
0
          n->concurrent = false;
31289
0
          (yyval.node) = (Node *)n;
31290
0
        }
31291
0
#line 31292 "gram.c"
31292
0
    break;
31293
31294
0
  case 646:
31295
0
#line 4787 "gram.y"
31296
0
    {
31297
0
          parser_ybc_not_support((yylsp[-6]), "DROP LANGUAGE");
31298
0
          DropStmt *n = makeNode(DropStmt);
31299
0
          n->removeType = OBJECT_LANGUAGE;
31300
0
          n->objects = list_make1(makeString((yyvsp[-1].str)));
31301
0
          n->behavior = (yyvsp[0].dbehavior);
31302
0
          n->missing_ok = true;
31303
0
          n->concurrent = false;
31304
0
          (yyval.node) = (Node *)n;
31305
0
        }
31306
0
#line 31307 "gram.c"
31307
0
    break;
31308
31309
0
  case 647:
31310
0
#line 4800 "gram.y"
31311
0
    {}
31312
0
#line 31313 "gram.c"
31313
0
    break;
31314
31315
1
  case 648:
31316
1
#line 4801 "gram.y"
31317
1
    {}
31318
1
#line 31319 "gram.c"
31319
1
    break;
31320
31321
1
  case 649:
31322
1
#line 4814 "gram.y"
31323
1
    {
31324
1
          parser_ybc_beta_feature((yylsp[-5]), "tablegroup", true);
31325
1
          CreateTableGroupStmt *n = makeNode(CreateTableGroupStmt);
31326
1
          n->tablegroupname = (yyvsp[-3].str);
31327
1
          n->owner = (yyvsp[-2].rolespec);
31328
1
          n->options = (yyvsp[-1].list);
31329
1
          n->tablespacename = (yyvsp[0].str);
31330
1
          (yyval.node) = (Node *) n;
31331
1
        }
31332
1
#line 31333 "gram.c"
31333
1
    break;
31334
31335
0
  case 650:
31336
0
#line 4825 "gram.y"
31337
0
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
31338
0
#line 31339 "gram.c"
31339
0
    break;
31340
31341
1
  case 651:
31342
1
#line 4826 "gram.y"
31343
1
    { (yyval.rolespec) = NULL; }
31344
1
#line 31345 "gram.c"
31345
1
    break;
31346
31347
0
  case 652:
31348
0
#line 4838 "gram.y"
31349
0
    {
31350
0
          CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
31351
0
          n->tablespacename = (yyvsp[-3].str);
31352
0
          n->owner = (yyvsp[-2].rolespec);
31353
0
          n->options = (yyvsp[0].list);
31354
0
          if (n->options == NULL && (yyvsp[-1].str) == NULL) {
31355
0
            parser_yyerror("While creating tablespaces, one of "
31356
0
                     "LOCATION or WITH options should be present");
31357
0
          }
31358
0
          (yyval.node) = (Node *) n;
31359
31360
0
        }
31361
0
#line 31362 "gram.c"
31362
0
    break;
31363
31364
0
  case 653:
31365
0
#line 4852 "gram.y"
31366
0
    { parser_ybc_warn_ignored((yylsp[-1]), "LOCATION", 6569); (yyval.str) = (yyvsp[0].str); }
31367
0
#line 31368 "gram.c"
31368
0
    break;
31369
31370
0
  case 654:
31371
0
#line 4853 "gram.y"
31372
0
    { (yyval.str) = NULL; }
31373
0
#line 31374 "gram.c"
31374
0
    break;
31375
31376
0
  case 655:
31377
0
#line 4856 "gram.y"
31378
0
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
31379
0
#line 31380 "gram.c"
31380
0
    break;
31381
31382
0
  case 656:
31383
0
#line 4857 "gram.y"
31384
0
    { (yyval.rolespec) = NULL; }
31385
0
#line 31386 "gram.c"
31386
0
    break;
31387
31388
0
  case 657:
31389
0
#line 4871 "gram.y"
31390
0
    {
31391
0
          DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
31392
0
          n->tablespacename = (yyvsp[0].str);
31393
0
          n->missing_ok = false;
31394
0
          (yyval.node) = (Node *) n;
31395
0
        }
31396
0
#line 31397 "gram.c"
31397
0
    break;
31398
31399
0
  case 658:
31400
0
#line 4878 "gram.y"
31401
0
    {
31402
0
          DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
31403
0
          n->tablespacename = (yyvsp[0].str);
31404
0
          n->missing_ok = true;
31405
0
          (yyval.node) = (Node *) n;
31406
0
        }
31407
0
#line 31408 "gram.c"
31408
0
    break;
31409
31410
36
  case 659:
31411
36
#line 4895 "gram.y"
31412
36
    {
31413
36
          CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
31414
36
          n->extname = (yyvsp[-2].str);
31415
36
          n->if_not_exists = false;
31416
36
          n->options = (yyvsp[0].list);
31417
36
          (yyval.node) = (Node *) n;
31418
36
        }
31419
36
#line 31420 "gram.c"
31420
36
    break;
31421
31422
0
  case 660:
31423
0
#line 4903 "gram.y"
31424
0
    {
31425
0
          CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
31426
0
          n->extname = (yyvsp[-2].str);
31427
0
          n->if_not_exists = true;
31428
0
          n->options = (yyvsp[0].list);
31429
0
          (yyval.node) = (Node *) n;
31430
0
        }
31431
0
#line 31432 "gram.c"
31432
0
    break;
31433
31434
2
  case 661:
31435
2
#line 4914 "gram.y"
31436
2
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31437
2
#line 31438 "gram.c"
31438
2
    break;
31439
31440
36
  case 662:
31441
36
#line 4916 "gram.y"
31442
36
    { (yyval.list) = NIL; }
31443
36
#line 31444 "gram.c"
31444
36
    break;
31445
31446
2
  case 663:
31447
2
#line 4921 "gram.y"
31448
2
    {
31449
2
          (yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31450
2
        }
31451
2
#line 31452 "gram.c"
31452
2
    break;
31453
31454
0
  case 664:
31455
0
#line 4925 "gram.y"
31456
0
    {
31457
0
          (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31458
0
        }
31459
0
#line 31460 "gram.c"
31460
0
    break;
31461
31462
0
  case 665:
31463
0
#line 4929 "gram.y"
31464
0
    {
31465
0
          (yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31466
0
        }
31467
0
#line 31468 "gram.c"
31468
0
    break;
31469
31470
0
  case 666:
31471
0
#line 4933 "gram.y"
31472
0
    {
31473
0
          (yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[0]));
31474
0
        }
31475
0
#line 31476 "gram.c"
31476
0
    break;
31477
31478
2
  case 667:
31479
2
#line 4945 "gram.y"
31480
2
    {
31481
2
          AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
31482
2
          n->extname = (yyvsp[-2].str);
31483
2
          n->options = (yyvsp[0].list);
31484
2
          (yyval.node) = (Node *) n;
31485
2
        }
31486
2
#line 31487 "gram.c"
31487
2
    break;
31488
31489
2
  case 668:
31490
2
#line 4955 "gram.y"
31491
2
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31492
2
#line 31493 "gram.c"
31493
2
    break;
31494
31495
2
  case 669:
31496
2
#line 4957 "gram.y"
31497
2
    { (yyval.list) = NIL; }
31498
2
#line 31499 "gram.c"
31499
2
    break;
31500
31501
2
  case 670:
31502
2
#line 4962 "gram.y"
31503
2
    {
31504
2
          (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31505
2
        }
31506
2
#line 31507 "gram.c"
31507
2
    break;
31508
31509
0
  case 671:
31510
0
#line 4975 "gram.y"
31511
0
    {
31512
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31513
0
          n->extname = (yyvsp[-4].str);
31514
0
          n->action = (yyvsp[-3].ival);
31515
0
          n->objtype = OBJECT_ACCESS_METHOD;
31516
0
          n->object = (Node *) makeString((yyvsp[0].str));
31517
0
          (yyval.node) = (Node *)n;
31518
0
        }
31519
0
#line 31520 "gram.c"
31520
0
    break;
31521
31522
4
  case 672:
31523
4
#line 4984 "gram.y"
31524
4
    {
31525
4
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31526
4
          n->extname = (yyvsp[-3].str);
31527
4
          n->action = (yyvsp[-2].ival);
31528
4
          n->objtype = OBJECT_AGGREGATE;
31529
4
          n->object = (Node *) (yyvsp[0].objwithargs);
31530
4
          (yyval.node) = (Node *)n;
31531
4
        }
31532
4
#line 31533 "gram.c"
31533
4
    break;
31534
31535
0
  case 673:
31536
0
#line 4993 "gram.y"
31537
0
    {
31538
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31539
0
          n->extname = (yyvsp[-7].str);
31540
0
          n->action = (yyvsp[-6].ival);
31541
0
          n->objtype = OBJECT_CAST;
31542
0
          n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
31543
0
          (yyval.node) = (Node *) n;
31544
0
        }
31545
0
#line 31546 "gram.c"
31546
0
    break;
31547
31548
0
  case 674:
31549
0
#line 5002 "gram.y"
31550
0
    {
31551
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31552
0
          n->extname = (yyvsp[-3].str);
31553
0
          n->action = (yyvsp[-2].ival);
31554
0
          n->objtype = OBJECT_COLLATION;
31555
0
          n->object = (Node *) (yyvsp[0].list);
31556
0
          (yyval.node) = (Node *)n;
31557
0
        }
31558
0
#line 31559 "gram.c"
31559
0
    break;
31560
31561
0
  case 675:
31562
0
#line 5011 "gram.y"
31563
0
    {
31564
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31565
0
          n->extname = (yyvsp[-3].str);
31566
0
          n->action = (yyvsp[-2].ival);
31567
0
          n->objtype = OBJECT_CONVERSION;
31568
0
          n->object = (Node *) (yyvsp[0].list);
31569
0
          (yyval.node) = (Node *)n;
31570
0
        }
31571
0
#line 31572 "gram.c"
31572
0
    break;
31573
31574
0
  case 676:
31575
0
#line 5020 "gram.y"
31576
0
    {
31577
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31578
0
          n->extname = (yyvsp[-3].str);
31579
0
          n->action = (yyvsp[-2].ival);
31580
0
          n->objtype = OBJECT_DOMAIN;
31581
0
          n->object = (Node *) (yyvsp[0].typnam);
31582
0
          (yyval.node) = (Node *)n;
31583
0
        }
31584
0
#line 31585 "gram.c"
31585
0
    break;
31586
31587
16
  case 677:
31588
16
#line 5029 "gram.y"
31589
16
    {
31590
16
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31591
16
          n->extname = (yyvsp[-3].str);
31592
16
          n->action = (yyvsp[-2].ival);
31593
16
          n->objtype = OBJECT_FUNCTION;
31594
16
          n->object = (Node *) (yyvsp[0].objwithargs);
31595
16
          (yyval.node) = (Node *)n;
31596
16
        }
31597
16
#line 31598 "gram.c"
31598
16
    break;
31599
31600
0
  case 678:
31601
0
#line 5038 "gram.y"
31602
0
    {
31603
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31604
0
          n->extname = (yyvsp[-4].str);
31605
0
          n->action = (yyvsp[-3].ival);
31606
0
          n->objtype = OBJECT_LANGUAGE;
31607
0
          n->object = (Node *) makeString((yyvsp[0].str));
31608
0
          (yyval.node) = (Node *)n;
31609
0
        }
31610
0
#line 31611 "gram.c"
31611
0
    break;
31612
31613
14
  case 679:
31614
14
#line 5047 "gram.y"
31615
14
    {
31616
14
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31617
14
          n->extname = (yyvsp[-3].str);
31618
14
          n->action = (yyvsp[-2].ival);
31619
14
          n->objtype = OBJECT_OPERATOR;
31620
14
          n->object = (Node *) (yyvsp[0].objwithargs);
31621
14
          (yyval.node) = (Node *)n;
31622
14
        }
31623
14
#line 31624 "gram.c"
31624
14
    break;
31625
31626
4
  case 680:
31627
4
#line 5056 "gram.y"
31628
4
    {
31629
4
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31630
4
          n->extname = (yyvsp[-6].str);
31631
4
          n->action = (yyvsp[-5].ival);
31632
4
          n->objtype = OBJECT_OPCLASS;
31633
4
          n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
31634
4
          (yyval.node) = (Node *)n;
31635
4
        }
31636
4
#line 31637 "gram.c"
31637
4
    break;
31638
31639
4
  case 681:
31640
4
#line 5065 "gram.y"
31641
4
    {
31642
4
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31643
4
          n->extname = (yyvsp[-6].str);
31644
4
          n->action = (yyvsp[-5].ival);
31645
4
          n->objtype = OBJECT_OPFAMILY;
31646
4
          n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
31647
4
          (yyval.node) = (Node *)n;
31648
4
        }
31649
4
#line 31650 "gram.c"
31650
4
    break;
31651
31652
0
  case 682:
31653
0
#line 5074 "gram.y"
31654
0
    {
31655
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31656
0
          n->extname = (yyvsp[-3].str);
31657
0
          n->action = (yyvsp[-2].ival);
31658
0
          n->objtype = OBJECT_PROCEDURE;
31659
0
          n->object = (Node *) (yyvsp[0].objwithargs);
31660
0
          (yyval.node) = (Node *)n;
31661
0
        }
31662
0
#line 31663 "gram.c"
31663
0
    break;
31664
31665
0
  case 683:
31666
0
#line 5083 "gram.y"
31667
0
    {
31668
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31669
0
          n->extname = (yyvsp[-3].str);
31670
0
          n->action = (yyvsp[-2].ival);
31671
0
          n->objtype = OBJECT_ROUTINE;
31672
0
          n->object = (Node *) (yyvsp[0].objwithargs);
31673
0
          (yyval.node) = (Node *)n;
31674
0
        }
31675
0
#line 31676 "gram.c"
31676
0
    break;
31677
31678
0
  case 684:
31679
0
#line 5092 "gram.y"
31680
0
    {
31681
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31682
0
          n->extname = (yyvsp[-3].str);
31683
0
          n->action = (yyvsp[-2].ival);
31684
0
          n->objtype = OBJECT_SCHEMA;
31685
0
          n->object = (Node *) makeString((yyvsp[0].str));
31686
0
          (yyval.node) = (Node *)n;
31687
0
        }
31688
0
#line 31689 "gram.c"
31689
0
    break;
31690
31691
0
  case 685:
31692
0
#line 5101 "gram.y"
31693
0
    {
31694
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31695
0
          n->extname = (yyvsp[-4].str);
31696
0
          n->action = (yyvsp[-3].ival);
31697
0
          n->objtype = OBJECT_EVENT_TRIGGER;
31698
0
          n->object = (Node *) makeString((yyvsp[0].str));
31699
0
          (yyval.node) = (Node *)n;
31700
0
        }
31701
0
#line 31702 "gram.c"
31702
0
    break;
31703
31704
0
  case 686:
31705
0
#line 5110 "gram.y"
31706
0
    {
31707
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31708
0
          n->extname = (yyvsp[-3].str);
31709
0
          n->action = (yyvsp[-2].ival);
31710
0
          n->objtype = OBJECT_TABLE;
31711
0
          n->object = (Node *) (yyvsp[0].list);
31712
0
          (yyval.node) = (Node *)n;
31713
0
        }
31714
0
#line 31715 "gram.c"
31715
0
    break;
31716
31717
0
  case 687:
31718
0
#line 5119 "gram.y"
31719
0
    {
31720
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31721
0
          n->extname = (yyvsp[-5].str);
31722
0
          n->action = (yyvsp[-4].ival);
31723
0
          n->objtype = OBJECT_TSPARSER;
31724
0
          n->object = (Node *) (yyvsp[0].list);
31725
0
          (yyval.node) = (Node *)n;
31726
0
        }
31727
0
#line 31728 "gram.c"
31728
0
    break;
31729
31730
0
  case 688:
31731
0
#line 5128 "gram.y"
31732
0
    {
31733
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31734
0
          n->extname = (yyvsp[-5].str);
31735
0
          n->action = (yyvsp[-4].ival);
31736
0
          n->objtype = OBJECT_TSDICTIONARY;
31737
0
          n->object = (Node *) (yyvsp[0].list);
31738
0
          (yyval.node) = (Node *)n;
31739
0
        }
31740
0
#line 31741 "gram.c"
31741
0
    break;
31742
31743
0
  case 689:
31744
0
#line 5137 "gram.y"
31745
0
    {
31746
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31747
0
          n->extname = (yyvsp[-5].str);
31748
0
          n->action = (yyvsp[-4].ival);
31749
0
          n->objtype = OBJECT_TSTEMPLATE;
31750
0
          n->object = (Node *) (yyvsp[0].list);
31751
0
          (yyval.node) = (Node *)n;
31752
0
        }
31753
0
#line 31754 "gram.c"
31754
0
    break;
31755
31756
0
  case 690:
31757
0
#line 5146 "gram.y"
31758
0
    {
31759
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31760
0
          n->extname = (yyvsp[-5].str);
31761
0
          n->action = (yyvsp[-4].ival);
31762
0
          n->objtype = OBJECT_TSCONFIGURATION;
31763
0
          n->object = (Node *) (yyvsp[0].list);
31764
0
          (yyval.node) = (Node *)n;
31765
0
        }
31766
0
#line 31767 "gram.c"
31767
0
    break;
31768
31769
0
  case 691:
31770
0
#line 5155 "gram.y"
31771
0
    {
31772
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31773
0
          n->extname = (yyvsp[-3].str);
31774
0
          n->action = (yyvsp[-2].ival);
31775
0
          n->objtype = OBJECT_SEQUENCE;
31776
0
          n->object = (Node *) (yyvsp[0].list);
31777
0
          (yyval.node) = (Node *)n;
31778
0
        }
31779
0
#line 31780 "gram.c"
31780
0
    break;
31781
31782
0
  case 692:
31783
0
#line 5164 "gram.y"
31784
0
    {
31785
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31786
0
          n->extname = (yyvsp[-3].str);
31787
0
          n->action = (yyvsp[-2].ival);
31788
0
          n->objtype = OBJECT_VIEW;
31789
0
          n->object = (Node *) (yyvsp[0].list);
31790
0
          (yyval.node) = (Node *)n;
31791
0
        }
31792
0
#line 31793 "gram.c"
31793
0
    break;
31794
31795
0
  case 693:
31796
0
#line 5173 "gram.y"
31797
0
    {
31798
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31799
0
          n->extname = (yyvsp[-4].str);
31800
0
          n->action = (yyvsp[-3].ival);
31801
0
          n->objtype = OBJECT_MATVIEW;
31802
0
          n->object = (Node *) (yyvsp[0].list);
31803
0
          (yyval.node) = (Node *)n;
31804
0
        }
31805
0
#line 31806 "gram.c"
31806
0
    break;
31807
31808
0
  case 694:
31809
0
#line 5182 "gram.y"
31810
0
    {
31811
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31812
0
          n->extname = (yyvsp[-4].str);
31813
0
          n->action = (yyvsp[-3].ival);
31814
0
          n->objtype = OBJECT_FOREIGN_TABLE;
31815
0
          n->object = (Node *) (yyvsp[0].list);
31816
0
          (yyval.node) = (Node *)n;
31817
0
        }
31818
0
#line 31819 "gram.c"
31819
0
    break;
31820
31821
0
  case 695:
31822
0
#line 5191 "gram.y"
31823
0
    {
31824
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31825
0
          n->extname = (yyvsp[-5].str);
31826
0
          n->action = (yyvsp[-4].ival);
31827
0
          n->objtype = OBJECT_FDW;
31828
0
          n->object = (Node *) makeString((yyvsp[0].str));
31829
0
          (yyval.node) = (Node *)n;
31830
0
        }
31831
0
#line 31832 "gram.c"
31832
0
    break;
31833
31834
0
  case 696:
31835
0
#line 5200 "gram.y"
31836
0
    {
31837
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31838
0
          n->extname = (yyvsp[-3].str);
31839
0
          n->action = (yyvsp[-2].ival);
31840
0
          n->objtype = OBJECT_FOREIGN_SERVER;
31841
0
          n->object = (Node *) makeString((yyvsp[0].str));
31842
0
          (yyval.node) = (Node *)n;
31843
0
        }
31844
0
#line 31845 "gram.c"
31845
0
    break;
31846
31847
0
  case 697:
31848
0
#line 5209 "gram.y"
31849
0
    {
31850
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31851
0
          n->extname = (yyvsp[-6].str);
31852
0
          n->action = (yyvsp[-5].ival);
31853
0
          n->objtype = OBJECT_TRANSFORM;
31854
0
          n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
31855
0
          (yyval.node) = (Node *)n;
31856
0
        }
31857
0
#line 31858 "gram.c"
31858
0
    break;
31859
31860
0
  case 698:
31861
0
#line 5218 "gram.y"
31862
0
    {
31863
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31864
0
          n->extname = (yyvsp[-3].str);
31865
0
          n->action = (yyvsp[-2].ival);
31866
0
          n->objtype = OBJECT_TYPE;
31867
0
          n->object = (Node *) (yyvsp[0].typnam);
31868
0
          (yyval.node) = (Node *)n;
31869
0
        }
31870
0
#line 31871 "gram.c"
31871
0
    break;
31872
31873
13
  case 699:
31874
13
#line 5236 "gram.y"
31875
13
    {
31876
13
          CreateFdwStmt *n = makeNode(CreateFdwStmt);
31877
13
          n->fdwname = (yyvsp[-2].str);
31878
13
          n->func_options = (yyvsp[-1].list);
31879
13
          n->options = (yyvsp[0].list);
31880
13
          (yyval.node) = (Node *) n;
31881
13
        }
31882
13
#line 31883 "gram.c"
31883
13
    break;
31884
31885
6
  case 700:
31886
6
#line 5246 "gram.y"
31887
6
    { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
31888
6
#line 31889 "gram.c"
31889
6
    break;
31890
31891
0
  case 701:
31892
0
#line 5247 "gram.y"
31893
0
    { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
31894
0
#line 31895 "gram.c"
31895
0
    break;
31896
31897
6
  case 702:
31898
6
#line 5248 "gram.y"
31899
6
    { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
31900
6
#line 31901 "gram.c"
31901
6
    break;
31902
31903
2
  case 703:
31904
2
#line 5249 "gram.y"
31905
2
    { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
31906
2
#line 31907 "gram.c"
31907
2
    break;
31908
31909
8
  case 704:
31910
8
#line 5253 "gram.y"
31911
8
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31912
8
#line 31913 "gram.c"
31913
8
    break;
31914
31915
6
  case 705:
31916
6
#line 5254 "gram.y"
31917
6
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31918
6
#line 31919 "gram.c"
31919
6
    break;
31920
31921
6
  case 706:
31922
6
#line 5258 "gram.y"
31923
6
    { (yyval.list) = (yyvsp[0].list); }
31924
6
#line 31925 "gram.c"
31925
6
    break;
31926
31927
13
  case 707:
31928
13
#line 5259 "gram.y"
31929
13
    { (yyval.list) = NIL; }
31930
13
#line 31931 "gram.c"
31931
13
    break;
31932
31933
6
  case 708:
31934
6
#line 5270 "gram.y"
31935
6
    {
31936
6
          AlterFdwStmt *n = makeNode(AlterFdwStmt);
31937
6
          n->fdwname = (yyvsp[-2].str);
31938
6
          n->func_options = (yyvsp[-1].list);
31939
6
          n->options = (yyvsp[0].list);
31940
6
          (yyval.node) = (Node *) n;
31941
6
        }
31942
6
#line 31943 "gram.c"
31943
6
    break;
31944
31945
2
  case 709:
31946
2
#line 5278 "gram.y"
31947
2
    {
31948
2
          AlterFdwStmt *n = makeNode(AlterFdwStmt);
31949
2
          n->fdwname = (yyvsp[-1].str);
31950
2
          n->func_options = (yyvsp[0].list);
31951
2
          n->options = NIL;
31952
2
          (yyval.node) = (Node *) n;
31953
2
        }
31954
2
#line 31955 "gram.c"
31955
2
    break;
31956
31957
276
  case 710:
31958
276
#line 5290 "gram.y"
31959
276
    {
31960
276
          (yyval.list) = (yyvsp[-1].list);
31961
276
        }
31962
276
#line 31963 "gram.c"
31963
276
    break;
31964
31965
4.31k
  case 711:
31966
4.31k
#line 5293 "gram.y"
31967
4.31k
    { (yyval.list) = NIL; }
31968
4.31k
#line 31969 "gram.c"
31969
4.31k
    break;
31970
31971
276
  case 712:
31972
276
#line 5298 "gram.y"
31973
276
    {
31974
276
          (yyval.list) = list_make1((yyvsp[0].defelt));
31975
276
        }
31976
276
#line 31977 "gram.c"
31977
276
    break;
31978
31979
166
  case 713:
31980
166
#line 5302 "gram.y"
31981
166
    {
31982
166
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
31983
166
        }
31984
166
#line 31985 "gram.c"
31985
166
    break;
31986
31987
95
  case 714:
31988
95
#line 5310 "gram.y"
31989
95
    {
31990
95
          (yyval.list) = (yyvsp[-1].list);
31991
95
        }
31992
95
#line 31993 "gram.c"
31993
95
    break;
31994
31995
95
  case 715:
31996
95
#line 5317 "gram.y"
31997
95
    {
31998
95
          (yyval.list) = list_make1((yyvsp[0].defelt));
31999
95
        }
32000
95
#line 32001 "gram.c"
32001
95
    break;
32002
32003
46
  case 716:
32004
46
#line 5321 "gram.y"
32005
46
    {
32006
46
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
32007
46
        }
32008
46
#line 32009 "gram.c"
32009
46
    break;
32010
32011
64
  case 717:
32012
64
#line 5328 "gram.y"
32013
64
    {
32014
64
          (yyval.defelt) = (yyvsp[0].defelt);
32015
64
        }
32016
64
#line 32017 "gram.c"
32017
64
    break;
32018
32019
40
  case 718:
32020
40
#line 5332 "gram.y"
32021
40
    {
32022
40
          (yyval.defelt) = (yyvsp[0].defelt);
32023
40
          (yyval.defelt)->defaction = DEFELEM_SET;
32024
40
        }
32025
40
#line 32026 "gram.c"
32026
40
    break;
32027
32028
25
  case 719:
32029
25
#line 5337 "gram.y"
32030
25
    {
32031
25
          (yyval.defelt) = (yyvsp[0].defelt);
32032
25
          (yyval.defelt)->defaction = DEFELEM_ADD;
32033
25
        }
32034
25
#line 32035 "gram.c"
32035
25
    break;
32036
32037
12
  case 720:
32038
12
#line 5342 "gram.y"
32039
12
    {
32040
12
          (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
32041
12
        }
32042
12
#line 32043 "gram.c"
32043
12
    break;
32044
32045
571
  case 721:
32046
571
#line 5349 "gram.y"
32047
571
    {
32048
571
          (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
32049
571
        }
32050
571
#line 32051 "gram.c"
32051
571
    break;
32052
32053
583
  case 722:
32054
583
#line 5355 "gram.y"
32055
583
    { (yyval.str) = (yyvsp[0].str); }
32056
583
#line 32057 "gram.c"
32057
583
    break;
32058
32059
571
  case 723:
32060
571
#line 5360 "gram.y"
32061
571
    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
32062
571
#line 32063 "gram.c"
32063
571
    break;
32064
32065
36
  case 724:
32066
36
#line 5372 "gram.y"
32067
36
    {
32068
36
          CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
32069
36
          n->servername = (yyvsp[-7].str);
32070
36
          n->servertype = (yyvsp[-6].str);
32071
36
          n->version = (yyvsp[-5].str);
32072
36
          n->fdwname = (yyvsp[-1].str);
32073
36
          n->options = (yyvsp[0].list);
32074
36
          n->if_not_exists = false;
32075
36
          (yyval.node) = (Node *) n;
32076
36
        }
32077
36
#line 32078 "gram.c"
32078
36
    break;
32079
32080
0
  case 725:
32081
0
#line 5384 "gram.y"
32082
0
    {
32083
0
          CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
32084
0
          n->servername = (yyvsp[-7].str);
32085
0
          n->servertype = (yyvsp[-6].str);
32086
0
          n->version = (yyvsp[-5].str);
32087
0
          n->fdwname = (yyvsp[-1].str);
32088
0
          n->options = (yyvsp[0].list);
32089
0
          n->if_not_exists = true;
32090
0
          (yyval.node) = (Node *) n;
32091
0
        }
32092
0
#line 32093 "gram.c"
32093
0
    break;
32094
32095
0
  case 726:
32096
0
#line 5397 "gram.y"
32097
0
    { (yyval.str) = (yyvsp[0].str); }
32098
0
#line 32099 "gram.c"
32099
0
    break;
32100
32101
36
  case 727:
32102
36
#line 5398 "gram.y"
32103
36
    { (yyval.str) = NULL; }
32104
36
#line 32105 "gram.c"
32105
36
    break;
32106
32107
0
  case 728:
32108
0
#line 5403 "gram.y"
32109
0
    { (yyval.str) = (yyvsp[0].str); }
32110
0
#line 32111 "gram.c"
32111
0
    break;
32112
32113
0
  case 729:
32114
0
#line 5404 "gram.y"
32115
0
    { (yyval.str) = NULL; }
32116
0
#line 32117 "gram.c"
32117
0
    break;
32118
32119
0
  case 730:
32120
0
#line 5408 "gram.y"
32121
0
    { (yyval.str) = (yyvsp[0].str); }
32122
0
#line 32123 "gram.c"
32123
0
    break;
32124
32125
36
  case 731:
32126
36
#line 5409 "gram.y"
32127
36
    { (yyval.str) = NULL; }
32128
36
#line 32129 "gram.c"
32129
36
    break;
32130
32131
0
  case 732:
32132
0
#line 5420 "gram.y"
32133
0
    {
32134
0
          AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32135
0
          n->servername = (yyvsp[-2].str);
32136
0
          n->version = (yyvsp[-1].str);
32137
0
          n->options = (yyvsp[0].list);
32138
0
          n->has_version = true;
32139
0
          (yyval.node) = (Node *) n;
32140
0
        }
32141
0
#line 32142 "gram.c"
32142
0
    break;
32143
32144
0
  case 733:
32145
0
#line 5429 "gram.y"
32146
0
    {
32147
0
          AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32148
0
          n->servername = (yyvsp[-1].str);
32149
0
          n->version = (yyvsp[0].str);
32150
0
          n->has_version = true;
32151
0
          (yyval.node) = (Node *) n;
32152
0
        }
32153
0
#line 32154 "gram.c"
32154
0
    break;
32155
32156
40
  case 734:
32157
40
#line 5437 "gram.y"
32158
40
    {
32159
40
          AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32160
40
          n->servername = (yyvsp[-1].str);
32161
40
          n->options = (yyvsp[0].list);
32162
40
          (yyval.node) = (Node *) n;
32163
40
        }
32164
40
#line 32165 "gram.c"
32165
40
    break;
32166
32167
149
  case 735:
32168
149
#line 5456 "gram.y"
32169
149
    {
32170
149
          CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32171
149
          (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32172
149
          n->base.relation = (yyvsp[-7].range);
32173
149
          n->base.tableElts = (yyvsp[-5].list);
32174
149
          n->base.inhRelations = (yyvsp[-3].list);
32175
149
          n->base.ofTypename = NULL;
32176
149
          n->base.constraints = NIL;
32177
149
          n->base.options = NIL;
32178
149
          n->base.oncommit = ONCOMMIT_NOOP;
32179
149
          n->base.tablespacename = NULL;
32180
149
          n->base.if_not_exists = false;
32181
          /* FDW-specific data */
32182
149
          n->servername = (yyvsp[-1].str);
32183
149
          n->options = (yyvsp[0].list);
32184
149
          (yyval.node) = (Node *) n;
32185
149
        }
32186
149
#line 32187 "gram.c"
32187
149
    break;
32188
32189
0
  case 736:
32190
0
#line 5476 "gram.y"
32191
0
    {
32192
0
          CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32193
0
          (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32194
0
          n->base.relation = (yyvsp[-7].range);
32195
0
          n->base.tableElts = (yyvsp[-5].list);
32196
0
          n->base.inhRelations = (yyvsp[-3].list);
32197
0
          n->base.ofTypename = NULL;
32198
0
          n->base.constraints = NIL;
32199
0
          n->base.options = NIL;
32200
0
          n->base.oncommit = ONCOMMIT_NOOP;
32201
0
          n->base.tablespacename = NULL;
32202
0
          n->base.if_not_exists = true;
32203
          /* FDW-specific data */
32204
0
          n->servername = (yyvsp[-1].str);
32205
0
          n->options = (yyvsp[0].list);
32206
0
          (yyval.node) = (Node *) n;
32207
0
        }
32208
0
#line 32209 "gram.c"
32209
0
    break;
32210
32211
14
  case 737:
32212
14
#line 5496 "gram.y"
32213
14
    {
32214
14
          CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32215
14
          (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32216
14
          n->base.relation = (yyvsp[-8].range);
32217
14
          n->base.inhRelations = list_make1((yyvsp[-5].range));
32218
14
          n->base.tableElts = (yyvsp[-4].list);
32219
14
          n->base.partbound = (yyvsp[-3].partboundspec);
32220
14
          n->base.ofTypename = NULL;
32221
14
          n->base.constraints = NIL;
32222
14
          n->base.options = NIL;
32223
14
          n->base.oncommit = ONCOMMIT_NOOP;
32224
14
          n->base.tablespacename = NULL;
32225
14
          n->base.if_not_exists = false;
32226
          /* FDW-specific data */
32227
14
          n->servername = (yyvsp[-1].str);
32228
14
          n->options = (yyvsp[0].list);
32229
14
          (yyval.node) = (Node *) n;
32230
14
        }
32231
14
#line 32232 "gram.c"
32232
14
    break;
32233
32234
0
  case 738:
32235
0
#line 5517 "gram.y"
32236
0
    {
32237
0
          CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32238
0
          (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32239
0
          n->base.relation = (yyvsp[-8].range);
32240
0
          n->base.inhRelations = list_make1((yyvsp[-5].range));
32241
0
          n->base.tableElts = (yyvsp[-4].list);
32242
0
          n->base.partbound = (yyvsp[-3].partboundspec);
32243
0
          n->base.ofTypename = NULL;
32244
0
          n->base.constraints = NIL;
32245
0
          n->base.options = NIL;
32246
0
          n->base.oncommit = ONCOMMIT_NOOP;
32247
0
          n->base.tablespacename = NULL;
32248
0
          n->base.if_not_exists = true;
32249
          /* FDW-specific data */
32250
0
          n->servername = (yyvsp[-1].str);
32251
0
          n->options = (yyvsp[0].list);
32252
0
          (yyval.node) = (Node *) n;
32253
0
        }
32254
0
#line 32255 "gram.c"
32255
0
    break;
32256
32257
36
  case 739:
32258
36
#line 5546 "gram.y"
32259
36
    {
32260
36
          AlterTableStmt *n = makeNode(AlterTableStmt);
32261
36
          n->relation = (yyvsp[-1].range);
32262
36
          n->cmds = (yyvsp[0].list);
32263
36
          n->relkind = OBJECT_FOREIGN_TABLE;
32264
36
          n->missing_ok = false;
32265
36
          (yyval.node) = (Node *)n;
32266
36
        }
32267
36
#line 32268 "gram.c"
32268
36
    break;
32269
32270
0
  case 740:
32271
0
#line 5555 "gram.y"
32272
0
    {
32273
0
          AlterTableStmt *n = makeNode(AlterTableStmt);
32274
0
          n->relation = (yyvsp[-1].range);
32275
0
          n->cmds = (yyvsp[0].list);
32276
0
          n->relkind = OBJECT_FOREIGN_TABLE;
32277
0
          n->missing_ok = true;
32278
0
          (yyval.node) = (Node *)n;
32279
0
        }
32280
0
#line 32281 "gram.c"
32281
0
    break;
32282
32283
24
  case 741:
32284
24
#line 5577 "gram.y"
32285
24
    {
32286
24
        ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
32287
24
        n->server_name = (yyvsp[-3].str);
32288
24
        n->remote_schema = (yyvsp[-7].str);
32289
24
        n->local_schema = (yyvsp[-1].str);
32290
24
        n->list_type = (yyvsp[-6].importqual)->type;
32291
24
        n->table_list = (yyvsp[-6].importqual)->table_names;
32292
24
        n->options = (yyvsp[0].list);
32293
24
        (yyval.node) = (Node *) n;
32294
24
      }
32295
24
#line 32296 "gram.c"
32296
24
    break;
32297
32298
4
  case 742:
32299
4
#line 5590 "gram.y"
32300
4
    { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
32301
4
#line 32302 "gram.c"
32302
4
    break;
32303
32304
2
  case 743:
32305
2
#line 5591 "gram.y"
32306
2
    { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
32307
2
#line 32308 "gram.c"
32308
2
    break;
32309
32310
6
  case 744:
32311
6
#line 5596 "gram.y"
32312
6
    {
32313
6
        ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
32314
6
        n->type = (yyvsp[-3].ival);
32315
6
        n->table_names = (yyvsp[-1].list);
32316
6
        (yyval.importqual) = n;
32317
6
      }
32318
6
#line 32319 "gram.c"
32319
6
    break;
32320
32321
18
  case 745:
32322
18
#line 5603 "gram.y"
32323
18
    {
32324
18
        ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
32325
18
        n->type = FDW_IMPORT_SCHEMA_ALL;
32326
18
        n->table_names = NIL;
32327
18
        (yyval.importqual) = n;
32328
18
      }
32329
18
#line 32330 "gram.c"
32330
18
    break;
32331
32332
58
  case 746:
32333
58
#line 5619 "gram.y"
32334
58
    {
32335
58
          CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
32336
58
          n->user = (yyvsp[-3].rolespec);
32337
58
          n->servername = (yyvsp[-1].str);
32338
58
          n->options = (yyvsp[0].list);
32339
58
          n->if_not_exists = false;
32340
58
          (yyval.node) = (Node *) n;
32341
58
        }
32342
58
#line 32343 "gram.c"
32343
58
    break;
32344
32345
0
  case 747:
32346
0
#line 5628 "gram.y"
32347
0
    {
32348
0
          CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
32349
0
          n->user = (yyvsp[-3].rolespec);
32350
0
          n->servername = (yyvsp[-1].str);
32351
0
          n->options = (yyvsp[0].list);
32352
0
          n->if_not_exists = true;
32353
0
          (yyval.node) = (Node *) n;
32354
0
        }
32355
0
#line 32356 "gram.c"
32356
0
    break;
32357
32358
112
  case 748:
32359
112
#line 5639 "gram.y"
32360
112
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
32361
112
#line 32362 "gram.c"
32362
112
    break;
32363
32364
10
  case 749:
32365
10
#line 5640 "gram.y"
32366
10
    { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
32367
10
#line 32368 "gram.c"
32368
10
    break;
32369
32370
21
  case 750:
32371
21
#line 5653 "gram.y"
32372
21
    {
32373
21
          DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
32374
21
          n->user = (yyvsp[-2].rolespec);
32375
21
          n->servername = (yyvsp[0].str);
32376
21
          n->missing_ok = false;
32377
21
          (yyval.node) = (Node *) n;
32378
21
        }
32379
21
#line 32380 "gram.c"
32380
21
    break;
32381
32382
18
  case 751:
32383
18
#line 5661 "gram.y"
32384
18
    {
32385
18
          DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
32386
18
          n->user = (yyvsp[-2].rolespec);
32387
18
          n->servername = (yyvsp[0].str);
32388
18
          n->missing_ok = true;
32389
18
          (yyval.node) = (Node *) n;
32390
18
        }
32391
18
#line 32392 "gram.c"
32392
18
    break;
32393
32394
25
  case 752:
32395
25
#line 5678 "gram.y"
32396
25
    {
32397
25
          AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
32398
25
          n->user = (yyvsp[-3].rolespec);
32399
25
          n->servername = (yyvsp[-1].str);
32400
25
          n->options = (yyvsp[0].list);
32401
25
          (yyval.node) = (Node *) n;
32402
25
        }
32403
25
#line 32404 "gram.c"
32404
25
    break;
32405
32406
165
  case 753:
32407
165
#line 5704 "gram.y"
32408
165
    {
32409
165
          CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
32410
165
          n->policy_name = (yyvsp[-7].str);
32411
165
          n->table = (yyvsp[-5].range);
32412
165
          n->permissive = (yyvsp[-4].boolean);
32413
165
          n->cmd_name = (yyvsp[-3].str);
32414
165
          n->roles = (yyvsp[-2].list);
32415
165
          n->qual = (yyvsp[-1].node);
32416
165
          n->with_check = (yyvsp[0].node);
32417
165
          (yyval.node) = (Node *) n;
32418
165
        }
32419
165
#line 32420 "gram.c"
32420
165
    break;
32421
32422
28
  case 754:
32423
28
#line 5720 "gram.y"
32424
28
    {
32425
28
          AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
32426
28
          n->policy_name = (yyvsp[-5].str);
32427
28
          n->table = (yyvsp[-3].range);
32428
28
          n->roles = (yyvsp[-2].list);
32429
28
          n->qual = (yyvsp[-1].node);
32430
28
          n->with_check = (yyvsp[0].node);
32431
28
          (yyval.node) = (Node *) n;
32432
28
        }
32433
28
#line 32434 "gram.c"
32434
28
    break;
32435
32436
179
  case 755:
32437
179
#line 5732 "gram.y"
32438
179
    { (yyval.node) = (yyvsp[-1].node); }
32439
179
#line 32440 "gram.c"
32440
179
    break;
32441
32442
14
  case 756:
32443
14
#line 5733 "gram.y"
32444
14
    { (yyval.node) = NULL; }
32445
14
#line 32446 "gram.c"
32446
14
    break;
32447
32448
26
  case 757:
32449
26
#line 5737 "gram.y"
32450
26
    { (yyval.node) = (yyvsp[-1].node); }
32451
26
#line 32452 "gram.c"
32452
26
    break;
32453
32454
167
  case 758:
32455
167
#line 5738 "gram.y"
32456
167
    { (yyval.node) = NULL; }
32457
167
#line 32458 "gram.c"
32458
167
    break;
32459
32460
35
  case 759:
32461
35
#line 5742 "gram.y"
32462
35
    { (yyval.list) = (yyvsp[0].list); }
32463
35
#line 32464 "gram.c"
32464
35
    break;
32465
32466
130
  case 760:
32467
130
#line 5743 "gram.y"
32468
130
    { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
32469
130
#line 32470 "gram.c"
32470
130
    break;
32471
32472
4
  case 761:
32473
4
#line 5747 "gram.y"
32474
4
    { (yyval.list) = (yyvsp[0].list); }
32475
4
#line 32476 "gram.c"
32476
4
    break;
32477
32478
24
  case 762:
32479
24
#line 5748 "gram.y"
32480
24
    { (yyval.list) = NULL; }
32481
24
#line 32482 "gram.c"
32482
24
    break;
32483
32484
16
  case 763:
32485
16
#line 5753 "gram.y"
32486
16
    {
32487
16
          if (strcmp((yyvsp[0].str), "permissive") == 0)
32488
4
            (yyval.boolean) = true;
32489
12
          else if (strcmp((yyvsp[0].str), "restrictive") == 0)
32490
10
            (yyval.boolean) = false;
32491
12
          else
32492
2
            ereport(ERROR,
32493
16
                (errcode(ERRCODE_SYNTAX_ERROR),
32494
16
               errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
32495
16
                 errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
32496
16
                   parser_errposition((yylsp[0]))));
32497
32498
16
        }
32499
16
#line 32500 "gram.c"
32500
16
    break;
32501
32502
151
  case 764:
32503
151
#line 5766 "gram.y"
32504
151
    { (yyval.boolean) = true; }
32505
151
#line 32506 "gram.c"
32506
151
    break;
32507
32508
74
  case 765:
32509
74
#line 5770 "gram.y"
32510
74
    { (yyval.str) = (yyvsp[0].str); }
32511
74
#line 32512 "gram.c"
32512
74
    break;
32513
32514
91
  case 766:
32515
91
#line 5771 "gram.y"
32516
91
    { (yyval.str) = "all"; }
32517
91
#line 32518 "gram.c"
32518
91
    break;
32519
32520
15
  case 767:
32521
15
#line 5775 "gram.y"
32522
15
    { (yyval.str) = "all"; }
32523
15
#line 32524 "gram.c"
32524
15
    break;
32525
32526
21
  case 768:
32527
21
#line 5776 "gram.y"
32528
21
    { (yyval.str) = "select"; }
32529
21
#line 32530 "gram.c"
32530
21
    break;
32531
32532
12
  case 769:
32533
12
#line 5777 "gram.y"
32534
12
    { (yyval.str) = "insert"; }
32535
12
#line 32536 "gram.c"
32536
12
    break;
32537
32538
16
  case 770:
32539
16
#line 5778 "gram.y"
32540
16
    { (yyval.str) = "update"; }
32541
16
#line 32542 "gram.c"
32542
16
    break;
32543
32544
10
  case 771:
32545
10
#line 5779 "gram.y"
32546
10
    { (yyval.str) = "delete"; }
32547
10
#line 32548 "gram.c"
32548
10
    break;
32549
32550
0
  case 772:
32551
0
#line 5790 "gram.y"
32552
0
    {
32553
0
          parser_ybc_not_support((yylsp[-7]), "CREATE ACCESS METHOD");
32554
0
          CreateAmStmt *n = makeNode(CreateAmStmt);
32555
0
          n->amname = (yyvsp[-4].str);
32556
0
          n->handler_name = (yyvsp[0].list);
32557
0
          n->amtype = AMTYPE_INDEX;
32558
0
          (yyval.node) = (Node *) n;
32559
0
        }
32560
0
#line 32561 "gram.c"
32561
0
    break;
32562
32563
118
  case 773:
32564
118
#line 5811 "gram.y"
32565
118
    {
32566
118
          CreateTrigStmt *n = makeNode(CreateTrigStmt);
32567
118
          n->trigname = (yyvsp[-13].str);
32568
118
          n->relation = (yyvsp[-9].range);
32569
118
          n->funcname = (yyvsp[-3].list);
32570
118
          n->args = (yyvsp[-1].list);
32571
118
          n->row = (yyvsp[-7].boolean);
32572
118
          n->timing = (yyvsp[-12].ival);
32573
118
          n->events = intVal(linitial((yyvsp[-11].list)));
32574
118
          n->columns = (List *) lsecond((yyvsp[-11].list));
32575
118
          n->whenClause = (yyvsp[-6].node);
32576
118
          n->transitionRels = (yyvsp[-8].list);
32577
118
          n->isconstraint  = false;
32578
118
          n->deferrable  = false;
32579
118
          n->initdeferred  = false;
32580
118
          n->constrrel = NULL;
32581
118
          (yyval.node) = (Node *)n;
32582
118
        }
32583
118
#line 32584 "gram.c"
32584
118
    break;
32585
32586
0
  case 774:
32587
0
#line 5833 "gram.y"
32588
0
    {
32589
0
          parser_ybc_signal_unsupported((yylsp[-19]), "CREATE CONSTRAINT TRIGGER", 1709);
32590
0
          CreateTrigStmt *n = makeNode(CreateTrigStmt);
32591
0
          n->trigname = (yyvsp[-16].str);
32592
0
          n->relation = (yyvsp[-12].range);
32593
0
          n->funcname = (yyvsp[-3].list);
32594
0
          n->args = (yyvsp[-1].list);
32595
0
          n->row = true;
32596
0
          n->timing = TRIGGER_TYPE_AFTER;
32597
0
          n->events = intVal(linitial((yyvsp[-14].list)));
32598
0
          n->columns = (List *) lsecond((yyvsp[-14].list));
32599
0
          n->whenClause = (yyvsp[-6].node);
32600
0
          n->transitionRels = NIL;
32601
0
          n->isconstraint  = true;
32602
0
          processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
32603
0
                   &n->deferrable, &n->initdeferred, NULL,
32604
0
                   NULL, yyscanner);
32605
0
          n->constrrel = (yyvsp[-11].range);
32606
0
          (yyval.node) = (Node *)n;
32607
0
        }
32608
0
#line 32609 "gram.c"
32609
0
    break;
32610
32611
72
  case 775:
32612
72
#line 5856 "gram.y"
32613
72
    { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
32614
72
#line 32615 "gram.c"
32615
72
    break;
32616
32617
46
  case 776:
32618
46
#line 5857 "gram.y"
32619
46
    { (yyval.ival) = TRIGGER_TYPE_AFTER; }
32620
46
#line 32621 "gram.c"
32621
46
    break;
32622
32623
0
  case 777:
32624
0
#line 5858 "gram.y"
32625
0
    { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
32626
0
#line 32627 "gram.c"
32627
0
    break;
32628
32629
118
  case 778:
32630
118
#line 5863 "gram.y"
32631
118
    { (yyval.list) = (yyvsp[0].list); }
32632
118
#line 32633 "gram.c"
32633
118
    break;
32634
32635
36
  case 779:
32636
36
#line 5865 "gram.y"
32637
36
    {
32638
36
          int   events1 = intVal(linitial((yyvsp[-2].list)));
32639
36
          int   events2 = intVal(linitial((yyvsp[0].list)));
32640
36
          List   *columns1 = (List *) lsecond((yyvsp[-2].list));
32641
36
          List   *columns2 = (List *) lsecond((yyvsp[0].list));
32642
32643
36
          if (events1 & events2)
32644
0
            parser_yyerror("duplicate trigger events specified");
32645
          /*
32646
           * concat'ing the columns lists loses information about
32647
           * which columns went with which event, but so long as
32648
           * only UPDATE carries columns and we disallow multiple
32649
           * UPDATE items, it doesn't matter.  Command execution
32650
           * should just ignore the columns for non-UPDATE events.
32651
           */
32652
36
          (yyval.list) = list_make2(makeInteger(events1 | events2),
32653
36
                  list_concat(columns1, columns2));
32654
36
        }
32655
36
#line 32656 "gram.c"
32656
36
    break;
32657
32658
76
  case 780:
32659
76
#line 5887 "gram.y"
32660
76
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
32661
76
#line 32662 "gram.c"
32662
76
    break;
32663
32664
32
  case 781:
32665
32
#line 5889 "gram.y"
32666
32
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
32667
32
#line 32668 "gram.c"
32668
32
    break;
32669
32670
40
  case 782:
32671
40
#line 5891 "gram.y"
32672
40
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
32673
40
#line 32674 "gram.c"
32674
40
    break;
32675
32676
6
  case 783:
32677
6
#line 5893 "gram.y"
32678
6
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
32679
6
#line 32680 "gram.c"
32680
6
    break;
32681
32682
0
  case 784:
32683
0
#line 5895 "gram.y"
32684
0
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
32685
0
#line 32686 "gram.c"
32686
0
    break;
32687
32688
0
  case 785:
32689
0
#line 5900 "gram.y"
32690
0
    {
32691
0
          parser_ybc_signal_unsupported((yylsp[-1]), "REFERENCING clause (transition tables)", 1668);
32692
0
          (yyval.list) = (yyvsp[0].list);
32693
0
        }
32694
0
#line 32695 "gram.c"
32695
0
    break;
32696
32697
118
  case 786:
32698
118
#line 5904 "gram.y"
32699
118
    { (yyval.list) = NIL; }
32700
118
#line 32701 "gram.c"
32701
118
    break;
32702
32703
0
  case 787:
32704
0
#line 5908 "gram.y"
32705
0
    { (yyval.list) = list_make1((yyvsp[0].node)); }
32706
0
#line 32707 "gram.c"
32707
0
    break;
32708
32709
0
  case 788:
32710
0
#line 5909 "gram.y"
32711
0
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
32712
0
#line 32713 "gram.c"
32713
0
    break;
32714
32715
0
  case 789:
32716
0
#line 5914 "gram.y"
32717
0
    {
32718
0
          TriggerTransition *n = makeNode(TriggerTransition);
32719
0
          n->name = (yyvsp[0].str);
32720
0
          n->isNew = (yyvsp[-3].boolean);
32721
0
          n->isTable = (yyvsp[-2].boolean);
32722
0
          (yyval.node) = (Node *)n;
32723
0
        }
32724
0
#line 32725 "gram.c"
32725
0
    break;
32726
32727
0
  case 790:
32728
0
#line 5924 "gram.y"
32729
0
    { (yyval.boolean) = true; }
32730
0
#line 32731 "gram.c"
32731
0
    break;
32732
32733
0
  case 791:
32734
0
#line 5925 "gram.y"
32735
0
    { (yyval.boolean) = false; }
32736
0
#line 32737 "gram.c"
32737
0
    break;
32738
32739
0
  case 792:
32740
0
#line 5929 "gram.y"
32741
0
    { (yyval.boolean) = true; }
32742
0
#line 32743 "gram.c"
32743
0
    break;
32744
32745
0
  case 793:
32746
0
#line 5938 "gram.y"
32747
0
    { (yyval.boolean) = false; }
32748
0
#line 32749 "gram.c"
32749
0
    break;
32750
32751
0
  case 794:
32752
0
#line 5942 "gram.y"
32753
0
    { (yyval.str) = (yyvsp[0].str); }
32754
0
#line 32755 "gram.c"
32755
0
    break;
32756
32757
118
  case 795:
32758
118
#line 5947 "gram.y"
32759
118
    {
32760
118
          (yyval.boolean) = (yyvsp[0].boolean);
32761
118
        }
32762
118
#line 32763 "gram.c"
32763
118
    break;
32764
32765
0
  case 796:
32766
0
#line 5951 "gram.y"
32767
0
    {
32768
          /*
32769
           * If ROW/STATEMENT not specified, default to
32770
           * STATEMENT, per SQL
32771
           */
32772
0
          (yyval.boolean) = false;
32773
0
        }
32774
0
#line 32775 "gram.c"
32775
0
    break;
32776
32777
118
  case 797:
32778
118
#line 5961 "gram.y"
32779
118
    {}
32780
118
#line 32781 "gram.c"
32781
118
    break;
32782
32783
0
  case 798:
32784
0
#line 5962 "gram.y"
32785
0
    {}
32786
0
#line 32787 "gram.c"
32787
0
    break;
32788
32789
82
  case 799:
32790
82
#line 5966 "gram.y"
32791
82
    { (yyval.boolean) = true; }
32792
82
#line 32793 "gram.c"
32793
82
    break;
32794
32795
36
  case 800:
32796
36
#line 5967 "gram.y"
32797
36
    { (yyval.boolean) = false; }
32798
36
#line 32799 "gram.c"
32799
36
    break;
32800
32801
4
  case 801:
32802
4
#line 5971 "gram.y"
32803
4
    { (yyval.node) = (yyvsp[-1].node); }
32804
4
#line 32805 "gram.c"
32805
4
    break;
32806
32807
114
  case 802:
32808
114
#line 5972 "gram.y"
32809
114
    { (yyval.node) = NULL; }
32810
114
#line 32811 "gram.c"
32811
114
    break;
32812
32813
36
  case 805:
32814
36
#line 5981 "gram.y"
32815
36
    { (yyval.list) = list_make1((yyvsp[0].value)); }
32816
36
#line 32817 "gram.c"
32817
36
    break;
32818
32819
36
  case 806:
32820
36
#line 5982 "gram.y"
32821
36
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
32822
36
#line 32823 "gram.c"
32823
36
    break;
32824
32825
82
  case 807:
32826
82
#line 5983 "gram.y"
32827
82
    { (yyval.list) = NIL; }
32828
82
#line 32829 "gram.c"
32829
82
    break;
32830
32831
36
  case 808:
32832
36
#line 5988 "gram.y"
32833
36
    {
32834
36
          (yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
32835
36
        }
32836
36
#line 32837 "gram.c"
32837
36
    break;
32838
32839
0
  case 809:
32840
0
#line 5991 "gram.y"
32841
0
    { (yyval.value) = makeString((yyvsp[0].str)); }
32842
0
#line 32843 "gram.c"
32843
0
    break;
32844
32845
36
  case 810:
32846
36
#line 5992 "gram.y"
32847
36
    { (yyval.value) = makeString((yyvsp[0].str)); }
32848
36
#line 32849 "gram.c"
32849
36
    break;
32850
32851
0
  case 811:
32852
0
#line 5993 "gram.y"
32853
0
    { (yyval.value) = makeString((yyvsp[0].str)); }
32854
0
#line 32855 "gram.c"
32855
0
    break;
32856
32857
0
  case 812:
32858
0
#line 5997 "gram.y"
32859
0
    { (yyval.range) = (yyvsp[0].range); }
32860
0
#line 32861 "gram.c"
32861
0
    break;
32862
32863
0
  case 813:
32864
0
#line 5998 "gram.y"
32865
0
    { (yyval.range) = NULL; }
32866
0
#line 32867 "gram.c"
32867
0
    break;
32868
32869
465
  case 814:
32870
465
#line 6003 "gram.y"
32871
465
    { (yyval.ival) = 0; }
32872
465
#line 32873 "gram.c"
32873
465
    break;
32874
32875
17
  case 815:
32876
17
#line 6005 "gram.y"
32877
17
    {
32878
          /*
32879
           * We must complain about conflicting options.
32880
           * We could, but choose not to, complain about redundant
32881
           * options (ie, where $2's bit is already set in $1).
32882
           */
32883
17
          int   newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
32884
32885
          /* special message for this case */
32886
17
          if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
32887
17
            ereport(ERROR,
32888
17
                (errcode(ERRCODE_SYNTAX_ERROR),
32889
17
                 errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
32890
17
                 parser_errposition((yylsp[0]))));
32891
          /* generic message for other conflicts */
32892
17
          if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
32893
15
            (newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
32894
17
            ereport(ERROR,
32895
17
                (errcode(ERRCODE_SYNTAX_ERROR),
32896
17
                 errmsg("conflicting constraint properties"),
32897
17
                 parser_errposition((yylsp[0]))));
32898
17
          (yyval.ival) = newspec;
32899
17
        }
32900
17
#line 32901 "gram.c"
32901
17
    break;
32902
32903
4
  case 816:
32904
4
#line 6031 "gram.y"
32905
4
    { (yyval.ival) = CAS_NOT_DEFERRABLE; }
32906
4
#line 32907 "gram.c"
32907
4
    break;
32908
32909
6
  case 817:
32910
6
#line 6032 "gram.y"
32911
6
    {
32912
6
        (yyval.ival) = CAS_DEFERRABLE;
32913
6
        }
32914
6
#line 32915 "gram.c"
32915
6
    break;
32916
32917
2
  case 818:
32918
2
#line 6035 "gram.y"
32919
2
    {
32920
2
        (yyval.ival) = CAS_INITIALLY_IMMEDIATE;
32921
2
      }
32922
2
#line 32923 "gram.c"
32923
2
    break;
32924
32925
2
  case 819:
32926
2
#line 6038 "gram.y"
32927
2
    {
32928
2
        (yyval.ival) = CAS_INITIALLY_DEFERRED;
32929
2
      }
32930
2
#line 32931 "gram.c"
32931
2
    break;
32932
32933
3
  case 820:
32934
3
#line 6041 "gram.y"
32935
3
    { (yyval.ival) = CAS_NOT_VALID; }
32936
3
#line 32937 "gram.c"
32937
3
    break;
32938
32939
0
  case 821:
32940
0
#line 6042 "gram.y"
32941
0
    { (yyval.ival) = CAS_NO_INHERIT; }
32942
0
#line 32943 "gram.c"
32943
0
    break;
32944
32945
0
  case 822:
32946
0
#line 6057 "gram.y"
32947
0
    {
32948
0
          CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
32949
0
          n->trigname = (yyvsp[-7].str);
32950
0
          n->eventname = (yyvsp[-5].str);
32951
0
          n->whenclause = NULL;
32952
0
          n->funcname = (yyvsp[-2].list);
32953
0
          (yyval.node) = (Node *)n;
32954
0
        }
32955
0
#line 32956 "gram.c"
32956
0
    break;
32957
32958
0
  case 823:
32959
0
#line 6068 "gram.y"
32960
0
    {
32961
0
          CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
32962
0
          n->trigname = (yyvsp[-9].str);
32963
0
          n->eventname = (yyvsp[-7].str);
32964
0
          n->whenclause = (yyvsp[-5].list);
32965
0
          n->funcname = (yyvsp[-2].list);
32966
0
          (yyval.node) = (Node *)n;
32967
0
        }
32968
0
#line 32969 "gram.c"
32969
0
    break;
32970
32971
0
  case 824:
32972
0
#line 6080 "gram.y"
32973
0
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32974
0
#line 32975 "gram.c"
32975
0
    break;
32976
32977
0
  case 825:
32978
0
#line 6082 "gram.y"
32979
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
32980
0
#line 32981 "gram.c"
32981
0
    break;
32982
32983
0
  case 826:
32984
0
#line 6087 "gram.y"
32985
0
    { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
32986
0
#line 32987 "gram.c"
32987
0
    break;
32988
32989
0
  case 827:
32990
0
#line 6092 "gram.y"
32991
0
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32992
0
#line 32993 "gram.c"
32993
0
    break;
32994
32995
0
  case 828:
32996
0
#line 6094 "gram.y"
32997
0
    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
32998
0
#line 32999 "gram.c"
32999
0
    break;
33000
33001
0
  case 829:
33002
0
#line 6099 "gram.y"
33003
0
    {
33004
0
          AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
33005
0
          n->trigname = (yyvsp[-1].str);
33006
0
          n->tgenabled = (yyvsp[0].chr);
33007
0
          (yyval.node) = (Node *) n;
33008
0
        }
33009
0
#line 33010 "gram.c"
33010
0
    break;
33011
33012
0
  case 830:
33013
0
#line 6108 "gram.y"
33014
0
    { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
33015
0
#line 33016 "gram.c"
33016
0
    break;
33017
33018
0
  case 831:
33019
0
#line 6109 "gram.y"
33020
0
    { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
33021
0
#line 33022 "gram.c"
33022
0
    break;
33023
33024
0
  case 832:
33025
0
#line 6110 "gram.y"
33026
0
    { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
33027
0
#line 33028 "gram.c"
33028
0
    break;
33029
33030
0
  case 833:
33031
0
#line 6111 "gram.y"
33032
0
    { (yyval.chr) = TRIGGER_DISABLED; }
33033
0
#line 33034 "gram.c"
33034
0
    break;
33035
33036
0
  case 834:
33037
0
#line 6125 "gram.y"
33038
0
    {
33039
0
          parser_ybc_not_support((yylsp[-7]), "CREATE ASSERTION");
33040
0
          CreateTrigStmt *n = makeNode(CreateTrigStmt);
33041
0
          n->trigname = (yyvsp[-5].str);
33042
0
          n->args = list_make1((yyvsp[-2].node));
33043
0
          n->isconstraint  = true;
33044
0
          processCASbits((yyvsp[0].ival), (yylsp[0]), "ASSERTION",
33045
0
                   &n->deferrable, &n->initdeferred, NULL,
33046
0
                   NULL, yyscanner);
33047
33048
0
          ereport(ERROR,
33049
0
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33050
0
               errmsg("CREATE ASSERTION is not yet implemented")));
33051
33052
0
          (yyval.node) = (Node *)n;
33053
0
        }
33054
0
#line 33055 "gram.c"
33055
0
    break;
33056
33057
0
  case 835:
33058
0
#line 6145 "gram.y"
33059
0
    {
33060
0
          parser_ybc_not_support((yylsp[-3]), "DROP ASSERTION");
33061
0
          DropStmt *n = makeNode(DropStmt);
33062
0
          n->objects = NIL;
33063
0
          n->behavior = (yyvsp[0].dbehavior);
33064
0
          n->removeType = OBJECT_TRIGGER; /* XXX */
33065
0
          ereport(ERROR,
33066
0
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33067
0
               errmsg("DROP ASSERTION is not yet implemented")));
33068
0
          (yyval.node) = (Node *) n;
33069
0
        }
33070
0
#line 33071 "gram.c"
33071
0
    break;
33072
33073
77
  case 836:
33074
77
#line 6168 "gram.y"
33075
77
    {
33076
77
          DefineStmt *n = makeNode(DefineStmt);
33077
77
          n->kind = OBJECT_AGGREGATE;
33078
77
          n->oldstyle = false;
33079
77
          n->defnames = (yyvsp[-2].list);
33080
77
          n->args = (yyvsp[-1].list);
33081
77
          n->definition = (yyvsp[0].list);
33082
77
          (yyval.node) = (Node *)n;
33083
77
        }
33084
77
#line 33085 "gram.c"
33085
77
    break;
33086
33087
9
  case 837:
33088
9
#line 6178 "gram.y"
33089
9
    {
33090
          /* old-style (pre-8.2) syntax for CREATE AGGREGATE */
33091
9
          DefineStmt *n = makeNode(DefineStmt);
33092
9
          n->kind = OBJECT_AGGREGATE;
33093
9
          n->oldstyle = true;
33094
9
          n->defnames = (yyvsp[-1].list);
33095
9
          n->args = NIL;
33096
9
          n->definition = (yyvsp[0].list);
33097
9
          (yyval.node) = (Node *)n;
33098
9
        }
33099
9
#line 33100 "gram.c"
33100
9
    break;
33101
33102
282
  case 838:
33103
282
#line 6189 "gram.y"
33104
282
    {
33105
282
          DefineStmt *n = makeNode(DefineStmt);
33106
282
          n->kind = OBJECT_OPERATOR;
33107
282
          n->oldstyle = false;
33108
282
          n->defnames = (yyvsp[-1].list);
33109
282
          n->args = NIL;
33110
282
          n->definition = (yyvsp[0].list);
33111
282
          (yyval.node) = (Node *)n;
33112
282
        }
33113
282
#line 33114 "gram.c"
33114
282
    break;
33115
33116
48
  case 839:
33117
48
#line 6199 "gram.y"
33118
48
    {
33119
48
          DefineStmt *n = makeNode(DefineStmt);
33120
48
          n->kind = OBJECT_TYPE;
33121
48
          n->oldstyle = false;
33122
48
          n->defnames = (yyvsp[-1].list);
33123
48
          n->args = NIL;
33124
48
          n->definition = (yyvsp[0].list);
33125
48
          (yyval.node) = (Node *)n;
33126
48
        }
33127
48
#line 33128 "gram.c"
33128
48
    break;
33129
33130
30
  case 840:
33131
30
#line 6209 "gram.y"
33132
30
    {
33133
          /* Shell type (identified by lack of definition) */
33134
30
          DefineStmt *n = makeNode(DefineStmt);
33135
30
          n->kind = OBJECT_TYPE;
33136
30
          n->oldstyle = false;
33137
30
          n->defnames = (yyvsp[0].list);
33138
30
          n->args = NIL;
33139
30
          n->definition = NIL;
33140
30
          (yyval.node) = (Node *)n;
33141
30
        }
33142
30
#line 33143 "gram.c"
33143
30
    break;
33144
33145
31
  case 841:
33146
31
#line 6220 "gram.y"
33147
31
    {
33148
31
          CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
33149
33150
          /* can't use qualified_name, sigh */
33151
31
          n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
33152
31
          n->coldeflist = (yyvsp[-1].list);
33153
31
          (yyval.node) = (Node *)n;
33154
31
        }
33155
31
#line 33156 "gram.c"
33156
31
    break;
33157
33158
6
  case 842:
33159
6
#line 6229 "gram.y"
33160
6
    {
33161
6
          CreateEnumStmt *n = makeNode(CreateEnumStmt);
33162
6
          n->typeName = (yyvsp[-5].list);
33163
6
          n->vals = (yyvsp[-1].list);
33164
6
          (yyval.node) = (Node *)n;
33165
6
        }
33166
6
#line 33167 "gram.c"
33167
6
    break;
33168
33169
0
  case 843:
33170
0
#line 6236 "gram.y"
33171
0
    {
33172
0
          CreateRangeStmt *n = makeNode(CreateRangeStmt);
33173
0
          n->typeName = (yyvsp[-3].list);
33174
0
          n->params = (yyvsp[0].list);
33175
0
          (yyval.node) = (Node *)n;
33176
0
        }
33177
0
#line 33178 "gram.c"
33178
0
    break;
33179
33180
0
  case 844:
33181
0
#line 6243 "gram.y"
33182
0
    {
33183
0
          DefineStmt *n = makeNode(DefineStmt);
33184
0
          n->kind = OBJECT_TSPARSER;
33185
0
          n->args = NIL;
33186
0
          n->defnames = (yyvsp[-1].list);
33187
0
          n->definition = (yyvsp[0].list);
33188
0
          (yyval.node) = (Node *)n;
33189
0
        }
33190
0
#line 33191 "gram.c"
33191
0
    break;
33192
33193
0
  case 845:
33194
0
#line 6252 "gram.y"
33195
0
    {
33196
0
          DefineStmt *n = makeNode(DefineStmt);
33197
0
          n->kind = OBJECT_TSDICTIONARY;
33198
0
          n->args = NIL;
33199
0
          n->defnames = (yyvsp[-1].list);
33200
0
          n->definition = (yyvsp[0].list);
33201
0
          (yyval.node) = (Node *)n;
33202
0
        }
33203
0
#line 33204 "gram.c"
33204
0
    break;
33205
33206
0
  case 846:
33207
0
#line 6261 "gram.y"
33208
0
    {
33209
0
          DefineStmt *n = makeNode(DefineStmt);
33210
0
          n->kind = OBJECT_TSTEMPLATE;
33211
0
          n->args = NIL;
33212
0
          n->defnames = (yyvsp[-1].list);
33213
0
          n->definition = (yyvsp[0].list);
33214
0
          (yyval.node) = (Node *)n;
33215
0
        }
33216
0
#line 33217 "gram.c"
33217
0
    break;
33218
33219
0
  case 847:
33220
0
#line 6270 "gram.y"
33221
0
    {
33222
0
          DefineStmt *n = makeNode(DefineStmt);
33223
0
          n->kind = OBJECT_TSCONFIGURATION;
33224
0
          n->args = NIL;
33225
0
          n->defnames = (yyvsp[-1].list);
33226
0
          n->definition = (yyvsp[0].list);
33227
0
          (yyval.node) = (Node *)n;
33228
0
        }
33229
0
#line 33230 "gram.c"
33230
0
    break;
33231
33232
0
  case 848:
33233
0
#line 6279 "gram.y"
33234
0
    {
33235
0
          if (!YBIsCollationEnabled())
33236
0
            parser_ybc_not_support((yylsp[-3]), "CREATE COLLATION");
33237
0
          DefineStmt *n = makeNode(DefineStmt);
33238
0
          n->kind = OBJECT_COLLATION;
33239
0
          n->args = NIL;
33240
0
          n->defnames = (yyvsp[-1].list);
33241
0
          n->definition = (yyvsp[0].list);
33242
0
          (yyval.node) = (Node *)n;
33243
0
        }
33244
0
#line 33245 "gram.c"
33245
0
    break;
33246
33247
0
  case 849:
33248
0
#line 6290 "gram.y"
33249
0
    {
33250
0
          if (!YBIsCollationEnabled())
33251
0
            parser_ybc_not_support((yylsp[-6]), "CREATE COLLATION");
33252
0
          DefineStmt *n = makeNode(DefineStmt);
33253
0
          n->kind = OBJECT_COLLATION;
33254
0
          n->args = NIL;
33255
0
          n->defnames = (yyvsp[-1].list);
33256
0
          n->definition = (yyvsp[0].list);
33257
0
          n->if_not_exists = true;
33258
0
          (yyval.node) = (Node *)n;
33259
0
        }
33260
0
#line 33261 "gram.c"
33261
0
    break;
33262
33263
0
  case 850:
33264
0
#line 6302 "gram.y"
33265
0
    {
33266
0
          if (!YBIsCollationEnabled())
33267
0
            parser_ybc_not_support((yylsp[-4]), "CREATE COLLATION");
33268
0
          DefineStmt *n = makeNode(DefineStmt);
33269
0
          n->kind = OBJECT_COLLATION;
33270
0
          n->args = NIL;
33271
0
          n->defnames = (yyvsp[-2].list);
33272
0
          n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
33273
0
          (yyval.node) = (Node *)n;
33274
0
        }
33275
0
#line 33276 "gram.c"
33276
0
    break;
33277
33278
0
  case 851:
33279
0
#line 6313 "gram.y"
33280
0
    {
33281
0
          if (!YBIsCollationEnabled())
33282
0
            parser_ybc_not_support((yylsp[-7]), "CREATE COLLATION");
33283
0
          DefineStmt *n = makeNode(DefineStmt);
33284
0
          n->kind = OBJECT_COLLATION;
33285
0
          n->args = NIL;
33286
0
          n->defnames = (yyvsp[-2].list);
33287
0
          n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
33288
0
          n->if_not_exists = true;
33289
0
          (yyval.node) = (Node *)n;
33290
0
        }
33291
0
#line 33292 "gram.c"
33292
0
    break;
33293
33294
407
  case 852:
33295
407
#line 6326 "gram.y"
33296
407
    { (yyval.list) = (yyvsp[-1].list); }
33297
407
#line 33298 "gram.c"
33298
407
    break;
33299
33300
407
  case 853:
33301
407
#line 6329 "gram.y"
33302
407
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33303
407
#line 33304 "gram.c"
33304
407
    break;
33305
33306
1.88k
  case 854:
33307
1.88k
#line 6330 "gram.y"
33308
1.88k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33309
1.88k
#line 33310 "gram.c"
33310
1.88k
    break;
33311
33312
2.21k
  case 855:
33313
2.21k
#line 6334 "gram.y"
33314
2.21k
    {
33315
2.21k
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
33316
2.21k
        }
33317
2.21k
#line 33318 "gram.c"
33318
2.21k
    break;
33319
33320
73
  case 856:
33321
73
#line 6338 "gram.y"
33322
73
    {
33323
73
          (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
33324
73
        }
33325
73
#line 33326 "gram.c"
33326
73
    break;
33327
33328
1.73k
  case 857:
33329
1.73k
#line 6344 "gram.y"
33330
1.73k
    { (yyval.node) = (Node *)(yyvsp[0].typnam); }
33331
1.73k
#line 33332 "gram.c"
33332
1.73k
    break;
33333
33334
36
  case 858:
33335
36
#line 6345 "gram.y"
33336
36
    { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
33337
36
#line 33338 "gram.c"
33338
36
    break;
33339
33340
354
  case 859:
33341
354
#line 6346 "gram.y"
33342
354
    { (yyval.node) = (Node *)(yyvsp[0].list); }
33343
354
#line 33344 "gram.c"
33344
354
    break;
33345
33346
41
  case 860:
33347
41
#line 6347 "gram.y"
33348
41
    { (yyval.node) = (Node *)(yyvsp[0].value); }
33349
41
#line 33350 "gram.c"
33350
41
    break;
33351
33352
125
  case 861:
33353
125
#line 6348 "gram.y"
33354
125
    { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
33355
125
#line 33356 "gram.c"
33356
125
    break;
33357
33358
0
  case 862:
33359
0
#line 6349 "gram.y"
33360
0
    { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
33361
0
#line 33362 "gram.c"
33362
0
    break;
33363
33364
9
  case 863:
33365
9
#line 6352 "gram.y"
33366
9
    { (yyval.list) = (yyvsp[-1].list); }
33367
9
#line 33368 "gram.c"
33368
9
    break;
33369
33370
9
  case 864:
33371
9
#line 6355 "gram.y"
33372
9
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33373
9
#line 33374 "gram.c"
33374
9
    break;
33375
33376
32
  case 865:
33377
32
#line 6356 "gram.y"
33378
32
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33379
32
#line 33380 "gram.c"
33380
32
    break;
33381
33382
41
  case 866:
33383
41
#line 6365 "gram.y"
33384
41
    {
33385
41
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
33386
41
        }
33387
41
#line 33388 "gram.c"
33388
41
    break;
33389
33390
6
  case 867:
33391
6
#line 6371 "gram.y"
33392
6
    { (yyval.list) = (yyvsp[0].list); }
33393
6
#line 33394 "gram.c"
33394
6
    break;
33395
33396
0
  case 868:
33397
0
#line 6372 "gram.y"
33398
0
    { (yyval.list) = NIL; }
33399
0
#line 33400 "gram.c"
33400
0
    break;
33401
33402
6
  case 869:
33403
6
#line 6376 "gram.y"
33404
6
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33405
6
#line 33406 "gram.c"
33406
6
    break;
33407
33408
8
  case 870:
33409
8
#line 6378 "gram.y"
33410
8
    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
33411
8
#line 33412 "gram.c"
33412
8
    break;
33413
33414
0
  case 871:
33415
0
#line 6389 "gram.y"
33416
0
    {
33417
0
        AlterEnumStmt *n = makeNode(AlterEnumStmt);
33418
0
        n->typeName = (yyvsp[-4].list);
33419
0
        n->oldVal = NULL;
33420
0
        n->newVal = (yyvsp[0].str);
33421
0
        n->newValNeighbor = NULL;
33422
0
        n->newValIsAfter = true;
33423
0
        n->skipIfNewValExists = (yyvsp[-1].boolean);
33424
0
        (yyval.node) = (Node *) n;
33425
0
      }
33426
0
#line 33427 "gram.c"
33427
0
    break;
33428
33429
0
  case 872:
33430
0
#line 6400 "gram.y"
33431
0
    {
33432
0
        AlterEnumStmt *n = makeNode(AlterEnumStmt);
33433
0
        n->typeName = (yyvsp[-6].list);
33434
0
        n->oldVal = NULL;
33435
0
        n->newVal = (yyvsp[-2].str);
33436
0
        n->newValNeighbor = (yyvsp[0].str);
33437
0
        n->newValIsAfter = false;
33438
0
        n->skipIfNewValExists = (yyvsp[-3].boolean);
33439
0
        (yyval.node) = (Node *) n;
33440
0
      }
33441
0
#line 33442 "gram.c"
33442
0
    break;
33443
33444
0
  case 873:
33445
0
#line 6411 "gram.y"
33446
0
    {
33447
0
        AlterEnumStmt *n = makeNode(AlterEnumStmt);
33448
0
        n->typeName = (yyvsp[-6].list);
33449
0
        n->oldVal = NULL;
33450
0
        n->newVal = (yyvsp[-2].str);
33451
0
        n->newValNeighbor = (yyvsp[0].str);
33452
0
        n->newValIsAfter = true;
33453
0
        n->skipIfNewValExists = (yyvsp[-3].boolean);
33454
0
        (yyval.node) = (Node *) n;
33455
0
      }
33456
0
#line 33457 "gram.c"
33457
0
    break;
33458
33459
0
  case 874:
33460
0
#line 6422 "gram.y"
33461
0
    {
33462
0
        AlterEnumStmt *n = makeNode(AlterEnumStmt);
33463
0
        n->typeName = (yyvsp[-5].list);
33464
0
        n->oldVal = (yyvsp[-2].str);
33465
0
        n->newVal = (yyvsp[0].str);
33466
0
        n->newValNeighbor = NULL;
33467
0
        n->newValIsAfter = false;
33468
0
        n->skipIfNewValExists = false;
33469
0
        (yyval.node) = (Node *) n;
33470
0
      }
33471
0
#line 33472 "gram.c"
33472
0
    break;
33473
33474
0
  case 875:
33475
0
#line 6434 "gram.y"
33476
0
    { (yyval.boolean) = true; }
33477
0
#line 33478 "gram.c"
33478
0
    break;
33479
33480
0
  case 876:
33481
0
#line 6435 "gram.y"
33482
0
    { (yyval.boolean) = false; }
33483
0
#line 33484 "gram.c"
33484
0
    break;
33485
33486
35
  case 877:
33487
35
#line 6453 "gram.y"
33488
35
    {
33489
35
          CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
33490
35
          n->opclassname = (yyvsp[-9].list);
33491
35
          n->isDefault = (yyvsp[-8].boolean);
33492
35
          n->datatype = (yyvsp[-5].typnam);
33493
35
          n->amname = (yyvsp[-3].str);
33494
35
          n->opfamilyname = (yyvsp[-2].list);
33495
35
          n->items = (yyvsp[0].list);
33496
35
          (yyval.node) = (Node *) n;
33497
35
        }
33498
35
#line 33499 "gram.c"
33499
35
    break;
33500
33501
63
  case 878:
33502
63
#line 6466 "gram.y"
33503
63
    { (yyval.list) = list_make1((yyvsp[0].node)); }
33504
63
#line 33505 "gram.c"
33505
63
    break;
33506
33507
346
  case 879:
33508
346
#line 6467 "gram.y"
33509
346
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
33510
346
#line 33511 "gram.c"
33511
346
    break;
33512
33513
112
  case 880:
33514
112
#line 6472 "gram.y"
33515
112
    {
33516
112
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33517
112
          ObjectWithArgs *owa = makeNode(ObjectWithArgs);
33518
112
          owa->objname = (yyvsp[-2].list);
33519
112
          owa->objargs = NIL;
33520
112
          n->itemtype = OPCLASS_ITEM_OPERATOR;
33521
112
          n->name = owa;
33522
112
          n->number = (yyvsp[-3].ival);
33523
112
          n->order_family = (yyvsp[-1].list);
33524
112
          (yyval.node) = (Node *) n;
33525
112
        }
33526
112
#line 33527 "gram.c"
33527
112
    break;
33528
33529
171
  case 881:
33530
171
#line 6485 "gram.y"
33531
171
    {
33532
171
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33533
171
          n->itemtype = OPCLASS_ITEM_OPERATOR;
33534
171
          n->name = (yyvsp[-2].objwithargs);
33535
171
          n->number = (yyvsp[-3].ival);
33536
171
          n->order_family = (yyvsp[-1].list);
33537
171
          (yyval.node) = (Node *) n;
33538
171
        }
33539
171
#line 33540 "gram.c"
33540
171
    break;
33541
33542
115
  case 882:
33543
115
#line 6494 "gram.y"
33544
115
    {
33545
115
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33546
115
          n->itemtype = OPCLASS_ITEM_FUNCTION;
33547
115
          n->name = (yyvsp[0].objwithargs);
33548
115
          n->number = (yyvsp[-1].ival);
33549
115
          (yyval.node) = (Node *) n;
33550
115
        }
33551
115
#line 33552 "gram.c"
33552
115
    break;
33553
33554
3
  case 883:
33555
3
#line 6502 "gram.y"
33556
3
    {
33557
3
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33558
3
          n->itemtype = OPCLASS_ITEM_FUNCTION;
33559
3
          n->name = (yyvsp[0].objwithargs);
33560
3
          n->number = (yyvsp[-4].ival);
33561
3
          n->class_args = (yyvsp[-2].list);
33562
3
          (yyval.node) = (Node *) n;
33563
3
        }
33564
3
#line 33565 "gram.c"
33565
3
    break;
33566
33567
8
  case 884:
33568
8
#line 6511 "gram.y"
33569
8
    {
33570
8
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33571
8
          n->itemtype = OPCLASS_ITEM_STORAGETYPE;
33572
8
          n->storedtype = (yyvsp[0].typnam);
33573
8
          (yyval.node) = (Node *) n;
33574
8
        }
33575
8
#line 33576 "gram.c"
33576
8
    break;
33577
33578
28
  case 885:
33579
28
#line 6519 "gram.y"
33580
28
    { (yyval.boolean) = true; }
33581
28
#line 33582 "gram.c"
33582
28
    break;
33583
33584
7
  case 886:
33585
7
#line 6520 "gram.y"
33586
7
    { (yyval.boolean) = false; }
33587
7
#line 33588 "gram.c"
33588
7
    break;
33589
33590
18
  case 887:
33591
18
#line 6523 "gram.y"
33592
18
    { (yyval.list) = (yyvsp[0].list); }
33593
18
#line 33594 "gram.c"
33594
18
    break;
33595
33596
17
  case 888:
33597
17
#line 6524 "gram.y"
33598
17
    { (yyval.list) = NIL; }
33599
17
#line 33600 "gram.c"
33600
17
    break;
33601
33602
0
  case 889:
33603
0
#line 6527 "gram.y"
33604
0
    { (yyval.list) = NIL; }
33605
0
#line 33606 "gram.c"
33606
0
    break;
33607
33608
15
  case 890:
33609
15
#line 6528 "gram.y"
33610
15
    { (yyval.list) = (yyvsp[0].list); }
33611
15
#line 33612 "gram.c"
33612
15
    break;
33613
33614
268
  case 891:
33615
268
#line 6529 "gram.y"
33616
268
    { (yyval.list) = NIL; }
33617
268
#line 33618 "gram.c"
33618
268
    break;
33619
33620
0
  case 892:
33621
0
#line 6533 "gram.y"
33622
0
    {
33623
          /*
33624
           * RECHECK no longer does anything in opclass definitions,
33625
           * but we still accept it to ease porting of old database
33626
           * dumps.
33627
           */
33628
0
          ereport(NOTICE,
33629
0
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33630
0
               errmsg("RECHECK is no longer required"),
33631
0
               errhint("Update your data type."),
33632
0
               parser_errposition((yylsp[0]))));
33633
0
          (yyval.boolean) = true;
33634
0
        }
33635
0
#line 33636 "gram.c"
33636
0
    break;
33637
33638
283
  case 893:
33639
283
#line 6546 "gram.y"
33640
283
    { (yyval.boolean) = false; }
33641
283
#line 33642 "gram.c"
33642
283
    break;
33643
33644
4
  case 894:
33645
4
#line 6552 "gram.y"
33646
4
    {
33647
4
          CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
33648
4
          n->opfamilyname = (yyvsp[-2].list);
33649
4
          n->amname = (yyvsp[0].str);
33650
4
          (yyval.node) = (Node *) n;
33651
4
        }
33652
4
#line 33653 "gram.c"
33653
4
    break;
33654
33655
28
  case 895:
33656
28
#line 6562 "gram.y"
33657
28
    {
33658
28
          AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
33659
28
          n->opfamilyname = (yyvsp[-4].list);
33660
28
          n->amname = (yyvsp[-2].str);
33661
28
          n->isDrop = false;
33662
28
          n->items = (yyvsp[0].list);
33663
28
          (yyval.node) = (Node *) n;
33664
28
        }
33665
28
#line 33666 "gram.c"
33666
28
    break;
33667
33668
6
  case 896:
33669
6
#line 6571 "gram.y"
33670
6
    {
33671
6
          AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
33672
6
          n->opfamilyname = (yyvsp[-4].list);
33673
6
          n->amname = (yyvsp[-2].str);
33674
6
          n->isDrop = true;
33675
6
          n->items = (yyvsp[0].list);
33676
6
          (yyval.node) = (Node *) n;
33677
6
        }
33678
6
#line 33679 "gram.c"
33679
6
    break;
33680
33681
6
  case 897:
33682
6
#line 6582 "gram.y"
33683
6
    { (yyval.list) = list_make1((yyvsp[0].node)); }
33684
6
#line 33685 "gram.c"
33685
6
    break;
33686
33687
0
  case 898:
33688
0
#line 6583 "gram.y"
33689
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
33690
0
#line 33691 "gram.c"
33691
0
    break;
33692
33693
0
  case 899:
33694
0
#line 6588 "gram.y"
33695
0
    {
33696
0
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33697
0
          n->itemtype = OPCLASS_ITEM_OPERATOR;
33698
0
          n->number = (yyvsp[-3].ival);
33699
0
          n->class_args = (yyvsp[-1].list);
33700
0
          (yyval.node) = (Node *) n;
33701
0
        }
33702
0
#line 33703 "gram.c"
33703
0
    break;
33704
33705
6
  case 900:
33706
6
#line 6596 "gram.y"
33707
6
    {
33708
6
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33709
6
          n->itemtype = OPCLASS_ITEM_FUNCTION;
33710
6
          n->number = (yyvsp[-3].ival);
33711
6
          n->class_args = (yyvsp[-1].list);
33712
6
          (yyval.node) = (Node *) n;
33713
6
        }
33714
6
#line 33715 "gram.c"
33715
6
    break;
33716
33717
2
  case 901:
33718
2
#line 6608 "gram.y"
33719
2
    {
33720
2
          DropStmt *n = makeNode(DropStmt);
33721
2
          n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33722
2
          n->removeType = OBJECT_OPCLASS;
33723
2
          n->behavior = (yyvsp[0].dbehavior);
33724
2
          n->missing_ok = false;
33725
2
          n->concurrent = false;
33726
2
          (yyval.node) = (Node *) n;
33727
2
        }
33728
2
#line 33729 "gram.c"
33729
2
    break;
33730
33731
0
  case 902:
33732
0
#line 6618 "gram.y"
33733
0
    {
33734
0
          DropStmt *n = makeNode(DropStmt);
33735
0
          n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33736
0
          n->removeType = OBJECT_OPCLASS;
33737
0
          n->behavior = (yyvsp[0].dbehavior);
33738
0
          n->missing_ok = true;
33739
0
          n->concurrent = false;
33740
0
          (yyval.node) = (Node *) n;
33741
0
        }
33742
0
#line 33743 "gram.c"
33743
0
    break;
33744
33745
2
  case 903:
33746
2
#line 6631 "gram.y"
33747
2
    {
33748
2
          DropStmt *n = makeNode(DropStmt);
33749
2
          n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33750
2
          n->removeType = OBJECT_OPFAMILY;
33751
2
          n->behavior = (yyvsp[0].dbehavior);
33752
2
          n->missing_ok = false;
33753
2
          n->concurrent = false;
33754
2
          (yyval.node) = (Node *) n;
33755
2
        }
33756
2
#line 33757 "gram.c"
33757
2
    break;
33758
33759
0
  case 904:
33760
0
#line 6641 "gram.y"
33761
0
    {
33762
0
          DropStmt *n = makeNode(DropStmt);
33763
0
          n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33764
0
          n->removeType = OBJECT_OPFAMILY;
33765
0
          n->behavior = (yyvsp[0].dbehavior);
33766
0
          n->missing_ok = true;
33767
0
          n->concurrent = false;
33768
0
          (yyval.node) = (Node *) n;
33769
0
        }
33770
0
#line 33771 "gram.c"
33771
0
    break;
33772
33773
1.17k
  case 905:
33774
1.17k
#line 6663 "gram.y"
33775
1.17k
    {
33776
1.17k
          DropOwnedStmt *n = makeNode(DropOwnedStmt);
33777
1.17k
          n->roles = (yyvsp[-1].list);
33778
1.17k
          n->behavior = (yyvsp[0].dbehavior);
33779
1.17k
          (yyval.node) = (Node *)n;
33780
1.17k
        }
33781
1.17k
#line 33782 "gram.c"
33782
1.17k
    break;
33783
33784
10
  case 906:
33785
10
#line 6673 "gram.y"
33786
10
    {
33787
10
          ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
33788
10
          n->roles = (yyvsp[-2].list);
33789
10
          n->newrole = (yyvsp[0].rolespec);
33790
10
          (yyval.node) = (Node *)n;
33791
10
        }
33792
10
#line 33793 "gram.c"
33793
10
    break;
33794
33795
95
  case 907:
33796
95
#line 6691 "gram.y"
33797
95
    {
33798
95
          DropStmt *n = makeNode(DropStmt);
33799
95
          n->removeType = (yyvsp[-4].objtype);
33800
95
          n->missing_ok = true;
33801
95
          n->objects = (yyvsp[-1].list);
33802
95
          if (list_length((yyvsp[-1].list)) > 1 && n->removeType != OBJECT_TABLE)
33803
0
            parser_ybc_signal_unsupported((yylsp[-1]), "DROP multiple objects", 880);
33804
95
          n->behavior = (yyvsp[0].dbehavior);
33805
95
          n->concurrent = false;
33806
95
          (yyval.node) = (Node *)n;
33807
95
        }
33808
95
#line 33809 "gram.c"
33809
95
    break;
33810
33811
727
  case 908:
33812
727
#line 6703 "gram.y"
33813
727
    {
33814
727
          DropStmt *n = makeNode(DropStmt);
33815
727
          n->removeType = (yyvsp[-2].objtype);
33816
727
          n->missing_ok = false;
33817
727
          n->objects = (yyvsp[-1].list);
33818
727
          if (list_length((yyvsp[-1].list)) > 1 && n->removeType != OBJECT_TABLE)
33819
0
            parser_ybc_signal_unsupported((yylsp[-1]), "DROP multiple objects", 880);
33820
727
          n->behavior = (yyvsp[0].dbehavior);
33821
727
          n->concurrent = false;
33822
727
          (yyval.node) = (Node *)n;
33823
727
        }
33824
727
#line 33825 "gram.c"
33825
727
    break;
33826
33827
2
  case 909:
33828
2
#line 6715 "gram.y"
33829
2
    {
33830
2
          DropStmt *n = makeNode(DropStmt);
33831
2
          n->removeType = (yyvsp[-4].objtype);
33832
2
          n->missing_ok = true;
33833
2
          n->objects = (yyvsp[-1].list);
33834
2
          if (list_length((yyvsp[-1].list)) > 1 && n->removeType != OBJECT_TABLE)
33835
0
            parser_ybc_signal_unsupported((yylsp[-1]), "DROP multiple objects", 880);
33836
2
          n->behavior = (yyvsp[0].dbehavior);
33837
2
          n->concurrent = false;
33838
2
          (yyval.node) = (Node *)n;
33839
2
        }
33840
2
#line 33841 "gram.c"
33841
2
    break;
33842
33843
50
  case 910:
33844
50
#line 6727 "gram.y"
33845
50
    {
33846
50
          DropStmt *n = makeNode(DropStmt);
33847
50
          n->removeType = (yyvsp[-2].objtype);
33848
50
          n->missing_ok = false;
33849
50
          n->objects = (yyvsp[-1].list);
33850
50
          if (list_length((yyvsp[-1].list)) > 1 && n->removeType != OBJECT_TABLE)
33851
0
            parser_ybc_signal_unsupported((yylsp[-1]), "DROP multiple objects", 880);
33852
50
          n->behavior = (yyvsp[0].dbehavior);
33853
50
          n->concurrent = false;
33854
50
          (yyval.node) = (Node *)n;
33855
50
        }
33856
50
#line 33857 "gram.c"
33857
50
    break;
33858
33859
112
  case 911:
33860
112
#line 6739 "gram.y"
33861
112
    {
33862
112
          DropStmt *n = makeNode(DropStmt);
33863
112
          n->removeType = (yyvsp[-4].objtype);
33864
112
          n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
33865
112
          n->behavior = (yyvsp[0].dbehavior);
33866
112
          n->missing_ok = false;
33867
112
          n->concurrent = false;
33868
112
          (yyval.node) = (Node *) n;
33869
112
        }
33870
112
#line 33871 "gram.c"
33871
112
    break;
33872
33873
0
  case 912:
33874
0
#line 6749 "gram.y"
33875
0
    {
33876
0
          DropStmt *n = makeNode(DropStmt);
33877
0
          n->removeType = (yyvsp[-6].objtype);
33878
0
          n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
33879
0
          n->behavior = (yyvsp[0].dbehavior);
33880
0
          n->missing_ok = true;
33881
0
          n->concurrent = false;
33882
0
          (yyval.node) = (Node *) n;
33883
0
        }
33884
0
#line 33885 "gram.c"
33885
0
    break;
33886
33887
39
  case 913:
33888
39
#line 6759 "gram.y"
33889
39
    {
33890
39
          DropStmt *n = makeNode(DropStmt);
33891
39
          n->removeType = OBJECT_TYPE;
33892
39
          n->missing_ok = false;
33893
39
          n->objects = (yyvsp[-1].list);
33894
39
          n->behavior = (yyvsp[0].dbehavior);
33895
39
          n->concurrent = false;
33896
39
          (yyval.node) = (Node *) n;
33897
39
        }
33898
39
#line 33899 "gram.c"
33899
39
    break;
33900
33901
0
  case 914:
33902
0
#line 6769 "gram.y"
33903
0
    {
33904
0
          DropStmt *n = makeNode(DropStmt);
33905
0
          n->removeType = OBJECT_TYPE;
33906
0
          n->missing_ok = true;
33907
0
          n->objects = (yyvsp[-1].list);
33908
0
          n->behavior = (yyvsp[0].dbehavior);
33909
0
          n->concurrent = false;
33910
0
          (yyval.node) = (Node *) n;
33911
0
        }
33912
0
#line 33913 "gram.c"
33913
0
    break;
33914
33915
21
  case 915:
33916
21
#line 6779 "gram.y"
33917
21
    {
33918
21
          DropStmt *n = makeNode(DropStmt);
33919
21
          n->removeType = OBJECT_DOMAIN;
33920
21
          n->missing_ok = false;
33921
21
          n->objects = (yyvsp[-1].list);
33922
21
          n->behavior = (yyvsp[0].dbehavior);
33923
21
          n->concurrent = false;
33924
21
          (yyval.node) = (Node *) n;
33925
21
        }
33926
21
#line 33927 "gram.c"
33927
21
    break;
33928
33929
0
  case 916:
33930
0
#line 6789 "gram.y"
33931
0
    {
33932
0
          DropStmt *n = makeNode(DropStmt);
33933
0
          n->removeType = OBJECT_DOMAIN;
33934
0
          n->missing_ok = true;
33935
0
          n->objects = (yyvsp[-1].list);
33936
0
          n->behavior = (yyvsp[0].dbehavior);
33937
0
          n->concurrent = false;
33938
0
          (yyval.node) = (Node *) n;
33939
0
        }
33940
0
#line 33941 "gram.c"
33941
0
    break;
33942
33943
0
  case 917:
33944
0
#line 6799 "gram.y"
33945
0
    {
33946
0
          parser_ybc_not_support((yylsp[-4]), "DROP INDEX CONCURRENTLY");
33947
0
          DropStmt *n = makeNode(DropStmt);
33948
0
          n->removeType = OBJECT_INDEX;
33949
0
          n->missing_ok = false;
33950
0
          n->objects = (yyvsp[-1].list);
33951
0
          n->behavior = (yyvsp[0].dbehavior);
33952
0
          n->concurrent = true;
33953
0
          (yyval.node) = (Node *)n;
33954
0
        }
33955
0
#line 33956 "gram.c"
33956
0
    break;
33957
33958
0
  case 918:
33959
0
#line 6810 "gram.y"
33960
0
    {
33961
0
          parser_ybc_not_support((yylsp[-6]), "DROP INDEX CONCURRENTLY");
33962
0
          DropStmt *n = makeNode(DropStmt);
33963
0
          n->removeType = OBJECT_INDEX;
33964
0
          n->missing_ok = true;
33965
0
          n->objects = (yyvsp[-1].list);
33966
0
          n->behavior = (yyvsp[0].dbehavior);
33967
0
          n->concurrent = true;
33968
0
          (yyval.node) = (Node *)n;
33969
0
        }
33970
0
#line 33971 "gram.c"
33971
0
    break;
33972
33973
719
  case 919:
33974
719
#line 6824 "gram.y"
33975
719
    { (yyval.objtype) = OBJECT_TABLE; }
33976
719
#line 33977 "gram.c"
33977
719
    break;
33978
33979
9
  case 920:
33980
9
#line 6825 "gram.y"
33981
9
    { (yyval.objtype) = OBJECT_SEQUENCE; }
33982
9
#line 33983 "gram.c"
33983
9
    break;
33984
33985
54
  case 921:
33986
54
#line 6826 "gram.y"
33987
54
    { (yyval.objtype) = OBJECT_VIEW; }
33988
54
#line 33989 "gram.c"
33989
54
    break;
33990
33991
0
  case 922:
33992
0
#line 6828 "gram.y"
33993
0
    {
33994
0
          (yyval.objtype) = OBJECT_MATVIEW;
33995
0
        }
33996
0
#line 33997 "gram.c"
33997
0
    break;
33998
33999
34
  case 923:
34000
34
#line 6831 "gram.y"
34001
34
    { (yyval.objtype) = OBJECT_INDEX; }
34002
34
#line 34003 "gram.c"
34003
34
    break;
34004
34005
6
  case 924:
34006
6
#line 6833 "gram.y"
34007
6
    {
34008
6
          (yyval.objtype) = OBJECT_FOREIGN_TABLE;
34009
6
        }
34010
6
#line 34011 "gram.c"
34011
6
    break;
34012
34013
0
  case 925:
34014
0
#line 6836 "gram.y"
34015
0
    {
34016
0
          if (!YBIsCollationEnabled())
34017
0
            parser_ybc_not_support((yylsp[0]), "DROP COLLATION");
34018
0
          (yyval.objtype) = OBJECT_COLLATION;
34019
0
        }
34020
0
#line 34021 "gram.c"
34021
0
    break;
34022
34023
0
  case 926:
34024
0
#line 6841 "gram.y"
34025
0
    { parser_ybc_not_support((yylsp[0]), "DROP CONVERSION"); (yyval.objtype) = OBJECT_CONVERSION; }
34026
0
#line 34027 "gram.c"
34027
0
    break;
34028
34029
0
  case 927:
34030
0
#line 6842 "gram.y"
34031
0
    { parser_ybc_not_support((yylsp[0]), "DROP STATISTICS"); (yyval.objtype) = OBJECT_STATISTIC_EXT; }
34032
0
#line 34033 "gram.c"
34033
0
    break;
34034
34035
0
  case 928:
34036
0
#line 6844 "gram.y"
34037
0
    {
34038
0
          (yyval.objtype) = OBJECT_TSPARSER;
34039
0
        }
34040
0
#line 34041 "gram.c"
34041
0
    break;
34042
34043
0
  case 929:
34044
0
#line 6848 "gram.y"
34045
0
    {
34046
0
          (yyval.objtype) = OBJECT_TSDICTIONARY;
34047
0
        }
34048
0
#line 34049 "gram.c"
34049
0
    break;
34050
34051
0
  case 930:
34052
0
#line 6852 "gram.y"
34053
0
    {
34054
0
          (yyval.objtype) = OBJECT_TSTEMPLATE;
34055
0
        }
34056
0
#line 34057 "gram.c"
34057
0
    break;
34058
34059
0
  case 931:
34060
0
#line 6856 "gram.y"
34061
0
    {
34062
0
          (yyval.objtype) = OBJECT_TSCONFIGURATION;
34063
0
        }
34064
0
#line 34065 "gram.c"
34065
0
    break;
34066
34067
0
  case 932:
34068
0
#line 6863 "gram.y"
34069
0
    { parser_ybc_not_support((yylsp[-1]), "DROP ACCESS METHOD"); (yyval.objtype) = OBJECT_ACCESS_METHOD; }
34070
0
#line 34071 "gram.c"
34071
0
    break;
34072
34073
0
  case 933:
34074
0
#line 6865 "gram.y"
34075
0
    {
34076
0
          (yyval.objtype) = OBJECT_EVENT_TRIGGER;
34077
0
        }
34078
0
#line 34079 "gram.c"
34079
0
    break;
34080
34081
20
  case 934:
34082
20
#line 6869 "gram.y"
34083
20
    {
34084
20
          (yyval.objtype) = OBJECT_EXTENSION;
34085
20
        }
34086
20
#line 34087 "gram.c"
34087
20
    break;
34088
34089
2
  case 935:
34090
2
#line 6873 "gram.y"
34091
2
    {
34092
2
          (yyval.objtype) = OBJECT_FDW;
34093
2
        }
34094
2
#line 34095 "gram.c"
34095
2
    break;
34096
34097
0
  case 936:
34098
0
#line 6876 "gram.y"
34099
0
    { parser_ybc_not_support((yylsp[0]), "DROP PUBLICATION"); (yyval.objtype) = OBJECT_PUBLICATION; }
34100
0
#line 34101 "gram.c"
34101
0
    break;
34102
34103
26
  case 937:
34104
26
#line 6877 "gram.y"
34105
26
    { (yyval.objtype) = OBJECT_SCHEMA; }
34106
26
#line 34107 "gram.c"
34107
26
    break;
34108
34109
4
  case 938:
34110
4
#line 6878 "gram.y"
34111
4
    { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
34112
4
#line 34113 "gram.c"
34113
4
    break;
34114
34115
0
  case 939:
34116
0
#line 6880 "gram.y"
34117
0
    {
34118
0
          parser_ybc_beta_feature((yylsp[0]), "tablegroup", true);
34119
0
          (yyval.objtype) = OBJECT_YBTABLEGROUP;
34120
0
        }
34121
0
#line 34122 "gram.c"
34122
0
    break;
34123
34124
40
  case 940:
34125
40
#line 6888 "gram.y"
34126
40
    { (yyval.objtype) = OBJECT_POLICY; }
34127
40
#line 34128 "gram.c"
34128
40
    break;
34129
34130
0
  case 941:
34131
0
#line 6889 "gram.y"
34132
0
    { (yyval.objtype) = OBJECT_RULE; }
34133
0
#line 34134 "gram.c"
34134
0
    break;
34135
34136
72
  case 942:
34137
72
#line 6890 "gram.y"
34138
72
    { (yyval.objtype) = OBJECT_TRIGGER; }
34139
72
#line 34140 "gram.c"
34140
72
    break;
34141
34142
846
  case 943:
34143
846
#line 6894 "gram.y"
34144
846
    { (yyval.list) = list_make1((yyvsp[0].list)); }
34145
846
#line 34146 "gram.c"
34146
846
    break;
34147
34148
234
  case 944:
34149
234
#line 6895 "gram.y"
34150
234
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
34151
234
#line 34152 "gram.c"
34152
234
    break;
34153
34154
1.52k
  case 945:
34155
1.52k
#line 6898 "gram.y"
34156
1.52k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
34157
1.52k
#line 34158 "gram.c"
34158
1.52k
    break;
34159
34160
51
  case 946:
34161
51
#line 6899 "gram.y"
34162
51
    { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
34163
51
#line 34164 "gram.c"
34164
51
    break;
34165
34166
1.16k
  case 947:
34167
1.16k
#line 6903 "gram.y"
34168
1.16k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
34169
1.16k
#line 34170 "gram.c"
34170
1.16k
    break;
34171
34172
0
  case 948:
34173
0
#line 6905 "gram.y"
34174
0
    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
34175
0
#line 34176 "gram.c"
34176
0
    break;
34177
34178
60
  case 949:
34179
60
#line 6909 "gram.y"
34180
60
    { (yyval.list) = list_make1((yyvsp[0].typnam)); }
34181
60
#line 34182 "gram.c"
34182
60
    break;
34183
34184
0
  case 950:
34185
0
#line 6910 "gram.y"
34186
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
34187
0
#line 34188 "gram.c"
34188
0
    break;
34189
34190
51
  case 951:
34191
51
#line 6921 "gram.y"
34192
51
    {
34193
51
          TruncateStmt *n = makeNode(TruncateStmt);
34194
51
          n->relations = (yyvsp[-2].list);
34195
51
          n->restart_seqs = (yyvsp[-1].boolean);
34196
51
          n->behavior = (yyvsp[0].dbehavior);
34197
51
          (yyval.node) = (Node *)n;
34198
51
        }
34199
51
#line 34200 "gram.c"
34200
51
    break;
34201
34202
0
  case 952:
34203
0
#line 6931 "gram.y"
34204
0
    { (yyval.boolean) = false;  }
34205
0
#line 34206 "gram.c"
34206
0
    break;
34207
34208
0
  case 953:
34209
0
#line 6932 "gram.y"
34210
0
    { (yyval.boolean) = true; }
34211
0
#line 34212 "gram.c"
34212
0
    break;
34213
34214
51
  case 954:
34215
51
#line 6933 "gram.y"
34216
51
    { (yyval.boolean) = false; }
34217
51
#line 34218 "gram.c"
34218
51
    break;
34219
34220
20
  case 955:
34221
20
#line 6968 "gram.y"
34222
20
    {
34223
20
          CommentStmt *n = makeNode(CommentStmt);
34224
20
          n->objtype = (yyvsp[-3].objtype);
34225
20
          n->object = (Node *) (yyvsp[-2].list);
34226
20
          n->comment = (yyvsp[0].str);
34227
20
          (yyval.node) = (Node *) n;
34228
20
        }
34229
20
#line 34230 "gram.c"
34230
20
    break;
34231
34232
6
  case 956:
34233
6
#line 6976 "gram.y"
34234
6
    {
34235
6
          CommentStmt *n = makeNode(CommentStmt);
34236
6
          n->objtype = (yyvsp[-3].objtype);
34237
6
          n->object = (Node *) makeString((yyvsp[-2].str));
34238
6
          n->comment = (yyvsp[0].str);
34239
6
          (yyval.node) = (Node *) n;
34240
6
        }
34241
6
#line 34242 "gram.c"
34242
6
    break;
34243
34244
26
  case 957:
34245
26
#line 6984 "gram.y"
34246
26
    {
34247
26
          CommentStmt *n = makeNode(CommentStmt);
34248
26
          n->objtype = OBJECT_TYPE;
34249
26
          n->object = (Node *) (yyvsp[-2].typnam);
34250
26
          n->comment = (yyvsp[0].str);
34251
26
          (yyval.node) = (Node *) n;
34252
26
        }
34253
26
#line 34254 "gram.c"
34254
26
    break;
34255
34256
0
  case 958:
34257
0
#line 6992 "gram.y"
34258
0
    {
34259
0
          CommentStmt *n = makeNode(CommentStmt);
34260
0
          n->objtype = OBJECT_DOMAIN;
34261
0
          n->object = (Node *) (yyvsp[-2].typnam);
34262
0
          n->comment = (yyvsp[0].str);
34263
0
          (yyval.node) = (Node *) n;
34264
0
        }
34265
0
#line 34266 "gram.c"
34266
0
    break;
34267
34268
15
  case 959:
34269
15
#line 7000 "gram.y"
34270
15
    {
34271
15
          CommentStmt *n = makeNode(CommentStmt);
34272
15
          n->objtype = OBJECT_AGGREGATE;
34273
15
          n->object = (Node *) (yyvsp[-2].objwithargs);
34274
15
          n->comment = (yyvsp[0].str);
34275
15
          (yyval.node) = (Node *) n;
34276
15
        }
34277
15
#line 34278 "gram.c"
34278
15
    break;
34279
34280
38
  case 960:
34281
38
#line 7008 "gram.y"
34282
38
    {
34283
38
          CommentStmt *n = makeNode(CommentStmt);
34284
38
          n->objtype = OBJECT_FUNCTION;
34285
38
          n->object = (Node *) (yyvsp[-2].objwithargs);
34286
38
          n->comment = (yyvsp[0].str);
34287
38
          (yyval.node) = (Node *) n;
34288
38
        }
34289
38
#line 34290 "gram.c"
34290
38
    break;
34291
34292
1
  case 961:
34293
1
#line 7016 "gram.y"
34294
1
    {
34295
1
          CommentStmt *n = makeNode(CommentStmt);
34296
1
          n->objtype = OBJECT_OPERATOR;
34297
1
          n->object = (Node *) (yyvsp[-2].objwithargs);
34298
1
          n->comment = (yyvsp[0].str);
34299
1
          (yyval.node) = (Node *) n;
34300
1
        }
34301
1
#line 34302 "gram.c"
34302
1
    break;
34303
34304
8
  case 962:
34305
8
#line 7024 "gram.y"
34306
8
    {
34307
8
          CommentStmt *n = makeNode(CommentStmt);
34308
8
          n->objtype = OBJECT_TABCONSTRAINT;
34309
8
          n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34310
8
          n->comment = (yyvsp[0].str);
34311
8
          (yyval.node) = (Node *) n;
34312
8
        }
34313
8
#line 34314 "gram.c"
34314
8
    break;
34315
34316
0
  case 963:
34317
0
#line 7032 "gram.y"
34318
0
    {
34319
0
          CommentStmt *n = makeNode(CommentStmt);
34320
0
          n->objtype = OBJECT_DOMCONSTRAINT;
34321
          /*
34322
           * should use Typename not any_name in the production, but
34323
           * there's a shift/reduce conflict if we do that, so fix it
34324
           * up here.
34325
           */
34326
0
          n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
34327
0
          n->comment = (yyvsp[0].str);
34328
0
          (yyval.node) = (Node *) n;
34329
0
        }
34330
0
#line 34331 "gram.c"
34331
0
    break;
34332
34333
0
  case 964:
34334
0
#line 7045 "gram.y"
34335
0
    {
34336
0
          CommentStmt *n = makeNode(CommentStmt);
34337
0
          n->objtype = OBJECT_POLICY;
34338
0
          n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34339
0
          n->comment = (yyvsp[0].str);
34340
0
          (yyval.node) = (Node *) n;
34341
0
        }
34342
0
#line 34343 "gram.c"
34343
0
    break;
34344
34345
0
  case 965:
34346
0
#line 7053 "gram.y"
34347
0
    {
34348
0
          CommentStmt *n = makeNode(CommentStmt);
34349
0
          n->objtype = OBJECT_PROCEDURE;
34350
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34351
0
          n->comment = (yyvsp[0].str);
34352
0
          (yyval.node) = (Node *) n;
34353
0
        }
34354
0
#line 34355 "gram.c"
34355
0
    break;
34356
34357
0
  case 966:
34358
0
#line 7061 "gram.y"
34359
0
    {
34360
0
          CommentStmt *n = makeNode(CommentStmt);
34361
0
          n->objtype = OBJECT_ROUTINE;
34362
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34363
0
          n->comment = (yyvsp[0].str);
34364
0
          (yyval.node) = (Node *) n;
34365
0
        }
34366
0
#line 34367 "gram.c"
34367
0
    break;
34368
34369
1
  case 967:
34370
1
#line 7069 "gram.y"
34371
1
    {
34372
1
          CommentStmt *n = makeNode(CommentStmt);
34373
1
          n->objtype = OBJECT_RULE;
34374
1
          n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34375
1
          n->comment = (yyvsp[0].str);
34376
1
          (yyval.node) = (Node *) n;
34377
1
        }
34378
1
#line 34379 "gram.c"
34379
1
    break;
34380
34381
0
  case 968:
34382
0
#line 7077 "gram.y"
34383
0
    {
34384
0
          CommentStmt *n = makeNode(CommentStmt);
34385
0
          n->objtype = OBJECT_TRANSFORM;
34386
0
          n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
34387
0
          n->comment = (yyvsp[0].str);
34388
0
          (yyval.node) = (Node *) n;
34389
0
        }
34390
0
#line 34391 "gram.c"
34391
0
    break;
34392
34393
0
  case 969:
34394
0
#line 7085 "gram.y"
34395
0
    {
34396
0
          CommentStmt *n = makeNode(CommentStmt);
34397
0
          n->objtype = OBJECT_TRIGGER;
34398
0
          n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34399
0
          n->comment = (yyvsp[0].str);
34400
0
          (yyval.node) = (Node *) n;
34401
0
        }
34402
0
#line 34403 "gram.c"
34403
0
    break;
34404
34405
0
  case 970:
34406
0
#line 7093 "gram.y"
34407
0
    {
34408
0
          CommentStmt *n = makeNode(CommentStmt);
34409
0
          n->objtype = OBJECT_OPCLASS;
34410
0
          n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
34411
0
          n->comment = (yyvsp[0].str);
34412
0
          (yyval.node) = (Node *) n;
34413
0
        }
34414
0
#line 34415 "gram.c"
34415
0
    break;
34416
34417
0
  case 971:
34418
0
#line 7101 "gram.y"
34419
0
    {
34420
0
          CommentStmt *n = makeNode(CommentStmt);
34421
0
          n->objtype = OBJECT_OPFAMILY;
34422
0
          n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
34423
0
          n->comment = (yyvsp[0].str);
34424
0
          (yyval.node) = (Node *) n;
34425
0
        }
34426
0
#line 34427 "gram.c"
34427
0
    break;
34428
34429
1
  case 972:
34430
1
#line 7109 "gram.y"
34431
1
    {
34432
1
          CommentStmt *n = makeNode(CommentStmt);
34433
1
          n->objtype = OBJECT_LARGEOBJECT;
34434
1
          n->object = (Node *) (yyvsp[-2].value);
34435
1
          n->comment = (yyvsp[0].str);
34436
1
          (yyval.node) = (Node *) n;
34437
1
        }
34438
1
#line 34439 "gram.c"
34439
1
    break;
34440
34441
1
  case 973:
34442
1
#line 7117 "gram.y"
34443
1
    {
34444
1
          CommentStmt *n = makeNode(CommentStmt);
34445
1
          n->objtype = OBJECT_CAST;
34446
1
          n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
34447
1
          n->comment = (yyvsp[0].str);
34448
1
          (yyval.node) = (Node *) n;
34449
1
        }
34450
1
#line 34451 "gram.c"
34451
1
    break;
34452
34453
15
  case 974:
34454
15
#line 7128 "gram.y"
34455
15
    { (yyval.objtype) = OBJECT_COLUMN; }
34456
15
#line 34457 "gram.c"
34457
15
    break;
34458
34459
1
  case 975:
34460
1
#line 7129 "gram.y"
34461
1
    { (yyval.objtype) = OBJECT_INDEX; }
34462
1
#line 34463 "gram.c"
34463
1
    break;
34464
34465
1
  case 976:
34466
1
#line 7130 "gram.y"
34467
1
    { (yyval.objtype) = OBJECT_SEQUENCE; }
34468
1
#line 34469 "gram.c"
34469
1
    break;
34470
34471
0
  case 977:
34472
0
#line 7131 "gram.y"
34473
0
    { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
34474
0
#line 34475 "gram.c"
34475
0
    break;
34476
34477
1
  case 978:
34478
1
#line 7132 "gram.y"
34479
1
    { (yyval.objtype) = OBJECT_TABLE; }
34480
1
#line 34481 "gram.c"
34481
1
    break;
34482
34483
1
  case 979:
34484
1
#line 7133 "gram.y"
34485
1
    { (yyval.objtype) = OBJECT_VIEW; }
34486
1
#line 34487 "gram.c"
34487
1
    break;
34488
34489
0
  case 980:
34490
0
#line 7134 "gram.y"
34491
0
    { (yyval.objtype) = OBJECT_MATVIEW; }
34492
0
#line 34493 "gram.c"
34493
0
    break;
34494
34495
1
  case 981:
34496
1
#line 7135 "gram.y"
34497
1
    { (yyval.objtype) = OBJECT_COLLATION; }
34498
1
#line 34499 "gram.c"
34499
1
    break;
34500
34501
0
  case 982:
34502
0
#line 7136 "gram.y"
34503
0
    { (yyval.objtype) = OBJECT_CONVERSION; }
34504
0
#line 34505 "gram.c"
34505
0
    break;
34506
34507
0
  case 983:
34508
0
#line 7137 "gram.y"
34509
0
    { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
34510
0
#line 34511 "gram.c"
34511
0
    break;
34512
34513
0
  case 984:
34514
0
#line 7138 "gram.y"
34515
0
    { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
34516
0
#line 34517 "gram.c"
34517
0
    break;
34518
34519
0
  case 985:
34520
0
#line 7139 "gram.y"
34521
0
    { (yyval.objtype) = OBJECT_TSDICTIONARY; }
34522
0
#line 34523 "gram.c"
34523
0
    break;
34524
34525
0
  case 986:
34526
0
#line 7140 "gram.y"
34527
0
    { (yyval.objtype) = OBJECT_TSPARSER; }
34528
0
#line 34529 "gram.c"
34529
0
    break;
34530
34531
0
  case 987:
34532
0
#line 7141 "gram.y"
34533
0
    { (yyval.objtype) = OBJECT_TSTEMPLATE; }
34534
0
#line 34535 "gram.c"
34535
0
    break;
34536
34537
1
  case 988:
34538
1
#line 7145 "gram.y"
34539
1
    { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
34540
1
#line 34541 "gram.c"
34541
1
    break;
34542
34543
1
  case 989:
34544
1
#line 7146 "gram.y"
34545
1
    { (yyval.objtype) = OBJECT_DATABASE; }
34546
1
#line 34547 "gram.c"
34547
1
    break;
34548
34549
0
  case 990:
34550
0
#line 7147 "gram.y"
34551
0
    { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
34552
0
#line 34553 "gram.c"
34553
0
    break;
34554
34555
0
  case 991:
34556
0
#line 7148 "gram.y"
34557
0
    { (yyval.objtype) = OBJECT_EXTENSION; }
34558
0
#line 34559 "gram.c"
34559
0
    break;
34560
34561
0
  case 992:
34562
0
#line 7149 "gram.y"
34563
0
    { (yyval.objtype) = OBJECT_FDW; }
34564
0
#line 34565 "gram.c"
34565
0
    break;
34566
34567
1
  case 993:
34568
1
#line 7150 "gram.y"
34569
1
    { (yyval.objtype) = OBJECT_LANGUAGE; }
34570
1
#line 34571 "gram.c"
34571
1
    break;
34572
34573
0
  case 994:
34574
0
#line 7151 "gram.y"
34575
0
    { (yyval.objtype) = OBJECT_PUBLICATION; }
34576
0
#line 34577 "gram.c"
34577
0
    break;
34578
34579
1
  case 995:
34580
1
#line 7152 "gram.y"
34581
1
    { (yyval.objtype) = OBJECT_ROLE; }
34582
1
#line 34583 "gram.c"
34583
1
    break;
34584
34585
1
  case 996:
34586
1
#line 7153 "gram.y"
34587
1
    { (yyval.objtype) = OBJECT_SCHEMA; }
34588
1
#line 34589 "gram.c"
34589
1
    break;
34590
34591
0
  case 997:
34592
0
#line 7154 "gram.y"
34593
0
    { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
34594
0
#line 34595 "gram.c"
34595
0
    break;
34596
34597
0
  case 998:
34598
0
#line 7155 "gram.y"
34599
0
    { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
34600
0
#line 34601 "gram.c"
34601
0
    break;
34602
34603
0
  case 999:
34604
0
#line 7156 "gram.y"
34605
0
    { (yyval.objtype) = OBJECT_YBTABLEGROUP; }
34606
0
#line 34607 "gram.c"
34607
0
    break;
34608
34609
1
  case 1000:
34610
1
#line 7157 "gram.y"
34611
1
    { (yyval.objtype) = OBJECT_TABLESPACE; }
34612
1
#line 34613 "gram.c"
34613
1
    break;
34614
34615
105
  case 1001:
34616
105
#line 7161 "gram.y"
34617
105
    { (yyval.str) = (yyvsp[0].str); }
34618
105
#line 34619 "gram.c"
34619
105
    break;
34620
34621
12
  case 1002:
34622
12
#line 7162 "gram.y"
34623
12
    { (yyval.str) = NULL; }
34624
12
#line 34625 "gram.c"
34625
12
    break;
34626
34627
0
  case 1003:
34628
0
#line 7178 "gram.y"
34629
0
    {
34630
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34631
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34632
0
          n->provider = (yyvsp[-5].str);
34633
0
          n->objtype = (yyvsp[-3].objtype);
34634
0
          n->object = (Node *) (yyvsp[-2].list);
34635
0
          n->label = (yyvsp[0].str);
34636
0
          (yyval.node) = (Node *) n;
34637
0
        }
34638
0
#line 34639 "gram.c"
34639
0
    break;
34640
34641
0
  case 1004:
34642
0
#line 7189 "gram.y"
34643
0
    {
34644
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34645
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34646
0
          n->provider = (yyvsp[-5].str);
34647
0
          n->objtype = (yyvsp[-3].objtype);
34648
0
          n->object = (Node *) makeString((yyvsp[-2].str));
34649
0
          n->label = (yyvsp[0].str);
34650
0
          (yyval.node) = (Node *) n;
34651
0
        }
34652
0
#line 34653 "gram.c"
34653
0
    break;
34654
34655
0
  case 1005:
34656
0
#line 7200 "gram.y"
34657
0
    {
34658
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34659
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34660
0
          n->provider = (yyvsp[-5].str);
34661
0
          n->objtype = OBJECT_TYPE;
34662
0
          n->object = (Node *) (yyvsp[-2].typnam);
34663
0
          n->label = (yyvsp[0].str);
34664
0
          (yyval.node) = (Node *) n;
34665
0
        }
34666
0
#line 34667 "gram.c"
34667
0
    break;
34668
34669
0
  case 1006:
34670
0
#line 7211 "gram.y"
34671
0
    {
34672
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34673
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34674
0
          n->provider = (yyvsp[-5].str);
34675
0
          n->objtype = OBJECT_DOMAIN;
34676
0
          n->object = (Node *) (yyvsp[-2].typnam);
34677
0
          n->label = (yyvsp[0].str);
34678
0
          (yyval.node) = (Node *) n;
34679
0
        }
34680
0
#line 34681 "gram.c"
34681
0
    break;
34682
34683
0
  case 1007:
34684
0
#line 7222 "gram.y"
34685
0
    {
34686
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34687
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34688
0
          n->provider = (yyvsp[-5].str);
34689
0
          n->objtype = OBJECT_AGGREGATE;
34690
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34691
0
          n->label = (yyvsp[0].str);
34692
0
          (yyval.node) = (Node *) n;
34693
0
        }
34694
0
#line 34695 "gram.c"
34695
0
    break;
34696
34697
0
  case 1008:
34698
0
#line 7233 "gram.y"
34699
0
    {
34700
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34701
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34702
0
          n->provider = (yyvsp[-5].str);
34703
0
          n->objtype = OBJECT_FUNCTION;
34704
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34705
0
          n->label = (yyvsp[0].str);
34706
0
          (yyval.node) = (Node *) n;
34707
0
        }
34708
0
#line 34709 "gram.c"
34709
0
    break;
34710
34711
0
  case 1009:
34712
0
#line 7244 "gram.y"
34713
0
    {
34714
0
          parser_ybc_not_support((yylsp[-8]), "SECURITY LABEL");
34715
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34716
0
          n->provider = (yyvsp[-6].str);
34717
0
          n->objtype = OBJECT_LARGEOBJECT;
34718
0
          n->object = (Node *) (yyvsp[-2].value);
34719
0
          n->label = (yyvsp[0].str);
34720
0
          (yyval.node) = (Node *) n;
34721
0
        }
34722
0
#line 34723 "gram.c"
34723
0
    break;
34724
34725
0
  case 1010:
34726
0
#line 7255 "gram.y"
34727
0
    {
34728
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34729
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34730
0
          n->provider = (yyvsp[-5].str);
34731
0
          n->objtype = OBJECT_PROCEDURE;
34732
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34733
0
          n->label = (yyvsp[0].str);
34734
0
          (yyval.node) = (Node *) n;
34735
0
        }
34736
0
#line 34737 "gram.c"
34737
0
    break;
34738
34739
0
  case 1011:
34740
0
#line 7266 "gram.y"
34741
0
    {
34742
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34743
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34744
0
          n->provider = (yyvsp[-5].str);
34745
0
          n->objtype = OBJECT_ROUTINE;
34746
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34747
0
          n->label = (yyvsp[0].str);
34748
0
          (yyval.node) = (Node *) n;
34749
0
        }
34750
0
#line 34751 "gram.c"
34751
0
    break;
34752
34753
0
  case 1012:
34754
0
#line 7277 "gram.y"
34755
0
    { (yyval.str) = (yyvsp[0].str); }
34756
0
#line 34757 "gram.c"
34757
0
    break;
34758
34759
0
  case 1013:
34760
0
#line 7278 "gram.y"
34761
0
    { (yyval.str) = NULL; }
34762
0
#line 34763 "gram.c"
34763
0
    break;
34764
34765
0
  case 1014:
34766
0
#line 7283 "gram.y"
34767
0
    { (yyval.objtype) = OBJECT_COLUMN; }
34768
0
#line 34769 "gram.c"
34769
0
    break;
34770
34771
0
  case 1015:
34772
0
#line 7284 "gram.y"
34773
0
    { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
34774
0
#line 34775 "gram.c"
34775
0
    break;
34776
34777
0
  case 1016:
34778
0
#line 7285 "gram.y"
34779
0
    { (yyval.objtype) = OBJECT_SEQUENCE; }
34780
0
#line 34781 "gram.c"
34781
0
    break;
34782
34783
0
  case 1017:
34784
0
#line 7286 "gram.y"
34785
0
    { (yyval.objtype) = OBJECT_TABLE; }
34786
0
#line 34787 "gram.c"
34787
0
    break;
34788
34789
0
  case 1018:
34790
0
#line 7287 "gram.y"
34791
0
    { (yyval.objtype) = OBJECT_VIEW; }
34792
0
#line 34793 "gram.c"
34793
0
    break;
34794
34795
0
  case 1019:
34796
0
#line 7288 "gram.y"
34797
0
    { (yyval.objtype) = OBJECT_MATVIEW; }
34798
0
#line 34799 "gram.c"
34799
0
    break;
34800
34801
0
  case 1020:
34802
0
#line 7293 "gram.y"
34803
0
    { (yyval.objtype) = OBJECT_DATABASE; }
34804
0
#line 34805 "gram.c"
34805
0
    break;
34806
34807
0
  case 1021:
34808
0
#line 7294 "gram.y"
34809
0
    { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
34810
0
#line 34811 "gram.c"
34811
0
    break;
34812
34813
0
  case 1022:
34814
0
#line 7295 "gram.y"
34815
0
    { (yyval.objtype) = OBJECT_LANGUAGE; }
34816
0
#line 34817 "gram.c"
34817
0
    break;
34818
34819
0
  case 1023:
34820
0
#line 7296 "gram.y"
34821
0
    { (yyval.objtype) = OBJECT_PUBLICATION; }
34822
0
#line 34823 "gram.c"
34823
0
    break;
34824
34825
0
  case 1024:
34826
0
#line 7297 "gram.y"
34827
0
    { (yyval.objtype) = OBJECT_ROLE; }
34828
0
#line 34829 "gram.c"
34829
0
    break;
34830
34831
0
  case 1025:
34832
0
#line 7298 "gram.y"
34833
0
    { (yyval.objtype) = OBJECT_SCHEMA; }
34834
0
#line 34835 "gram.c"
34835
0
    break;
34836
34837
0
  case 1026:
34838
0
#line 7299 "gram.y"
34839
0
    { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
34840
0
#line 34841 "gram.c"
34841
0
    break;
34842
34843
0
  case 1027:
34844
0
#line 7300 "gram.y"
34845
0
    { (yyval.objtype) = OBJECT_TABLESPACE; }
34846
0
#line 34847 "gram.c"
34847
0
    break;
34848
34849
0
  case 1028:
34850
0
#line 7303 "gram.y"
34851
0
    { (yyval.str) = (yyvsp[0].str); }
34852
0
#line 34853 "gram.c"
34853
0
    break;
34854
34855
0
  case 1029:
34856
0
#line 7304 "gram.y"
34857
0
    { (yyval.str) = NULL; }
34858
0
#line 34859 "gram.c"
34859
0
    break;
34860
34861
6.46k
  case 1030:
34862
6.46k
#line 7315 "gram.y"
34863
6.46k
    {
34864
6.46k
          FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
34865
6.46k
          n->ismove = false;
34866
6.46k
          (yyval.node) = (Node *)n;
34867
6.46k
        }
34868
6.46k
#line 34869 "gram.c"
34869
6.46k
    break;
34870
34871
0
  case 1031:
34872
0
#line 7321 "gram.y"
34873
0
    {
34874
0
          parser_ybc_not_support((yylsp[-1]), "MOVE");
34875
0
          FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
34876
0
          n->ismove = true;
34877
0
          (yyval.node) = (Node *)n;
34878
0
        }
34879
0
#line 34880 "gram.c"
34880
0
    break;
34881
34882
6
  case 1032:
34883
6
#line 7330 "gram.y"
34884
6
    {
34885
6
          FetchStmt *n = makeNode(FetchStmt);
34886
6
          n->portalname = (yyvsp[0].str);
34887
6
          n->direction = FETCH_FORWARD;
34888
6
          n->howMany = 1;
34889
6
          (yyval.node) = (Node *)n;
34890
6
        }
34891
6
#line 34892 "gram.c"
34892
6
    break;
34893
34894
0
  case 1033:
34895
0
#line 7338 "gram.y"
34896
0
    {
34897
0
          FetchStmt *n = makeNode(FetchStmt);
34898
0
          n->portalname = (yyvsp[0].str);
34899
0
          n->direction = FETCH_FORWARD;
34900
0
          n->howMany = 1;
34901
0
          (yyval.node) = (Node *)n;
34902
0
        }
34903
0
#line 34904 "gram.c"
34904
0
    break;
34905
34906
0
  case 1034:
34907
0
#line 7346 "gram.y"
34908
0
    {
34909
0
          FetchStmt *n = makeNode(FetchStmt);
34910
0
          n->portalname = (yyvsp[0].str);
34911
0
          n->direction = FETCH_FORWARD;
34912
0
          n->howMany = 1;
34913
0
          (yyval.node) = (Node *)n;
34914
0
        }
34915
0
#line 34916 "gram.c"
34916
0
    break;
34917
34918
0
  case 1035:
34919
0
#line 7354 "gram.y"
34920
0
    {
34921
0
          parser_ybc_signal_unsupported((yylsp[-2]), "FETCH PRIOR", 6514);
34922
34923
0
          FetchStmt *n = makeNode(FetchStmt);
34924
0
          n->portalname = (yyvsp[0].str);
34925
0
          n->direction = FETCH_BACKWARD;
34926
0
          n->howMany = 1;
34927
0
          (yyval.node) = (Node *)n;
34928
0
        }
34929
0
#line 34930 "gram.c"
34930
0
    break;
34931
34932
0
  case 1036:
34933
0
#line 7364 "gram.y"
34934
0
    {
34935
0
          parser_ybc_signal_unsupported((yylsp[-2]), "FETCH FIRST", 6514);
34936
34937
0
          FetchStmt *n = makeNode(FetchStmt);
34938
0
          n->portalname = (yyvsp[0].str);
34939
0
          n->direction = FETCH_ABSOLUTE;
34940
0
          n->howMany = 1;
34941
0
          (yyval.node) = (Node *)n;
34942
0
        }
34943
0
#line 34944 "gram.c"
34944
0
    break;
34945
34946
0
  case 1037:
34947
0
#line 7374 "gram.y"
34948
0
    {
34949
0
          parser_ybc_signal_unsupported((yylsp[-2]), "FETCH LAST", 6514);
34950
34951
0
          FetchStmt *n = makeNode(FetchStmt);
34952
0
          n->portalname = (yyvsp[0].str);
34953
0
          n->direction = FETCH_ABSOLUTE;
34954
0
          n->howMany = -1;
34955
0
          (yyval.node) = (Node *)n;
34956
0
        }
34957
0
#line 34958 "gram.c"
34958
0
    break;
34959
34960
4
  case 1038:
34961
4
#line 7384 "gram.y"
34962
4
    {
34963
4
          parser_ybc_signal_unsupported((yylsp[-3]), "FETCH ABSOLUTE", 6514);
34964
34965
4
          FetchStmt *n = makeNode(FetchStmt);
34966
4
          n->portalname = (yyvsp[0].str);
34967
4
          n->direction = FETCH_ABSOLUTE;
34968
4
          n->howMany = (yyvsp[-2].ival);
34969
4
          (yyval.node) = (Node *)n;
34970
4
        }
34971
4
#line 34972 "gram.c"
34972
4
    break;
34973
34974
4
  case 1039:
34975
4
#line 7394 "gram.y"
34976
4
    {
34977
4
          parser_ybc_signal_unsupported((yylsp[-3]), "FETCH RELATIVE", 6514);
34978
34979
4
          FetchStmt *n = makeNode(FetchStmt);
34980
4
          n->portalname = (yyvsp[0].str);
34981
4
          n->direction = FETCH_RELATIVE;
34982
4
          n->howMany = (yyvsp[-2].ival);
34983
4
          (yyval.node) = (Node *)n;
34984
4
        }
34985
4
#line 34986 "gram.c"
34986
4
    break;
34987
34988
6.45k
  case 1040:
34989
6.45k
#line 7404 "gram.y"
34990
6.45k
    {
34991
6.45k
          if ((yyvsp[-2].ival) < 0) {
34992
0
            parser_ybc_signal_unsupported((yylsp[-2]), "FETCH -", 6514);
34993
0
          }
34994
6.45k
          FetchStmt *n = makeNode(FetchStmt);
34995
6.45k
          n->portalname = (yyvsp[0].str);
34996
6.45k
          n->direction = FETCH_FORWARD;
34997
6.45k
          n->howMany = (yyvsp[-2].ival);
34998
6.45k
          (yyval.node) = (Node *)n;
34999
6.45k
        }
35000
6.45k
#line 35001 "gram.c"
35001
6.45k
    break;
35002
35003
0
  case 1041:
35004
0
#line 7415 "gram.y"
35005
0
    {
35006
0
          FetchStmt *n = makeNode(FetchStmt);
35007
0
          n->portalname = (yyvsp[0].str);
35008
0
          n->direction = FETCH_FORWARD;
35009
0
          n->howMany = FETCH_ALL;
35010
0
          (yyval.node) = (Node *)n;
35011
0
        }
35012
0
#line 35013 "gram.c"
35013
0
    break;
35014
35015
0
  case 1042:
35016
0
#line 7423 "gram.y"
35017
0
    {
35018
0
          FetchStmt *n = makeNode(FetchStmt);
35019
0
          n->portalname = (yyvsp[0].str);
35020
0
          n->direction = FETCH_FORWARD;
35021
0
          n->howMany = 1;
35022
0
          (yyval.node) = (Node *)n;
35023
0
        }
35024
0
#line 35025 "gram.c"
35025
0
    break;
35026
35027
0
  case 1043:
35028
0
#line 7431 "gram.y"
35029
0
    {
35030
0
          if ((yyvsp[-2].ival) < 0) {
35031
0
            parser_ybc_signal_unsupported((yylsp[-3]), "FETCH FORWARD -", 6514);
35032
0
          }
35033
0
          FetchStmt *n = makeNode(FetchStmt);
35034
0
          n->portalname = (yyvsp[0].str);
35035
0
          n->direction = FETCH_FORWARD;
35036
0
          n->howMany = (yyvsp[-2].ival);
35037
0
          (yyval.node) = (Node *)n;
35038
0
        }
35039
0
#line 35040 "gram.c"
35040
0
    break;
35041
35042
0
  case 1044:
35043
0
#line 7442 "gram.y"
35044
0
    {
35045
0
          FetchStmt *n = makeNode(FetchStmt);
35046
0
          n->portalname = (yyvsp[0].str);
35047
0
          n->direction = FETCH_FORWARD;
35048
0
          n->howMany = FETCH_ALL;
35049
0
          (yyval.node) = (Node *)n;
35050
0
        }
35051
0
#line 35052 "gram.c"
35052
0
    break;
35053
35054
0
  case 1045:
35055
0
#line 7450 "gram.y"
35056
0
    {
35057
0
          parser_ybc_signal_unsupported((yylsp[-2]), "FETCH BACKWARD", 6514);
35058
35059
0
          FetchStmt *n = makeNode(FetchStmt);
35060
0
          n->portalname = (yyvsp[0].str);
35061
0
          n->direction = FETCH_BACKWARD;
35062
0
          n->howMany = 1;
35063
0
          (yyval.node) = (Node *)n;
35064
0
        }
35065
0
#line 35066 "gram.c"
35066
0
    break;
35067
35068
0
  case 1046:
35069
0
#line 7460 "gram.y"
35070
0
    {
35071
0
          parser_ybc_signal_unsupported((yylsp[-3]), "FETCH BACKWARD", 6514);
35072
35073
0
          FetchStmt *n = makeNode(FetchStmt);
35074
0
          n->portalname = (yyvsp[0].str);
35075
0
          n->direction = FETCH_BACKWARD;
35076
0
          n->howMany = (yyvsp[-2].ival);
35077
0
          (yyval.node) = (Node *)n;
35078
0
        }
35079
0
#line 35080 "gram.c"
35080
0
    break;
35081
35082
0
  case 1047:
35083
0
#line 7470 "gram.y"
35084
0
    {
35085
0
          parser_ybc_signal_unsupported((yylsp[-3]), "FETCH BACKWARD", 6514);
35086
35087
0
          FetchStmt *n = makeNode(FetchStmt);
35088
0
          n->portalname = (yyvsp[0].str);
35089
0
          n->direction = FETCH_BACKWARD;
35090
0
          n->howMany = FETCH_ALL;
35091
0
          (yyval.node) = (Node *)n;
35092
0
        }
35093
0
#line 35094 "gram.c"
35094
0
    break;
35095
35096
6.46k
  case 1048:
35097
6.46k
#line 7481 "gram.y"
35098
6.46k
    {}
35099
6.46k
#line 35100 "gram.c"
35100
6.46k
    break;
35101
35102
0
  case 1049:
35103
0
#line 7482 "gram.y"
35104
0
    {}
35105
0
#line 35106 "gram.c"
35106
0
    break;
35107
35108
6.46k
  case 1050:
35109
6.46k
#line 7485 "gram.y"
35110
6.46k
    {}
35111
6.46k
#line 35112 "gram.c"
35112
6.46k
    break;
35113
35114
0
  case 1051:
35115
0
#line 7486 "gram.y"
35116
0
    {}
35117
0
#line 35118 "gram.c"
35118
0
    break;
35119
35120
331
  case 1052:
35121
331
#line 7498 "gram.y"
35122
331
    {
35123
331
          GrantStmt *n = makeNode(GrantStmt);
35124
331
          n->is_grant = true;
35125
331
          n->privileges = (yyvsp[-5].list);
35126
331
          n->targtype = ((yyvsp[-3].privtarget))->targtype;
35127
331
          n->objtype = ((yyvsp[-3].privtarget))->objtype;
35128
331
          n->objects = ((yyvsp[-3].privtarget))->objs;
35129
331
          n->grantees = (yyvsp[-1].list);
35130
331
          n->grant_option = (yyvsp[0].boolean);
35131
331
          (yyval.node) = (Node*)n;
35132
331
        }
35133
331
#line 35134 "gram.c"
35134
331
    break;
35135
35136
128
  case 1053:
35137
128
#line 7514 "gram.y"
35138
128
    {
35139
128
          GrantStmt *n = makeNode(GrantStmt);
35140
128
          n->is_grant = false;
35141
128
          n->grant_option = false;
35142
128
          n->privileges = (yyvsp[-5].list);
35143
128
          n->targtype = ((yyvsp[-3].privtarget))->targtype;
35144
128
          n->objtype = ((yyvsp[-3].privtarget))->objtype;
35145
128
          n->objects = ((yyvsp[-3].privtarget))->objs;
35146
128
          n->grantees = (yyvsp[-1].list);
35147
128
          n->behavior = (yyvsp[0].dbehavior);
35148
128
          (yyval.node) = (Node *)n;
35149
128
        }
35150
128
#line 35151 "gram.c"
35151
128
    break;
35152
35153
2
  case 1054:
35154
2
#line 7528 "gram.y"
35155
2
    {
35156
2
          GrantStmt *n = makeNode(GrantStmt);
35157
2
          n->is_grant = false;
35158
2
          n->grant_option = true;
35159
2
          n->privileges = (yyvsp[-5].list);
35160
2
          n->targtype = ((yyvsp[-3].privtarget))->targtype;
35161
2
          n->objtype = ((yyvsp[-3].privtarget))->objtype;
35162
2
          n->objects = ((yyvsp[-3].privtarget))->objs;
35163
2
          n->grantees = (yyvsp[-1].list);
35164
2
          n->behavior = (yyvsp[0].dbehavior);
35165
2
          (yyval.node) = (Node *)n;
35166
2
        }
35167
2
#line 35168 "gram.c"
35168
2
    break;
35169
35170
274
  case 1055:
35171
274
#line 7553 "gram.y"
35172
274
    { (yyval.list) = (yyvsp[0].list); }
35173
274
#line 35174 "gram.c"
35174
274
    break;
35175
35176
148
  case 1056:
35177
148
#line 7555 "gram.y"
35178
148
    { (yyval.list) = NIL; }
35179
148
#line 35180 "gram.c"
35180
148
    break;
35181
35182
77
  case 1057:
35183
77
#line 7557 "gram.y"
35184
77
    { (yyval.list) = NIL; }
35185
77
#line 35186 "gram.c"
35186
77
    break;
35187
35188
8
  case 1058:
35189
8
#line 7559 "gram.y"
35190
8
    {
35191
8
          AccessPriv *n = makeNode(AccessPriv);
35192
8
          n->priv_name = NULL;
35193
8
          n->cols = (yyvsp[-1].list);
35194
8
          (yyval.list) = list_make1(n);
35195
8
        }
35196
8
#line 35197 "gram.c"
35197
8
    break;
35198
35199
0
  case 1059:
35200
0
#line 7566 "gram.y"
35201
0
    {
35202
0
          AccessPriv *n = makeNode(AccessPriv);
35203
0
          n->priv_name = NULL;
35204
0
          n->cols = (yyvsp[-1].list);
35205
0
          (yyval.list) = list_make1(n);
35206
0
        }
35207
0
#line 35208 "gram.c"
35208
0
    break;
35209
35210
328
  case 1060:
35211
328
#line 7574 "gram.y"
35212
328
    { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
35213
328
#line 35214 "gram.c"
35214
328
    break;
35215
35216
23
  case 1061:
35217
23
#line 7575 "gram.y"
35218
23
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
35219
23
#line 35220 "gram.c"
35220
23
    break;
35221
35222
142
  case 1062:
35223
142
#line 7579 "gram.y"
35224
142
    {
35225
142
        AccessPriv *n = makeNode(AccessPriv);
35226
142
        n->priv_name = pstrdup((yyvsp[-1].keyword));
35227
142
        n->cols = (yyvsp[0].list);
35228
142
        (yyval.accesspriv) = n;
35229
142
      }
35230
142
#line 35231 "gram.c"
35231
142
    break;
35232
35233
4
  case 1063:
35234
4
#line 7586 "gram.y"
35235
4
    {
35236
4
        AccessPriv *n = makeNode(AccessPriv);
35237
4
        n->priv_name = pstrdup((yyvsp[-1].keyword));
35238
4
        n->cols = (yyvsp[0].list);
35239
4
        (yyval.accesspriv) = n;
35240
4
      }
35241
4
#line 35242 "gram.c"
35242
4
    break;
35243
35244
3
  case 1064:
35245
3
#line 7593 "gram.y"
35246
3
    {
35247
3
        AccessPriv *n = makeNode(AccessPriv);
35248
3
        n->priv_name = pstrdup((yyvsp[-1].keyword));
35249
3
        n->cols = (yyvsp[0].list);
35250
3
        (yyval.accesspriv) = n;
35251
3
      }
35252
3
#line 35253 "gram.c"
35253
3
    break;
35254
35255
202
  case 1065:
35256
202
#line 7600 "gram.y"
35257
202
    {
35258
202
        AccessPriv *n = makeNode(AccessPriv);
35259
202
        n->priv_name = (yyvsp[-1].str);
35260
202
        n->cols = (yyvsp[0].list);
35261
202
        (yyval.accesspriv) = n;
35262
202
      }
35263
202
#line 35264 "gram.c"
35264
202
    break;
35265
35266
175
  case 1066:
35267
175
#line 7614 "gram.y"
35268
175
    {
35269
175
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35270
175
          n->targtype = ACL_TARGET_OBJECT;
35271
175
          n->objtype = OBJECT_TABLE;
35272
175
          n->objs = (yyvsp[0].list);
35273
175
          (yyval.privtarget) = n;
35274
175
        }
35275
175
#line 35276 "gram.c"
35276
175
    break;
35277
35278
77
  case 1067:
35279
77
#line 7622 "gram.y"
35280
77
    {
35281
77
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35282
77
          n->targtype = ACL_TARGET_OBJECT;
35283
77
          n->objtype = OBJECT_TABLE;
35284
77
          n->objs = (yyvsp[0].list);
35285
77
          (yyval.privtarget) = n;
35286
77
        }
35287
77
#line 35288 "gram.c"
35288
77
    break;
35289
35290
8
  case 1068:
35291
8
#line 7630 "gram.y"
35292
8
    {
35293
8
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35294
8
          n->targtype = ACL_TARGET_OBJECT;
35295
8
          n->objtype = OBJECT_SEQUENCE;
35296
8
          n->objs = (yyvsp[0].list);
35297
8
          (yyval.privtarget) = n;
35298
8
        }
35299
8
#line 35300 "gram.c"
35300
8
    break;
35301
35302
0
  case 1069:
35303
0
#line 7638 "gram.y"
35304
0
    {
35305
0
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35306
0
          n->targtype = ACL_TARGET_OBJECT;
35307
0
          n->objtype = OBJECT_FDW;
35308
0
          n->objs = (yyvsp[0].list);
35309
0
          (yyval.privtarget) = n;
35310
0
        }
35311
0
#line 35312 "gram.c"
35312
0
    break;
35313
35314
2
  case 1070:
35315
2
#line 7646 "gram.y"
35316
2
    {
35317
2
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35318
2
          n->targtype = ACL_TARGET_OBJECT;
35319
2
          n->objtype = OBJECT_FOREIGN_SERVER;
35320
2
          n->objs = (yyvsp[0].list);
35321
2
          (yyval.privtarget) = n;
35322
2
        }
35323
2
#line 35324 "gram.c"
35324
2
    break;
35325
35326
108
  case 1071:
35327
108
#line 7654 "gram.y"
35328
108
    {
35329
108
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35330
108
          n->targtype = ACL_TARGET_OBJECT;
35331
108
          n->objtype = OBJECT_FUNCTION;
35332
108
          n->objs = (yyvsp[0].list);
35333
108
          (yyval.privtarget) = n;
35334
108
        }
35335
108
#line 35336 "gram.c"
35336
108
    break;
35337
35338
9
  case 1072:
35339
9
#line 7662 "gram.y"
35340
9
    {
35341
9
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35342
9
          n->targtype = ACL_TARGET_OBJECT;
35343
9
          n->objtype = OBJECT_PROCEDURE;
35344
9
          n->objs = (yyvsp[0].list);
35345
9
          (yyval.privtarget) = n;
35346
9
        }
35347
9
#line 35348 "gram.c"
35348
9
    break;
35349
35350
0
  case 1073:
35351
0
#line 7670 "gram.y"
35352
0
    {
35353
0
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35354
0
          n->targtype = ACL_TARGET_OBJECT;
35355
0
          n->objtype = OBJECT_ROUTINE;
35356
0
          n->objs = (yyvsp[0].list);
35357
0
          (yyval.privtarget) = n;
35358
0
        }
35359
0
#line 35360 "gram.c"
35360
0
    break;
35361
35362
4
  case 1074:
35363
4
#line 7678 "gram.y"
35364
4
    {
35365
4
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35366
4
          n->targtype = ACL_TARGET_OBJECT;
35367
4
          n->objtype = OBJECT_DATABASE;
35368
4
          n->objs = (yyvsp[0].list);
35369
4
          (yyval.privtarget) = n;
35370
4
        }
35371
4
#line 35372 "gram.c"
35372
4
    break;
35373
35374
10
  case 1075:
35375
10
#line 7686 "gram.y"
35376
10
    {
35377
10
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35378
10
          n->targtype = ACL_TARGET_OBJECT;
35379
10
          n->objtype = OBJECT_DOMAIN;
35380
10
          n->objs = (yyvsp[0].list);
35381
10
          (yyval.privtarget) = n;
35382
10
        }
35383
10
#line 35384 "gram.c"
35384
10
    break;
35385
35386
13
  case 1076:
35387
13
#line 7694 "gram.y"
35388
13
    {
35389
13
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35390
13
          n->targtype = ACL_TARGET_OBJECT;
35391
13
          n->objtype = OBJECT_LANGUAGE;
35392
13
          n->objs = (yyvsp[0].list);
35393
13
          (yyval.privtarget) = n;
35394
13
        }
35395
13
#line 35396 "gram.c"
35396
13
    break;
35397
35398
28
  case 1077:
35399
28
#line 7702 "gram.y"
35400
28
    {
35401
28
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35402
28
          n->targtype = ACL_TARGET_OBJECT;
35403
28
          n->objtype = OBJECT_LARGEOBJECT;
35404
28
          n->objs = (yyvsp[0].list);
35405
28
          (yyval.privtarget) = n;
35406
28
        }
35407
28
#line 35408 "gram.c"
35408
28
    break;
35409
35410
17
  case 1078:
35411
17
#line 7710 "gram.y"
35412
17
    {
35413
17
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35414
17
          n->targtype = ACL_TARGET_OBJECT;
35415
17
          n->objtype = OBJECT_SCHEMA;
35416
17
          n->objs = (yyvsp[0].list);
35417
17
          (yyval.privtarget) = n;
35418
17
        }
35419
17
#line 35420 "gram.c"
35420
17
    break;
35421
35422
0
  case 1079:
35423
0
#line 7718 "gram.y"
35424
0
    {
35425
0
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35426
0
          n->targtype = ACL_TARGET_OBJECT;
35427
0
          n->objtype = OBJECT_YBTABLEGROUP;
35428
0
          n->objs = (yyvsp[0].list);
35429
0
          (yyval.privtarget) = n;
35430
0
        }
35431
0
#line 35432 "gram.c"
35432
0
    break;
35433
35434
0
  case 1080:
35435
0
#line 7726 "gram.y"
35436
0
    {
35437
0
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35438
0
          n->targtype = ACL_TARGET_OBJECT;
35439
0
          n->objtype = OBJECT_TABLESPACE;
35440
0
          n->objs = (yyvsp[0].list);
35441
0
          (yyval.privtarget) = n;
35442
0
        }
35443
0
#line 35444 "gram.c"
35444
0
    break;
35445
35446
14
  case 1081:
35447
14
#line 7734 "gram.y"
35448
14
    {
35449
14
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35450
14
          n->targtype = ACL_TARGET_OBJECT;
35451
14
          n->objtype = OBJECT_TYPE;
35452
14
          n->objs = (yyvsp[0].list);
35453
14
          (yyval.privtarget) = n;
35454
14
        }
35455
14
#line 35456 "gram.c"
35456
14
    break;
35457
35458
5
  case 1082:
35459
5
#line 7742 "gram.y"
35460
5
    {
35461
5
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35462
5
          n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35463
5
          n->objtype = OBJECT_TABLE;
35464
5
          n->objs = (yyvsp[0].list);
35465
5
          (yyval.privtarget) = n;
35466
5
        }
35467
5
#line 35468 "gram.c"
35468
5
    break;
35469
35470
0
  case 1083:
35471
0
#line 7750 "gram.y"
35472
0
    {
35473
0
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35474
0
          n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35475
0
          n->objtype = OBJECT_SEQUENCE;
35476
0
          n->objs = (yyvsp[0].list);
35477
0
          (yyval.privtarget) = n;
35478
0
        }
35479
0
#line 35480 "gram.c"
35480
0
    break;
35481
35482
3
  case 1084:
35483
3
#line 7758 "gram.y"
35484
3
    {
35485
3
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35486
3
          n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35487
3
          n->objtype = OBJECT_FUNCTION;
35488
3
          n->objs = (yyvsp[0].list);
35489
3
          (yyval.privtarget) = n;
35490
3
        }
35491
3
#line 35492 "gram.c"
35492
3
    break;
35493
35494
2
  case 1085:
35495
2
#line 7766 "gram.y"
35496
2
    {
35497
2
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35498
2
          n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35499
2
          n->objtype = OBJECT_PROCEDURE;
35500
2
          n->objs = (yyvsp[0].list);
35501
2
          (yyval.privtarget) = n;
35502
2
        }
35503
2
#line 35504 "gram.c"
35504
2
    break;
35505
35506
2
  case 1086:
35507
2
#line 7774 "gram.y"
35508
2
    {
35509
2
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35510
2
          n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35511
2
          n->objtype = OBJECT_ROUTINE;
35512
2
          n->objs = (yyvsp[0].list);
35513
2
          (yyval.privtarget) = n;
35514
2
        }
35515
2
#line 35516 "gram.c"
35516
2
    break;
35517
35518
491
  case 1087:
35519
491
#line 7785 "gram.y"
35520
491
    { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
35521
491
#line 35522 "gram.c"
35522
491
    break;
35523
35524
30
  case 1088:
35525
30
#line 7786 "gram.y"
35526
30
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
35527
30
#line 35528 "gram.c"
35528
30
    break;
35529
35530
517
  case 1089:
35531
517
#line 7790 "gram.y"
35532
517
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
35533
517
#line 35534 "gram.c"
35534
517
    break;
35535
35536
4
  case 1090:
35537
4
#line 7791 "gram.y"
35538
4
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
35539
4
#line 35540 "gram.c"
35540
4
    break;
35541
35542
15
  case 1091:
35543
15
#line 7796 "gram.y"
35544
15
    { (yyval.boolean) = true; }
35545
15
#line 35546 "gram.c"
35546
15
    break;
35547
35548
334
  case 1092:
35549
334
#line 7797 "gram.y"
35550
334
    { (yyval.boolean) = false; }
35551
334
#line 35552 "gram.c"
35552
334
    break;
35553
35554
46
  case 1093:
35555
46
#line 7808 "gram.y"
35556
46
    {
35557
46
          GrantRoleStmt *n = makeNode(GrantRoleStmt);
35558
46
          n->is_grant = true;
35559
46
          n->granted_roles = (yyvsp[-4].list);
35560
46
          n->grantee_roles = (yyvsp[-2].list);
35561
46
          n->admin_opt = (yyvsp[-1].boolean);
35562
46
          n->grantor = (yyvsp[0].rolespec);
35563
46
          (yyval.node) = (Node*)n;
35564
46
        }
35565
46
#line 35566 "gram.c"
35566
46
    break;
35567
35568
7
  case 1094:
35569
7
#line 7821 "gram.y"
35570
7
    {
35571
7
          GrantRoleStmt *n = makeNode(GrantRoleStmt);
35572
7
          n->is_grant = false;
35573
7
          n->admin_opt = false;
35574
7
          n->granted_roles = (yyvsp[-4].list);
35575
7
          n->grantee_roles = (yyvsp[-2].list);
35576
7
          n->behavior = (yyvsp[0].dbehavior);
35577
7
          (yyval.node) = (Node*)n;
35578
7
        }
35579
7
#line 35580 "gram.c"
35580
7
    break;
35581
35582
1
  case 1095:
35583
1
#line 7831 "gram.y"
35584
1
    {
35585
1
          GrantRoleStmt *n = makeNode(GrantRoleStmt);
35586
1
          n->is_grant = false;
35587
1
          n->admin_opt = true;
35588
1
          n->granted_roles = (yyvsp[-4].list);
35589
1
          n->grantee_roles = (yyvsp[-2].list);
35590
1
          n->behavior = (yyvsp[0].dbehavior);
35591
1
          (yyval.node) = (Node*)n;
35592
1
        }
35593
1
#line 35594 "gram.c"
35594
1
    break;
35595
35596
4
  case 1096:
35597
4
#line 7842 "gram.y"
35598
4
    { (yyval.boolean) = true; }
35599
4
#line 35600 "gram.c"
35600
4
    break;
35601
35602
42
  case 1097:
35603
42
#line 7843 "gram.y"
35604
42
    { (yyval.boolean) = false; }
35605
42
#line 35606 "gram.c"
35606
42
    break;
35607
35608
0
  case 1098:
35609
0
#line 7846 "gram.y"
35610
0
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
35611
0
#line 35612 "gram.c"
35612
0
    break;
35613
35614
54
  case 1099:
35615
54
#line 7847 "gram.y"
35616
54
    { (yyval.rolespec) = NULL; }
35617
54
#line 35618 "gram.c"
35618
54
    break;
35619
35620
30
  case 1100:
35621
30
#line 7858 "gram.y"
35622
30
    {
35623
30
          AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
35624
30
          n->options = (yyvsp[-1].list);
35625
30
          n->action = (GrantStmt *) (yyvsp[0].node);
35626
30
          (yyval.node) = (Node*)n;
35627
30
        }
35628
30
#line 35629 "gram.c"
35629
30
    break;
35630
35631
21
  case 1101:
35632
21
#line 7867 "gram.y"
35633
21
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35634
21
#line 35635 "gram.c"
35635
21
    break;
35636
35637
30
  case 1102:
35638
30
#line 7868 "gram.y"
35639
30
    { (yyval.list) = NIL; }
35640
30
#line 35641 "gram.c"
35641
30
    break;
35642
35643
17
  case 1103:
35644
17
#line 7873 "gram.y"
35645
17
    {
35646
17
          (yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
35647
17
        }
35648
17
#line 35649 "gram.c"
35649
17
    break;
35650
35651
4
  case 1104:
35652
4
#line 7877 "gram.y"
35653
4
    {
35654
4
          (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
35655
4
        }
35656
4
#line 35657 "gram.c"
35657
4
    break;
35658
35659
0
  case 1105:
35660
0
#line 7881 "gram.y"
35661
0
    {
35662
0
          (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
35663
0
        }
35664
0
#line 35665 "gram.c"
35665
0
    break;
35666
35667
18
  case 1106:
35668
18
#line 7893 "gram.y"
35669
18
    {
35670
18
          GrantStmt *n = makeNode(GrantStmt);
35671
18
          n->is_grant = true;
35672
18
          n->privileges = (yyvsp[-5].list);
35673
18
          n->targtype = ACL_TARGET_DEFAULTS;
35674
18
          n->objtype = (yyvsp[-3].ival);
35675
18
          n->objects = NIL;
35676
18
          n->grantees = (yyvsp[-1].list);
35677
18
          n->grant_option = (yyvsp[0].boolean);
35678
18
          (yyval.node) = (Node*)n;
35679
18
        }
35680
18
#line 35681 "gram.c"
35681
18
    break;
35682
35683
12
  case 1107:
35684
12
#line 7906 "gram.y"
35685
12
    {
35686
12
          GrantStmt *n = makeNode(GrantStmt);
35687
12
          n->is_grant = false;
35688
12
          n->grant_option = false;
35689
12
          n->privileges = (yyvsp[-5].list);
35690
12
          n->targtype = ACL_TARGET_DEFAULTS;
35691
12
          n->objtype = (yyvsp[-3].ival);
35692
12
          n->objects = NIL;
35693
12
          n->grantees = (yyvsp[-1].list);
35694
12
          n->behavior = (yyvsp[0].dbehavior);
35695
12
          (yyval.node) = (Node *)n;
35696
12
        }
35697
12
#line 35698 "gram.c"
35698
12
    break;
35699
35700
0
  case 1108:
35701
0
#line 7920 "gram.y"
35702
0
    {
35703
0
          GrantStmt *n = makeNode(GrantStmt);
35704
0
          n->is_grant = false;
35705
0
          n->grant_option = true;
35706
0
          n->privileges = (yyvsp[-5].list);
35707
0
          n->targtype = ACL_TARGET_DEFAULTS;
35708
0
          n->objtype = (yyvsp[-3].ival);
35709
0
          n->objects = NIL;
35710
0
          n->grantees = (yyvsp[-1].list);
35711
0
          n->behavior = (yyvsp[0].dbehavior);
35712
0
          (yyval.node) = (Node *)n;
35713
0
        }
35714
0
#line 35715 "gram.c"
35715
0
    break;
35716
35717
9
  case 1109:
35718
9
#line 7935 "gram.y"
35719
9
    { (yyval.ival) = OBJECT_TABLE; }
35720
9
#line 35721 "gram.c"
35721
9
    break;
35722
35723
4
  case 1110:
35724
4
#line 7936 "gram.y"
35725
4
    { (yyval.ival) = OBJECT_FUNCTION; }
35726
4
#line 35727 "gram.c"
35727
4
    break;
35728
35729
2
  case 1111:
35730
2
#line 7937 "gram.y"
35731
2
    { (yyval.ival) = OBJECT_FUNCTION; }
35732
2
#line 35733 "gram.c"
35733
2
    break;
35734
35735
0
  case 1112:
35736
0
#line 7938 "gram.y"
35737
0
    { (yyval.ival) = OBJECT_SEQUENCE; }
35738
0
#line 35739 "gram.c"
35739
0
    break;
35740
35741
0
  case 1113:
35742
0
#line 7939 "gram.y"
35743
0
    { (yyval.ival) = OBJECT_YBTABLEGROUP; }
35744
0
#line 35745 "gram.c"
35745
0
    break;
35746
35747
4
  case 1114:
35748
4
#line 7940 "gram.y"
35749
4
    { (yyval.ival) = OBJECT_TYPE; }
35750
4
#line 35751 "gram.c"
35751
4
    break;
35752
35753
11
  case 1115:
35754
11
#line 7941 "gram.y"
35755
11
    { (yyval.ival) = OBJECT_SCHEMA; }
35756
11
#line 35757 "gram.c"
35757
11
    break;
35758
35759
192
  case 1116:
35760
192
#line 7956 "gram.y"
35761
192
    {
35762
192
          IndexStmt *n = makeNode(IndexStmt);
35763
192
          n->unique = (yyvsp[-15].boolean);
35764
192
          n->concurrent = (yyvsp[-13].boolean);
35765
192
          n->idxname = (yyvsp[-12].str);
35766
192
          n->relation = (yyvsp[-10].range);
35767
192
          n->relationId = InvalidOid;
35768
192
          n->accessMethod = (yyvsp[-9].str);
35769
192
          n->indexParams = (yyvsp[-7].list);
35770
192
          n->indexIncludingParams = (yyvsp[-5].list);
35771
192
          n->options = (yyvsp[-4].list);
35772
192
          n->tableSpace = (yyvsp[-3].str);
35773
192
          n->split_options = (yyvsp[-2].splitopt);
35774
192
          n->tablegroup = (yyvsp[-1].grpopt);
35775
192
          n->whereClause = (yyvsp[0].node);
35776
192
          n->excludeOpNames = NIL;
35777
192
          n->idxcomment = NULL;
35778
192
          n->indexOid = InvalidOid;
35779
192
          n->oldNode = InvalidOid;
35780
192
          n->primary = false;
35781
192
          n->isconstraint = false;
35782
192
          n->deferrable = false;
35783
192
          n->initdeferred = false;
35784
192
          n->transformed = false;
35785
192
          n->if_not_exists = false;
35786
192
          (yyval.node) = (Node *)n;
35787
192
        }
35788
192
#line 35789 "gram.c"
35789
192
    break;
35790
35791
0
  case 1117:
35792
0
#line 7986 "gram.y"
35793
0
    {
35794
0
          IndexStmt *n = makeNode(IndexStmt);
35795
0
          n->unique = (yyvsp[-18].boolean);
35796
0
          n->concurrent = (yyvsp[-16].boolean);
35797
0
          n->idxname = (yyvsp[-12].str);
35798
0
          n->relation = (yyvsp[-10].range);
35799
0
          n->relationId = InvalidOid;
35800
0
          n->accessMethod = (yyvsp[-9].str);
35801
0
          n->indexParams = (yyvsp[-7].list);
35802
0
          n->indexIncludingParams = (yyvsp[-5].list);
35803
0
          n->options = (yyvsp[-4].list);
35804
0
          n->tableSpace = (yyvsp[-3].str);
35805
0
          n->split_options = (yyvsp[-2].splitopt);
35806
0
          n->tablegroup = (yyvsp[-1].grpopt);
35807
0
          n->whereClause = (yyvsp[0].node);
35808
0
          n->excludeOpNames = NIL;
35809
0
          n->idxcomment = NULL;
35810
0
          n->indexOid = InvalidOid;
35811
0
          n->oldNode = InvalidOid;
35812
0
          n->primary = false;
35813
0
          n->isconstraint = false;
35814
0
          n->deferrable = false;
35815
0
          n->initdeferred = false;
35816
0
          n->transformed = false;
35817
0
          n->if_not_exists = true;
35818
0
          (yyval.node) = (Node *)n;
35819
0
        }
35820
0
#line 35821 "gram.c"
35821
0
    break;
35822
35823
19
  case 1118:
35824
19
#line 8016 "gram.y"
35825
19
    { (yyval.boolean) = true; }
35826
19
#line 35827 "gram.c"
35827
19
    break;
35828
35829
173
  case 1119:
35830
173
#line 8017 "gram.y"
35831
173
    { (yyval.boolean) = false; }
35832
173
#line 35833 "gram.c"
35833
173
    break;
35834
35835
0
  case 1120:
35836
0
#line 8022 "gram.y"
35837
0
    {
35838
0
          parser_ybc_not_support((yylsp[0]), "CREATE INDEX CONCURRENTLY");
35839
0
          (yyval.boolean) = true;
35840
0
        }
35841
0
#line 35842 "gram.c"
35842
0
    break;
35843
35844
0
  case 1121:
35845
0
#line 8027 "gram.y"
35846
0
    {
35847
0
          (yyval.boolean) = false;
35848
0
        }
35849
0
#line 35850 "gram.c"
35850
0
    break;
35851
35852
192
  case 1122:
35853
192
#line 8031 "gram.y"
35854
192
    {
35855
192
          (yyval.boolean) = !*YBCGetGFlags()->ysql_disable_index_backfill;
35856
192
        }
35857
192
#line 35858 "gram.c"
35858
192
    break;
35859
35860
131
  case 1123:
35861
131
#line 8037 "gram.y"
35862
131
    { (yyval.str) = (yyvsp[0].str); }
35863
131
#line 35864 "gram.c"
35864
131
    break;
35865
35866
61
  case 1124:
35867
61
#line 8038 "gram.y"
35868
61
    { (yyval.str) = NULL; }
35869
61
#line 35870 "gram.c"
35870
61
    break;
35871
35872
47
  case 1125:
35873
47
#line 8042 "gram.y"
35874
47
    { (yyval.str) = (yyvsp[0].str); }
35875
47
#line 35876 "gram.c"
35876
47
    break;
35877
35878
146
  case 1126:
35879
146
#line 8043 "gram.y"
35880
146
    { (yyval.str) = IsYugaByteEnabled() ?
35881
0
                               NULL : DEFAULT_INDEX_TYPE; }
35882
146
#line 35883 "gram.c"
35883
146
    break;
35884
35885
2.92k
  case 1127:
35886
2.92k
#line 8048 "gram.y"
35887
2.92k
    {
35888
2.92k
          (yyval.list) = list_make1((yyvsp[0].ielem));
35889
2.92k
        }
35890
2.92k
#line 35891 "gram.c"
35891
2.92k
    break;
35892
35893
7
  case 1128:
35894
7
#line 8052 "gram.y"
35895
7
    {
35896
7
          (yyval.list) = (yyvsp[0].list);
35897
7
        }
35898
7
#line 35899 "gram.c"
35899
7
    break;
35900
35901
185
  case 1129:
35902
185
#line 8056 "gram.y"
35903
185
    {
35904
185
          if ((yyvsp[0].ielem)->ordering == SORTBY_HASH)
35905
0
          {
35906
0
            IndexElem *last_elem = (IndexElem *)llast((yyvsp[-2].list));
35907
0
            if (last_elem->ordering == SORTBY_HASH)
35908
0
              ereport(ERROR,
35909
0
                  (errcode(ERRCODE_WRONG_OBJECT_TYPE),
35910
0
                   errmsg("multiple hash columns must be defined as a "
35911
0
                      "single hash column group"),
35912
0
                   parser_errposition((yylsp[0]))));
35913
0
            else
35914
0
              ereport(ERROR,
35915
0
                  (errcode(ERRCODE_WRONG_OBJECT_TYPE),
35916
0
                   errmsg("hash column not allowed after an ASC/DESC column"),
35917
0
                   parser_errposition((yylsp[0]))));
35918
0
          }
35919
185
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem));
35920
185
        }
35921
185
#line 35922 "gram.c"
35922
185
    break;
35923
35924
0
  case 1130:
35925
0
#line 8075 "gram.y"
35926
0
    {
35927
0
            ereport(ERROR,
35928
0
                (errcode(ERRCODE_WRONG_OBJECT_TYPE),
35929
0
                 errmsg("hash column not allowed after an ASC/DESC column"),
35930
0
                 parser_errposition((yylsp[0]))));
35931
0
        }
35932
0
#line 35933 "gram.c"
35933
0
    break;
35934
35935
3.11k
  case 1131:
35936
3.11k
#line 8089 "gram.y"
35937
3.11k
    {
35938
3.11k
          (yyval.ielem) = makeNode(IndexElem);
35939
3.11k
          (yyval.ielem)->name = (yyvsp[-4].str);
35940
3.11k
          (yyval.ielem)->expr = NULL;
35941
3.11k
          (yyval.ielem)->indexcolname = NULL;
35942
3.11k
          (yyval.ielem)->collation = (yyvsp[-3].list);
35943
3.11k
          (yyval.ielem)->opclass = (yyvsp[-2].list);
35944
3.11k
          (yyval.ielem)->ordering = (yyvsp[-1].ival);
35945
3.11k
          (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35946
3.11k
        }
35947
3.11k
#line 35948 "gram.c"
35948
3.11k
    break;
35949
35950
2
  case 1132:
35951
2
#line 8100 "gram.y"
35952
2
    {
35953
2
          (yyval.ielem) = makeNode(IndexElem);
35954
2
          (yyval.ielem)->name = NULL;
35955
2
          (yyval.ielem)->expr = (yyvsp[-4].node);
35956
2
          (yyval.ielem)->indexcolname = NULL;
35957
2
          (yyval.ielem)->collation = (yyvsp[-3].list);
35958
2
          (yyval.ielem)->opclass = (yyvsp[-2].list);
35959
2
          (yyval.ielem)->ordering = (yyvsp[-1].ival);
35960
2
          (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35961
2
        }
35962
2
#line 35963 "gram.c"
35963
2
    break;
35964
35965
1
  case 1133:
35966
1
#line 8111 "gram.y"
35967
1
    {
35968
1
          (yyval.ielem) = makeNode(IndexElem);
35969
1
          Node *node = (yyvsp[-5].node);
35970
1
          if (node->type == T_ColumnRef) {
35971
0
              (yyval.ielem)->name = strVal(linitial(((ColumnRef *)node)->fields));
35972
0
              (yyval.ielem)->expr = NULL;
35973
1
          } else {
35974
1
              (yyval.ielem)->name = NULL;
35975
1
              (yyval.ielem)->expr = node;
35976
1
          }
35977
1
          (yyval.ielem)->indexcolname = NULL;
35978
1
          (yyval.ielem)->collation = (yyvsp[-3].list);
35979
1
          (yyval.ielem)->opclass = (yyvsp[-2].list);
35980
1
          (yyval.ielem)->ordering = (yyvsp[-1].ival);
35981
1
          (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35982
1
        }
35983
1
#line 35984 "gram.c"
35984
1
    break;
35985
35986
7
  case 1134:
35987
7
#line 8132 "gram.y"
35988
7
    { (yyval.ival) = (yyvsp[0].ival); }
35989
7
#line 35990 "gram.c"
35990
7
    break;
35991
35992
0
  case 1135:
35993
0
#line 8133 "gram.y"
35994
0
    { (yyval.ival) = SORTBY_HASH; }
35995
0
#line 35996 "gram.c"
35996
0
    break;
35997
35998
7
  case 1136:
35999
7
#line 8137 "gram.y"
36000
7
    {
36001
7
          (yyval.list) = NULL;
36002
7
          ListCell *lc;
36003
7
          foreach (lc, (yyvsp[-2].list))
36004
15
          {
36005
15
              IndexElem *index_elem = makeNode(IndexElem);
36006
15
              Node *node = lfirst(lc);
36007
15
              if (node->type == T_ColumnRef) {
36008
15
                  index_elem->name = strVal(linitial(((ColumnRef *)node)->fields));
36009
15
                  index_elem->expr = NULL;
36010
0
              } else {
36011
0
                  index_elem->name = NULL;
36012
0
                  index_elem->expr = copyObject(node);
36013
0
              }
36014
15
              index_elem->indexcolname = NULL;
36015
15
              index_elem->collation = NIL;
36016
15
              index_elem->opclass = NIL;
36017
15
              index_elem->ordering = (yyvsp[0].ival);
36018
15
              index_elem->nulls_ordering = SORTBY_NULLS_DEFAULT;
36019
15
              (yyval.list) = lappend((yyval.list), index_elem);
36020
15
          }
36021
7
        }
36022
7
#line 36023 "gram.c"
36023
7
    break;
36024
36025
4
  case 1137:
36026
4
#line 8161 "gram.y"
36027
4
    { (yyval.list) = (yyvsp[-1].list); }
36028
4
#line 36029 "gram.c"
36029
4
    break;
36030
36031
188
  case 1138:
36032
188
#line 8162 "gram.y"
36033
188
    { (yyval.list) = NIL; }
36034
188
#line 36035 "gram.c"
36035
188
    break;
36036
36037
4
  case 1139:
36038
4
#line 8165 "gram.y"
36039
4
    { (yyval.list) = list_make1((yyvsp[0].ielem)); }
36040
4
#line 36041 "gram.c"
36041
4
    break;
36042
36043
3
  case 1140:
36044
3
#line 8166 "gram.y"
36045
3
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
36046
3
#line 36047 "gram.c"
36047
3
    break;
36048
36049
0
  case 1141:
36050
0
#line 8169 "gram.y"
36051
0
    {
36052
0
          if (!YBIsCollationEnabled())
36053
0
            parser_ybc_not_support((yylsp[-1]), "CREATE INDEX COLLATE");
36054
0
                                                      (yyval.list) = (yyvsp[0].list); }
36055
0
#line 36056 "gram.c"
36056
0
    break;
36057
36058
3.17k
  case 1142:
36059
3.17k
#line 8173 "gram.y"
36060
3.17k
    { (yyval.list) = NIL; }
36061
3.17k
#line 36062 "gram.c"
36062
3.17k
    break;
36063
36064
31
  case 1143:
36065
31
#line 8176 "gram.y"
36066
31
    { (yyval.list) = (yyvsp[0].list); }
36067
31
#line 36068 "gram.c"
36068
31
    break;
36069
36070
3.14k
  case 1144:
36071
3.14k
#line 8177 "gram.y"
36072
3.14k
    { (yyval.list) = NIL; }
36073
3.14k
#line 36074 "gram.c"
36074
3.14k
    break;
36075
36076
648
  case 1145:
36077
648
#line 8180 "gram.y"
36078
648
    { (yyval.ival) = SORTBY_ASC; }
36079
648
#line 36080 "gram.c"
36080
648
    break;
36081
36082
205
  case 1146:
36083
205
#line 8181 "gram.y"
36084
205
    { (yyval.ival) = SORTBY_DESC; }
36085
205
#line 36086 "gram.c"
36086
205
    break;
36087
36088
7.24k
  case 1147:
36089
7.24k
#line 8182 "gram.y"
36090
7.24k
    { (yyval.ival) = SORTBY_DEFAULT; }
36091
7.24k
#line 36092 "gram.c"
36092
7.24k
    break;
36093
36094
26
  case 1148:
36095
26
#line 8188 "gram.y"
36096
26
    { (yyval.ival) = SORTBY_HASH; }
36097
26
#line 36098 "gram.c"
36098
26
    break;
36099
36100
3.10k
  case 1149:
36101
3.10k
#line 8191 "gram.y"
36102
3.10k
    { (yyval.ival) = (yyvsp[0].ival); }
36103
3.10k
#line 36104 "gram.c"
36104
3.10k
    break;
36105
36106
19
  case 1150:
36107
19
#line 8192 "gram.y"
36108
19
    { (yyval.ival) = (yyvsp[0].ival); }
36109
19
#line 36110 "gram.c"
36110
19
    break;
36111
36112
15
  case 1151:
36113
15
#line 8195 "gram.y"
36114
15
    { (yyval.ival) = SORTBY_NULLS_FIRST; }
36115
15
#line 36116 "gram.c"
36116
15
    break;
36117
36118
497
  case 1152:
36119
497
#line 8196 "gram.y"
36120
497
    { (yyval.ival) = SORTBY_NULLS_LAST; }
36121
497
#line 36122 "gram.c"
36122
497
    break;
36123
36124
7.63k
  case 1153:
36125
7.63k
#line 8197 "gram.y"
36126
7.63k
    { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
36127
7.63k
#line 36128 "gram.c"
36128
7.63k
    break;
36129
36130
515
  case 1154:
36131
515
#line 8203 "gram.y"
36132
515
    {
36133
515
          BackfillIndexStmt *n = makeNode(BackfillIndexStmt);
36134
515
          n->oid_list = (yyvsp[-5].list);
36135
36136
515
          n->bfinfo = makeNode(YbBackfillInfo);
36137
515
          n->bfinfo->bfinstr = (yyvsp[-4].str);
36138
515
          {
36139
515
            char *nptr = (yyvsp[-1].str);
36140
515
            char *end;
36141
515
            errno = 0;
36142
515
            n->bfinfo->read_time = pg_strtouint64(nptr, &end, 10);
36143
515
            if (!(*nptr != '\0' && *end == '\0')
36144
515
                || errno == ERANGE)
36145
515
              ereport(ERROR,
36146
515
                  (errcode(ERRCODE_SYNTAX_ERROR),
36147
515
                   errmsg("read time must be uint64"),
36148
515
                   parser_errposition((yylsp[-2]))));
36149
515
            if (!n->bfinfo->read_time)
36150
515
              ereport(ERROR,
36151
515
                  (errcode(ERRCODE_SYNTAX_ERROR),
36152
515
                   errmsg("read time must be larger than 0"),
36153
515
                   parser_errposition((yylsp[-2]))));
36154
515
          }
36155
515
          n->bfinfo->row_bounds = (yyvsp[0].rowbounds);
36156
515
          (yyval.node) = (Node *)n;
36157
515
        }
36158
515
#line 36159 "gram.c"
36159
515
    break;
36160
36161
0
  case 1155:
36162
0
#line 8232 "gram.y"
36163
0
    { (yyval.str) = NULL; }
36164
0
#line 36165 "gram.c"
36165
0
    break;
36166
36167
515
  case 1156:
36168
515
#line 8234 "gram.y"
36169
515
    { (yyval.str) = (yyvsp[0].str) + 1; }
36170
515
#line 36171 "gram.c"
36171
515
    break;
36172
36173
515
  case 1157:
36174
515
#line 8237 "gram.y"
36175
515
    {
36176
515
          (yyval.list) = list_make1_oid((yyvsp[0].ival));
36177
515
        }
36178
515
#line 36179 "gram.c"
36179
515
    break;
36180
36181
0
  case 1158:
36182
0
#line 8241 "gram.y"
36183
0
    {
36184
0
          (yyval.list) = lappend_oid((yyvsp[-2].list), (yyvsp[0].ival));
36185
0
        }
36186
0
#line 36187 "gram.c"
36187
0
    break;
36188
36189
515
  case 1159:
36190
515
#line 8247 "gram.y"
36191
515
    {
36192
515
          A_Const *con = (A_Const *)(yyvsp[0].node);
36193
515
          if (con->val.type == T_Integer)
36194
0
            (yyval.str) = psprintf("%d", con->val.val.ival);
36195
515
          else
36196
515
            (yyval.str) = con->val.val.str;
36197
515
        }
36198
515
#line 36199 "gram.c"
36199
515
    break;
36200
36201
515
  case 1160:
36202
515
#line 8257 "gram.y"
36203
515
    {
36204
515
          (yyval.rowbounds) = makeNode(RowBounds);
36205
          /* Strip the leading 'x' */
36206
515
          (yyval.rowbounds)->partition_key = (yyvsp[0].str) + 1;
36207
515
          (yyval.rowbounds)->row_key_start = NULL;
36208
515
          (yyval.rowbounds)->row_key_end = NULL;
36209
515
        }
36210
515
#line 36211 "gram.c"
36211
515
    break;
36212
36213
0
  case 1161:
36214
0
#line 8265 "gram.y"
36215
0
    {
36216
0
          (yyval.rowbounds) = makeNode(RowBounds);
36217
          /* Strip the leading 'x' */
36218
0
          (yyval.rowbounds)->partition_key = (yyvsp[-2].str) + 1;
36219
0
          (yyval.rowbounds)->row_key_start = (yyvsp[0].str) + 1;
36220
0
          (yyval.rowbounds)->row_key_end = NULL;
36221
0
        }
36222
0
#line 36223 "gram.c"
36223
0
    break;
36224
36225
0
  case 1162:
36226
0
#line 8273 "gram.y"
36227
0
    {
36228
0
          (yyval.rowbounds) = makeNode(RowBounds);
36229
          /* Strip the leading 'x' */
36230
0
          (yyval.rowbounds)->partition_key = (yyvsp[-4].str) + 1;
36231
0
          (yyval.rowbounds)->row_key_start = (yyvsp[-2].str) + 1;
36232
0
          (yyval.rowbounds)->row_key_end = (yyvsp[0].str) + 1;
36233
0
        }
36234
0
#line 36235 "gram.c"
36235
0
    break;
36236
36237
515
  case 1163:
36238
515
#line 8283 "gram.y"
36239
515
    { (yyval.str) = (yyvsp[0].str); }
36240
515
#line 36241 "gram.c"
36241
515
    break;
36242
36243
0
  case 1164:
36244
0
#line 8286 "gram.y"
36245
0
    { (yyval.str) = (yyvsp[0].str); }
36246
0
#line 36247 "gram.c"
36247
0
    break;
36248
36249
0
  case 1165:
36250
0
#line 8289 "gram.y"
36251
0
    { (yyval.str) = (yyvsp[0].str); }
36252
0
#line 36253 "gram.c"
36253
0
    break;
36254
36255
0
  case 1166:
36256
0
#line 8291 "gram.y"
36257
0
    { (yyval.str) = (yyvsp[0].str); }
36258
0
#line 36259 "gram.c"
36259
0
    break;
36260
36261
862
  case 1167:
36262
862
#line 8308 "gram.y"
36263
862
    {
36264
862
          CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
36265
862
          n->is_procedure = false;
36266
862
          n->replace = (yyvsp[-6].boolean);
36267
862
          n->funcname = (yyvsp[-4].list);
36268
862
          n->parameters = (yyvsp[-3].list);
36269
862
          n->returnType = (yyvsp[-1].typnam);
36270
862
          n->options = (yyvsp[0].list);
36271
862
          (yyval.node) = (Node *)n;
36272
862
        }
36273
862
#line 36274 "gram.c"
36274
862
    break;
36275
36276
6
  case 1168:
36277
6
#line 8320 "gram.y"
36278
6
    {
36279
6
          CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
36280
6
          n->is_procedure = false;
36281
6
          n->replace = (yyvsp[-9].boolean);
36282
6
          n->funcname = (yyvsp[-7].list);
36283
6
          n->parameters = mergeTableFuncParameters((yyvsp[-6].list), (yyvsp[-2].list));
36284
6
          n->returnType = TableFuncTypeName((yyvsp[-2].list));
36285
6
          n->returnType->location = (yylsp[-4]);
36286
6
          n->options = (yyvsp[0].list);
36287
6
          (yyval.node) = (Node *)n;
36288
6
        }
36289
6
#line 36290 "gram.c"
36290
6
    break;
36291
36292
0
  case 1169:
36293
0
#line 8333 "gram.y"
36294
0
    {
36295
0
          CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
36296
0
          n->is_procedure = false;
36297
0
          n->replace = (yyvsp[-4].boolean);
36298
0
          n->funcname = (yyvsp[-2].list);
36299
0
          n->parameters = (yyvsp[-1].list);
36300
0
          n->returnType = NULL;
36301
0
          n->options = (yyvsp[0].list);
36302
0
          (yyval.node) = (Node *)n;
36303
0
        }
36304
0
#line 36305 "gram.c"
36305
0
    break;
36306
36307
21
  case 1170:
36308
21
#line 8345 "gram.y"
36309
21
    {
36310
21
          CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
36311
21
          n->is_procedure = true;
36312
21
          n->replace = (yyvsp[-4].boolean);
36313
21
          n->funcname = (yyvsp[-2].list);
36314
21
          n->parameters = (yyvsp[-1].list);
36315
21
          n->returnType = NULL;
36316
21
          n->options = (yyvsp[0].list);
36317
21
          (yyval.node) = (Node *)n;
36318
21
        }
36319
21
#line 36320 "gram.c"
36320
21
    break;
36321
36322
28
  case 1171:
36323
28
#line 8358 "gram.y"
36324
28
    { (yyval.boolean) = true; }
36325
28
#line 36326 "gram.c"
36326
28
    break;
36327
36328
871
  case 1172:
36329
871
#line 8359 "gram.y"
36330
871
    { (yyval.boolean) = false; }
36331
871
#line 36332 "gram.c"
36332
871
    break;
36333
36334
380
  case 1173:
36335
380
#line 8362 "gram.y"
36336
380
    { (yyval.list) = (yyvsp[-1].list); }
36337
380
#line 36338 "gram.c"
36338
380
    break;
36339
36340
23
  case 1174:
36341
23
#line 8363 "gram.y"
36342
23
    { (yyval.list) = NIL; }
36343
23
#line 36344 "gram.c"
36344
23
    break;
36345
36346
380
  case 1175:
36347
380
#line 8367 "gram.y"
36348
380
    { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36349
380
#line 36350 "gram.c"
36350
380
    break;
36351
36352
268
  case 1176:
36353
268
#line 8368 "gram.y"
36354
268
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36355
268
#line 36356 "gram.c"
36356
268
    break;
36357
36358
196
  case 1177:
36359
196
#line 8372 "gram.y"
36360
196
    { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
36361
196
#line 36362 "gram.c"
36362
196
    break;
36363
36364
8
  case 1178:
36365
8
#line 8374 "gram.y"
36366
8
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36367
8
#line 36368 "gram.c"
36368
8
    break;
36369
36370
403
  case 1179:
36371
403
#line 8379 "gram.y"
36372
403
    {
36373
403
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
36374
403
          n->objname = (yyvsp[-1].list);
36375
403
          n->objargs = extractArgTypes((yyvsp[0].list));
36376
403
          (yyval.objwithargs) = n;
36377
403
        }
36378
403
#line 36379 "gram.c"
36379
403
    break;
36380
36381
0
  case 1180:
36382
0
#line 8391 "gram.y"
36383
0
    {
36384
0
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
36385
0
          n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
36386
0
          n->args_unspecified = true;
36387
0
          (yyval.objwithargs) = n;
36388
0
        }
36389
0
#line 36390 "gram.c"
36390
0
    break;
36391
36392
13
  case 1181:
36393
13
#line 8398 "gram.y"
36394
13
    {
36395
13
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
36396
13
          n->objname = list_make1(makeString((yyvsp[0].str)));
36397
13
          n->args_unspecified = true;
36398
13
          (yyval.objwithargs) = n;
36399
13
        }
36400
13
#line 36401 "gram.c"
36401
13
    break;
36402
36403
0
  case 1182:
36404
0
#line 8405 "gram.y"
36405
0
    {
36406
0
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
36407
0
          n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
36408
0
                          yyscanner);
36409
0
          n->args_unspecified = true;
36410
0
          (yyval.objwithargs) = n;
36411
0
        }
36412
0
#line 36413 "gram.c"
36413
0
    break;
36414
36415
797
  case 1183:
36416
797
#line 8419 "gram.y"
36417
797
    { (yyval.list) = (yyvsp[-1].list); }
36418
797
#line 36419 "gram.c"
36419
797
    break;
36420
36421
92
  case 1184:
36422
92
#line 8420 "gram.y"
36423
92
    { (yyval.list) = NIL; }
36424
92
#line 36425 "gram.c"
36425
92
    break;
36426
36427
797
  case 1185:
36428
797
#line 8424 "gram.y"
36429
797
    { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36430
797
#line 36431 "gram.c"
36431
797
    break;
36432
36433
665
  case 1186:
36434
665
#line 8426 "gram.y"
36435
665
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36436
665
#line 36437 "gram.c"
36437
665
    break;
36438
36439
13
  case 1187:
36440
13
#line 8441 "gram.y"
36441
13
    {
36442
13
          FunctionParameter *n = makeNode(FunctionParameter);
36443
13
          n->name = (yyvsp[-1].str);
36444
13
          n->argType = (yyvsp[0].typnam);
36445
13
          n->mode = (yyvsp[-2].fun_param_mode);
36446
13
          n->defexpr = NULL;
36447
13
          (yyval.fun_param) = n;
36448
13
        }
36449
13
#line 36450 "gram.c"
36450
13
    break;
36451
36452
6
  case 1188:
36453
6
#line 8450 "gram.y"
36454
6
    {
36455
6
          FunctionParameter *n = makeNode(FunctionParameter);
36456
6
          n->name = (yyvsp[-2].str);
36457
6
          n->argType = (yyvsp[0].typnam);
36458
6
          n->mode = (yyvsp[-1].fun_param_mode);
36459
6
          n->defexpr = NULL;
36460
6
          (yyval.fun_param) = n;
36461
6
        }
36462
6
#line 36463 "gram.c"
36463
6
    break;
36464
36465
48
  case 1189:
36466
48
#line 8459 "gram.y"
36467
48
    {
36468
48
          FunctionParameter *n = makeNode(FunctionParameter);
36469
48
          n->name = (yyvsp[-1].str);
36470
48
          n->argType = (yyvsp[0].typnam);
36471
48
          n->mode = FUNC_PARAM_IN;
36472
48
          n->defexpr = NULL;
36473
48
          (yyval.fun_param) = n;
36474
48
        }
36475
48
#line 36476 "gram.c"
36476
48
    break;
36477
36478
14
  case 1190:
36479
14
#line 8468 "gram.y"
36480
14
    {
36481
14
          FunctionParameter *n = makeNode(FunctionParameter);
36482
14
          n->name = NULL;
36483
14
          n->argType = (yyvsp[0].typnam);
36484
14
          n->mode = (yyvsp[-1].fun_param_mode);
36485
14
          n->defexpr = NULL;
36486
14
          (yyval.fun_param) = n;
36487
14
        }
36488
14
#line 36489 "gram.c"
36489
14
    break;
36490
36491
2.15k
  case 1191:
36492
2.15k
#line 8477 "gram.y"
36493
2.15k
    {
36494
2.15k
          FunctionParameter *n = makeNode(FunctionParameter);
36495
2.15k
          n->name = NULL;
36496
2.15k
          n->argType = (yyvsp[0].typnam);
36497
2.15k
          n->mode = FUNC_PARAM_IN;
36498
2.15k
          n->defexpr = NULL;
36499
2.15k
          (yyval.fun_param) = n;
36500
2.15k
        }
36501
2.15k
#line 36502 "gram.c"
36502
2.15k
    break;
36503
36504
3
  case 1192:
36505
3
#line 8488 "gram.y"
36506
3
    { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
36507
3
#line 36508 "gram.c"
36508
3
    break;
36509
36510
6
  case 1193:
36511
6
#line 8489 "gram.y"
36512
6
    { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
36513
6
#line 36514 "gram.c"
36514
6
    break;
36515
36516
0
  case 1194:
36517
0
#line 8490 "gram.y"
36518
0
    { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
36519
0
#line 36520 "gram.c"
36520
0
    break;
36521
36522
0
  case 1195:
36523
0
#line 8491 "gram.y"
36524
0
    { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
36525
0
#line 36526 "gram.c"
36526
0
    break;
36527
36528
24
  case 1196:
36529
24
#line 8492 "gram.y"
36530
24
    { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
36531
24
#line 36532 "gram.c"
36532
24
    break;
36533
36534
862
  case 1198:
36535
862
#line 8503 "gram.y"
36536
862
    {
36537
          /* We can catch over-specified results here if we want to,
36538
           * but for now better to silently swallow typmod, etc.
36539
           * - thomas 2000-03-22
36540
           */
36541
862
          (yyval.typnam) = (yyvsp[0].typnam);
36542
862
        }
36543
862
#line 36544 "gram.c"
36544
862
    break;
36545
36546
4.97k
  case 1199:
36547
4.97k
#line 8517 "gram.y"
36548
4.97k
    { (yyval.typnam) = (yyvsp[0].typnam); }
36549
4.97k
#line 36550 "gram.c"
36550
4.97k
    break;
36551
36552
0
  case 1200:
36553
0
#line 8519 "gram.y"
36554
0
    {
36555
0
          (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
36556
0
          (yyval.typnam)->pct_type = true;
36557
0
          (yyval.typnam)->location = (yylsp[-3]);
36558
0
        }
36559
0
#line 36560 "gram.c"
36560
0
    break;
36561
36562
0
  case 1201:
36563
0
#line 8525 "gram.y"
36564
0
    {
36565
0
          (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
36566
0
          (yyval.typnam)->pct_type = true;
36567
0
          (yyval.typnam)->setof = true;
36568
0
          (yyval.typnam)->location = (yylsp[-3]);
36569
0
        }
36570
0
#line 36571 "gram.c"
36571
0
    break;
36572
36573
1.46k
  case 1202:
36574
1.46k
#line 8535 "gram.y"
36575
1.46k
    {
36576
1.46k
          (yyval.fun_param) = (yyvsp[0].fun_param);
36577
1.46k
        }
36578
1.46k
#line 36579 "gram.c"
36579
1.46k
    break;
36580
36581
0
  case 1203:
36582
0
#line 8539 "gram.y"
36583
0
    {
36584
0
          (yyval.fun_param) = (yyvsp[-2].fun_param);
36585
0
          (yyval.fun_param)->defexpr = (yyvsp[0].node);
36586
0
        }
36587
0
#line 36588 "gram.c"
36588
0
    break;
36589
36590
0
  case 1204:
36591
0
#line 8544 "gram.y"
36592
0
    {
36593
0
          (yyval.fun_param) = (yyvsp[-2].fun_param);
36594
0
          (yyval.fun_param)->defexpr = (yyvsp[0].node);
36595
0
        }
36596
0
#line 36597 "gram.c"
36597
0
    break;
36598
36599
122
  case 1205:
36600
122
#line 8552 "gram.y"
36601
122
    {
36602
122
          if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
36603
14
              (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
36604
122
            ereport(ERROR,
36605
122
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
36606
122
                 errmsg("aggregates cannot have output arguments"),
36607
122
                 parser_errposition((yylsp[0]))));
36608
122
          (yyval.fun_param) = (yyvsp[0].fun_param);
36609
122
        }
36610
122
#line 36611 "gram.c"
36611
122
    break;
36612
36613
7
  case 1206:
36614
7
#line 8593 "gram.y"
36615
7
    {
36616
7
          (yyval.list) = list_make2(NIL, makeInteger(-1));
36617
7
        }
36618
7
#line 36619 "gram.c"
36619
7
    break;
36620
36621
104
  case 1207:
36622
104
#line 8597 "gram.y"
36623
104
    {
36624
104
          (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
36625
104
        }
36626
104
#line 36627 "gram.c"
36627
104
    break;
36628
36629
0
  case 1208:
36630
0
#line 8601 "gram.y"
36631
0
    {
36632
0
          (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
36633
0
        }
36634
0
#line 36635 "gram.c"
36635
0
    break;
36636
36637
4
  case 1209:
36638
4
#line 8605 "gram.y"
36639
4
    {
36640
          /* this is the only case requiring consistency checking */
36641
4
          (yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
36642
4
        }
36643
4
#line 36644 "gram.c"
36644
4
    break;
36645
36646
112
  case 1210:
36647
112
#line 8612 "gram.y"
36648
112
    { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36649
112
#line 36650 "gram.c"
36650
112
    break;
36651
36652
10
  case 1211:
36653
10
#line 8613 "gram.y"
36654
10
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36655
10
#line 36656 "gram.c"
36656
10
    break;
36657
36658
38
  case 1212:
36659
38
#line 8618 "gram.y"
36660
38
    {
36661
38
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
36662
38
          n->objname = (yyvsp[-1].list);
36663
38
          n->objargs = extractAggrArgTypes((yyvsp[0].list));
36664
38
          (yyval.objwithargs) = n;
36665
38
        }
36666
38
#line 36667 "gram.c"
36667
38
    break;
36668
36669
19
  case 1213:
36670
19
#line 8627 "gram.y"
36671
19
    { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
36672
19
#line 36673 "gram.c"
36673
19
    break;
36674
36675
0
  case 1214:
36676
0
#line 8629 "gram.y"
36677
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36678
0
#line 36679 "gram.c"
36679
0
    break;
36680
36681
889
  case 1215:
36682
889
#line 8634 "gram.y"
36683
889
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36684
889
#line 36685 "gram.c"
36685
889
    break;
36686
36687
2.80k
  case 1216:
36688
2.80k
#line 8635 "gram.y"
36689
2.80k
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36690
2.80k
#line 36691 "gram.c"
36691
2.80k
    break;
36692
36693
0
  case 1217:
36694
0
#line 8643 "gram.y"
36695
0
    {
36696
0
          (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[-3]));
36697
0
        }
36698
0
#line 36699 "gram.c"
36699
0
    break;
36700
36701
0
  case 1218:
36702
0
#line 8647 "gram.y"
36703
0
    {
36704
0
          (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[-4]));
36705
0
        }
36706
0
#line 36707 "gram.c"
36707
0
    break;
36708
36709
660
  case 1219:
36710
660
#line 8651 "gram.y"
36711
660
    {
36712
660
          (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[0]));
36713
660
        }
36714
660
#line 36715 "gram.c"
36715
660
    break;
36716
36717
613
  case 1220:
36718
613
#line 8655 "gram.y"
36719
613
    {
36720
613
          (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
36721
613
        }
36722
613
#line 36723 "gram.c"
36723
613
    break;
36724
36725
13
  case 1221:
36726
13
#line 8659 "gram.y"
36727
13
    {
36728
13
          (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
36729
13
        }
36730
13
#line 36731 "gram.c"
36731
13
    break;
36732
36733
22
  case 1222:
36734
22
#line 8663 "gram.y"
36735
22
    {
36736
22
          (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
36737
22
        }
36738
22
#line 36739 "gram.c"
36739
22
    break;
36740
36741
0
  case 1223:
36742
0
#line 8667 "gram.y"
36743
0
    {
36744
0
          (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-2]));
36745
0
        }
36746
0
#line 36747 "gram.c"
36747
0
    break;
36748
36749
0
  case 1224:
36750
0
#line 8671 "gram.y"
36751
0
    {
36752
0
          (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-2]));
36753
0
        }
36754
0
#line 36755 "gram.c"
36755
0
    break;
36756
36757
6
  case 1225:
36758
6
#line 8675 "gram.y"
36759
6
    {
36760
6
          (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-1]));
36761
6
        }
36762
6
#line 36763 "gram.c"
36763
6
    break;
36764
36765
0
  case 1226:
36766
0
#line 8679 "gram.y"
36767
0
    {
36768
0
          (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-1]));
36769
0
        }
36770
0
#line 36771 "gram.c"
36771
0
    break;
36772
36773
0
  case 1227:
36774
0
#line 8683 "gram.y"
36775
0
    {
36776
0
          (yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[0]));
36777
0
        }
36778
0
#line 36779 "gram.c"
36779
0
    break;
36780
36781
0
  case 1228:
36782
0
#line 8687 "gram.y"
36783
0
    {
36784
0
          (yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[-1]));
36785
0
        }
36786
0
#line 36787 "gram.c"
36787
0
    break;
36788
36789
2
  case 1229:
36790
2
#line 8691 "gram.y"
36791
2
    {
36792
2
          (yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
36793
2
        }
36794
2
#line 36795 "gram.c"
36795
2
    break;
36796
36797
0
  case 1230:
36798
0
#line 8695 "gram.y"
36799
0
    {
36800
0
          (yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
36801
0
        }
36802
0
#line 36803 "gram.c"
36803
0
    break;
36804
36805
0
  case 1231:
36806
0
#line 8699 "gram.y"
36807
0
    {
36808
          /* we abuse the normal content of a DefElem here */
36809
0
          (yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt), (yylsp[0]));
36810
0
        }
36811
0
#line 36812 "gram.c"
36812
0
    break;
36813
36814
597
  case 1232:
36815
597
#line 8704 "gram.y"
36816
597
    {
36817
597
          (yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36818
597
        }
36819
597
#line 36820 "gram.c"
36820
597
    break;
36821
36822
889
  case 1233:
36823
889
#line 8711 "gram.y"
36824
889
    {
36825
889
          (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
36826
889
        }
36827
889
#line 36828 "gram.c"
36828
889
    break;
36829
36830
889
  case 1234:
36831
889
#line 8715 "gram.y"
36832
889
    {
36833
889
          (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36834
889
        }
36835
889
#line 36836 "gram.c"
36836
889
    break;
36837
36838
0
  case 1235:
36839
0
#line 8719 "gram.y"
36840
0
    {
36841
0
          (yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
36842
0
        }
36843
0
#line 36844 "gram.c"
36844
0
    break;
36845
36846
0
  case 1236:
36847
0
#line 8723 "gram.y"
36848
0
    {
36849
0
          (yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[0]));
36850
0
        }
36851
0
#line 36852 "gram.c"
36852
0
    break;
36853
36854
1.91k
  case 1237:
36855
1.91k
#line 8727 "gram.y"
36856
1.91k
    {
36857
1.91k
          (yyval.defelt) = (yyvsp[0].defelt);
36858
1.91k
        }
36859
1.91k
#line 36860 "gram.c"
36860
1.91k
    break;
36861
36862
712
  case 1238:
36863
712
#line 8732 "gram.y"
36864
712
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
36865
712
#line 36866 "gram.c"
36866
712
    break;
36867
36868
177
  case 1239:
36869
177
#line 8734 "gram.y"
36870
177
    {
36871
177
          (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
36872
177
        }
36873
177
#line 36874 "gram.c"
36874
177
    break;
36875
36876
0
  case 1240:
36877
0
#line 8740 "gram.y"
36878
0
    { (yyval.list) = list_make1((yyvsp[0].typnam)); }
36879
0
#line 36880 "gram.c"
36880
0
    break;
36881
36882
0
  case 1241:
36883
0
#line 8741 "gram.y"
36884
0
    { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
36885
0
#line 36886 "gram.c"
36886
0
    break;
36887
36888
0
  case 1242:
36889
0
#line 8745 "gram.y"
36890
0
    { (yyval.list) = (yyvsp[0].list); }
36891
0
#line 36892 "gram.c"
36892
0
    break;
36893
36894
1.07k
  case 1243:
36895
1.07k
#line 8746 "gram.y"
36896
1.07k
    { (yyval.list) = NIL; }
36897
1.07k
#line 36898 "gram.c"
36898
1.07k
    break;
36899
36900
22
  case 1244:
36901
22
#line 8750 "gram.y"
36902
22
    {
36903
22
          FunctionParameter *n = makeNode(FunctionParameter);
36904
22
          n->name = (yyvsp[-1].str);
36905
22
          n->argType = (yyvsp[0].typnam);
36906
22
          n->mode = FUNC_PARAM_TABLE;
36907
22
          n->defexpr = NULL;
36908
22
          (yyval.fun_param) = n;
36909
22
        }
36910
22
#line 36911 "gram.c"
36911
22
    break;
36912
36913
6
  case 1245:
36914
6
#line 8762 "gram.y"
36915
6
    {
36916
6
          (yyval.list) = list_make1((yyvsp[0].fun_param));
36917
6
        }
36918
6
#line 36919 "gram.c"
36919
6
    break;
36920
36921
16
  case 1246:
36922
16
#line 8766 "gram.y"
36923
16
    {
36924
16
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
36925
16
        }
36926
16
#line 36927 "gram.c"
36927
16
    break;
36928
36929
0
  case 1247:
36930
0
#line 8781 "gram.y"
36931
0
    {
36932
0
          AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36933
0
          n->objtype = OBJECT_FUNCTION;
36934
0
          n->func = (yyvsp[-2].objwithargs);
36935
0
          n->actions = (yyvsp[-1].list);
36936
0
          (yyval.node) = (Node *) n;
36937
0
        }
36938
0
#line 36939 "gram.c"
36939
0
    break;
36940
36941
0
  case 1248:
36942
0
#line 8789 "gram.y"
36943
0
    {
36944
0
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER PROCEDURE", 2717);
36945
0
          AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36946
0
          n->objtype = OBJECT_PROCEDURE;
36947
0
          n->func = (yyvsp[-2].objwithargs);
36948
0
          n->actions = (yyvsp[-1].list);
36949
0
          (yyval.node) = (Node *) n;
36950
0
        }
36951
0
#line 36952 "gram.c"
36952
0
    break;
36953
36954
0
  case 1249:
36955
0
#line 8798 "gram.y"
36956
0
    {
36957
0
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER ROUTINE", 2717);
36958
0
          AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36959
0
          n->objtype = OBJECT_ROUTINE;
36960
0
          n->func = (yyvsp[-2].objwithargs);
36961
0
          n->actions = (yyvsp[-1].list);
36962
0
          (yyval.node) = (Node *) n;
36963
0
        }
36964
0
#line 36965 "gram.c"
36965
0
    break;
36966
36967
0
  case 1250:
36968
0
#line 8810 "gram.y"
36969
0
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36970
0
#line 36971 "gram.c"
36971
0
    break;
36972
36973
0
  case 1251:
36974
0
#line 8811 "gram.y"
36975
0
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36976
0
#line 36977 "gram.c"
36977
0
    break;
36978
36979
58
  case 1254:
36980
58
#line 8835 "gram.y"
36981
58
    {
36982
58
          DropStmt *n = makeNode(DropStmt);
36983
58
          n->removeType = OBJECT_FUNCTION;
36984
58
          n->objects = (yyvsp[-1].list);
36985
58
          n->behavior = (yyvsp[0].dbehavior);
36986
58
          n->missing_ok = false;
36987
58
          n->concurrent = false;
36988
58
          (yyval.node) = (Node *)n;
36989
58
        }
36990
58
#line 36991 "gram.c"
36991
58
    break;
36992
36993
0
  case 1255:
36994
0
#line 8845 "gram.y"
36995
0
    {
36996
0
          DropStmt *n = makeNode(DropStmt);
36997
0
          n->removeType = OBJECT_FUNCTION;
36998
0
          n->objects = (yyvsp[-1].list);
36999
0
          n->behavior = (yyvsp[0].dbehavior);
37000
0
          n->missing_ok = true;
37001
0
          n->concurrent = false;
37002
0
          (yyval.node) = (Node *)n;
37003
0
        }
37004
0
#line 37005 "gram.c"
37005
0
    break;
37006
37007
21
  case 1256:
37008
21
#line 8855 "gram.y"
37009
21
    {
37010
21
          DropStmt *n = makeNode(DropStmt);
37011
21
          n->removeType = OBJECT_PROCEDURE;
37012
21
          n->objects = (yyvsp[-1].list);
37013
21
          n->behavior = (yyvsp[0].dbehavior);
37014
21
          n->missing_ok = false;
37015
21
          n->concurrent = false;
37016
21
          (yyval.node) = (Node *)n;
37017
21
        }
37018
21
#line 37019 "gram.c"
37019
21
    break;
37020
37021
0
  case 1257:
37022
0
#line 8865 "gram.y"
37023
0
    {
37024
0
          DropStmt *n = makeNode(DropStmt);
37025
0
          n->removeType = OBJECT_PROCEDURE;
37026
0
          n->objects = (yyvsp[-1].list);
37027
0
          n->behavior = (yyvsp[0].dbehavior);
37028
0
          n->missing_ok = true;
37029
0
          n->concurrent = false;
37030
0
          (yyval.node) = (Node *)n;
37031
0
        }
37032
0
#line 37033 "gram.c"
37033
0
    break;
37034
37035
0
  case 1258:
37036
0
#line 8875 "gram.y"
37037
0
    {
37038
0
          DropStmt *n = makeNode(DropStmt);
37039
0
          n->removeType = OBJECT_ROUTINE;
37040
0
          n->objects = (yyvsp[-1].list);
37041
0
          n->behavior = (yyvsp[0].dbehavior);
37042
0
          n->missing_ok = false;
37043
0
          n->concurrent = false;
37044
0
          (yyval.node) = (Node *)n;
37045
0
        }
37046
0
#line 37047 "gram.c"
37047
0
    break;
37048
37049
0
  case 1259:
37050
0
#line 8885 "gram.y"
37051
0
    {
37052
0
          DropStmt *n = makeNode(DropStmt);
37053
0
          n->removeType = OBJECT_ROUTINE;
37054
0
          n->objects = (yyvsp[-1].list);
37055
0
          n->behavior = (yyvsp[0].dbehavior);
37056
0
          n->missing_ok = true;
37057
0
          n->concurrent = false;
37058
0
          (yyval.node) = (Node *)n;
37059
0
        }
37060
0
#line 37061 "gram.c"
37061
0
    break;
37062
37063
19
  case 1260:
37064
19
#line 8898 "gram.y"
37065
19
    {
37066
19
          DropStmt *n = makeNode(DropStmt);
37067
19
          n->removeType = OBJECT_AGGREGATE;
37068
19
          n->objects = (yyvsp[-1].list);
37069
19
          n->behavior = (yyvsp[0].dbehavior);
37070
19
          n->missing_ok = false;
37071
19
          n->concurrent = false;
37072
19
          (yyval.node) = (Node *)n;
37073
19
        }
37074
19
#line 37075 "gram.c"
37075
19
    break;
37076
37077
0
  case 1261:
37078
0
#line 8908 "gram.y"
37079
0
    {
37080
0
          DropStmt *n = makeNode(DropStmt);
37081
0
          n->removeType = OBJECT_AGGREGATE;
37082
0
          n->objects = (yyvsp[-1].list);
37083
0
          n->behavior = (yyvsp[0].dbehavior);
37084
0
          n->missing_ok = true;
37085
0
          n->concurrent = false;
37086
0
          (yyval.node) = (Node *)n;
37087
0
        }
37088
0
#line 37089 "gram.c"
37089
0
    break;
37090
37091
8
  case 1262:
37092
8
#line 8921 "gram.y"
37093
8
    {
37094
8
          DropStmt *n = makeNode(DropStmt);
37095
8
          n->removeType = OBJECT_OPERATOR;
37096
8
          n->objects = (yyvsp[-1].list);
37097
8
          n->behavior = (yyvsp[0].dbehavior);
37098
8
          n->missing_ok = false;
37099
8
          n->concurrent = false;
37100
8
          (yyval.node) = (Node *)n;
37101
8
        }
37102
8
#line 37103 "gram.c"
37103
8
    break;
37104
37105
0
  case 1263:
37106
0
#line 8931 "gram.y"
37107
0
    {
37108
0
          DropStmt *n = makeNode(DropStmt);
37109
0
          n->removeType = OBJECT_OPERATOR;
37110
0
          n->objects = (yyvsp[-1].list);
37111
0
          n->behavior = (yyvsp[0].dbehavior);
37112
0
          n->missing_ok = true;
37113
0
          n->concurrent = false;
37114
0
          (yyval.node) = (Node *)n;
37115
0
        }
37116
0
#line 37117 "gram.c"
37117
0
    break;
37118
37119
0
  case 1264:
37120
0
#line 8944 "gram.y"
37121
0
    {
37122
0
           ereport(ERROR,
37123
0
               (errcode(ERRCODE_SYNTAX_ERROR),
37124
0
              errmsg("missing argument"),
37125
0
              errhint("Use NONE to denote the missing argument of a unary operator."),
37126
0
              parser_errposition((yylsp[0]))));
37127
0
        }
37128
0
#line 37129 "gram.c"
37129
0
    break;
37130
37131
256
  case 1265:
37132
256
#line 8952 "gram.y"
37133
256
    { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
37134
256
#line 37135 "gram.c"
37135
256
    break;
37136
37137
2
  case 1266:
37138
2
#line 8954 "gram.y"
37139
2
    { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
37140
2
#line 37141 "gram.c"
37141
2
    break;
37142
37143
0
  case 1267:
37144
0
#line 8956 "gram.y"
37145
0
    { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
37146
0
#line 37147 "gram.c"
37147
0
    break;
37148
37149
950
  case 1268:
37150
950
#line 8961 "gram.y"
37151
950
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
37152
950
#line 37153 "gram.c"
37153
950
    break;
37154
37155
339
  case 1269:
37156
339
#line 8963 "gram.y"
37157
339
    { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
37158
339
#line 37159 "gram.c"
37159
339
    break;
37160
37161
8
  case 1270:
37162
8
#line 8967 "gram.y"
37163
8
    { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
37164
8
#line 37165 "gram.c"
37165
8
    break;
37166
37167
0
  case 1271:
37168
0
#line 8969 "gram.y"
37169
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
37170
0
#line 37171 "gram.c"
37171
0
    break;
37172
37173
258
  case 1272:
37174
258
#line 8974 "gram.y"
37175
258
    {
37176
258
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
37177
258
          n->objname = (yyvsp[-1].list);
37178
258
          n->objargs = (yyvsp[0].list);
37179
258
          (yyval.objwithargs) = n;
37180
258
        }
37181
258
#line 37182 "gram.c"
37182
258
    break;
37183
37184
17
  case 1273:
37185
17
#line 8992 "gram.y"
37186
17
    {
37187
17
          DoStmt *n = makeNode(DoStmt);
37188
17
          n->args = (yyvsp[0].list);
37189
17
          (yyval.node) = (Node *)n;
37190
17
        }
37191
17
#line 37192 "gram.c"
37192
17
    break;
37193
37194
17
  case 1274:
37195
17
#line 9000 "gram.y"
37196
17
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
37197
17
#line 37198 "gram.c"
37198
17
    break;
37199
37200
2
  case 1275:
37201
2
#line 9001 "gram.y"
37202
2
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
37203
2
#line 37204 "gram.c"
37204
2
    break;
37205
37206
17
  case 1276:
37207
17
#line 9006 "gram.y"
37208
17
    {
37209
17
          (yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
37210
17
        }
37211
17
#line 37212 "gram.c"
37212
17
    break;
37213
37214
2
  case 1277:
37215
2
#line 9010 "gram.y"
37216
2
    {
37217
2
          (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
37218
2
        }
37219
2
#line 37220 "gram.c"
37220
2
    break;
37221
37222
15
  case 1278:
37223
15
#line 9023 "gram.y"
37224
15
    {
37225
15
          CreateCastStmt *n = makeNode(CreateCastStmt);
37226
15
          n->sourcetype = (yyvsp[-7].typnam);
37227
15
          n->targettype = (yyvsp[-5].typnam);
37228
15
          n->func = (yyvsp[-1].objwithargs);
37229
15
          n->context = (CoercionContext) (yyvsp[0].ival);
37230
15
          n->inout = false;
37231
15
          (yyval.node) = (Node *)n;
37232
15
        }
37233
15
#line 37234 "gram.c"
37234
15
    break;
37235
37236
13
  case 1279:
37237
13
#line 9034 "gram.y"
37238
13
    {
37239
13
          CreateCastStmt *n = makeNode(CreateCastStmt);
37240
13
          n->sourcetype = (yyvsp[-6].typnam);
37241
13
          n->targettype = (yyvsp[-4].typnam);
37242
13
          n->func = NULL;
37243
13
          n->context = (CoercionContext) (yyvsp[0].ival);
37244
13
          n->inout = false;
37245
13
          (yyval.node) = (Node *)n;
37246
13
        }
37247
13
#line 37248 "gram.c"
37248
13
    break;
37249
37250
0
  case 1280:
37251
0
#line 9045 "gram.y"
37252
0
    {
37253
0
          CreateCastStmt *n = makeNode(CreateCastStmt);
37254
0
          n->sourcetype = (yyvsp[-6].typnam);
37255
0
          n->targettype = (yyvsp[-4].typnam);
37256
0
          n->func = NULL;
37257
0
          n->context = (CoercionContext) (yyvsp[0].ival);
37258
0
          n->inout = true;
37259
0
          (yyval.node) = (Node *)n;
37260
0
        }
37261
0
#line 37262 "gram.c"
37262
0
    break;
37263
37264
0
  case 1281:
37265
0
#line 9056 "gram.y"
37266
0
    { (yyval.ival) = COERCION_IMPLICIT; }
37267
0
#line 37268 "gram.c"
37268
0
    break;
37269
37270
13
  case 1282:
37271
13
#line 9057 "gram.y"
37272
13
    { (yyval.ival) = COERCION_ASSIGNMENT; }
37273
13
#line 37274 "gram.c"
37274
13
    break;
37275
37276
15
  case 1283:
37277
15
#line 9058 "gram.y"
37278
15
    { (yyval.ival) = COERCION_EXPLICIT; }
37279
15
#line 37280 "gram.c"
37280
15
    break;
37281
37282
2
  case 1284:
37283
2
#line 9063 "gram.y"
37284
2
    {
37285
2
          DropStmt *n = makeNode(DropStmt);
37286
2
          n->removeType = OBJECT_CAST;
37287
2
          n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
37288
2
          n->behavior = (yyvsp[0].dbehavior);
37289
2
          n->missing_ok = (yyvsp[-6].boolean);
37290
2
          n->concurrent = false;
37291
2
          (yyval.node) = (Node *)n;
37292
2
        }
37293
2
#line 37294 "gram.c"
37294
2
    break;
37295
37296
0
  case 1285:
37297
0
#line 9074 "gram.y"
37298
0
    { (yyval.boolean) = true; }
37299
0
#line 37300 "gram.c"
37300
0
    break;
37301
37302
2
  case 1286:
37303
2
#line 9075 "gram.y"
37304
2
    { (yyval.boolean) = false; }
37305
2
#line 37306 "gram.c"
37306
2
    break;
37307
37308
0
  case 1287:
37309
0
#line 9086 "gram.y"
37310
0
    {
37311
0
          parser_ybc_not_support((yylsp[-9]), "CREATE TRANSFORM");
37312
0
          CreateTransformStmt *n = makeNode(CreateTransformStmt);
37313
0
          n->replace = (yyvsp[-8].boolean);
37314
0
          n->type_name = (yyvsp[-5].typnam);
37315
0
          n->lang = (yyvsp[-3].str);
37316
0
          n->fromsql = linitial((yyvsp[-1].list));
37317
0
          n->tosql = lsecond((yyvsp[-1].list));
37318
0
          (yyval.node) = (Node *)n;
37319
0
        }
37320
0
#line 37321 "gram.c"
37321
0
    break;
37322
37323
0
  case 1288:
37324
0
#line 9099 "gram.y"
37325
0
    {
37326
0
          (yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
37327
0
        }
37328
0
#line 37329 "gram.c"
37329
0
    break;
37330
37331
0
  case 1289:
37332
0
#line 9103 "gram.y"
37333
0
    {
37334
0
          (yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
37335
0
        }
37336
0
#line 37337 "gram.c"
37337
0
    break;
37338
37339
0
  case 1290:
37340
0
#line 9107 "gram.y"
37341
0
    {
37342
0
          (yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
37343
0
        }
37344
0
#line 37345 "gram.c"
37345
0
    break;
37346
37347
0
  case 1291:
37348
0
#line 9111 "gram.y"
37349
0
    {
37350
0
          (yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
37351
0
        }
37352
0
#line 37353 "gram.c"
37353
0
    break;
37354
37355
0
  case 1292:
37356
0
#line 9118 "gram.y"
37357
0
    {
37358
0
          parser_ybc_not_support((yylsp[-7]), "DROP TRANSFORM");
37359
0
          DropStmt *n = makeNode(DropStmt);
37360
0
          n->removeType = OBJECT_TRANSFORM;
37361
0
          n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
37362
0
          n->behavior = (yyvsp[0].dbehavior);
37363
0
          n->missing_ok = (yyvsp[-5].boolean);
37364
0
          (yyval.node) = (Node *)n;
37365
0
        }
37366
0
#line 37367 "gram.c"
37367
0
    break;
37368
37369
0
  case 1293:
37370
0
#line 9139 "gram.y"
37371
0
    {
37372
0
          parser_ybc_not_support((yylsp[-2]), "REINDEX");
37373
0
          ReindexStmt *n = makeNode(ReindexStmt);
37374
0
          n->kind = (yyvsp[-1].ival);
37375
0
          n->relation = (yyvsp[0].range);
37376
0
          n->name = NULL;
37377
0
          n->options = 0;
37378
0
          (yyval.node) = (Node *)n;
37379
0
        }
37380
0
#line 37381 "gram.c"
37381
0
    break;
37382
37383
0
  case 1294:
37384
0
#line 9149 "gram.y"
37385
0
    {
37386
0
          parser_ybc_not_support((yylsp[-2]), "REINDEX");
37387
0
          ReindexStmt *n = makeNode(ReindexStmt);
37388
0
          n->kind = (yyvsp[-1].ival);
37389
0
          n->name = (yyvsp[0].str);
37390
0
          n->relation = NULL;
37391
0
          n->options = 0;
37392
0
          (yyval.node) = (Node *)n;
37393
0
        }
37394
0
#line 37395 "gram.c"
37395
0
    break;
37396
37397
0
  case 1295:
37398
0
#line 9159 "gram.y"
37399
0
    {
37400
0
          parser_ybc_not_support((yylsp[-5]), "REINDEX");
37401
0
          ReindexStmt *n = makeNode(ReindexStmt);
37402
0
          n->kind = (yyvsp[-1].ival);
37403
0
          n->relation = (yyvsp[0].range);
37404
0
          n->name = NULL;
37405
0
          n->options = (yyvsp[-3].ival);
37406
0
          (yyval.node) = (Node *)n;
37407
0
        }
37408
0
#line 37409 "gram.c"
37409
0
    break;
37410
37411
0
  case 1296:
37412
0
#line 9169 "gram.y"
37413
0
    {
37414
0
          parser_ybc_not_support((yylsp[-5]), "REINDEX");
37415
0
          ReindexStmt *n = makeNode(ReindexStmt);
37416
0
          n->kind = (yyvsp[-1].ival);
37417
0
          n->name = (yyvsp[0].str);
37418
0
          n->relation = NULL;
37419
0
          n->options = (yyvsp[-3].ival);
37420
0
          (yyval.node) = (Node *)n;
37421
0
        }
37422
0
#line 37423 "gram.c"
37423
0
    break;
37424
37425
0
  case 1297:
37426
0
#line 9180 "gram.y"
37427
0
    { (yyval.ival) = REINDEX_OBJECT_INDEX; }
37428
0
#line 37429 "gram.c"
37429
0
    break;
37430
37431
0
  case 1298:
37432
0
#line 9181 "gram.y"
37433
0
    { (yyval.ival) = REINDEX_OBJECT_TABLE; }
37434
0
#line 37435 "gram.c"
37435
0
    break;
37436
37437
0
  case 1299:
37438
0
#line 9184 "gram.y"
37439
0
    { (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
37440
0
#line 37441 "gram.c"
37441
0
    break;
37442
37443
0
  case 1300:
37444
0
#line 9185 "gram.y"
37445
0
    { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
37446
0
#line 37447 "gram.c"
37447
0
    break;
37448
37449
0
  case 1301:
37450
0
#line 9186 "gram.y"
37451
0
    { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
37452
0
#line 37453 "gram.c"
37453
0
    break;
37454
37455
0
  case 1302:
37456
0
#line 9189 "gram.y"
37457
0
    { (yyval.ival) = (yyvsp[0].ival); }
37458
0
#line 37459 "gram.c"
37459
0
    break;
37460
37461
0
  case 1303:
37462
0
#line 9190 "gram.y"
37463
0
    { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
37464
0
#line 37465 "gram.c"
37465
0
    break;
37466
37467
0
  case 1304:
37468
0
#line 9193 "gram.y"
37469
0
    { (yyval.ival) = REINDEXOPT_VERBOSE; }
37470
0
#line 37471 "gram.c"
37471
0
    break;
37472
37473
0
  case 1305:
37474
0
#line 9204 "gram.y"
37475
0
    {
37476
0
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER TABLESPACE", 1153);
37477
0
          AlterTableSpaceOptionsStmt *n =
37478
0
            makeNode(AlterTableSpaceOptionsStmt);
37479
0
          n->tablespacename = (yyvsp[-2].str);
37480
0
          n->options = (yyvsp[0].list);
37481
0
          n->isReset = false;
37482
0
          (yyval.node) = (Node *)n;
37483
0
        }
37484
0
#line 37485 "gram.c"
37485
0
    break;
37486
37487
0
  case 1306:
37488
0
#line 9214 "gram.y"
37489
0
    {
37490
0
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER TABLESPACE", 1153);
37491
0
          AlterTableSpaceOptionsStmt *n =
37492
0
            makeNode(AlterTableSpaceOptionsStmt);
37493
0
          n->tablespacename = (yyvsp[-2].str);
37494
0
          n->options = (yyvsp[0].list);
37495
0
          n->isReset = true;
37496
0
          (yyval.node) = (Node *)n;
37497
0
        }
37498
0
#line 37499 "gram.c"
37499
0
    break;
37500
37501
0
  case 1307:
37502
0
#line 9232 "gram.y"
37503
0
    {
37504
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER AGGREGATE", 2717);
37505
0
          RenameStmt *n = makeNode(RenameStmt);
37506
0
          n->renameType = OBJECT_AGGREGATE;
37507
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
37508
0
          n->newname = (yyvsp[0].str);
37509
0
          n->missing_ok = false;
37510
0
          (yyval.node) = (Node *)n;
37511
0
        }
37512
0
#line 37513 "gram.c"
37513
0
    break;
37514
37515
0
  case 1308:
37516
0
#line 9242 "gram.y"
37517
0
    {
37518
0
          if (!YBIsCollationEnabled())
37519
0
            parser_ybc_not_support((yylsp[-5]), "ALTER COLLATION");
37520
0
          RenameStmt *n = makeNode(RenameStmt);
37521
0
          n->renameType = OBJECT_COLLATION;
37522
0
          n->object = (Node *) (yyvsp[-3].list);
37523
0
          n->newname = (yyvsp[0].str);
37524
0
          n->missing_ok = false;
37525
0
          (yyval.node) = (Node *)n;
37526
0
        }
37527
0
#line 37528 "gram.c"
37528
0
    break;
37529
37530
0
  case 1309:
37531
0
#line 9253 "gram.y"
37532
0
    {
37533
0
          parser_ybc_not_support((yylsp[-5]), "ALTER CONVERSION");
37534
0
          RenameStmt *n = makeNode(RenameStmt);
37535
0
          n->renameType = OBJECT_CONVERSION;
37536
0
          n->object = (Node *) (yyvsp[-3].list);
37537
0
          n->newname = (yyvsp[0].str);
37538
0
          n->missing_ok = false;
37539
0
          (yyval.node) = (Node *)n;
37540
0
        }
37541
0
#line 37542 "gram.c"
37542
0
    break;
37543
37544
0
  case 1310:
37545
0
#line 9263 "gram.y"
37546
0
    {
37547
0
          RenameStmt *n = makeNode(RenameStmt);
37548
0
          n->renameType = OBJECT_DATABASE;
37549
0
          n->subname = (yyvsp[-3].str);
37550
0
          n->newname = (yyvsp[0].str);
37551
0
          n->missing_ok = false;
37552
0
          (yyval.node) = (Node *)n;
37553
0
        }
37554
0
#line 37555 "gram.c"
37555
0
    break;
37556
37557
1
  case 1311:
37558
1
#line 9272 "gram.y"
37559
1
    {
37560
1
          RenameStmt *n = makeNode(RenameStmt);
37561
1
          n->renameType = OBJECT_DOMAIN;
37562
1
          n->object = (Node *) (yyvsp[-3].list);
37563
1
          n->newname = (yyvsp[0].str);
37564
1
          n->missing_ok = false;
37565
1
          (yyval.node) = (Node *)n;
37566
1
        }
37567
1
#line 37568 "gram.c"
37568
1
    break;
37569
37570
0
  case 1312:
37571
0
#line 9281 "gram.y"
37572
0
    {
37573
0
          parser_ybc_not_support((yylsp[-7]), "ALTER DOMAIN RENAME CONSTRAINT");
37574
0
          RenameStmt *n = makeNode(RenameStmt);
37575
0
          n->renameType = OBJECT_DOMCONSTRAINT;
37576
0
          n->object = (Node *) (yyvsp[-5].list);
37577
0
          n->subname = (yyvsp[-2].str);
37578
0
          n->newname = (yyvsp[0].str);
37579
0
          (yyval.node) = (Node *)n;
37580
0
        }
37581
0
#line 37582 "gram.c"
37582
0
    break;
37583
37584
0
  case 1313:
37585
0
#line 9291 "gram.y"
37586
0
    {
37587
0
          RenameStmt *n = makeNode(RenameStmt);
37588
0
          n->renameType = OBJECT_FDW;
37589
0
          n->object = (Node *) makeString((yyvsp[-3].str));
37590
0
          n->newname = (yyvsp[0].str);
37591
0
          n->missing_ok = false;
37592
0
          (yyval.node) = (Node *)n;
37593
0
        }
37594
0
#line 37595 "gram.c"
37595
0
    break;
37596
37597
0
  case 1314:
37598
0
#line 9300 "gram.y"
37599
0
    {
37600
0
          RenameStmt *n = makeNode(RenameStmt);
37601
0
          n->renameType = OBJECT_FUNCTION;
37602
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
37603
0
          n->newname = (yyvsp[0].str);
37604
0
          n->missing_ok = false;
37605
0
          (yyval.node) = (Node *)n;
37606
0
        }
37607
0
#line 37608 "gram.c"
37608
0
    break;
37609
37610
0
  case 1315:
37611
0
#line 9309 "gram.y"
37612
0
    {
37613
0
          RenameStmt *n = makeNode(RenameStmt);
37614
0
          n->renameType = OBJECT_ROLE;
37615
0
          n->subname = (yyvsp[-3].str);
37616
0
          n->newname = (yyvsp[0].str);
37617
0
          n->missing_ok = false;
37618
0
          (yyval.node) = (Node *)n;
37619
0
        }
37620
0
#line 37621 "gram.c"
37621
0
    break;
37622
37623
0
  case 1316:
37624
0
#line 9318 "gram.y"
37625
0
    {
37626
0
          parser_ybc_not_support((yylsp[-6]), "ALTER LANGUAGE");
37627
0
          RenameStmt *n = makeNode(RenameStmt);
37628
0
          n->renameType = OBJECT_LANGUAGE;
37629
0
          n->object = (Node *) makeString((yyvsp[-3].str));
37630
0
          n->newname = (yyvsp[0].str);
37631
0
          n->missing_ok = false;
37632
0
          (yyval.node) = (Node *)n;
37633
0
        }
37634
0
#line 37635 "gram.c"
37635
0
    break;
37636
37637
0
  case 1317:
37638
0
#line 9328 "gram.y"
37639
0
    {
37640
0
          parser_ybc_not_support((yylsp[-8]), "ALTER OPERATOR CLASS");
37641
0
          RenameStmt *n = makeNode(RenameStmt);
37642
0
          n->renameType = OBJECT_OPCLASS;
37643
0
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37644
0
          n->newname = (yyvsp[0].str);
37645
0
          n->missing_ok = false;
37646
0
          (yyval.node) = (Node *)n;
37647
0
        }
37648
0
#line 37649 "gram.c"
37649
0
    break;
37650
37651
0
  case 1318:
37652
0
#line 9338 "gram.y"
37653
0
    {
37654
0
          RenameStmt *n = makeNode(RenameStmt);
37655
0
          n->renameType = OBJECT_OPFAMILY;
37656
0
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37657
0
          n->newname = (yyvsp[0].str);
37658
0
          n->missing_ok = false;
37659
0
          (yyval.node) = (Node *)n;
37660
0
        }
37661
0
#line 37662 "gram.c"
37662
0
    break;
37663
37664
5
  case 1319:
37665
5
#line 9347 "gram.y"
37666
5
    {
37667
5
          RenameStmt *n = makeNode(RenameStmt);
37668
5
          n->renameType = OBJECT_POLICY;
37669
5
          n->relation = (yyvsp[-3].range);
37670
5
          n->subname = (yyvsp[-5].str);
37671
5
          n->newname = (yyvsp[0].str);
37672
5
          n->missing_ok = false;
37673
5
          (yyval.node) = (Node *)n;
37674
5
        }
37675
5
#line 37676 "gram.c"
37676
5
    break;
37677
37678
0
  case 1320:
37679
0
#line 9357 "gram.y"
37680
0
    {
37681
0
          RenameStmt *n = makeNode(RenameStmt);
37682
0
          n->renameType = OBJECT_POLICY;
37683
0
          n->relation = (yyvsp[-3].range);
37684
0
          n->subname = (yyvsp[-5].str);
37685
0
          n->newname = (yyvsp[0].str);
37686
0
          n->missing_ok = true;
37687
0
          (yyval.node) = (Node *)n;
37688
0
        }
37689
0
#line 37690 "gram.c"
37690
0
    break;
37691
37692
0
  case 1321:
37693
0
#line 9367 "gram.y"
37694
0
    {
37695
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER PROCEDURE", 2717);
37696
0
          RenameStmt *n = makeNode(RenameStmt);
37697
0
          n->renameType = OBJECT_PROCEDURE;
37698
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
37699
0
          n->newname = (yyvsp[0].str);
37700
0
          n->missing_ok = false;
37701
0
          (yyval.node) = (Node *)n;
37702
0
        }
37703
0
#line 37704 "gram.c"
37704
0
    break;
37705
37706
0
  case 1322:
37707
0
#line 9377 "gram.y"
37708
0
    {
37709
0
          parser_ybc_not_support((yylsp[-5]), "ALTER PUBLICATION");
37710
0
          RenameStmt *n = makeNode(RenameStmt);
37711
0
          n->renameType = OBJECT_PUBLICATION;
37712
0
          n->object = (Node *) makeString((yyvsp[-3].str));
37713
0
          n->newname = (yyvsp[0].str);
37714
0
          n->missing_ok = false;
37715
0
          (yyval.node) = (Node *)n;
37716
0
        }
37717
0
#line 37718 "gram.c"
37718
0
    break;
37719
37720
0
  case 1323:
37721
0
#line 9387 "gram.y"
37722
0
    {
37723
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER ROUTINE", 2717);
37724
0
          RenameStmt *n = makeNode(RenameStmt);
37725
0
          n->renameType = OBJECT_ROUTINE;
37726
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
37727
0
          n->newname = (yyvsp[0].str);
37728
0
          n->missing_ok = false;
37729
0
          (yyval.node) = (Node *)n;
37730
0
        }
37731
0
#line 37732 "gram.c"
37732
0
    break;
37733
37734
0
  case 1324:
37735
0
#line 9397 "gram.y"
37736
0
    {
37737
0
          RenameStmt *n = makeNode(RenameStmt);
37738
0
          n->renameType = OBJECT_SCHEMA;
37739
0
          n->subname = (yyvsp[-3].str);
37740
0
          n->newname = (yyvsp[0].str);
37741
0
          n->missing_ok = false;
37742
0
          (yyval.node) = (Node *)n;
37743
0
        }
37744
0
#line 37745 "gram.c"
37745
0
    break;
37746
37747
0
  case 1325:
37748
0
#line 9406 "gram.y"
37749
0
    {
37750
0
          RenameStmt *n = makeNode(RenameStmt);
37751
0
          n->renameType = OBJECT_FOREIGN_SERVER;
37752
0
          n->object = (Node *) makeString((yyvsp[-3].str));
37753
0
          n->newname = (yyvsp[0].str);
37754
0
          n->missing_ok = false;
37755
0
          (yyval.node) = (Node *)n;
37756
0
        }
37757
0
#line 37758 "gram.c"
37758
0
    break;
37759
37760
0
  case 1326:
37761
0
#line 9415 "gram.y"
37762
0
    {
37763
0
          parser_ybc_not_support((yylsp[-5]), "ALTER SUBSCRIPTION");
37764
0
          RenameStmt *n = makeNode(RenameStmt);
37765
0
          n->renameType = OBJECT_SUBSCRIPTION;
37766
0
          n->object = (Node *) makeString((yyvsp[-3].str));
37767
0
          n->newname = (yyvsp[0].str);
37768
0
          n->missing_ok = false;
37769
0
          (yyval.node) = (Node *)n;
37770
0
        }
37771
0
#line 37772 "gram.c"
37772
0
    break;
37773
37774
9
  case 1327:
37775
9
#line 9425 "gram.y"
37776
9
    {
37777
9
          RenameStmt *n = makeNode(RenameStmt);
37778
9
          n->renameType = OBJECT_TABLE;
37779
9
          n->relation = (yyvsp[-3].range);
37780
9
          n->subname = NULL;
37781
9
          n->newname = (yyvsp[0].str);
37782
9
          n->missing_ok = false;
37783
9
          (yyval.node) = (Node *)n;
37784
9
        }
37785
9
#line 37786 "gram.c"
37786
9
    break;
37787
37788
2
  case 1328:
37789
2
#line 9435 "gram.y"
37790
2
    {
37791
2
          RenameStmt *n = makeNode(RenameStmt);
37792
2
          n->renameType = OBJECT_TABLE;
37793
2
          n->relation = (yyvsp[-3].range);
37794
2
          n->subname = NULL;
37795
2
          n->newname = (yyvsp[0].str);
37796
2
          n->missing_ok = true;
37797
2
          (yyval.node) = (Node *)n;
37798
2
        }
37799
2
#line 37800 "gram.c"
37800
2
    break;
37801
37802
0
  case 1329:
37803
0
#line 9445 "gram.y"
37804
0
    {
37805
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER SEQUENCE", 1002);
37806
0
          RenameStmt *n = makeNode(RenameStmt);
37807
0
          n->renameType = OBJECT_SEQUENCE;
37808
0
          n->relation = (yyvsp[-3].range);
37809
0
          n->subname = NULL;
37810
0
          n->newname = (yyvsp[0].str);
37811
0
          n->missing_ok = false;
37812
0
          (yyval.node) = (Node *)n;
37813
0
        }
37814
0
#line 37815 "gram.c"
37815
0
    break;
37816
37817
0
  case 1330:
37818
0
#line 9456 "gram.y"
37819
0
    {
37820
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER SEQUENCE", 1002);
37821
0
          RenameStmt *n = makeNode(RenameStmt);
37822
0
          n->renameType = OBJECT_SEQUENCE;
37823
0
          n->relation = (yyvsp[-3].range);
37824
0
          n->subname = NULL;
37825
0
          n->newname = (yyvsp[0].str);
37826
0
          n->missing_ok = true;
37827
0
          (yyval.node) = (Node *)n;
37828
0
        }
37829
0
#line 37830 "gram.c"
37830
0
    break;
37831
37832
0
  case 1331:
37833
0
#line 9467 "gram.y"
37834
0
    {
37835
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER VIEW", 1131);
37836
0
          RenameStmt *n = makeNode(RenameStmt);
37837
0
          n->renameType = OBJECT_VIEW;
37838
0
          n->relation = (yyvsp[-3].range);
37839
0
          n->subname = NULL;
37840
0
          n->newname = (yyvsp[0].str);
37841
0
          n->missing_ok = false;
37842
0
          (yyval.node) = (Node *)n;
37843
0
        }
37844
0
#line 37845 "gram.c"
37845
0
    break;
37846
37847
0
  case 1332:
37848
0
#line 9478 "gram.y"
37849
0
    {
37850
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER VIEW", 1131);
37851
0
          RenameStmt *n = makeNode(RenameStmt);
37852
0
          n->renameType = OBJECT_VIEW;
37853
0
          n->relation = (yyvsp[-3].range);
37854
0
          n->subname = NULL;
37855
0
          n->newname = (yyvsp[0].str);
37856
0
          n->missing_ok = true;
37857
0
          (yyval.node) = (Node *)n;
37858
0
        }
37859
0
#line 37860 "gram.c"
37860
0
    break;
37861
37862
0
  case 1333:
37863
0
#line 9489 "gram.y"
37864
0
    {
37865
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER MATERIALIZED VIEW", 1131);
37866
0
          RenameStmt *n = makeNode(RenameStmt);
37867
0
          n->renameType = OBJECT_MATVIEW;
37868
0
          n->relation = (yyvsp[-3].range);
37869
0
          n->subname = NULL;
37870
0
          n->newname = (yyvsp[0].str);
37871
0
          n->missing_ok = false;
37872
0
          (yyval.node) = (Node *)n;
37873
0
        }
37874
0
#line 37875 "gram.c"
37875
0
    break;
37876
37877
0
  case 1334:
37878
0
#line 9500 "gram.y"
37879
0
    {
37880
0
          parser_ybc_signal_unsupported((yylsp[-8]), "ALTER MATERIALIZED VIEW", 1131);
37881
0
          RenameStmt *n = makeNode(RenameStmt);
37882
0
          n->renameType = OBJECT_MATVIEW;
37883
0
          n->relation = (yyvsp[-3].range);
37884
0
          n->subname = NULL;
37885
0
          n->newname = (yyvsp[0].str);
37886
0
          n->missing_ok = true;
37887
0
          (yyval.node) = (Node *)n;
37888
0
        }
37889
0
#line 37890 "gram.c"
37890
0
    break;
37891
37892
0
  case 1335:
37893
0
#line 9511 "gram.y"
37894
0
    {
37895
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER INDEX", 1130);
37896
0
          RenameStmt *n = makeNode(RenameStmt);
37897
0
          n->renameType = OBJECT_INDEX;
37898
0
          n->relation = (yyvsp[-3].range);
37899
0
          n->subname = NULL;
37900
0
          n->newname = (yyvsp[0].str);
37901
0
          n->missing_ok = false;
37902
0
          (yyval.node) = (Node *)n;
37903
0
        }
37904
0
#line 37905 "gram.c"
37905
0
    break;
37906
37907
0
  case 1336:
37908
0
#line 9522 "gram.y"
37909
0
    {
37910
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER INDEX", 1130);
37911
0
          RenameStmt *n = makeNode(RenameStmt);
37912
0
          n->renameType = OBJECT_INDEX;
37913
0
          n->relation = (yyvsp[-3].range);
37914
0
          n->subname = NULL;
37915
0
          n->newname = (yyvsp[0].str);
37916
0
          n->missing_ok = true;
37917
0
          (yyval.node) = (Node *)n;
37918
0
        }
37919
0
#line 37920 "gram.c"
37920
0
    break;
37921
37922
0
  case 1337:
37923
0
#line 9533 "gram.y"
37924
0
    {
37925
0
          RenameStmt *n = makeNode(RenameStmt);
37926
0
          n->renameType = OBJECT_FOREIGN_TABLE;
37927
0
          n->relation = (yyvsp[-3].range);
37928
0
          n->subname = NULL;
37929
0
          n->newname = (yyvsp[0].str);
37930
0
          n->missing_ok = false;
37931
0
          (yyval.node) = (Node *)n;
37932
0
        }
37933
0
#line 37934 "gram.c"
37934
0
    break;
37935
37936
0
  case 1338:
37937
0
#line 9543 "gram.y"
37938
0
    {
37939
0
          RenameStmt *n = makeNode(RenameStmt);
37940
0
          n->renameType = OBJECT_FOREIGN_TABLE;
37941
0
          n->relation = (yyvsp[-3].range);
37942
0
          n->subname = NULL;
37943
0
          n->newname = (yyvsp[0].str);
37944
0
          n->missing_ok = true;
37945
0
          (yyval.node) = (Node *)n;
37946
0
        }
37947
0
#line 37948 "gram.c"
37948
0
    break;
37949
37950
1
  case 1339:
37951
1
#line 9553 "gram.y"
37952
1
    {
37953
1
          RenameStmt *n = makeNode(RenameStmt);
37954
1
          n->renameType = OBJECT_COLUMN;
37955
1
          n->relationType = OBJECT_TABLE;
37956
1
          n->relation = (yyvsp[-5].range);
37957
1
          n->subname = (yyvsp[-2].str);
37958
1
          n->newname = (yyvsp[0].str);
37959
1
          n->missing_ok = false;
37960
1
          (yyval.node) = (Node *)n;
37961
1
        }
37962
1
#line 37963 "gram.c"
37963
1
    break;
37964
37965
0
  case 1340:
37966
0
#line 9564 "gram.y"
37967
0
    {
37968
0
          parser_ybc_not_support((yylsp[-9]), "ALTER TABLE IF EXISTS");
37969
0
          RenameStmt *n = makeNode(RenameStmt);
37970
0
          n->renameType = OBJECT_COLUMN;
37971
0
          n->relationType = OBJECT_TABLE;
37972
0
          n->relation = (yyvsp[-5].range);
37973
0
          n->subname = (yyvsp[-2].str);
37974
0
          n->newname = (yyvsp[0].str);
37975
0
          n->missing_ok = true;
37976
0
          (yyval.node) = (Node *)n;
37977
0
        }
37978
0
#line 37979 "gram.c"
37979
0
    break;
37980
37981
0
  case 1341:
37982
0
#line 9576 "gram.y"
37983
0
    {
37984
0
          parser_ybc_signal_unsupported((yylsp[-8]), "ALTER MATERIALIZED VIEW", 1131);
37985
0
          RenameStmt *n = makeNode(RenameStmt);
37986
0
          n->renameType = OBJECT_COLUMN;
37987
0
          n->relationType = OBJECT_MATVIEW;
37988
0
          n->relation = (yyvsp[-5].range);
37989
0
          n->subname = (yyvsp[-2].str);
37990
0
          n->newname = (yyvsp[0].str);
37991
0
          n->missing_ok = false;
37992
0
          (yyval.node) = (Node *)n;
37993
0
        }
37994
0
#line 37995 "gram.c"
37995
0
    break;
37996
37997
0
  case 1342:
37998
0
#line 9588 "gram.y"
37999
0
    {
38000
0
          parser_ybc_signal_unsupported((yylsp[-10]), "ALTER MATERIALIZED VIEW", 1131);
38001
0
          RenameStmt *n = makeNode(RenameStmt);
38002
0
          n->renameType = OBJECT_COLUMN;
38003
0
          n->relationType = OBJECT_MATVIEW;
38004
0
          n->relation = (yyvsp[-5].range);
38005
0
          n->subname = (yyvsp[-2].str);
38006
0
          n->newname = (yyvsp[0].str);
38007
0
          n->missing_ok = true;
38008
0
          (yyval.node) = (Node *)n;
38009
0
        }
38010
0
#line 38011 "gram.c"
38011
0
    break;
38012
38013
0
  case 1343:
38014
0
#line 9600 "gram.y"
38015
0
    {
38016
0
          parser_ybc_not_support((yylsp[-7]), "ALTER TABLE RENAME CONSTRAINT");
38017
0
          RenameStmt *n = makeNode(RenameStmt);
38018
0
          n->renameType = OBJECT_TABCONSTRAINT;
38019
0
          n->relation = (yyvsp[-5].range);
38020
0
          n->subname = (yyvsp[-2].str);
38021
0
          n->newname = (yyvsp[0].str);
38022
0
          n->missing_ok = false;
38023
0
          (yyval.node) = (Node *)n;
38024
0
        }
38025
0
#line 38026 "gram.c"
38026
0
    break;
38027
38028
0
  case 1344:
38029
0
#line 9611 "gram.y"
38030
0
    {
38031
0
          parser_ybc_not_support((yylsp[-9]), "ALTER TABLE RENAME CONSTRAINT");
38032
0
          RenameStmt *n = makeNode(RenameStmt);
38033
0
          n->renameType = OBJECT_TABCONSTRAINT;
38034
0
          n->relation = (yyvsp[-5].range);
38035
0
          n->subname = (yyvsp[-2].str);
38036
0
          n->newname = (yyvsp[0].str);
38037
0
          n->missing_ok = true;
38038
0
          (yyval.node) = (Node *)n;
38039
0
        }
38040
0
#line 38041 "gram.c"
38041
0
    break;
38042
38043
0
  case 1345:
38044
0
#line 9622 "gram.y"
38045
0
    {
38046
0
          RenameStmt *n = makeNode(RenameStmt);
38047
0
          n->renameType = OBJECT_COLUMN;
38048
0
          n->relationType = OBJECT_FOREIGN_TABLE;
38049
0
          n->relation = (yyvsp[-5].range);
38050
0
          n->subname = (yyvsp[-2].str);
38051
0
          n->newname = (yyvsp[0].str);
38052
0
          n->missing_ok = false;
38053
0
          (yyval.node) = (Node *)n;
38054
0
        }
38055
0
#line 38056 "gram.c"
38056
0
    break;
38057
38058
0
  case 1346:
38059
0
#line 9633 "gram.y"
38060
0
    {
38061
0
          RenameStmt *n = makeNode(RenameStmt);
38062
0
          n->renameType = OBJECT_COLUMN;
38063
0
          n->relationType = OBJECT_FOREIGN_TABLE;
38064
0
          n->relation = (yyvsp[-5].range);
38065
0
          n->subname = (yyvsp[-2].str);
38066
0
          n->newname = (yyvsp[0].str);
38067
0
          n->missing_ok = true;
38068
0
          (yyval.node) = (Node *)n;
38069
0
        }
38070
0
#line 38071 "gram.c"
38071
0
    break;
38072
38073
0
  case 1347:
38074
0
#line 9644 "gram.y"
38075
0
    {
38076
0
          parser_ybc_not_support((yylsp[-7]), "ALTER RULE");
38077
0
          RenameStmt *n = makeNode(RenameStmt);
38078
0
          n->renameType = OBJECT_RULE;
38079
0
          n->relation = (yyvsp[-3].range);
38080
0
          n->subname = (yyvsp[-5].str);
38081
0
          n->newname = (yyvsp[0].str);
38082
0
          n->missing_ok = false;
38083
0
          (yyval.node) = (Node *)n;
38084
0
        }
38085
0
#line 38086 "gram.c"
38086
0
    break;
38087
38088
0
  case 1348:
38089
0
#line 9655 "gram.y"
38090
0
    {
38091
0
          RenameStmt *n = makeNode(RenameStmt);
38092
0
          n->renameType = OBJECT_TRIGGER;
38093
0
          n->relation = (yyvsp[-3].range);
38094
0
          n->subname = (yyvsp[-5].str);
38095
0
          n->newname = (yyvsp[0].str);
38096
0
          n->missing_ok = false;
38097
0
          (yyval.node) = (Node *)n;
38098
0
        }
38099
0
#line 38100 "gram.c"
38100
0
    break;
38101
38102
0
  case 1349:
38103
0
#line 9665 "gram.y"
38104
0
    {
38105
0
          RenameStmt *n = makeNode(RenameStmt);
38106
0
          n->renameType = OBJECT_EVENT_TRIGGER;
38107
0
          n->object = (Node *) makeString((yyvsp[-3].str));
38108
0
          n->newname = (yyvsp[0].str);
38109
0
          (yyval.node) = (Node *)n;
38110
0
        }
38111
0
#line 38112 "gram.c"
38112
0
    break;
38113
38114
8
  case 1350:
38115
8
#line 9673 "gram.y"
38116
8
    {
38117
8
          RenameStmt *n = makeNode(RenameStmt);
38118
8
          n->renameType = OBJECT_ROLE;
38119
8
          n->subname = (yyvsp[-3].str);
38120
8
          n->newname = (yyvsp[0].str);
38121
8
          n->missing_ok = false;
38122
8
          (yyval.node) = (Node *)n;
38123
8
        }
38124
8
#line 38125 "gram.c"
38125
8
    break;
38126
38127
1
  case 1351:
38128
1
#line 9682 "gram.y"
38129
1
    {
38130
1
          RenameStmt *n = makeNode(RenameStmt);
38131
1
          n->renameType = OBJECT_ROLE;
38132
1
          n->subname = (yyvsp[-3].str);
38133
1
          n->newname = (yyvsp[0].str);
38134
1
          n->missing_ok = false;
38135
1
          (yyval.node) = (Node *)n;
38136
1
        }
38137
1
#line 38138 "gram.c"
38138
1
    break;
38139
38140
0
  case 1352:
38141
0
#line 9691 "gram.y"
38142
0
    {
38143
0
          parser_ybc_beta_feature((yylsp[-5]), "tablegroup", true);
38144
0
          RenameStmt *n = makeNode(RenameStmt);
38145
0
          n->renameType = OBJECT_YBTABLEGROUP;
38146
0
          n->subname = (yyvsp[-3].str);
38147
0
          n->newname = (yyvsp[0].str);
38148
0
          n->missing_ok = false;
38149
0
          (yyval.node) = (Node *)n;
38150
0
        }
38151
0
#line 38152 "gram.c"
38152
0
    break;
38153
38154
0
  case 1353:
38155
0
#line 9701 "gram.y"
38156
0
    {
38157
0
          parser_ybc_not_support((yylsp[-5]), "ALTER TABLESPACE");
38158
0
          RenameStmt *n = makeNode(RenameStmt);
38159
0
          n->renameType = OBJECT_TABLESPACE;
38160
0
          n->subname = (yyvsp[-3].str);
38161
0
          n->newname = (yyvsp[0].str);
38162
0
          n->missing_ok = false;
38163
0
          (yyval.node) = (Node *)n;
38164
0
        }
38165
0
#line 38166 "gram.c"
38166
0
    break;
38167
38168
0
  case 1354:
38169
0
#line 9711 "gram.y"
38170
0
    {
38171
0
          parser_ybc_not_support((yylsp[-5]), "ALTER STATISTICS");
38172
0
          RenameStmt *n = makeNode(RenameStmt);
38173
0
          n->renameType = OBJECT_STATISTIC_EXT;
38174
0
          n->object = (Node *) (yyvsp[-3].list);
38175
0
          n->newname = (yyvsp[0].str);
38176
0
          n->missing_ok = false;
38177
0
          (yyval.node) = (Node *)n;
38178
0
        }
38179
0
#line 38180 "gram.c"
38180
0
    break;
38181
38182
0
  case 1355:
38183
0
#line 9721 "gram.y"
38184
0
    {
38185
0
          RenameStmt *n = makeNode(RenameStmt);
38186
0
          n->renameType = OBJECT_TSPARSER;
38187
0
          n->object = (Node *) (yyvsp[-3].list);
38188
0
          n->newname = (yyvsp[0].str);
38189
0
          n->missing_ok = false;
38190
0
          (yyval.node) = (Node *)n;
38191
0
        }
38192
0
#line 38193 "gram.c"
38193
0
    break;
38194
38195
0
  case 1356:
38196
0
#line 9730 "gram.y"
38197
0
    {
38198
0
          RenameStmt *n = makeNode(RenameStmt);
38199
0
          n->renameType = OBJECT_TSDICTIONARY;
38200
0
          n->object = (Node *) (yyvsp[-3].list);
38201
0
          n->newname = (yyvsp[0].str);
38202
0
          n->missing_ok = false;
38203
0
          (yyval.node) = (Node *)n;
38204
0
        }
38205
0
#line 38206 "gram.c"
38206
0
    break;
38207
38208
0
  case 1357:
38209
0
#line 9739 "gram.y"
38210
0
    {
38211
0
          RenameStmt *n = makeNode(RenameStmt);
38212
0
          n->renameType = OBJECT_TSTEMPLATE;
38213
0
          n->object = (Node *) (yyvsp[-3].list);
38214
0
          n->newname = (yyvsp[0].str);
38215
0
          n->missing_ok = false;
38216
0
          (yyval.node) = (Node *)n;
38217
0
        }
38218
0
#line 38219 "gram.c"
38219
0
    break;
38220
38221
0
  case 1358:
38222
0
#line 9748 "gram.y"
38223
0
    {
38224
0
          RenameStmt *n = makeNode(RenameStmt);
38225
0
          n->renameType = OBJECT_TSCONFIGURATION;
38226
0
          n->object = (Node *) (yyvsp[-3].list);
38227
0
          n->newname = (yyvsp[0].str);
38228
0
          n->missing_ok = false;
38229
0
          (yyval.node) = (Node *)n;
38230
0
        }
38231
0
#line 38232 "gram.c"
38232
0
    break;
38233
38234
0
  case 1359:
38235
0
#line 9757 "gram.y"
38236
0
    {
38237
0
          RenameStmt *n = makeNode(RenameStmt);
38238
0
          n->renameType = OBJECT_TYPE;
38239
0
          n->object = (Node *) (yyvsp[-3].list);
38240
0
          n->newname = (yyvsp[0].str);
38241
0
          n->missing_ok = false;
38242
0
          (yyval.node) = (Node *)n;
38243
0
        }
38244
0
#line 38245 "gram.c"
38245
0
    break;
38246
38247
0
  case 1360:
38248
0
#line 9766 "gram.y"
38249
0
    {
38250
0
          parser_ybc_signal_unsupported((yylsp[-8]), "ALTER TYPE", 1893);
38251
0
          RenameStmt *n = makeNode(RenameStmt);
38252
0
          n->renameType = OBJECT_ATTRIBUTE;
38253
0
          n->relationType = OBJECT_TYPE;
38254
0
          n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
38255
0
          n->subname = (yyvsp[-3].str);
38256
0
          n->newname = (yyvsp[-1].str);
38257
0
          n->behavior = (yyvsp[0].dbehavior);
38258
0
          n->missing_ok = false;
38259
0
          (yyval.node) = (Node *)n;
38260
0
        }
38261
0
#line 38262 "gram.c"
38262
0
    break;
38263
38264
101
  case 1361:
38265
101
#line 9780 "gram.y"
38266
101
    { (yyval.ival) = COLUMN; }
38267
101
#line 38268 "gram.c"
38268
101
    break;
38269
38270
6
  case 1362:
38271
6
#line 9781 "gram.y"
38272
6
    { (yyval.ival) = 0; }
38273
6
#line 38274 "gram.c"
38274
6
    break;
38275
38276
0
  case 1363:
38277
0
#line 9784 "gram.y"
38278
0
    { (yyval.ival) = 1; }
38279
0
#line 38280 "gram.c"
38280
0
    break;
38281
38282
13
  case 1364:
38283
13
#line 9785 "gram.y"
38284
13
    { (yyval.ival) = 0; }
38285
13
#line 38286 "gram.c"
38286
13
    break;
38287
38288
0
  case 1365:
38289
0
#line 9796 "gram.y"
38290
0
    {
38291
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38292
0
          n->objectType = OBJECT_FUNCTION;
38293
0
          n->object = (Node *) (yyvsp[-4].objwithargs);
38294
0
          n->extname = makeString((yyvsp[0].str));
38295
0
          (yyval.node) = (Node *)n;
38296
0
        }
38297
0
#line 38298 "gram.c"
38298
0
    break;
38299
38300
0
  case 1366:
38301
0
#line 9804 "gram.y"
38302
0
    {
38303
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER PROCEDURE DEPENDS ON EXTENSION", 2717);
38304
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38305
0
          n->objectType = OBJECT_PROCEDURE;
38306
0
          n->object = (Node *) (yyvsp[-4].objwithargs);
38307
0
          n->extname = makeString((yyvsp[0].str));
38308
0
          (yyval.node) = (Node *)n;
38309
0
        }
38310
0
#line 38311 "gram.c"
38311
0
    break;
38312
38313
0
  case 1367:
38314
0
#line 9813 "gram.y"
38315
0
    {
38316
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER ROUTINE DEPENDS ON EXTENSION", 2717);
38317
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38318
0
          n->objectType = OBJECT_ROUTINE;
38319
0
          n->object = (Node *) (yyvsp[-4].objwithargs);
38320
0
          n->extname = makeString((yyvsp[0].str));
38321
0
          (yyval.node) = (Node *)n;
38322
0
        }
38323
0
#line 38324 "gram.c"
38324
0
    break;
38325
38326
0
  case 1368:
38327
0
#line 9822 "gram.y"
38328
0
    {
38329
0
          parser_ybc_signal_unsupported((yylsp[-8]), "ALTER TRIGGER DEPENDS ON EXTENSION", 1156);
38330
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38331
0
          n->objectType = OBJECT_TRIGGER;
38332
0
          n->relation = (yyvsp[-4].range);
38333
0
          n->object = (Node *) list_make1(makeString((yyvsp[-6].str)));
38334
0
          n->extname = makeString((yyvsp[0].str));
38335
0
          (yyval.node) = (Node *)n;
38336
0
        }
38337
0
#line 38338 "gram.c"
38338
0
    break;
38339
38340
0
  case 1369:
38341
0
#line 9832 "gram.y"
38342
0
    {
38343
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER MATERIALIZED VIEW DEPENDS ON EXTENSION", 1131);
38344
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38345
0
          n->objectType = OBJECT_MATVIEW;
38346
0
          n->relation = (yyvsp[-4].range);
38347
0
          n->extname = makeString((yyvsp[0].str));
38348
0
          (yyval.node) = (Node *)n;
38349
0
        }
38350
0
#line 38351 "gram.c"
38351
0
    break;
38352
38353
0
  case 1370:
38354
0
#line 9841 "gram.y"
38355
0
    {
38356
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER INDEX DEPENDS ON EXTENSION", 1130);
38357
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38358
0
          n->objectType = OBJECT_INDEX;
38359
0
          n->relation = (yyvsp[-4].range);
38360
0
          n->extname = makeString((yyvsp[0].str));
38361
0
          (yyval.node) = (Node *)n;
38362
0
        }
38363
0
#line 38364 "gram.c"
38364
0
    break;
38365
38366
0
  case 1371:
38367
0
#line 9859 "gram.y"
38368
0
    {
38369
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER AGGREGATE SET SCHEMA", 2717);
38370
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38371
0
          n->objectType = OBJECT_AGGREGATE;
38372
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38373
0
          n->newschema = (yyvsp[0].str);
38374
0
          n->missing_ok = false;
38375
0
          (yyval.node) = (Node *)n;
38376
0
        }
38377
0
#line 38378 "gram.c"
38378
0
    break;
38379
38380
0
  case 1372:
38381
0
#line 9869 "gram.y"
38382
0
    {
38383
0
          if (!YBIsCollationEnabled())
38384
0
            parser_ybc_not_support((yylsp[-5]), "ALTER COLLATION SET SCHEMA");
38385
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38386
0
          n->objectType = OBJECT_COLLATION;
38387
0
          n->object = (Node *) (yyvsp[-3].list);
38388
0
          n->newschema = (yyvsp[0].str);
38389
0
          n->missing_ok = false;
38390
0
          (yyval.node) = (Node *)n;
38391
0
        }
38392
0
#line 38393 "gram.c"
38393
0
    break;
38394
38395
0
  case 1373:
38396
0
#line 9880 "gram.y"
38397
0
    {
38398
0
          parser_ybc_not_support((yylsp[-5]), "ALTER CONVERSION SET SCHEMA");
38399
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38400
0
          n->objectType = OBJECT_CONVERSION;
38401
0
          n->object = (Node *) (yyvsp[-3].list);
38402
0
          n->newschema = (yyvsp[0].str);
38403
0
          n->missing_ok = false;
38404
0
          (yyval.node) = (Node *)n;
38405
0
        }
38406
0
#line 38407 "gram.c"
38407
0
    break;
38408
38409
0
  case 1374:
38410
0
#line 9890 "gram.y"
38411
0
    {
38412
0
          parser_ybc_not_support((yylsp[-5]), "ALTER DOMAIN SET SCHEMA");
38413
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38414
0
          n->objectType = OBJECT_DOMAIN;
38415
0
          n->object = (Node *) (yyvsp[-3].list);
38416
0
          n->newschema = (yyvsp[0].str);
38417
0
          n->missing_ok = false;
38418
0
          (yyval.node) = (Node *)n;
38419
0
        }
38420
0
#line 38421 "gram.c"
38421
0
    break;
38422
38423
0
  case 1375:
38424
0
#line 9900 "gram.y"
38425
0
    {
38426
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38427
0
          n->objectType = OBJECT_EXTENSION;
38428
0
          n->object = (Node *) makeString((yyvsp[-3].str));
38429
0
          n->newschema = (yyvsp[0].str);
38430
0
          n->missing_ok = false;
38431
0
          (yyval.node) = (Node *)n;
38432
0
        }
38433
0
#line 38434 "gram.c"
38434
0
    break;
38435
38436
0
  case 1376:
38437
0
#line 9909 "gram.y"
38438
0
    {
38439
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38440
0
          n->objectType = OBJECT_FUNCTION;
38441
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38442
0
          n->newschema = (yyvsp[0].str);
38443
0
          n->missing_ok = false;
38444
0
          (yyval.node) = (Node *)n;
38445
0
        }
38446
0
#line 38447 "gram.c"
38447
0
    break;
38448
38449
0
  case 1377:
38450
0
#line 9918 "gram.y"
38451
0
    {
38452
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38453
0
          n->objectType = OBJECT_OPERATOR;
38454
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38455
0
          n->newschema = (yyvsp[0].str);
38456
0
          n->missing_ok = false;
38457
0
          (yyval.node) = (Node *)n;
38458
0
        }
38459
0
#line 38460 "gram.c"
38460
0
    break;
38461
38462
0
  case 1378:
38463
0
#line 9927 "gram.y"
38464
0
    {
38465
0
          parser_ybc_not_support((yylsp[-8]), "ALTER OPERATOR CLASS SET SCHEMA");
38466
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38467
0
          n->objectType = OBJECT_OPCLASS;
38468
0
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38469
0
          n->newschema = (yyvsp[0].str);
38470
0
          n->missing_ok = false;
38471
0
          (yyval.node) = (Node *)n;
38472
0
        }
38473
0
#line 38474 "gram.c"
38474
0
    break;
38475
38476
0
  case 1379:
38477
0
#line 9937 "gram.y"
38478
0
    {
38479
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38480
0
          n->objectType = OBJECT_OPFAMILY;
38481
0
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38482
0
          n->newschema = (yyvsp[0].str);
38483
0
          n->missing_ok = false;
38484
0
          (yyval.node) = (Node *)n;
38485
0
        }
38486
0
#line 38487 "gram.c"
38487
0
    break;
38488
38489
0
  case 1380:
38490
0
#line 9946 "gram.y"
38491
0
    {
38492
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER PROCEDURE SET SCHEMA", 2717);
38493
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38494
0
          n->objectType = OBJECT_PROCEDURE;
38495
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38496
0
          n->newschema = (yyvsp[0].str);
38497
0
          n->missing_ok = false;
38498
0
          (yyval.node) = (Node *)n;
38499
0
        }
38500
0
#line 38501 "gram.c"
38501
0
    break;
38502
38503
0
  case 1381:
38504
0
#line 9956 "gram.y"
38505
0
    {
38506
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER ROUTINE SET SCHEMA", 2717);
38507
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38508
0
          n->objectType = OBJECT_ROUTINE;
38509
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38510
0
          n->newschema = (yyvsp[0].str);
38511
0
          n->missing_ok = false;
38512
0
          (yyval.node) = (Node *)n;
38513
0
        }
38514
0
#line 38515 "gram.c"
38515
0
    break;
38516
38517
0
  case 1382:
38518
0
#line 9966 "gram.y"
38519
0
    {
38520
0
          parser_ybc_not_support((yylsp[-5]), "ALTER TABLE SET SCHEMA");
38521
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38522
0
          n->objectType = OBJECT_TABLE;
38523
0
          n->relation = (yyvsp[-3].range);
38524
0
          n->newschema = (yyvsp[0].str);
38525
0
          n->missing_ok = false;
38526
0
          (yyval.node) = (Node *)n;
38527
0
        }
38528
0
#line 38529 "gram.c"
38529
0
    break;
38530
38531
0
  case 1383:
38532
0
#line 9976 "gram.y"
38533
0
    {
38534
0
          parser_ybc_not_support((yylsp[-7]), "ALTER TABLE SET SCHEMA");
38535
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38536
0
          n->objectType = OBJECT_TABLE;
38537
0
          n->relation = (yyvsp[-3].range);
38538
0
          n->newschema = (yyvsp[0].str);
38539
0
          n->missing_ok = true;
38540
0
          (yyval.node) = (Node *)n;
38541
0
        }
38542
0
#line 38543 "gram.c"
38543
0
    break;
38544
38545
0
  case 1384:
38546
0
#line 9986 "gram.y"
38547
0
    {
38548
0
          parser_ybc_not_support((yylsp[-5]), "ALTER STATISTICS SET SCHEMA");
38549
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38550
0
          n->objectType = OBJECT_STATISTIC_EXT;
38551
0
          n->object = (Node *) (yyvsp[-3].list);
38552
0
          n->newschema = (yyvsp[0].str);
38553
0
          n->missing_ok = false;
38554
0
          (yyval.node) = (Node *)n;
38555
0
        }
38556
0
#line 38557 "gram.c"
38557
0
    break;
38558
38559
0
  case 1385:
38560
0
#line 9996 "gram.y"
38561
0
    {
38562
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38563
0
          n->objectType = OBJECT_TSPARSER;
38564
0
          n->object = (Node *) (yyvsp[-3].list);
38565
0
          n->newschema = (yyvsp[0].str);
38566
0
          n->missing_ok = false;
38567
0
          (yyval.node) = (Node *)n;
38568
0
        }
38569
0
#line 38570 "gram.c"
38570
0
    break;
38571
38572
0
  case 1386:
38573
0
#line 10005 "gram.y"
38574
0
    {
38575
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38576
0
          n->objectType = OBJECT_TSDICTIONARY;
38577
0
          n->object = (Node *) (yyvsp[-3].list);
38578
0
          n->newschema = (yyvsp[0].str);
38579
0
          n->missing_ok = false;
38580
0
          (yyval.node) = (Node *)n;
38581
0
        }
38582
0
#line 38583 "gram.c"
38583
0
    break;
38584
38585
0
  case 1387:
38586
0
#line 10014 "gram.y"
38587
0
    {
38588
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38589
0
          n->objectType = OBJECT_TSTEMPLATE;
38590
0
          n->object = (Node *) (yyvsp[-3].list);
38591
0
          n->newschema = (yyvsp[0].str);
38592
0
          n->missing_ok = false;
38593
0
          (yyval.node) = (Node *)n;
38594
0
        }
38595
0
#line 38596 "gram.c"
38596
0
    break;
38597
38598
0
  case 1388:
38599
0
#line 10023 "gram.y"
38600
0
    {
38601
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38602
0
          n->objectType = OBJECT_TSCONFIGURATION;
38603
0
          n->object = (Node *) (yyvsp[-3].list);
38604
0
          n->newschema = (yyvsp[0].str);
38605
0
          n->missing_ok = false;
38606
0
          (yyval.node) = (Node *)n;
38607
0
        }
38608
0
#line 38609 "gram.c"
38609
0
    break;
38610
38611
0
  case 1389:
38612
0
#line 10032 "gram.y"
38613
0
    {
38614
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER SEQUENCE SET SCHEMA", 1002);
38615
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38616
0
          n->objectType = OBJECT_SEQUENCE;
38617
0
          n->relation = (yyvsp[-3].range);
38618
0
          n->newschema = (yyvsp[0].str);
38619
0
          n->missing_ok = false;
38620
0
          (yyval.node) = (Node *)n;
38621
0
        }
38622
0
#line 38623 "gram.c"
38623
0
    break;
38624
38625
0
  case 1390:
38626
0
#line 10042 "gram.y"
38627
0
    {
38628
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER SEQUENCE SET SCHEMA", 1002);
38629
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38630
0
          n->objectType = OBJECT_SEQUENCE;
38631
0
          n->relation = (yyvsp[-3].range);
38632
0
          n->newschema = (yyvsp[0].str);
38633
0
          n->missing_ok = true;
38634
0
          (yyval.node) = (Node *)n;
38635
0
        }
38636
0
#line 38637 "gram.c"
38637
0
    break;
38638
38639
0
  case 1391:
38640
0
#line 10052 "gram.y"
38641
0
    {
38642
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER VIEW SET SCHEMA", 1131);
38643
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38644
0
          n->objectType = OBJECT_VIEW;
38645
0
          n->relation = (yyvsp[-3].range);
38646
0
          n->newschema = (yyvsp[0].str);
38647
0
          n->missing_ok = false;
38648
0
          (yyval.node) = (Node *)n;
38649
0
        }
38650
0
#line 38651 "gram.c"
38651
0
    break;
38652
38653
0
  case 1392:
38654
0
#line 10062 "gram.y"
38655
0
    {
38656
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER VIEW SET SCHEMA", 1131);
38657
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38658
0
          n->objectType = OBJECT_VIEW;
38659
0
          n->relation = (yyvsp[-3].range);
38660
0
          n->newschema = (yyvsp[0].str);
38661
0
          n->missing_ok = true;
38662
0
          (yyval.node) = (Node *)n;
38663
0
        }
38664
0
#line 38665 "gram.c"
38665
0
    break;
38666
38667
0
  case 1393:
38668
0
#line 10072 "gram.y"
38669
0
    {
38670
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER MATERIALIZED VIEW SET SCHEMA", 1131);
38671
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38672
0
          n->objectType = OBJECT_MATVIEW;
38673
0
          n->relation = (yyvsp[-3].range);
38674
0
          n->newschema = (yyvsp[0].str);
38675
0
          n->missing_ok = false;
38676
0
          (yyval.node) = (Node *)n;
38677
0
        }
38678
0
#line 38679 "gram.c"
38679
0
    break;
38680
38681
0
  case 1394:
38682
0
#line 10082 "gram.y"
38683
0
    {
38684
0
          parser_ybc_signal_unsupported((yylsp[-8]), "ALTER MATERIALIZED VIEW SET SCHEMA", 1131);
38685
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38686
0
          n->objectType = OBJECT_MATVIEW;
38687
0
          n->relation = (yyvsp[-3].range);
38688
0
          n->newschema = (yyvsp[0].str);
38689
0
          n->missing_ok = true;
38690
0
          (yyval.node) = (Node *)n;
38691
0
        }
38692
0
#line 38693 "gram.c"
38693
0
    break;
38694
38695
0
  case 1395:
38696
0
#line 10092 "gram.y"
38697
0
    {
38698
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38699
0
          n->objectType = OBJECT_FOREIGN_TABLE;
38700
0
          n->relation = (yyvsp[-3].range);
38701
0
          n->newschema = (yyvsp[0].str);
38702
0
          n->missing_ok = false;
38703
0
          (yyval.node) = (Node *)n;
38704
0
        }
38705
0
#line 38706 "gram.c"
38706
0
    break;
38707
38708
0
  case 1396:
38709
0
#line 10101 "gram.y"
38710
0
    {
38711
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38712
0
          n->objectType = OBJECT_FOREIGN_TABLE;
38713
0
          n->relation = (yyvsp[-3].range);
38714
0
          n->newschema = (yyvsp[0].str);
38715
0
          n->missing_ok = true;
38716
0
          (yyval.node) = (Node *)n;
38717
0
        }
38718
0
#line 38719 "gram.c"
38719
0
    break;
38720
38721
0
  case 1397:
38722
0
#line 10110 "gram.y"
38723
0
    {
38724
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER TYPE SET SCHEMA", 1893);
38725
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38726
0
          n->objectType = OBJECT_TYPE;
38727
0
          n->object = (Node *) (yyvsp[-3].list);
38728
0
          n->newschema = (yyvsp[0].str);
38729
0
          n->missing_ok = false;
38730
0
          (yyval.node) = (Node *)n;
38731
0
        }
38732
0
#line 38733 "gram.c"
38733
0
    break;
38734
38735
64
  case 1398:
38736
64
#line 10129 "gram.y"
38737
64
    {
38738
64
          AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
38739
64
          n->opername = (yyvsp[-4].objwithargs);
38740
64
          n->options = (yyvsp[-1].list);
38741
64
          (yyval.node) = (Node *)n;
38742
64
        }
38743
64
#line 38744 "gram.c"
38744
64
    break;
38745
38746
64
  case 1399:
38747
64
#line 10137 "gram.y"
38748
64
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
38749
64
#line 38750 "gram.c"
38750
64
    break;
38751
38752
64
  case 1400:
38753
64
#line 10138 "gram.y"
38754
64
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
38755
64
#line 38756 "gram.c"
38756
64
    break;
38757
38758
0
  case 1401:
38759
0
#line 10142 "gram.y"
38760
0
    { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
38761
0
#line 38762 "gram.c"
38762
0
    break;
38763
38764
128
  case 1402:
38765
128
#line 10144 "gram.y"
38766
128
    { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
38767
128
#line 38768 "gram.c"
38768
128
    break;
38769
38770
128
  case 1403:
38771
128
#line 10149 "gram.y"
38772
128
    { (yyval.node) = (Node *)(yyvsp[0].typnam); }
38773
128
#line 38774 "gram.c"
38774
128
    break;
38775
38776
0
  case 1404:
38777
0
#line 10150 "gram.y"
38778
0
    { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
38779
0
#line 38780 "gram.c"
38780
0
    break;
38781
38782
0
  case 1405:
38783
0
#line 10151 "gram.y"
38784
0
    { (yyval.node) = (Node *)(yyvsp[0].list); }
38785
0
#line 38786 "gram.c"
38786
0
    break;
38787
38788
0
  case 1406:
38789
0
#line 10152 "gram.y"
38790
0
    { (yyval.node) = (Node *)(yyvsp[0].value); }
38791
0
#line 38792 "gram.c"
38792
0
    break;
38793
38794
0
  case 1407:
38795
0
#line 10153 "gram.y"
38796
0
    { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
38797
0
#line 38798 "gram.c"
38798
0
    break;
38799
38800
0
  case 1408:
38801
0
#line 10163 "gram.y"
38802
0
    {
38803
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38804
0
          n->objectType = OBJECT_AGGREGATE;
38805
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38806
0
          n->newowner = (yyvsp[0].rolespec);
38807
0
          (yyval.node) = (Node *)n;
38808
0
        }
38809
0
#line 38810 "gram.c"
38810
0
    break;
38811
38812
0
  case 1409:
38813
0
#line 10171 "gram.y"
38814
0
    {
38815
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38816
0
          n->objectType = OBJECT_COLLATION;
38817
0
          n->object = (Node *) (yyvsp[-3].list);
38818
0
          n->newowner = (yyvsp[0].rolespec);
38819
0
          (yyval.node) = (Node *)n;
38820
0
        }
38821
0
#line 38822 "gram.c"
38822
0
    break;
38823
38824
0
  case 1410:
38825
0
#line 10179 "gram.y"
38826
0
    {
38827
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38828
0
          n->objectType = OBJECT_CONVERSION;
38829
0
          n->object = (Node *) (yyvsp[-3].list);
38830
0
          n->newowner = (yyvsp[0].rolespec);
38831
0
          (yyval.node) = (Node *)n;
38832
0
        }
38833
0
#line 38834 "gram.c"
38834
0
    break;
38835
38836
3
  case 1411:
38837
3
#line 10187 "gram.y"
38838
3
    {
38839
3
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38840
3
          n->objectType = OBJECT_DATABASE;
38841
3
          n->object = (Node *) makeString((yyvsp[-3].str));
38842
3
          n->newowner = (yyvsp[0].rolespec);
38843
3
          (yyval.node) = (Node *)n;
38844
3
        }
38845
3
#line 38846 "gram.c"
38846
3
    break;
38847
38848
0
  case 1412:
38849
0
#line 10195 "gram.y"
38850
0
    {
38851
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38852
0
          n->objectType = OBJECT_DOMAIN;
38853
0
          n->object = (Node *) (yyvsp[-3].list);
38854
0
          n->newowner = (yyvsp[0].rolespec);
38855
0
          (yyval.node) = (Node *)n;
38856
0
        }
38857
0
#line 38858 "gram.c"
38858
0
    break;
38859
38860
21
  case 1413:
38861
21
#line 10203 "gram.y"
38862
21
    {
38863
21
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38864
21
          n->objectType = OBJECT_FUNCTION;
38865
21
          n->object = (Node *) (yyvsp[-3].objwithargs);
38866
21
          n->newowner = (yyvsp[0].rolespec);
38867
21
          (yyval.node) = (Node *)n;
38868
21
        }
38869
21
#line 38870 "gram.c"
38870
21
    break;
38871
38872
0
  case 1414:
38873
0
#line 10211 "gram.y"
38874
0
    {
38875
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38876
0
          n->objectType = OBJECT_LANGUAGE;
38877
0
          n->object = (Node *) makeString((yyvsp[-3].str));
38878
0
          n->newowner = (yyvsp[0].rolespec);
38879
0
          (yyval.node) = (Node *)n;
38880
0
        }
38881
0
#line 38882 "gram.c"
38882
0
    break;
38883
38884
0
  case 1415:
38885
0
#line 10219 "gram.y"
38886
0
    {
38887
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38888
0
          n->objectType = OBJECT_LARGEOBJECT;
38889
0
          n->object = (Node *) (yyvsp[-3].value);
38890
0
          n->newowner = (yyvsp[0].rolespec);
38891
0
          (yyval.node) = (Node *)n;
38892
0
        }
38893
0
#line 38894 "gram.c"
38894
0
    break;
38895
38896
0
  case 1416:
38897
0
#line 10227 "gram.y"
38898
0
    {
38899
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38900
0
          n->objectType = OBJECT_OPERATOR;
38901
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38902
0
          n->newowner = (yyvsp[0].rolespec);
38903
0
          (yyval.node) = (Node *)n;
38904
0
        }
38905
0
#line 38906 "gram.c"
38906
0
    break;
38907
38908
0
  case 1417:
38909
0
#line 10235 "gram.y"
38910
0
    {
38911
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38912
0
          n->objectType = OBJECT_OPCLASS;
38913
0
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38914
0
          n->newowner = (yyvsp[0].rolespec);
38915
0
          (yyval.node) = (Node *)n;
38916
0
        }
38917
0
#line 38918 "gram.c"
38918
0
    break;
38919
38920
0
  case 1418:
38921
0
#line 10243 "gram.y"
38922
0
    {
38923
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38924
0
          n->objectType = OBJECT_OPFAMILY;
38925
0
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38926
0
          n->newowner = (yyvsp[0].rolespec);
38927
0
          (yyval.node) = (Node *)n;
38928
0
        }
38929
0
#line 38930 "gram.c"
38930
0
    break;
38931
38932
0
  case 1419:
38933
0
#line 10251 "gram.y"
38934
0
    {
38935
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38936
0
          n->objectType = OBJECT_PROCEDURE;
38937
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38938
0
          n->newowner = (yyvsp[0].rolespec);
38939
0
          (yyval.node) = (Node *)n;
38940
0
        }
38941
0
#line 38942 "gram.c"
38942
0
    break;
38943
38944
0
  case 1420:
38945
0
#line 10259 "gram.y"
38946
0
    {
38947
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38948
0
          n->objectType = OBJECT_ROUTINE;
38949
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38950
0
          n->newowner = (yyvsp[0].rolespec);
38951
0
          (yyval.node) = (Node *)n;
38952
0
        }
38953
0
#line 38954 "gram.c"
38954
0
    break;
38955
38956
2
  case 1421:
38957
2
#line 10267 "gram.y"
38958
2
    {
38959
2
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38960
2
          n->objectType = OBJECT_SCHEMA;
38961
2
          n->object = (Node *) makeString((yyvsp[-3].str));
38962
2
          n->newowner = (yyvsp[0].rolespec);
38963
2
          (yyval.node) = (Node *)n;
38964
2
        }
38965
2
#line 38966 "gram.c"
38966
2
    break;
38967
38968
0
  case 1422:
38969
0
#line 10275 "gram.y"
38970
0
    {
38971
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38972
0
          n->objectType = OBJECT_TYPE;
38973
0
          n->object = (Node *) (yyvsp[-3].list);
38974
0
          n->newowner = (yyvsp[0].rolespec);
38975
0
          (yyval.node) = (Node *)n;
38976
0
        }
38977
0
#line 38978 "gram.c"
38978
0
    break;
38979
38980
0
  case 1423:
38981
0
#line 10283 "gram.y"
38982
0
    {
38983
0
          parser_ybc_beta_feature((yylsp[-5]), "tablegroup", true);
38984
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38985
0
          n->objectType = OBJECT_YBTABLEGROUP;
38986
0
          n->object = (Node *) makeString((yyvsp[-3].str));
38987
0
          n->newowner = (yyvsp[0].rolespec);
38988
0
          (yyval.node) = (Node *)n;
38989
0
        }
38990
0
#line 38991 "gram.c"
38991
0
    break;
38992
38993
0
  case 1424:
38994
0
#line 10292 "gram.y"
38995
0
    {
38996
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38997
0
          n->objectType = OBJECT_TABLESPACE;
38998
0
          n->object = (Node *) makeString((yyvsp[-3].str));
38999
0
          n->newowner = (yyvsp[0].rolespec);
39000
0
          (yyval.node) = (Node *)n;
39001
0
        }
39002
0
#line 39003 "gram.c"
39003
0
    break;
39004
39005
0
  case 1425:
39006
0
#line 10300 "gram.y"
39007
0
    {
39008
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39009
0
          n->objectType = OBJECT_STATISTIC_EXT;
39010
0
          n->object = (Node *) (yyvsp[-3].list);
39011
0
          n->newowner = (yyvsp[0].rolespec);
39012
0
          (yyval.node) = (Node *)n;
39013
0
        }
39014
0
#line 39015 "gram.c"
39015
0
    break;
39016
39017
0
  case 1426:
39018
0
#line 10308 "gram.y"
39019
0
    {
39020
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39021
0
          n->objectType = OBJECT_TSDICTIONARY;
39022
0
          n->object = (Node *) (yyvsp[-3].list);
39023
0
          n->newowner = (yyvsp[0].rolespec);
39024
0
          (yyval.node) = (Node *)n;
39025
0
        }
39026
0
#line 39027 "gram.c"
39027
0
    break;
39028
39029
0
  case 1427:
39030
0
#line 10316 "gram.y"
39031
0
    {
39032
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39033
0
          n->objectType = OBJECT_TSCONFIGURATION;
39034
0
          n->object = (Node *) (yyvsp[-3].list);
39035
0
          n->newowner = (yyvsp[0].rolespec);
39036
0
          (yyval.node) = (Node *)n;
39037
0
        }
39038
0
#line 39039 "gram.c"
39039
0
    break;
39040
39041
5
  case 1428:
39042
5
#line 10324 "gram.y"
39043
5
    {
39044
5
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39045
5
          n->objectType = OBJECT_FDW;
39046
5
          n->object = (Node *) makeString((yyvsp[-3].str));
39047
5
          n->newowner = (yyvsp[0].rolespec);
39048
5
          (yyval.node) = (Node *)n;
39049
5
        }
39050
5
#line 39051 "gram.c"
39051
5
    break;
39052
39053
0
  case 1429:
39054
0
#line 10332 "gram.y"
39055
0
    {
39056
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39057
0
          n->objectType = OBJECT_FOREIGN_SERVER;
39058
0
          n->object = (Node *) makeString((yyvsp[-3].str));
39059
0
          n->newowner = (yyvsp[0].rolespec);
39060
0
          (yyval.node) = (Node *)n;
39061
0
        }
39062
0
#line 39063 "gram.c"
39063
0
    break;
39064
39065
0
  case 1430:
39066
0
#line 10340 "gram.y"
39067
0
    {
39068
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39069
0
          n->objectType = OBJECT_EVENT_TRIGGER;
39070
0
          n->object = (Node *) makeString((yyvsp[-3].str));
39071
0
          n->newowner = (yyvsp[0].rolespec);
39072
0
          (yyval.node) = (Node *)n;
39073
0
        }
39074
0
#line 39075 "gram.c"
39075
0
    break;
39076
39077
0
  case 1431:
39078
0
#line 10348 "gram.y"
39079
0
    {
39080
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39081
0
          n->objectType = OBJECT_PUBLICATION;
39082
0
          n->object = (Node *) makeString((yyvsp[-3].str));
39083
0
          n->newowner = (yyvsp[0].rolespec);
39084
0
          (yyval.node) = (Node *)n;
39085
0
        }
39086
0
#line 39087 "gram.c"
39087
0
    break;
39088
39089
0
  case 1432:
39090
0
#line 10356 "gram.y"
39091
0
    {
39092
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39093
0
          n->objectType = OBJECT_SUBSCRIPTION;
39094
0
          n->object = (Node *) makeString((yyvsp[-3].str));
39095
0
          n->newowner = (yyvsp[0].rolespec);
39096
0
          (yyval.node) = (Node *)n;
39097
0
        }
39098
0
#line 39099 "gram.c"
39099
0
    break;
39100
39101
0
  case 1433:
39102
0
#line 10374 "gram.y"
39103
0
    {
39104
0
          parser_ybc_not_support((yylsp[-4]), "CREATE PUBLICATION");
39105
0
          CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
39106
0
          n->pubname = (yyvsp[-2].str);
39107
0
          n->options = (yyvsp[0].list);
39108
0
          if ((yyvsp[-1].node) != NULL)
39109
0
          {
39110
            /* FOR TABLE */
39111
0
            if (IsA((yyvsp[-1].node), List))
39112
0
              n->tables = (List *)(yyvsp[-1].node);
39113
            /* FOR ALL TABLES */
39114
0
            else
39115
0
              n->for_all_tables = true;
39116
0
          }
39117
0
          (yyval.node) = (Node *)n;
39118
0
        }
39119
0
#line 39120 "gram.c"
39120
0
    break;
39121
39122
0
  case 1434:
39123
0
#line 10393 "gram.y"
39124
0
    { (yyval.node) = (yyvsp[0].node); }
39125
0
#line 39126 "gram.c"
39126
0
    break;
39127
39128
0
  case 1435:
39129
0
#line 10394 "gram.y"
39130
0
    { (yyval.node) = NULL; }
39131
0
#line 39132 "gram.c"
39132
0
    break;
39133
39134
0
  case 1436:
39135
0
#line 10399 "gram.y"
39136
0
    {
39137
0
          (yyval.node) = (Node *) (yyvsp[0].list);
39138
0
        }
39139
0
#line 39140 "gram.c"
39140
0
    break;
39141
39142
0
  case 1437:
39143
0
#line 10403 "gram.y"
39144
0
    {
39145
0
          (yyval.node) = (Node *) makeInteger(true);
39146
0
        }
39147
0
#line 39148 "gram.c"
39148
0
    break;
39149
39150
0
  case 1438:
39151
0
#line 10423 "gram.y"
39152
0
    {
39153
0
          parser_ybc_not_support((yylsp[-4]), "ALTER PUBLICATION <name>");
39154
0
          AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
39155
0
          n->pubname = (yyvsp[-2].str);
39156
0
          n->options = (yyvsp[0].list);
39157
0
          (yyval.node) = (Node *)n;
39158
0
        }
39159
0
#line 39160 "gram.c"
39160
0
    break;
39161
39162
0
  case 1439:
39163
0
#line 10431 "gram.y"
39164
0
    {
39165
0
          parser_ybc_not_support((yylsp[-5]), "ALTER PUBLICATION ADD TABLE");
39166
0
          AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
39167
0
          n->pubname = (yyvsp[-3].str);
39168
0
          n->tables = (yyvsp[0].list);
39169
0
          n->tableAction = DEFELEM_ADD;
39170
0
          (yyval.node) = (Node *)n;
39171
0
        }
39172
0
#line 39173 "gram.c"
39173
0
    break;
39174
39175
0
  case 1440:
39176
0
#line 10440 "gram.y"
39177
0
    {
39178
0
          parser_ybc_not_support((yylsp[-5]), "ALTER PUBLICATION SET TABLE");
39179
0
          AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
39180
0
          n->pubname = (yyvsp[-3].str);
39181
0
          n->tables = (yyvsp[0].list);
39182
0
          n->tableAction = DEFELEM_SET;
39183
0
          (yyval.node) = (Node *)n;
39184
0
        }
39185
0
#line 39186 "gram.c"
39186
0
    break;
39187
39188
0
  case 1441:
39189
0
#line 10449 "gram.y"
39190
0
    {
39191
0
          parser_ybc_not_support((yylsp[-5]), "ALTER PUBLICATION DROP TABLE");
39192
0
          AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
39193
0
          n->pubname = (yyvsp[-3].str);
39194
0
          n->tables = (yyvsp[0].list);
39195
0
          n->tableAction = DEFELEM_DROP;
39196
0
          (yyval.node) = (Node *)n;
39197
0
        }
39198
0
#line 39199 "gram.c"
39199
0
    break;
39200
39201
0
  case 1442:
39202
0
#line 10467 "gram.y"
39203
0
    {
39204
0
          parser_ybc_not_support((yylsp[-7]), "CREATE SUBSCRIPTION");
39205
0
          CreateSubscriptionStmt *n =
39206
0
            makeNode(CreateSubscriptionStmt);
39207
0
          n->subname = (yyvsp[-5].str);
39208
0
          n->conninfo = (yyvsp[-3].str);
39209
0
          n->publication = (yyvsp[-1].list);
39210
0
          n->options = (yyvsp[0].list);
39211
0
          (yyval.node) = (Node *)n;
39212
0
        }
39213
0
#line 39214 "gram.c"
39214
0
    break;
39215
39216
0
  case 1443:
39217
0
#line 10481 "gram.y"
39218
0
    {
39219
0
          (yyval.list) = list_make1((yyvsp[0].value));
39220
0
        }
39221
0
#line 39222 "gram.c"
39222
0
    break;
39223
39224
0
  case 1444:
39225
0
#line 10485 "gram.y"
39226
0
    {
39227
0
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value));
39228
0
        }
39229
0
#line 39230 "gram.c"
39230
0
    break;
39231
39232
0
  case 1445:
39233
0
#line 10491 "gram.y"
39234
0
    { (yyval.value) = makeString((yyvsp[0].str)); }
39235
0
#line 39236 "gram.c"
39236
0
    break;
39237
39238
0
  case 1446:
39239
0
#line 10501 "gram.y"
39240
0
    {
39241
0
          parser_ybc_not_support((yylsp[-4]), "ALTER SUBSCRIPTION");
39242
0
          AlterSubscriptionStmt *n =
39243
0
            makeNode(AlterSubscriptionStmt);
39244
0
          n->kind = ALTER_SUBSCRIPTION_OPTIONS;
39245
0
          n->subname = (yyvsp[-2].str);
39246
0
          n->options = (yyvsp[0].list);
39247
0
          (yyval.node) = (Node *)n;
39248
0
        }
39249
0
#line 39250 "gram.c"
39250
0
    break;
39251
39252
0
  case 1447:
39253
0
#line 10511 "gram.y"
39254
0
    {
39255
0
          parser_ybc_not_support((yylsp[-4]), "ALTER SUBSCRIPTION");
39256
0
          AlterSubscriptionStmt *n =
39257
0
            makeNode(AlterSubscriptionStmt);
39258
0
          n->kind = ALTER_SUBSCRIPTION_CONNECTION;
39259
0
          n->subname = (yyvsp[-2].str);
39260
0
          n->conninfo = (yyvsp[0].str);
39261
0
          (yyval.node) = (Node *)n;
39262
0
        }
39263
0
#line 39264 "gram.c"
39264
0
    break;
39265
39266
0
  case 1448:
39267
0
#line 10521 "gram.y"
39268
0
    {
39269
0
          parser_ybc_not_support((yylsp[-5]), "ALTER SUBSCRIPTION");
39270
0
          AlterSubscriptionStmt *n =
39271
0
            makeNode(AlterSubscriptionStmt);
39272
0
          n->kind = ALTER_SUBSCRIPTION_REFRESH;
39273
0
          n->subname = (yyvsp[-3].str);
39274
0
          n->options = (yyvsp[0].list);
39275
0
          (yyval.node) = (Node *)n;
39276
0
        }
39277
0
#line 39278 "gram.c"
39278
0
    break;
39279
39280
0
  case 1449:
39281
0
#line 10531 "gram.y"
39282
0
    {
39283
0
          parser_ybc_not_support((yylsp[-6]), "ALTER SUBSCRIPTION");
39284
0
          AlterSubscriptionStmt *n =
39285
0
            makeNode(AlterSubscriptionStmt);
39286
0
          n->kind = ALTER_SUBSCRIPTION_PUBLICATION;
39287
0
          n->subname = (yyvsp[-4].str);
39288
0
          n->publication = (yyvsp[-1].list);
39289
0
          n->options = (yyvsp[0].list);
39290
0
          (yyval.node) = (Node *)n;
39291
0
        }
39292
0
#line 39293 "gram.c"
39293
0
    break;
39294
39295
0
  case 1450:
39296
0
#line 10542 "gram.y"
39297
0
    {
39298
0
          parser_ybc_not_support((yylsp[-3]), "ALTER SUBSCRIPTION");
39299
0
          AlterSubscriptionStmt *n =
39300
0
            makeNode(AlterSubscriptionStmt);
39301
0
          n->kind = ALTER_SUBSCRIPTION_ENABLED;
39302
0
          n->subname = (yyvsp[-1].str);
39303
0
          n->options = list_make1(makeDefElem("enabled",
39304
0
                      (Node *)makeInteger(true), (yylsp[-3])));
39305
0
          (yyval.node) = (Node *)n;
39306
0
        }
39307
0
#line 39308 "gram.c"
39308
0
    break;
39309
39310
0
  case 1451:
39311
0
#line 10553 "gram.y"
39312
0
    {
39313
0
          parser_ybc_not_support((yylsp[-3]), "ALTER SUBSCRIPTION");
39314
0
          AlterSubscriptionStmt *n =
39315
0
            makeNode(AlterSubscriptionStmt);
39316
0
          n->kind = ALTER_SUBSCRIPTION_ENABLED;
39317
0
          n->subname = (yyvsp[-1].str);
39318
0
          n->options = list_make1(makeDefElem("enabled",
39319
0
                      (Node *)makeInteger(false), (yylsp[-3])));
39320
0
          (yyval.node) = (Node *)n;
39321
0
        }
39322
0
#line 39323 "gram.c"
39323
0
    break;
39324
39325
0
  case 1452:
39326
0
#line 10572 "gram.y"
39327
0
    {
39328
0
          parser_ybc_not_support((yylsp[-3]), "DROP SUBSCRIPTION");
39329
0
          DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
39330
0
          n->subname = (yyvsp[-1].str);
39331
0
          n->missing_ok = false;
39332
0
          n->behavior = (yyvsp[0].dbehavior);
39333
0
          (yyval.node) = (Node *) n;
39334
0
        }
39335
0
#line 39336 "gram.c"
39336
0
    break;
39337
39338
0
  case 1453:
39339
0
#line 10581 "gram.y"
39340
0
    {
39341
0
          parser_ybc_not_support((yylsp[-5]), "DROP SUBSCRIPTION");
39342
0
          DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
39343
0
          n->subname = (yyvsp[-1].str);
39344
0
          n->missing_ok = true;
39345
0
          n->behavior = (yyvsp[0].dbehavior);
39346
0
          (yyval.node) = (Node *) n;
39347
0
        }
39348
0
#line 39349 "gram.c"
39349
0
    break;
39350
39351
10
  case 1454:
39352
10
#line 10600 "gram.y"
39353
10
    {
39354
10
          RuleStmt *n = makeNode(RuleStmt);
39355
10
          n->replace = (yyvsp[-11].boolean);
39356
10
          n->relation = (yyvsp[-4].range);
39357
10
          n->rulename = (yyvsp[-9].str);
39358
10
          n->whereClause = (yyvsp[-3].node);
39359
10
          n->event = (yyvsp[-6].ival);
39360
10
          n->instead = (yyvsp[-1].boolean);
39361
10
          n->actions = (yyvsp[0].list);
39362
10
          (yyval.node) = (Node *)n;
39363
10
        }
39364
10
#line 39365 "gram.c"
39365
10
    break;
39366
39367
0
  case 1455:
39368
0
#line 10614 "gram.y"
39369
0
    { (yyval.list) = NIL; }
39370
0
#line 39371 "gram.c"
39371
0
    break;
39372
39373
10
  case 1456:
39374
10
#line 10615 "gram.y"
39375
10
    { (yyval.list) = list_make1((yyvsp[0].node)); }
39376
10
#line 39377 "gram.c"
39377
10
    break;
39378
39379
0
  case 1457:
39380
0
#line 10616 "gram.y"
39381
0
    { (yyval.list) = (yyvsp[-1].list); }
39382
0
#line 39383 "gram.c"
39383
0
    break;
39384
39385
0
  case 1458:
39386
0
#line 10622 "gram.y"
39387
0
    { if ((yyvsp[0].node) != NULL)
39388
0
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
39389
0
          else
39390
0
          (yyval.list) = (yyvsp[-2].list);
39391
0
        }
39392
0
#line 39393 "gram.c"
39393
0
    break;
39394
39395
0
  case 1459:
39396
0
#line 10628 "gram.y"
39397
0
    { if ((yyvsp[0].node) != NULL)
39398
0
          (yyval.list) = list_make1((yyvsp[0].node));
39399
0
          else
39400
0
          (yyval.list) = NIL;
39401
0
        }
39402
0
#line 39403 "gram.c"
39403
0
    break;
39404
39405
0
  case 1465:
39406
0
#line 10644 "gram.y"
39407
0
    { (yyval.node) = (yyvsp[0].node); }
39408
0
#line 39409 "gram.c"
39409
0
    break;
39410
39411
0
  case 1466:
39412
0
#line 10645 "gram.y"
39413
0
    { (yyval.node) = NULL; }
39414
0
#line 39415 "gram.c"
39415
0
    break;
39416
39417
8
  case 1467:
39418
8
#line 10648 "gram.y"
39419
8
    { (yyval.ival) = CMD_SELECT; }
39420
8
#line 39421 "gram.c"
39421
8
    break;
39422
39423
0
  case 1468:
39424
0
#line 10649 "gram.y"
39425
0
    { (yyval.ival) = CMD_UPDATE; }
39426
0
#line 39427 "gram.c"
39427
0
    break;
39428
39429
2
  case 1469:
39430
2
#line 10650 "gram.y"
39431
2
    { (yyval.ival) = CMD_DELETE; }
39432
2
#line 39433 "gram.c"
39433
2
    break;
39434
39435
0
  case 1470:
39436
0
#line 10651 "gram.y"
39437
0
    { (yyval.ival) = CMD_INSERT; }
39438
0
#line 39439 "gram.c"
39439
0
    break;
39440
39441
8
  case 1471:
39442
8
#line 10655 "gram.y"
39443
8
    { (yyval.boolean) = true; }
39444
8
#line 39445 "gram.c"
39445
8
    break;
39446
39447
0
  case 1472:
39448
0
#line 10656 "gram.y"
39449
0
    { (yyval.boolean) = false; }
39450
0
#line 39451 "gram.c"
39451
0
    break;
39452
39453
2
  case 1473:
39454
2
#line 10657 "gram.y"
39455
2
    { (yyval.boolean) = false; }
39456
2
#line 39457 "gram.c"
39457
2
    break;
39458
39459
0
  case 1474:
39460
0
#line 10670 "gram.y"
39461
0
    {
39462
0
          NotifyStmt *n = makeNode(NotifyStmt);
39463
0
          n->conditionname = (yyvsp[-1].str);
39464
0
          n->payload = (yyvsp[0].str);
39465
0
          (yyval.node) = (Node *)n;
39466
0
        }
39467
0
#line 39468 "gram.c"
39468
0
    break;
39469
39470
0
  case 1475:
39471
0
#line 10679 "gram.y"
39472
0
    { (yyval.str) = (yyvsp[0].str); }
39473
0
#line 39474 "gram.c"
39474
0
    break;
39475
39476
0
  case 1476:
39477
0
#line 10680 "gram.y"
39478
0
    { (yyval.str) = NULL; }
39479
0
#line 39480 "gram.c"
39480
0
    break;
39481
39482
0
  case 1477:
39483
0
#line 10684 "gram.y"
39484
0
    {
39485
0
          ListenStmt *n = makeNode(ListenStmt);
39486
0
          n->conditionname = (yyvsp[0].str);
39487
0
          (yyval.node) = (Node *)n;
39488
0
        }
39489
0
#line 39490 "gram.c"
39490
0
    break;
39491
39492
0
  case 1478:
39493
0
#line 10693 "gram.y"
39494
0
    {
39495
0
          UnlistenStmt *n = makeNode(UnlistenStmt);
39496
0
          n->conditionname = (yyvsp[0].str);
39497
0
          (yyval.node) = (Node *)n;
39498
0
        }
39499
0
#line 39500 "gram.c"
39500
0
    break;
39501
39502
0
  case 1479:
39503
0
#line 10699 "gram.y"
39504
0
    {
39505
0
          UnlistenStmt *n = makeNode(UnlistenStmt);
39506
0
          n->conditionname = NULL;
39507
0
          (yyval.node) = (Node *)n;
39508
0
        }
39509
0
#line 39510 "gram.c"
39510
0
    break;
39511
39512
49
  case 1480:
39513
49
#line 10718 "gram.y"
39514
49
    {
39515
49
          TransactionStmt *n = makeNode(TransactionStmt);
39516
49
          n->kind = TRANS_STMT_ROLLBACK;
39517
49
          n->options = NIL;
39518
49
          (yyval.node) = (Node *)n;
39519
49
        }
39520
49
#line 39521 "gram.c"
39521
49
    break;
39522
39523
2.41k
  case 1481:
39524
2.41k
#line 10725 "gram.y"
39525
2.41k
    {
39526
2.41k
          TransactionStmt *n = makeNode(TransactionStmt);
39527
2.41k
          n->kind = TRANS_STMT_BEGIN;
39528
2.41k
          n->options = (yyvsp[0].list);
39529
2.41k
          (yyval.node) = (Node *)n;
39530
2.41k
        }
39531
2.41k
#line 39532 "gram.c"
39532
2.41k
    break;
39533
39534
582
  case 1482:
39535
582
#line 10732 "gram.y"
39536
582
    {
39537
582
          TransactionStmt *n = makeNode(TransactionStmt);
39538
582
          n->kind = TRANS_STMT_START;
39539
582
          n->options = (yyvsp[0].list);
39540
582
          (yyval.node) = (Node *)n;
39541
582
        }
39542
582
#line 39543 "gram.c"
39543
582
    break;
39544
39545
2.51k
  case 1483:
39546
2.51k
#line 10739 "gram.y"
39547
2.51k
    {
39548
2.51k
          TransactionStmt *n = makeNode(TransactionStmt);
39549
2.51k
          n->kind = TRANS_STMT_COMMIT;
39550
2.51k
          n->options = NIL;
39551
2.51k
          (yyval.node) = (Node *)n;
39552
2.51k
        }
39553
2.51k
#line 39554 "gram.c"
39554
2.51k
    break;
39555
39556
46
  case 1484:
39557
46
#line 10746 "gram.y"
39558
46
    {
39559
46
          TransactionStmt *n = makeNode(TransactionStmt);
39560
46
          n->kind = TRANS_STMT_COMMIT;
39561
46
          n->options = NIL;
39562
46
          (yyval.node) = (Node *)n;
39563
46
        }
39564
46
#line 39565 "gram.c"
39565
46
    break;
39566
39567
544
  case 1485:
39568
544
#line 10753 "gram.y"
39569
544
    {
39570
544
          TransactionStmt *n = makeNode(TransactionStmt);
39571
544
          n->kind = TRANS_STMT_ROLLBACK;
39572
544
          n->options = NIL;
39573
544
          (yyval.node) = (Node *)n;
39574
544
        }
39575
544
#line 39576 "gram.c"
39576
544
    break;
39577
39578
50
  case 1486:
39579
50
#line 10760 "gram.y"
39580
50
    {
39581
50
          if (!YBSavepointsEnabled()) {
39582
0
            parser_ybc_signal_unsupported((yylsp[-1]), "SAVEPOINT <transaction>", 1125);
39583
0
          }
39584
50
          TransactionStmt *n = makeNode(TransactionStmt);
39585
50
          n->kind = TRANS_STMT_SAVEPOINT;
39586
50
          n->savepoint_name = (yyvsp[0].str);
39587
50
          (yyval.node) = (Node *)n;
39588
50
        }
39589
50
#line 39590 "gram.c"
39590
50
    break;
39591
39592
24
  case 1487:
39593
24
#line 10770 "gram.y"
39594
24
    {
39595
24
          if (!YBSavepointsEnabled()) {
39596
0
            parser_ybc_signal_unsupported((yylsp[-2]), "RELEASE SAVEPOINT <transaction>", 1125);
39597
0
          }
39598
24
          TransactionStmt *n = makeNode(TransactionStmt);
39599
24
          n->kind = TRANS_STMT_RELEASE;
39600
24
          n->savepoint_name = (yyvsp[0].str);
39601
24
          (yyval.node) = (Node *)n;
39602
24
        }
39603
24
#line 39604 "gram.c"
39604
24
    break;
39605
39606
0
  case 1488:
39607
0
#line 10780 "gram.y"
39608
0
    {
39609
0
          if (!YBSavepointsEnabled()) {
39610
0
            parser_ybc_signal_unsupported((yylsp[-1]), "RELEASE <transaction>", 1125);
39611
0
          }
39612
0
          TransactionStmt *n = makeNode(TransactionStmt);
39613
0
          n->kind = TRANS_STMT_RELEASE;
39614
0
          n->savepoint_name = (yyvsp[0].str);
39615
0
          (yyval.node) = (Node *)n;
39616
0
        }
39617
0
#line 39618 "gram.c"
39618
0
    break;
39619
39620
10
  case 1489:
39621
10
#line 10790 "gram.y"
39622
10
    {
39623
10
          if (!YBSavepointsEnabled()) {
39624
0
            parser_ybc_signal_unsupported((yylsp[-4]), "ROLLBACK <transaction>", 1125);
39625
0
          }
39626
10
          TransactionStmt *n = makeNode(TransactionStmt);
39627
10
          n->kind = TRANS_STMT_ROLLBACK_TO;
39628
10
          n->savepoint_name = (yyvsp[0].str);
39629
10
          (yyval.node) = (Node *)n;
39630
10
        }
39631
10
#line 39632 "gram.c"
39632
10
    break;
39633
39634
24
  case 1490:
39635
24
#line 10800 "gram.y"
39636
24
    {
39637
24
          if (!YBSavepointsEnabled()) {
39638
0
            parser_ybc_signal_unsupported((yylsp[-3]), "ROLLBACK <transaction>", 1125);
39639
0
          }
39640
24
          TransactionStmt *n = makeNode(TransactionStmt);
39641
24
          n->kind = TRANS_STMT_ROLLBACK_TO;
39642
24
          n->savepoint_name = (yyvsp[0].str);
39643
24
          (yyval.node) = (Node *)n;
39644
24
        }
39645
24
#line 39646 "gram.c"
39646
24
    break;
39647
39648
0
  case 1491:
39649
0
#line 10810 "gram.y"
39650
0
    {
39651
0
          parser_ybc_signal_unsupported((yylsp[-2]), "PREPARE TRANSACTION", 1125);
39652
0
          TransactionStmt *n = makeNode(TransactionStmt);
39653
0
          n->kind = TRANS_STMT_PREPARE;
39654
0
          n->gid = (yyvsp[0].str);
39655
0
          (yyval.node) = (Node *)n;
39656
0
        }
39657
0
#line 39658 "gram.c"
39658
0
    break;
39659
39660
0
  case 1492:
39661
0
#line 10818 "gram.y"
39662
0
    {
39663
0
          parser_ybc_signal_unsupported((yylsp[-2]), "COMMIT PREPARED", 1125);
39664
0
          TransactionStmt *n = makeNode(TransactionStmt);
39665
0
          n->kind = TRANS_STMT_COMMIT_PREPARED;
39666
0
          n->gid = (yyvsp[0].str);
39667
0
          (yyval.node) = (Node *)n;
39668
0
        }
39669
0
#line 39670 "gram.c"
39670
0
    break;
39671
39672
0
  case 1493:
39673
0
#line 10826 "gram.y"
39674
0
    {
39675
0
          parser_ybc_signal_unsupported((yylsp[-2]), "ROLLBACK PREPARED", 1125);
39676
0
          TransactionStmt *n = makeNode(TransactionStmt);
39677
0
          n->kind = TRANS_STMT_ROLLBACK_PREPARED;
39678
0
          n->gid = (yyvsp[0].str);
39679
0
          (yyval.node) = (Node *)n;
39680
0
        }
39681
0
#line 39682 "gram.c"
39682
0
    break;
39683
39684
4
  case 1494:
39685
4
#line 10835 "gram.y"
39686
4
    {}
39687
4
#line 39688 "gram.c"
39688
4
    break;
39689
39690
623
  case 1495:
39691
623
#line 10836 "gram.y"
39692
623
    {}
39693
623
#line 39694 "gram.c"
39694
623
    break;
39695
39696
4.97k
  case 1496:
39697
4.97k
#line 10837 "gram.y"
39698
4.97k
    {}
39699
4.97k
#line 39700 "gram.c"
39700
4.97k
    break;
39701
39702
1.92k
  case 1497:
39703
1.92k
#line 10842 "gram.y"
39704
1.92k
    { (yyval.defelt) = makeDefElem("transaction_isolation",
39705
1.92k
                     makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
39706
1.92k
#line 39707 "gram.c"
39707
1.92k
    break;
39708
39709
0
  case 1498:
39710
0
#line 10845 "gram.y"
39711
0
    { (yyval.defelt) = makeDefElem("transaction_read_only",
39712
0
                     makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
39713
0
#line 39714 "gram.c"
39714
0
    break;
39715
39716
0
  case 1499:
39717
0
#line 10848 "gram.y"
39718
0
    { (yyval.defelt) = makeDefElem("transaction_read_only",
39719
0
                     makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
39720
0
#line 39721 "gram.c"
39721
0
    break;
39722
39723
0
  case 1500:
39724
0
#line 10851 "gram.y"
39725
0
    {
39726
0
          (yyval.defelt) = makeDefElem("transaction_deferrable",
39727
0
                   makeIntConst(true, (yylsp[0])), (yylsp[0]));
39728
0
        }
39729
0
#line 39730 "gram.c"
39730
0
    break;
39731
39732
0
  case 1501:
39733
0
#line 10856 "gram.y"
39734
0
    {
39735
0
          (yyval.defelt) = makeDefElem("transaction_deferrable",
39736
0
                   makeIntConst(false, (yylsp[-1])), (yylsp[-1]));
39737
0
        }
39738
0
#line 39739 "gram.c"
39739
0
    break;
39740
39741
1.92k
  case 1502:
39742
1.92k
#line 10865 "gram.y"
39743
1.92k
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
39744
1.92k
#line 39745 "gram.c"
39745
1.92k
    break;
39746
39747
0
  case 1503:
39748
0
#line 10867 "gram.y"
39749
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
39750
0
#line 39751 "gram.c"
39751
0
    break;
39752
39753
0
  case 1504:
39754
0
#line 10869 "gram.y"
39755
0
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
39756
0
#line 39757 "gram.c"
39757
0
    break;
39758
39759
2.20k
  case 1506:
39760
2.20k
#line 10875 "gram.y"
39761
2.20k
    { (yyval.list) = NIL; }
39762
2.20k
#line 39763 "gram.c"
39763
2.20k
    break;
39764
39765
76
  case 1507:
39766
76
#line 10889 "gram.y"
39767
76
    {
39768
76
          ViewStmt *n = makeNode(ViewStmt);
39769
76
          n->view = (yyvsp[-5].range);
39770
76
          n->view->relpersistence = (yyvsp[-7].ival);
39771
76
          n->aliases = (yyvsp[-4].list);
39772
76
          n->query = (yyvsp[-1].node);
39773
76
          n->replace = false;
39774
76
          n->options = (yyvsp[-3].list);
39775
76
          n->withCheckOption = (yyvsp[0].ival);
39776
76
          (yyval.node) = (Node *) n;
39777
76
        }
39778
76
#line 39779 "gram.c"
39779
76
    break;
39780
39781
12
  case 1508:
39782
12
#line 10902 "gram.y"
39783
12
    {
39784
12
          ViewStmt *n = makeNode(ViewStmt);
39785
12
          n->view = (yyvsp[-5].range);
39786
12
          n->view->relpersistence = (yyvsp[-7].ival);
39787
12
          n->aliases = (yyvsp[-4].list);
39788
12
          n->query = (yyvsp[-1].node);
39789
12
          n->replace = true;
39790
12
          n->options = (yyvsp[-3].list);
39791
12
          n->withCheckOption = (yyvsp[0].ival);
39792
12
          (yyval.node) = (Node *) n;
39793
12
        }
39794
12
#line 39795 "gram.c"
39795
12
    break;
39796
39797
0
  case 1509:
39798
0
#line 10915 "gram.y"
39799
0
    {
39800
0
          parser_ybc_not_support((yylsp[-11]), "CREATE RECURSIVE VIEW");
39801
0
          ViewStmt *n = makeNode(ViewStmt);
39802
0
          n->view = (yyvsp[-7].range);
39803
0
          n->view->relpersistence = (yyvsp[-10].ival);
39804
0
          n->aliases = (yyvsp[-5].list);
39805
0
          n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
39806
0
          n->replace = false;
39807
0
          n->options = (yyvsp[-3].list);
39808
0
          n->withCheckOption = (yyvsp[0].ival);
39809
0
          if (n->withCheckOption != NO_CHECK_OPTION)
39810
0
            ereport(ERROR,
39811
0
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
39812
0
                 errmsg("WITH CHECK OPTION not supported on recursive views"),
39813
0
                 parser_errposition((yylsp[0]))));
39814
0
          (yyval.node) = (Node *) n;
39815
0
        }
39816
0
#line 39817 "gram.c"
39817
0
    break;
39818
39819
0
  case 1510:
39820
0
#line 10934 "gram.y"
39821
0
    {
39822
0
          parser_ybc_not_support((yylsp[-13]), "CREATE RECURSIVE VIEW");
39823
0
          ViewStmt *n = makeNode(ViewStmt);
39824
0
          n->view = (yyvsp[-7].range);
39825
0
          n->view->relpersistence = (yyvsp[-10].ival);
39826
0
          n->aliases = (yyvsp[-5].list);
39827
0
          n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
39828
0
          n->replace = true;
39829
0
          n->options = (yyvsp[-3].list);
39830
0
          n->withCheckOption = (yyvsp[0].ival);
39831
0
          if (n->withCheckOption != NO_CHECK_OPTION)
39832
0
            ereport(ERROR,
39833
0
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
39834
0
                 errmsg("WITH CHECK OPTION not supported on recursive views"),
39835
0
                 parser_errposition((yylsp[0]))));
39836
0
          (yyval.node) = (Node *) n;
39837
0
        }
39838
0
#line 39839 "gram.c"
39839
0
    break;
39840
39841
4
  case 1511:
39842
4
#line 10955 "gram.y"
39843
4
    {
39844
4
        parser_ybc_not_support((yylsp[-2]), "VIEW WITH CHECK OPTION");
39845
4
        (yyval.ival) = CASCADED_CHECK_OPTION;
39846
4
      }
39847
4
#line 39848 "gram.c"
39848
4
    break;
39849
39850
0
  case 1512:
39851
0
#line 10960 "gram.y"
39852
0
    {
39853
0
        parser_ybc_not_support((yylsp[-3]), "VIEW WITH CASCADED CHECK OPTION");
39854
0
        (yyval.ival) = CASCADED_CHECK_OPTION;
39855
0
      }
39856
0
#line 39857 "gram.c"
39857
0
    break;
39858
39859
0
  case 1513:
39860
0
#line 10965 "gram.y"
39861
0
    {
39862
0
        parser_ybc_not_support((yylsp[-3]), "VIEW WITH LOCAL CHECK OPTION");
39863
0
        (yyval.ival) = LOCAL_CHECK_OPTION;
39864
0
      }
39865
0
#line 39866 "gram.c"
39866
0
    break;
39867
39868
88
  case 1514:
39869
88
#line 10969 "gram.y"
39870
88
    { (yyval.ival) = NO_CHECK_OPTION; }
39871
88
#line 39872 "gram.c"
39872
88
    break;
39873
39874
0
  case 1515:
39875
0
#line 10980 "gram.y"
39876
0
    {
39877
0
          parser_ybc_not_support((yylsp[-1]), "LOAD");
39878
0
          LoadStmt *n = makeNode(LoadStmt);
39879
0
          n->filename = (yyvsp[0].str);
39880
0
          (yyval.node) = (Node *)n;
39881
0
        }
39882
0
#line 39883 "gram.c"
39883
0
    break;
39884
39885
34
  case 1516:
39886
34
#line 10997 "gram.y"
39887
34
    {
39888
34
          CreatedbStmt *n = makeNode(CreatedbStmt);
39889
34
          n->dbname = (yyvsp[-2].str);
39890
34
          n->options = (yyvsp[0].list);
39891
34
          (yyval.node) = (Node *)n;
39892
34
        }
39893
34
#line 39894 "gram.c"
39894
34
    break;
39895
39896
3
  case 1517:
39897
3
#line 11006 "gram.y"
39898
3
    { (yyval.list) = (yyvsp[0].list); }
39899
3
#line 39900 "gram.c"
39900
3
    break;
39901
39902
31
  case 1518:
39903
31
#line 11007 "gram.y"
39904
31
    { (yyval.list) = NIL; }
39905
31
#line 39906 "gram.c"
39906
31
    break;
39907
39908
3
  case 1519:
39909
3
#line 11011 "gram.y"
39910
3
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
39911
3
#line 39912 "gram.c"
39912
3
    break;
39913
39914
0
  case 1520:
39915
0
#line 11012 "gram.y"
39916
0
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
39917
0
#line 39918 "gram.c"
39918
0
    break;
39919
39920
0
  case 1521:
39921
0
#line 11017 "gram.y"
39922
0
    {
39923
0
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
39924
0
        }
39925
0
#line 39926 "gram.c"
39926
0
    break;
39927
39928
3
  case 1522:
39929
3
#line 11021 "gram.y"
39930
3
    {
39931
3
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
39932
3
        }
39933
3
#line 39934 "gram.c"
39934
3
    break;
39935
39936
0
  case 1523:
39937
0
#line 11025 "gram.y"
39938
0
    {
39939
0
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
39940
0
        }
39941
0
#line 39942 "gram.c"
39942
0
    break;
39943
39944
0
  case 1524:
39945
0
#line 11042 "gram.y"
39946
0
    { (yyval.str) = (yyvsp[0].str); }
39947
0
#line 39948 "gram.c"
39948
0
    break;
39949
39950
0
  case 1525:
39951
0
#line 11043 "gram.y"
39952
0
    { (yyval.str) = pstrdup("connection_limit"); }
39953
0
#line 39954 "gram.c"
39954
0
    break;
39955
39956
0
  case 1526:
39957
0
#line 11044 "gram.y"
39958
0
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39959
0
#line 39960 "gram.c"
39960
0
    break;
39961
39962
0
  case 1527:
39963
0
#line 11045 "gram.y"
39964
0
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39965
0
#line 39966 "gram.c"
39966
0
    break;
39967
39968
0
  case 1528:
39969
0
#line 11046 "gram.y"
39970
0
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39971
0
#line 39972 "gram.c"
39972
0
    break;
39973
39974
0
  case 1529:
39975
0
#line 11047 "gram.y"
39976
0
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39977
0
#line 39978 "gram.c"
39978
0
    break;
39979
39980
0
  case 1530:
39981
0
#line 11048 "gram.y"
39982
0
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39983
0
#line 39984 "gram.c"
39984
0
    break;
39985
39986
3
  case 1531:
39987
3
#line 11050 "gram.y"
39988
3
    {
39989
3
          (yyval.str) = pstrdup((yyvsp[0].keyword));
39990
3
        }
39991
3
#line 39992 "gram.c"
39992
3
    break;
39993
39994
3
  case 1532:
39995
3
#line 11059 "gram.y"
39996
3
    {}
39997
3
#line 39998 "gram.c"
39998
3
    break;
39999
40000
0
  case 1533:
40001
0
#line 11060 "gram.y"
40002
0
    {}
40003
0
#line 40004 "gram.c"
40004
0
    break;
40005
40006
0
  case 1534:
40007
0
#line 11072 "gram.y"
40008
0
    {
40009
0
          AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
40010
0
          n->dbname = (yyvsp[-2].str);
40011
0
          n->options = (yyvsp[0].list);
40012
0
          (yyval.node) = (Node *)n;
40013
0
         }
40014
0
#line 40015 "gram.c"
40015
0
    break;
40016
40017
0
  case 1535:
40018
0
#line 11079 "gram.y"
40019
0
    {
40020
0
          AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
40021
0
          n->dbname = (yyvsp[-1].str);
40022
0
          n->options = (yyvsp[0].list);
40023
0
          (yyval.node) = (Node *)n;
40024
0
         }
40025
0
#line 40026 "gram.c"
40026
0
    break;
40027
40028
0
  case 1536:
40029
0
#line 11086 "gram.y"
40030
0
    {
40031
0
          parser_ybc_not_support((yylsp[-5]), "ALTER DATABASE SET TABLESPACE");
40032
          // TODO(Deepayan): Ensure database shdep on tablespace updates to
40033
          // new tablespace
40034
0
          AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
40035
0
          n->dbname = (yyvsp[-3].str);
40036
0
          n->options = list_make1(makeDefElem("tablespace",
40037
0
                            (Node *)makeString((yyvsp[0].str)), (yylsp[0])));
40038
0
          (yyval.node) = (Node *)n;
40039
0
         }
40040
0
#line 40041 "gram.c"
40041
0
    break;
40042
40043
0
  case 1537:
40044
0
#line 11100 "gram.y"
40045
0
    {
40046
0
          AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
40047
0
          n->dbname = (yyvsp[-1].str);
40048
0
          n->setstmt = (yyvsp[0].vsetstmt);
40049
0
          (yyval.node) = (Node *)n;
40050
0
        }
40051
0
#line 40052 "gram.c"
40052
0
    break;
40053
40054
27
  case 1538:
40055
27
#line 11117 "gram.y"
40056
27
    {
40057
27
          DropdbStmt *n = makeNode(DropdbStmt);
40058
27
          n->dbname = (yyvsp[0].str);
40059
27
          n->missing_ok = false;
40060
27
          n->options = NULL;
40061
27
          (yyval.node) = (Node *)n;
40062
27
        }
40063
27
#line 40064 "gram.c"
40064
27
    break;
40065
40066
2
  case 1539:
40067
2
#line 11125 "gram.y"
40068
2
    {
40069
2
          DropdbStmt *n = makeNode(DropdbStmt);
40070
2
          n->dbname = (yyvsp[0].str);
40071
2
          n->missing_ok = true;
40072
2
          n->options = NULL;
40073
2
          (yyval.node) = (Node *)n;
40074
2
        }
40075
2
#line 40076 "gram.c"
40076
2
    break;
40077
40078
0
  case 1540:
40079
0
#line 11133 "gram.y"
40080
0
    {
40081
0
          DropdbStmt *n = makeNode(DropdbStmt);
40082
0
          n->dbname = (yyvsp[-4].str);
40083
0
          n->missing_ok = false;
40084
0
          n->options = (yyvsp[-1].list);
40085
0
          (yyval.node) = (Node *)n;
40086
0
        }
40087
0
#line 40088 "gram.c"
40088
0
    break;
40089
40090
0
  case 1541:
40091
0
#line 11141 "gram.y"
40092
0
    {
40093
0
          DropdbStmt *n = makeNode(DropdbStmt);
40094
0
          n->dbname = (yyvsp[-4].str);
40095
0
          n->missing_ok = true;
40096
0
          n->options = (yyvsp[-1].list);
40097
0
          (yyval.node) = (Node *)n;
40098
0
        }
40099
0
#line 40100 "gram.c"
40100
0
    break;
40101
40102
0
  case 1542:
40103
0
#line 11152 "gram.y"
40104
0
    {
40105
0
          (yyval.list) = list_make1((Node *) (yyvsp[0].defelt));
40106
0
        }
40107
0
#line 40108 "gram.c"
40108
0
    break;
40109
40110
0
  case 1543:
40111
0
#line 11156 "gram.y"
40112
0
    {
40113
0
          (yyval.list) = lappend((yyvsp[-2].list), (Node *) (yyvsp[0].defelt));
40114
0
        }
40115
0
#line 40116 "gram.c"
40116
0
    break;
40117
40118
0
  case 1544:
40119
0
#line 11167 "gram.y"
40120
0
    {
40121
0
          (yyval.defelt) = makeDefElem("force", NULL, (yylsp[0]));
40122
0
        }
40123
0
#line 40124 "gram.c"
40124
0
    break;
40125
40126
0
  case 1545:
40127
0
#line 11179 "gram.y"
40128
0
    {
40129
0
          if (!YBIsCollationEnabled())
40130
0
            parser_ybc_not_support((yylsp[-4]), "ALTER COLLATION");
40131
0
          AlterCollationStmt *n = makeNode(AlterCollationStmt);
40132
0
          n->collname = (yyvsp[-2].list);
40133
0
          (yyval.node) = (Node *)n;
40134
0
        }
40135
0
#line 40136 "gram.c"
40136
0
    break;
40137
40138
0
  case 1546:
40139
0
#line 11198 "gram.y"
40140
0
    {
40141
0
          parser_ybc_not_support((yylsp[-3]), "ALTER SYSTEM");
40142
0
          AlterSystemStmt *n = makeNode(AlterSystemStmt);
40143
0
          n->setstmt = (yyvsp[0].vsetstmt);
40144
0
          (yyval.node) = (Node *)n;
40145
0
        }
40146
0
#line 40147 "gram.c"
40147
0
    break;
40148
40149
0
  case 1547:
40150
0
#line 11205 "gram.y"
40151
0
    {
40152
0
          parser_ybc_not_support((yylsp[-3]), "ALTER SYSTEM RESET");
40153
0
          AlterSystemStmt *n = makeNode(AlterSystemStmt);
40154
0
          n->setstmt = (yyvsp[0].vsetstmt);
40155
0
          (yyval.node) = (Node *)n;
40156
0
        }
40157
0
#line 40158 "gram.c"
40158
0
    break;
40159
40160
23
  case 1548:
40161
23
#line 11222 "gram.y"
40162
23
    {
40163
23
          CreateDomainStmt *n = makeNode(CreateDomainStmt);
40164
23
          n->domainname = (yyvsp[-3].list);
40165
23
          n->typeName = (yyvsp[-1].typnam);
40166
23
          SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
40167
23
                   yyscanner);
40168
23
          (yyval.node) = (Node *)n;
40169
23
        }
40170
23
#line 40171 "gram.c"
40171
23
    break;
40172
40173
2
  case 1549:
40174
2
#line 11235 "gram.y"
40175
2
    {
40176
2
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40177
2
          n->subtype = 'T';
40178
2
          n->typeName = (yyvsp[-1].list);
40179
2
          n->def = (yyvsp[0].node);
40180
2
          (yyval.node) = (Node *)n;
40181
2
        }
40182
2
#line 40183 "gram.c"
40183
2
    break;
40184
40185
0
  case 1550:
40186
0
#line 11244 "gram.y"
40187
0
    {
40188
0
          parser_ybc_not_support((yylsp[-5]), "ALTER DOMAIN DROP NOT NULL");
40189
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40190
0
          n->subtype = 'N';
40191
0
          n->typeName = (yyvsp[-3].list);
40192
0
          (yyval.node) = (Node *)n;
40193
0
        }
40194
0
#line 40195 "gram.c"
40195
0
    break;
40196
40197
0
  case 1551:
40198
0
#line 11253 "gram.y"
40199
0
    {
40200
0
          parser_ybc_not_support((yylsp[-5]), "ALTER DOMAIN SET NOT NULL");
40201
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40202
0
          n->subtype = 'O';
40203
0
          n->typeName = (yyvsp[-3].list);
40204
0
          (yyval.node) = (Node *)n;
40205
0
        }
40206
0
#line 40207 "gram.c"
40207
0
    break;
40208
40209
0
  case 1552:
40210
0
#line 11262 "gram.y"
40211
0
    {
40212
0
          parser_ybc_not_support((yylsp[-4]), "ALTER DOMAIN ADD CONSTRAINT");
40213
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40214
0
          n->subtype = 'C';
40215
0
          n->typeName = (yyvsp[-2].list);
40216
0
          n->def = (yyvsp[0].node);
40217
0
          (yyval.node) = (Node *)n;
40218
0
        }
40219
0
#line 40220 "gram.c"
40220
0
    break;
40221
40222
0
  case 1553:
40223
0
#line 11272 "gram.y"
40224
0
    {
40225
0
          parser_ybc_not_support((yylsp[-6]), "ALTER DOMAIN DROP CONSTRAINT");
40226
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40227
0
          n->subtype = 'X';
40228
0
          n->typeName = (yyvsp[-4].list);
40229
0
          n->name = (yyvsp[-1].str);
40230
0
          n->behavior = (yyvsp[0].dbehavior);
40231
0
          n->missing_ok = false;
40232
0
          (yyval.node) = (Node *)n;
40233
0
        }
40234
0
#line 40235 "gram.c"
40235
0
    break;
40236
40237
0
  case 1554:
40238
0
#line 11284 "gram.y"
40239
0
    {
40240
0
          parser_ybc_not_support((yylsp[-8]), "ALTER DOMAIN DROP CONSTRAINT");
40241
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40242
0
          n->subtype = 'X';
40243
0
          n->typeName = (yyvsp[-6].list);
40244
0
          n->name = (yyvsp[-1].str);
40245
0
          n->behavior = (yyvsp[0].dbehavior);
40246
0
          n->missing_ok = true;
40247
0
          (yyval.node) = (Node *)n;
40248
0
        }
40249
0
#line 40250 "gram.c"
40250
0
    break;
40251
40252
0
  case 1555:
40253
0
#line 11296 "gram.y"
40254
0
    {
40255
0
          parser_ybc_not_support((yylsp[-5]), "ALTER DOMAIN VALIDATE CONSTRAINT");
40256
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40257
0
          n->subtype = 'V';
40258
0
          n->typeName = (yyvsp[-3].list);
40259
0
          n->name = (yyvsp[0].str);
40260
0
          (yyval.node) = (Node *)n;
40261
0
        }
40262
0
#line 40263 "gram.c"
40263
0
    break;
40264
40265
19
  case 1556:
40266
19
#line 11306 "gram.y"
40267
19
    {}
40268
19
#line 40269 "gram.c"
40269
19
    break;
40270
40271
46
  case 1557:
40272
46
#line 11307 "gram.y"
40273
46
    {}
40274
46
#line 40275 "gram.c"
40275
46
    break;
40276
40277
0
  case 1558:
40278
0
#line 11319 "gram.y"
40279
0
    {
40280
0
          parser_ybc_not_support((yylsp[-5]), "ALTER TEXT SEARCH DICTIONARY");
40281
0
          AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
40282
0
          n->dictname = (yyvsp[-1].list);
40283
0
          n->options = (yyvsp[0].list);
40284
0
          (yyval.node) = (Node *)n;
40285
0
        }
40286
0
#line 40287 "gram.c"
40287
0
    break;
40288
40289
0
  case 1559:
40290
0
#line 11330 "gram.y"
40291
0
    {
40292
0
          parser_ybc_not_support((yylsp[-10]), "ALTER TEXT SEARCH CONFIGURATION");
40293
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40294
0
          n->kind = ALTER_TSCONFIG_ADD_MAPPING;
40295
0
          n->cfgname = (yyvsp[-6].list);
40296
0
          n->tokentype = (yyvsp[-2].list);
40297
0
          n->dicts = (yyvsp[0].list);
40298
0
          n->override = false;
40299
0
          n->replace = false;
40300
0
          (yyval.node) = (Node*)n;
40301
0
        }
40302
0
#line 40303 "gram.c"
40303
0
    break;
40304
40305
0
  case 1560:
40306
0
#line 11342 "gram.y"
40307
0
    {
40308
0
          parser_ybc_not_support((yylsp[-10]), "ALTER TEXT SEARCH CONFIGURATION");
40309
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40310
0
          n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
40311
0
          n->cfgname = (yyvsp[-6].list);
40312
0
          n->tokentype = (yyvsp[-2].list);
40313
0
          n->dicts = (yyvsp[0].list);
40314
0
          n->override = true;
40315
0
          n->replace = false;
40316
0
          (yyval.node) = (Node*)n;
40317
0
        }
40318
0
#line 40319 "gram.c"
40319
0
    break;
40320
40321
0
  case 1561:
40322
0
#line 11354 "gram.y"
40323
0
    {
40324
0
          parser_ybc_not_support((yylsp[-10]), "ALTER TEXT SEARCH CONFIGURATION");
40325
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40326
0
          n->kind = ALTER_TSCONFIG_REPLACE_DICT;
40327
0
          n->cfgname = (yyvsp[-6].list);
40328
0
          n->tokentype = NIL;
40329
0
          n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
40330
0
          n->override = false;
40331
0
          n->replace = true;
40332
0
          (yyval.node) = (Node*)n;
40333
0
        }
40334
0
#line 40335 "gram.c"
40335
0
    break;
40336
40337
0
  case 1562:
40338
0
#line 11366 "gram.y"
40339
0
    {
40340
0
          parser_ybc_not_support((yylsp[-12]), "ALTER TEXT SEARCH CONFIGURATION");
40341
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40342
0
          n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
40343
0
          n->cfgname = (yyvsp[-8].list);
40344
0
          n->tokentype = (yyvsp[-4].list);
40345
0
          n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
40346
0
          n->override = false;
40347
0
          n->replace = true;
40348
0
          (yyval.node) = (Node*)n;
40349
0
        }
40350
0
#line 40351 "gram.c"
40351
0
    break;
40352
40353
0
  case 1563:
40354
0
#line 11378 "gram.y"
40355
0
    {
40356
0
          parser_ybc_not_support((yylsp[-8]), "ALTER TEXT SEARCH CONFIGURATION");
40357
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40358
0
          n->kind = ALTER_TSCONFIG_DROP_MAPPING;
40359
0
          n->cfgname = (yyvsp[-4].list);
40360
0
          n->tokentype = (yyvsp[0].list);
40361
0
          n->missing_ok = false;
40362
0
          (yyval.node) = (Node*)n;
40363
0
        }
40364
0
#line 40365 "gram.c"
40365
0
    break;
40366
40367
0
  case 1564:
40368
0
#line 11388 "gram.y"
40369
0
    {
40370
0
          parser_ybc_not_support((yylsp[-10]), "ALTER TEXT SEARCH CONFIGURATION");
40371
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40372
0
          n->kind = ALTER_TSCONFIG_DROP_MAPPING;
40373
0
          n->cfgname = (yyvsp[-6].list);
40374
0
          n->tokentype = (yyvsp[0].list);
40375
0
          n->missing_ok = true;
40376
0
          (yyval.node) = (Node*)n;
40377
0
        }
40378
0
#line 40379 "gram.c"
40379
0
    break;
40380
40381
0
  case 1565:
40382
0
#line 11400 "gram.y"
40383
0
    {}
40384
0
#line 40385 "gram.c"
40385
0
    break;
40386
40387
0
  case 1566:
40388
0
#line 11401 "gram.y"
40389
0
    {}
40390
0
#line 40391 "gram.c"
40391
0
    break;
40392
40393
0
  case 1567:
40394
0
#line 11417 "gram.y"
40395
0
    {
40396
0
        parser_ybc_not_support((yylsp[-9]), "CREATE CONVERSION");
40397
0
        CreateConversionStmt *n = makeNode(CreateConversionStmt);
40398
0
        n->conversion_name = (yyvsp[-6].list);
40399
0
        n->for_encoding_name = (yyvsp[-4].str);
40400
0
        n->to_encoding_name = (yyvsp[-2].str);
40401
0
        n->func_name = (yyvsp[0].list);
40402
0
        n->def = (yyvsp[-8].boolean);
40403
0
        (yyval.node) = (Node *)n;
40404
0
      }
40405
0
#line 40406 "gram.c"
40406
0
    break;
40407
40408
0
  case 1568:
40409
0
#line 11440 "gram.y"
40410
0
    {
40411
0
          parser_ybc_not_support((yylsp[-3]), "CLUSTER");
40412
0
          ClusterStmt *n = makeNode(ClusterStmt);
40413
0
          n->relation = (yyvsp[-1].range);
40414
0
          n->indexname = (yyvsp[0].str);
40415
0
          n->verbose = (yyvsp[-2].boolean);
40416
0
          (yyval.node) = (Node*)n;
40417
0
        }
40418
0
#line 40419 "gram.c"
40419
0
    break;
40420
40421
0
  case 1569:
40422
0
#line 11449 "gram.y"
40423
0
    {
40424
0
          parser_ybc_not_support((yylsp[-1]), "CLUSTER");
40425
0
          ClusterStmt *n = makeNode(ClusterStmt);
40426
0
          n->relation = NULL;
40427
0
          n->indexname = NULL;
40428
0
          n->verbose = (yyvsp[0].boolean);
40429
0
          (yyval.node) = (Node*)n;
40430
0
        }
40431
0
#line 40432 "gram.c"
40432
0
    break;
40433
40434
0
  case 1570:
40435
0
#line 11459 "gram.y"
40436
0
    {
40437
0
          parser_ybc_not_support((yylsp[-4]), "CLUSTER");
40438
0
          ClusterStmt *n = makeNode(ClusterStmt);
40439
0
          n->relation = (yyvsp[0].range);
40440
0
          n->indexname = (yyvsp[-2].str);
40441
0
          n->verbose = (yyvsp[-3].boolean);
40442
0
          (yyval.node) = (Node*)n;
40443
0
        }
40444
0
#line 40445 "gram.c"
40445
0
    break;
40446
40447
0
  case 1571:
40448
0
#line 11470 "gram.y"
40449
0
    { (yyval.str) = (yyvsp[0].str); }
40450
0
#line 40451 "gram.c"
40451
0
    break;
40452
40453
0
  case 1572:
40454
0
#line 11471 "gram.y"
40455
0
    { (yyval.str) = NULL; }
40456
0
#line 40457 "gram.c"
40457
0
    break;
40458
40459
5
  case 1573:
40460
5
#line 11484 "gram.y"
40461
5
    {
40462
5
          VacuumStmt *n = makeNode(VacuumStmt);
40463
5
          n->options = VACOPT_VACUUM;
40464
5
          if ((yyvsp[-4].boolean))
40465
0
            n->options |= VACOPT_FULL;
40466
5
          if ((yyvsp[-3].boolean))
40467
0
            n->options |= VACOPT_FREEZE;
40468
5
          if ((yyvsp[-2].boolean))
40469
0
            n->options |= VACOPT_VERBOSE;
40470
5
          if ((yyvsp[-1].boolean))
40471
4
            n->options |= VACOPT_ANALYZE;
40472
5
          n->rels = (yyvsp[0].list);
40473
5
          (yyval.node) = (Node *)n;
40474
5
        }
40475
5
#line 40476 "gram.c"
40476
5
    break;
40477
40478
0
  case 1574:
40479
0
#line 11499 "gram.y"
40480
0
    {
40481
0
          VacuumStmt *n = makeNode(VacuumStmt);
40482
0
          n->options = VACOPT_VACUUM | (yyvsp[-2].ival);
40483
0
          n->rels = (yyvsp[0].list);
40484
0
          (yyval.node) = (Node *) n;
40485
0
        }
40486
0
#line 40487 "gram.c"
40487
0
    break;
40488
40489
0
  case 1575:
40490
0
#line 11508 "gram.y"
40491
0
    { (yyval.ival) = (yyvsp[0].ival); }
40492
0
#line 40493 "gram.c"
40493
0
    break;
40494
40495
0
  case 1576:
40496
0
#line 11509 "gram.y"
40497
0
    { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
40498
0
#line 40499 "gram.c"
40499
0
    break;
40500
40501
0
  case 1577:
40502
0
#line 11513 "gram.y"
40503
0
    { (yyval.ival) = VACOPT_ANALYZE; }
40504
0
#line 40505 "gram.c"
40505
0
    break;
40506
40507
0
  case 1578:
40508
0
#line 11514 "gram.y"
40509
0
    { (yyval.ival) = VACOPT_VERBOSE; }
40510
0
#line 40511 "gram.c"
40511
0
    break;
40512
40513
0
  case 1579:
40514
0
#line 11515 "gram.y"
40515
0
    { (yyval.ival) = VACOPT_FREEZE; }
40516
0
#line 40517 "gram.c"
40517
0
    break;
40518
40519
0
  case 1580:
40520
0
#line 11516 "gram.y"
40521
0
    { (yyval.ival) = VACOPT_FULL; }
40522
0
#line 40523 "gram.c"
40523
0
    break;
40524
40525
0
  case 1581:
40526
0
#line 11518 "gram.y"
40527
0
    {
40528
0
          if (strcmp((yyvsp[0].str), "disable_page_skipping") == 0)
40529
0
            (yyval.ival) = VACOPT_DISABLE_PAGE_SKIPPING;
40530
0
          else
40531
0
            ereport(ERROR,
40532
0
                (errcode(ERRCODE_SYNTAX_ERROR),
40533
0
               errmsg("unrecognized VACUUM option \"%s\"", (yyvsp[0].str)),
40534
0
                   parser_errposition((yylsp[0]))));
40535
0
        }
40536
0
#line 40537 "gram.c"
40537
0
    break;
40538
40539
175
  case 1582:
40540
175
#line 11530 "gram.y"
40541
175
    {
40542
175
          VacuumStmt *n = makeNode(VacuumStmt);
40543
175
          n->options = VACOPT_ANALYZE;
40544
175
          if ((yyvsp[-1].boolean))
40545
0
            n->options |= VACOPT_VERBOSE;
40546
175
          n->rels = (yyvsp[0].list);
40547
175
          (yyval.node) = (Node *)n;
40548
175
        }
40549
175
#line 40550 "gram.c"
40550
175
    break;
40551
40552
0
  case 1583:
40553
0
#line 11539 "gram.y"
40554
0
    {
40555
0
          VacuumStmt *n = makeNode(VacuumStmt);
40556
0
          n->options = VACOPT_ANALYZE | (yyvsp[-2].ival);
40557
0
          n->rels = (yyvsp[0].list);
40558
0
          (yyval.node) = (Node *) n;
40559
0
        }
40560
0
#line 40561 "gram.c"
40561
0
    break;
40562
40563
0
  case 1584:
40564
0
#line 11548 "gram.y"
40565
0
    { (yyval.ival) = (yyvsp[0].ival); }
40566
0
#line 40567 "gram.c"
40567
0
    break;
40568
40569
0
  case 1585:
40570
0
#line 11549 "gram.y"
40571
0
    { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
40572
0
#line 40573 "gram.c"
40573
0
    break;
40574
40575
0
  case 1586:
40576
0
#line 11553 "gram.y"
40577
0
    { (yyval.ival) = VACOPT_VERBOSE; }
40578
0
#line 40579 "gram.c"
40579
0
    break;
40580
40581
419
  case 1587:
40582
419
#line 11557 "gram.y"
40583
419
    {}
40584
419
#line 40585 "gram.c"
40585
419
    break;
40586
40587
0
  case 1588:
40588
0
#line 11558 "gram.y"
40589
0
    {}
40590
0
#line 40591 "gram.c"
40591
0
    break;
40592
40593
4
  case 1589:
40594
4
#line 11562 "gram.y"
40595
4
    { (yyval.boolean) = true; }
40596
4
#line 40597 "gram.c"
40597
4
    break;
40598
40599
1
  case 1590:
40600
1
#line 11563 "gram.y"
40601
1
    { (yyval.boolean) = false; }
40602
1
#line 40603 "gram.c"
40603
1
    break;
40604
40605
0
  case 1591:
40606
0
#line 11567 "gram.y"
40607
0
    { (yyval.boolean) = true; }
40608
0
#line 40609 "gram.c"
40609
0
    break;
40610
40611
180
  case 1592:
40612
180
#line 11568 "gram.y"
40613
180
    { (yyval.boolean) = false; }
40614
180
#line 40615 "gram.c"
40615
180
    break;
40616
40617
0
  case 1593:
40618
0
#line 11571 "gram.y"
40619
0
    { (yyval.boolean) = true; }
40620
0
#line 40621 "gram.c"
40621
0
    break;
40622
40623
5
  case 1594:
40624
5
#line 11572 "gram.y"
40625
5
    { (yyval.boolean) = false; }
40626
5
#line 40627 "gram.c"
40627
5
    break;
40628
40629
0
  case 1595:
40630
0
#line 11575 "gram.y"
40631
0
    { (yyval.boolean) = true; }
40632
0
#line 40633 "gram.c"
40633
0
    break;
40634
40635
5
  case 1596:
40636
5
#line 11576 "gram.y"
40637
5
    { (yyval.boolean) = false; }
40638
5
#line 40639 "gram.c"
40639
5
    break;
40640
40641
931
  case 1597:
40642
931
#line 11580 "gram.y"
40643
931
    { (yyval.list) = (yyvsp[-1].list); }
40644
931
#line 40645 "gram.c"
40645
931
    break;
40646
40647
7.38k
  case 1598:
40648
7.38k
#line 11581 "gram.y"
40649
7.38k
    { (yyval.list) = NIL; }
40650
7.38k
#line 40651 "gram.c"
40651
7.38k
    break;
40652
40653
181
  case 1599:
40654
181
#line 11586 "gram.y"
40655
181
    {
40656
181
          (yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
40657
181
        }
40658
181
#line 40659 "gram.c"
40659
181
    break;
40660
40661
179
  case 1600:
40662
179
#line 11593 "gram.y"
40663
179
    { (yyval.list) = list_make1((yyvsp[0].node)); }
40664
179
#line 40665 "gram.c"
40665
179
    break;
40666
40667
2
  case 1601:
40668
2
#line 11595 "gram.y"
40669
2
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
40670
2
#line 40671 "gram.c"
40671
2
    break;
40672
40673
179
  case 1602:
40674
179
#line 11599 "gram.y"
40675
179
    { (yyval.list) = (yyvsp[0].list); }
40676
179
#line 40677 "gram.c"
40677
179
    break;
40678
40679
1
  case 1603:
40680
1
#line 11600 "gram.y"
40681
1
    { (yyval.list) = NIL; }
40682
1
#line 40683 "gram.c"
40683
1
    break;
40684
40685
919
  case 1604:
40686
919
#line 11614 "gram.y"
40687
919
    {
40688
919
          ExplainStmt *n = makeNode(ExplainStmt);
40689
919
          n->query = (yyvsp[0].node);
40690
919
          n->options = NIL;
40691
919
          (yyval.node) = (Node *) n;
40692
919
        }
40693
919
#line 40694 "gram.c"
40694
919
    break;
40695
40696
0
  case 1605:
40697
0
#line 11621 "gram.y"
40698
0
    {
40699
0
          ExplainStmt *n = makeNode(ExplainStmt);
40700
0
          n->query = (yyvsp[0].node);
40701
0
          n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
40702
0
          if ((yyvsp[-1].boolean))
40703
0
            n->options = lappend(n->options,
40704
0
                       makeDefElem("verbose", NULL, (yylsp[-1])));
40705
0
          (yyval.node) = (Node *) n;
40706
0
        }
40707
0
#line 40708 "gram.c"
40708
0
    break;
40709
40710
0
  case 1606:
40711
0
#line 11631 "gram.y"
40712
0
    {
40713
0
          ExplainStmt *n = makeNode(ExplainStmt);
40714
0
          n->query = (yyvsp[0].node);
40715
0
          n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
40716
0
          (yyval.node) = (Node *) n;
40717
0
        }
40718
0
#line 40719 "gram.c"
40719
0
    break;
40720
40721
728
  case 1607:
40722
728
#line 11638 "gram.y"
40723
728
    {
40724
728
          ExplainStmt *n = makeNode(ExplainStmt);
40725
728
          n->query = (yyvsp[0].node);
40726
728
          n->options = (yyvsp[-2].list);
40727
728
          (yyval.node) = (Node *) n;
40728
728
        }
40729
728
#line 40730 "gram.c"
40730
728
    break;
40731
40732
730
  case 1617:
40733
730
#line 11660 "gram.y"
40734
730
    {
40735
730
          (yyval.list) = list_make1((yyvsp[0].defelt));
40736
730
        }
40737
730
#line 40738 "gram.c"
40738
730
    break;
40739
40740
462
  case 1618:
40741
462
#line 11664 "gram.y"
40742
462
    {
40743
462
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
40744
462
        }
40745
462
#line 40746 "gram.c"
40746
462
    break;
40747
40748
1.19k
  case 1619:
40749
1.19k
#line 11671 "gram.y"
40750
1.19k
    {
40751
1.19k
          (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
40752
1.19k
        }
40753
1.19k
#line 40754 "gram.c"
40754
1.19k
    break;
40755
40756
952
  case 1620:
40757
952
#line 11677 "gram.y"
40758
952
    { (yyval.str) = (yyvsp[0].str); }
40759
952
#line 40760 "gram.c"
40760
952
    break;
40761
40762
240
  case 1621:
40763
240
#line 11678 "gram.y"
40764
240
    { (yyval.str) = "analyze"; }
40765
240
#line 40766 "gram.c"
40766
240
    break;
40767
40768
970
  case 1622:
40769
970
#line 11682 "gram.y"
40770
970
    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
40771
970
#line 40772 "gram.c"
40772
970
    break;
40773
40774
0
  case 1623:
40775
0
#line 11683 "gram.y"
40776
0
    { (yyval.node) = (Node *) (yyvsp[0].value); }
40777
0
#line 40778 "gram.c"
40778
0
    break;
40779
40780
222
  case 1624:
40781
222
#line 11684 "gram.y"
40782
222
    { (yyval.node) = NULL; }
40783
222
#line 40784 "gram.c"
40784
222
    break;
40785
40786
34
  case 1625:
40787
34
#line 11695 "gram.y"
40788
34
    {
40789
34
          PrepareStmt *n = makeNode(PrepareStmt);
40790
34
          n->name = (yyvsp[-3].str);
40791
34
          n->argtypes = (yyvsp[-2].list);
40792
34
          n->query = (yyvsp[0].node);
40793
34
          (yyval.node) = (Node *) n;
40794
34
        }
40795
34
#line 40796 "gram.c"
40796
34
    break;
40797
40798
19
  case 1626:
40799
19
#line 11704 "gram.y"
40800
19
    { (yyval.list) = (yyvsp[-1].list); }
40801
19
#line 40802 "gram.c"
40802
19
    break;
40803
40804
15
  case 1627:
40805
15
#line 11705 "gram.y"
40806
15
    { (yyval.list) = NIL; }
40807
15
#line 40808 "gram.c"
40808
15
    break;
40809
40810
107
  case 1632:
40811
107
#line 11723 "gram.y"
40812
107
    {
40813
107
          ExecuteStmt *n = makeNode(ExecuteStmt);
40814
107
          n->name = (yyvsp[-1].str);
40815
107
          n->params = (yyvsp[0].list);
40816
107
          (yyval.node) = (Node *) n;
40817
107
        }
40818
107
#line 40819 "gram.c"
40819
107
    break;
40820
40821
0
  case 1633:
40822
0
#line 11731 "gram.y"
40823
0
    {
40824
0
          parser_ybc_not_support((yylsp[-8]), "CREATE TABLE AS EXECUTE");
40825
0
          CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
40826
0
          ExecuteStmt *n = makeNode(ExecuteStmt);
40827
0
          n->name = (yyvsp[-2].str);
40828
0
          n->params = (yyvsp[-1].list);
40829
0
          ctas->query = (Node *) n;
40830
0
          ctas->into = (yyvsp[-5].into);
40831
0
          ctas->relkind = OBJECT_TABLE;
40832
0
          ctas->is_select_into = false;
40833
          /* cram additional flags into the IntoClause */
40834
0
          (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
40835
0
          (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
40836
0
          (yyval.node) = (Node *) ctas;
40837
0
        }
40838
0
#line 40839 "gram.c"
40839
0
    break;
40840
40841
66
  case 1634:
40842
66
#line 11748 "gram.y"
40843
66
    { (yyval.list) = (yyvsp[-1].list); }
40844
66
#line 40845 "gram.c"
40845
66
    break;
40846
40847
41
  case 1635:
40848
41
#line 11749 "gram.y"
40849
41
    { (yyval.list) = NIL; }
40850
41
#line 40851 "gram.c"
40851
41
    break;
40852
40853
100
  case 1636:
40854
100
#line 11760 "gram.y"
40855
100
    {
40856
100
            DeallocateStmt *n = makeNode(DeallocateStmt);
40857
100
            n->name = (yyvsp[0].str);
40858
100
            (yyval.node) = (Node *) n;
40859
100
          }
40860
100
#line 40861 "gram.c"
40861
100
    break;
40862
40863
0
  case 1637:
40864
0
#line 11766 "gram.y"
40865
0
    {
40866
0
            DeallocateStmt *n = makeNode(DeallocateStmt);
40867
0
            n->name = (yyvsp[0].str);
40868
0
            (yyval.node) = (Node *) n;
40869
0
          }
40870
0
#line 40871 "gram.c"
40871
0
    break;
40872
40873
24
  case 1638:
40874
24
#line 11772 "gram.y"
40875
24
    {
40876
24
            DeallocateStmt *n = makeNode(DeallocateStmt);
40877
24
            n->name = NULL;
40878
24
            (yyval.node) = (Node *) n;
40879
24
          }
40880
24
#line 40881 "gram.c"
40881
24
    break;
40882
40883
0
  case 1639:
40884
0
#line 11778 "gram.y"
40885
0
    {
40886
0
            DeallocateStmt *n = makeNode(DeallocateStmt);
40887
0
            n->name = NULL;
40888
0
            (yyval.node) = (Node *) n;
40889
0
          }
40890
0
#line 40891 "gram.c"
40891
0
    break;
40892
40893
108k
  case 1640:
40894
108k
#line 11795 "gram.y"
40895
108k
    {
40896
108k
          (yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
40897
108k
          (yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
40898
108k
          (yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
40899
108k
          (yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
40900
108k
          (yyval.node) = (Node *) (yyvsp[-2].istmt);
40901
108k
        }
40902
108k
#line 40903 "gram.c"
40903
108k
    break;
40904
40905
109k
  case 1641:
40906
109k
#line 11812 "gram.y"
40907
109k
    {
40908
109k
          (yyval.range) = (yyvsp[0].range);
40909
109k
        }
40910
109k
#line 40911 "gram.c"
40911
109k
    break;
40912
40913
0
  case 1642:
40914
0
#line 11816 "gram.y"
40915
0
    {
40916
0
          (yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
40917
0
          (yyval.range) = (yyvsp[-2].range);
40918
0
        }
40919
0
#line 40920 "gram.c"
40920
0
    break;
40921
40922
78.7k
  case 1643:
40923
78.7k
#line 11824 "gram.y"
40924
78.7k
    {
40925
78.7k
          (yyval.istmt) = makeNode(InsertStmt);
40926
78.7k
          (yyval.istmt)->cols = NIL;
40927
78.7k
          (yyval.istmt)->selectStmt = (yyvsp[0].node);
40928
78.7k
        }
40929
78.7k
#line 40930 "gram.c"
40930
78.7k
    break;
40931
40932
0
  case 1644:
40933
0
#line 11830 "gram.y"
40934
0
    {
40935
0
          (yyval.istmt) = makeNode(InsertStmt);
40936
0
          (yyval.istmt)->cols = NIL;
40937
0
          (yyval.istmt)->override = (yyvsp[-2].ival);
40938
0
          (yyval.istmt)->selectStmt = (yyvsp[0].node);
40939
0
        }
40940
0
#line 40941 "gram.c"
40941
0
    break;
40942
40943
30.2k
  case 1645:
40944
30.2k
#line 11837 "gram.y"
40945
30.2k
    {
40946
30.2k
          (yyval.istmt) = makeNode(InsertStmt);
40947
30.2k
          (yyval.istmt)->cols = (yyvsp[-2].list);
40948
30.2k
          (yyval.istmt)->selectStmt = (yyvsp[0].node);
40949
30.2k
        }
40950
30.2k
#line 40951 "gram.c"
40951
30.2k
    break;
40952
40953
0
  case 1646:
40954
0
#line 11843 "gram.y"
40955
0
    {
40956
0
          (yyval.istmt) = makeNode(InsertStmt);
40957
0
          (yyval.istmt)->cols = (yyvsp[-5].list);
40958
0
          (yyval.istmt)->override = (yyvsp[-2].ival);
40959
0
          (yyval.istmt)->selectStmt = (yyvsp[0].node);
40960
0
        }
40961
0
#line 40962 "gram.c"
40962
0
    break;
40963
40964
4
  case 1647:
40965
4
#line 11850 "gram.y"
40966
4
    {
40967
4
          (yyval.istmt) = makeNode(InsertStmt);
40968
4
          (yyval.istmt)->cols = NIL;
40969
4
          (yyval.istmt)->selectStmt = NULL;
40970
4
        }
40971
4
#line 40972 "gram.c"
40972
4
    break;
40973
40974
0
  case 1648:
40975
0
#line 11858 "gram.y"
40976
0
    { (yyval.ival) = OVERRIDING_USER_VALUE; }
40977
0
#line 40978 "gram.c"
40978
0
    break;
40979
40980
0
  case 1649:
40981
0
#line 11859 "gram.y"
40982
0
    { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
40983
0
#line 40984 "gram.c"
40984
0
    break;
40985
40986
30.2k
  case 1650:
40987
30.2k
#line 11864 "gram.y"
40988
30.2k
    { (yyval.list) = list_make1((yyvsp[0].target)); }
40989
30.2k
#line 40990 "gram.c"
40990
30.2k
    break;
40991
40992
59.4k
  case 1651:
40993
59.4k
#line 11866 "gram.y"
40994
59.4k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
40995
59.4k
#line 40996 "gram.c"
40996
59.4k
    break;
40997
40998
89.7k
  case 1652:
40999
89.7k
#line 11871 "gram.y"
41000
89.7k
    {
41001
89.7k
          (yyval.target) = makeNode(ResTarget);
41002
89.7k
          (yyval.target)->name = (yyvsp[-1].str);
41003
89.7k
          (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
41004
89.7k
          (yyval.target)->val = NULL;
41005
89.7k
          (yyval.target)->location = (yylsp[-1]);
41006
89.7k
        }
41007
89.7k
#line 41008 "gram.c"
41008
89.7k
    break;
41009
41010
2.46k
  case 1653:
41011
2.46k
#line 11882 "gram.y"
41012
2.46k
    {
41013
2.46k
          (yyval.onconflict) = makeNode(OnConflictClause);
41014
2.46k
          (yyval.onconflict)->action = ONCONFLICT_UPDATE;
41015
2.46k
          (yyval.onconflict)->infer = (yyvsp[-5].infer);
41016
2.46k
          (yyval.onconflict)->targetList = (yyvsp[-1].list);
41017
2.46k
          (yyval.onconflict)->whereClause = (yyvsp[0].node);
41018
2.46k
          (yyval.onconflict)->location = (yylsp[-7]);
41019
2.46k
        }
41020
2.46k
#line 41021 "gram.c"
41021
2.46k
    break;
41022
41023
6
  case 1654:
41024
6
#line 11892 "gram.y"
41025
6
    {
41026
6
          (yyval.onconflict) = makeNode(OnConflictClause);
41027
6
          (yyval.onconflict)->action = ONCONFLICT_NOTHING;
41028
6
          (yyval.onconflict)->infer = (yyvsp[-2].infer);
41029
6
          (yyval.onconflict)->targetList = NIL;
41030
6
          (yyval.onconflict)->whereClause = NULL;
41031
6
          (yyval.onconflict)->location = (yylsp[-4]);
41032
6
        }
41033
6
#line 41034 "gram.c"
41034
6
    break;
41035
41036
106k
  case 1655:
41037
106k
#line 11901 "gram.y"
41038
106k
    {
41039
106k
          (yyval.onconflict) = NULL;
41040
106k
        }
41041
106k
#line 41042 "gram.c"
41042
106k
    break;
41043
41044
2.45k
  case 1656:
41045
2.45k
#line 11908 "gram.y"
41046
2.45k
    {
41047
2.45k
          (yyval.infer) = makeNode(InferClause);
41048
2.45k
          (yyval.infer)->indexElems = (yyvsp[-2].list);
41049
2.45k
          (yyval.infer)->whereClause = (yyvsp[0].node);
41050
2.45k
          (yyval.infer)->conname = NULL;
41051
2.45k
          (yyval.infer)->location = (yylsp[-3]);
41052
2.45k
        }
41053
2.45k
#line 41054 "gram.c"
41054
2.45k
    break;
41055
41056
8
  case 1657:
41057
8
#line 11917 "gram.y"
41058
8
    {
41059
8
          (yyval.infer) = makeNode(InferClause);
41060
8
          (yyval.infer)->indexElems = NIL;
41061
8
          (yyval.infer)->whereClause = NULL;
41062
8
          (yyval.infer)->conname = (yyvsp[0].str);
41063
8
          (yyval.infer)->location = (yylsp[-2]);
41064
8
        }
41065
8
#line 41066 "gram.c"
41066
8
    break;
41067
41068
3
  case 1658:
41069
3
#line 11925 "gram.y"
41070
3
    {
41071
3
          (yyval.infer) = NULL;
41072
3
        }
41073
3
#line 41074 "gram.c"
41074
3
    break;
41075
41076
3.73k
  case 1659:
41077
3.73k
#line 11931 "gram.y"
41078
3.73k
    { (yyval.list) = (yyvsp[0].list); }
41079
3.73k
#line 41080 "gram.c"
41080
3.73k
    break;
41081
41082
118k
  case 1660:
41083
118k
#line 11932 "gram.y"
41084
118k
    { (yyval.list) = NIL; }
41085
118k
#line 41086 "gram.c"
41086
118k
    break;
41087
41088
880
  case 1661:
41089
880
#line 11945 "gram.y"
41090
880
    {
41091
880
          DeleteStmt *n = makeNode(DeleteStmt);
41092
880
          n->relation = (yyvsp[-3].range);
41093
880
          n->usingClause = (yyvsp[-2].list);
41094
880
          n->whereClause = (yyvsp[-1].node);
41095
880
          n->returningList = (yyvsp[0].list);
41096
880
          n->withClause = (yyvsp[-6].with);
41097
880
          (yyval.node) = (Node *)n;
41098
880
        }
41099
880
#line 41100 "gram.c"
41100
880
    break;
41101
41102
3
  case 1662:
41103
3
#line 11957 "gram.y"
41104
3
    { (yyval.list) = (yyvsp[0].list); }
41105
3
#line 41106 "gram.c"
41106
3
    break;
41107
41108
881
  case 1663:
41109
881
#line 11958 "gram.y"
41110
881
    { (yyval.list) = NIL; }
41111
881
#line 41112 "gram.c"
41112
881
    break;
41113
41114
0
  case 1664:
41115
0
#line 11970 "gram.y"
41116
0
    {
41117
0
          LockStmt *n = makeNode(LockStmt);
41118
41119
0
          n->relations = (yyvsp[-2].list);
41120
0
          n->mode = (yyvsp[-1].ival);
41121
0
          n->nowait = (yyvsp[0].boolean);
41122
0
          (yyval.node) = (Node *)n;
41123
0
        }
41124
0
#line 41125 "gram.c"
41125
0
    break;
41126
41127
0
  case 1665:
41128
0
#line 11980 "gram.y"
41129
0
    { (yyval.ival) = (yyvsp[-1].ival); }
41130
0
#line 41131 "gram.c"
41131
0
    break;
41132
41133
0
  case 1666:
41134
0
#line 11982 "gram.y"
41135
0
    {
41136
0
          parser_ybc_not_support((yylsp[0]), "ACCESS EXCLUSIVE lock mode");
41137
0
          (yyval.ival) = AccessExclusiveLock;
41138
0
        }
41139
0
#line 41140 "gram.c"
41140
0
    break;
41141
41142
0
  case 1667:
41143
0
#line 11988 "gram.y"
41144
0
    { (yyval.ival) = AccessShareLock; }
41145
0
#line 41146 "gram.c"
41146
0
    break;
41147
41148
0
  case 1668:
41149
0
#line 11990 "gram.y"
41150
0
    { parser_ybc_not_support((yylsp[-1]), "ROW SHARE");
41151
0
          (yyval.ival) = RowShareLock;
41152
0
        }
41153
0
#line 41154 "gram.c"
41154
0
    break;
41155
41156
2
  case 1669:
41157
2
#line 11994 "gram.y"
41158
2
    {
41159
2
          parser_ybc_not_support((yylsp[-1]), "ROW EXCLUSIVE");
41160
2
          (yyval.ival) = RowExclusiveLock;
41161
2
        }
41162
2
#line 41163 "gram.c"
41163
2
    break;
41164
41165
0
  case 1670:
41166
0
#line 11999 "gram.y"
41167
0
    {
41168
0
          parser_ybc_not_support((yylsp[-2]), "SHARE UPDATE EXCLUSIVE");
41169
0
          (yyval.ival) = ShareUpdateExclusiveLock;
41170
0
        }
41171
0
#line 41172 "gram.c"
41172
0
    break;
41173
41174
0
  case 1671:
41175
0
#line 12004 "gram.y"
41176
0
    {
41177
0
          parser_ybc_not_support((yylsp[0]), "SHARE");
41178
0
          (yyval.ival) = ShareLock;
41179
0
        }
41180
0
#line 41181 "gram.c"
41181
0
    break;
41182
41183
0
  case 1672:
41184
0
#line 12009 "gram.y"
41185
0
    {
41186
0
          parser_ybc_not_support((yylsp[-2]), "SHARE ROW EXCLUSIVE");
41187
0
          (yyval.ival) = ShareRowExclusiveLock;
41188
0
        }
41189
0
#line 41190 "gram.c"
41190
0
    break;
41191
41192
0
  case 1673:
41193
0
#line 12014 "gram.y"
41194
0
    {
41195
0
          parser_ybc_not_support((yylsp[0]), "EXCLUSIVE");
41196
0
          (yyval.ival) = ExclusiveLock;
41197
0
        }
41198
0
#line 41199 "gram.c"
41199
0
    break;
41200
41201
0
  case 1674:
41202
0
#line 12019 "gram.y"
41203
0
    {
41204
0
          parser_ybc_not_support((yylsp[-1]), "ACCESS EXCLUSIVE");
41205
0
          (yyval.ival) = AccessExclusiveLock;
41206
0
        }
41207
0
#line 41208 "gram.c"
41208
0
    break;
41209
41210
0
  case 1675:
41211
0
#line 12025 "gram.y"
41212
0
    { (yyval.boolean) = true; }
41213
0
#line 41214 "gram.c"
41214
0
    break;
41215
41216
0
  case 1676:
41217
0
#line 12026 "gram.y"
41218
0
    { (yyval.boolean) = false; }
41219
0
#line 41220 "gram.c"
41220
0
    break;
41221
41222
0
  case 1677:
41223
0
#line 12030 "gram.y"
41224
0
    { (yyval.ival) = LockWaitError; }
41225
0
#line 41226 "gram.c"
41226
0
    break;
41227
41228
368
  case 1678:
41229
368
#line 12031 "gram.y"
41230
368
    { (yyval.ival) = LockWaitSkip; }
41231
368
#line 41232 "gram.c"
41232
368
    break;
41233
41234
5.04k
  case 1679:
41235
5.04k
#line 12032 "gram.y"
41236
5.04k
    { (yyval.ival) = LockWaitBlock; }
41237
5.04k
#line 41238 "gram.c"
41238
5.04k
    break;
41239
41240
12.4k
  case 1680:
41241
12.4k
#line 12048 "gram.y"
41242
12.4k
    {
41243
12.4k
          UpdateStmt *n = makeNode(UpdateStmt);
41244
12.4k
          n->relation = (yyvsp[-5].range);
41245
12.4k
          n->targetList = (yyvsp[-3].list);
41246
12.4k
          n->fromClause = (yyvsp[-2].list);
41247
12.4k
          n->whereClause = (yyvsp[-1].node);
41248
12.4k
          n->returningList = (yyvsp[0].list);
41249
12.4k
          n->withClause = (yyvsp[-7].with);
41250
12.4k
          (yyval.node) = (Node *)n;
41251
12.4k
        }
41252
12.4k
#line 41253 "gram.c"
41253
12.4k
    break;
41254
41255
14.9k
  case 1681:
41256
14.9k
#line 12061 "gram.y"
41257
14.9k
    { (yyval.list) = (yyvsp[0].list); }
41258
14.9k
#line 41259 "gram.c"
41259
14.9k
    break;
41260
41261
142
  case 1682:
41262
142
#line 12062 "gram.y"
41263
142
    { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
41264
142
#line 41265 "gram.c"
41265
142
    break;
41266
41267
15.0k
  case 1683:
41268
15.0k
#line 12067 "gram.y"
41269
15.0k
    {
41270
15.0k
          (yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
41271
15.0k
          (yyval.list) = list_make1((yyvsp[-2].target));
41272
15.0k
        }
41273
15.0k
#line 41274 "gram.c"
41274
15.0k
    break;
41275
41276
0
  case 1684:
41277
0
#line 12072 "gram.y"
41278
0
    {
41279
0
          int ncolumns = list_length((yyvsp[-3].list));
41280
0
          int i = 1;
41281
0
          ListCell *col_cell;
41282
41283
          /* Create a MultiAssignRef source for each target */
41284
0
          foreach(col_cell, (yyvsp[-3].list))
41285
0
          {
41286
0
            ResTarget *res_col = (ResTarget *) lfirst(col_cell);
41287
0
            MultiAssignRef *r = makeNode(MultiAssignRef);
41288
41289
0
            r->source = (Node *) (yyvsp[0].node);
41290
0
            r->colno = i;
41291
0
            r->ncolumns = ncolumns;
41292
0
            res_col->val = (Node *) r;
41293
0
            i++;
41294
0
          }
41295
41296
0
          (yyval.list) = (yyvsp[-3].list);
41297
0
        }
41298
0
#line 41299 "gram.c"
41299
0
    break;
41300
41301
15.0k
  case 1685:
41302
15.0k
#line 12096 "gram.y"
41303
15.0k
    {
41304
15.0k
          (yyval.target) = makeNode(ResTarget);
41305
15.0k
          (yyval.target)->name = (yyvsp[-1].str);
41306
15.0k
          (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
41307
15.0k
          (yyval.target)->val = NULL; /* upper production sets this */
41308
15.0k
          (yyval.target)->location = (yylsp[-1]);
41309
15.0k
        }
41310
15.0k
#line 41311 "gram.c"
41311
15.0k
    break;
41312
41313
0
  case 1686:
41314
0
#line 12106 "gram.y"
41315
0
    { (yyval.list) = list_make1((yyvsp[0].target)); }
41316
0
#line 41317 "gram.c"
41317
0
    break;
41318
41319
0
  case 1687:
41320
0
#line 12107 "gram.y"
41321
0
    { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
41322
0
#line 41323 "gram.c"
41323
0
    break;
41324
41325
1.48k
  case 1688:
41326
1.48k
#line 12118 "gram.y"
41327
1.48k
    {
41328
1.48k
          DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
41329
1.48k
          n->portalname = (yyvsp[-5].str);
41330
          /* currently we always set FAST_PLAN option */
41331
1.48k
          n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
41332
1.48k
          n->query = (yyvsp[0].node);
41333
1.48k
          (yyval.node) = (Node *)n;
41334
1.48k
        }
41335
1.48k
#line 41336 "gram.c"
41336
1.48k
    break;
41337
41338
10.8k
  case 1689:
41339
10.8k
#line 12128 "gram.y"
41340
10.8k
    { (yyval.str) = (yyvsp[0].str); }
41341
10.8k
#line 41342 "gram.c"
41342
10.8k
    break;
41343
41344
1.48k
  case 1690:
41345
1.48k
#line 12131 "gram.y"
41346
1.48k
    { (yyval.ival) = 0; }
41347
1.48k
#line 41348 "gram.c"
41348
1.48k
    break;
41349
41350
0
  case 1691:
41351
0
#line 12132 "gram.y"
41352
0
    { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
41353
0
#line 41354 "gram.c"
41354
0
    break;
41355
41356
2
  case 1692:
41357
2
#line 12133 "gram.y"
41358
2
    { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
41359
2
#line 41360 "gram.c"
41360
2
    break;
41361
41362
0
  case 1693:
41363
0
#line 12134 "gram.y"
41364
0
    { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
41365
0
#line 41366 "gram.c"
41366
0
    break;
41367
41368
0
  case 1694:
41369
0
#line 12135 "gram.y"
41370
0
    { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
41371
0
#line 41372 "gram.c"
41372
0
    break;
41373
41374
1.48k
  case 1695:
41375
1.48k
#line 12138 "gram.y"
41376
1.48k
    { (yyval.ival) = 0; }
41377
1.48k
#line 41378 "gram.c"
41378
1.48k
    break;
41379
41380
0
  case 1696:
41381
0
#line 12139 "gram.y"
41382
0
    { (yyval.ival) = CURSOR_OPT_HOLD; }
41383
0
#line 41384 "gram.c"
41384
0
    break;
41385
41386
0
  case 1697:
41387
0
#line 12140 "gram.y"
41388
0
    { (yyval.ival) = 0; }
41389
0
#line 41390 "gram.c"
41390
0
    break;
41391
41392
11.2k
  case 1700:
41393
11.2k
#line 12193 "gram.y"
41394
11.2k
    { (yyval.node) = (yyvsp[-1].node); }
41395
11.2k
#line 41396 "gram.c"
41396
11.2k
    break;
41397
41398
0
  case 1701:
41399
0
#line 12194 "gram.y"
41400
0
    { (yyval.node) = (yyvsp[-1].node); }
41401
0
#line 41402 "gram.c"
41402
0
    break;
41403
41404
165k
  case 1702:
41405
165k
#line 12209 "gram.y"
41406
165k
    { (yyval.node) = (yyvsp[0].node); }
41407
165k
#line 41408 "gram.c"
41408
165k
    break;
41409
41410
2.83k
  case 1703:
41411
2.83k
#line 12211 "gram.y"
41412
2.83k
    {
41413
2.83k
          insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
41414
2.83k
                    NULL, NULL, NULL,
41415
2.83k
                    yyscanner);
41416
2.83k
          (yyval.node) = (yyvsp[-1].node);
41417
2.83k
        }
41418
2.83k
#line 41419 "gram.c"
41419
2.83k
    break;
41420
41421
5.34k
  case 1704:
41422
5.34k
#line 12218 "gram.y"
41423
5.34k
    {
41424
5.34k
          insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
41425
5.34k
                    list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
41426
5.34k
                    NULL,
41427
5.34k
                    yyscanner);
41428
5.34k
          (yyval.node) = (yyvsp[-3].node);
41429
5.34k
        }
41430
5.34k
#line 41431 "gram.c"
41431
5.34k
    break;
41432
41433
315
  case 1705:
41434
315
#line 12226 "gram.y"
41435
315
    {
41436
315
          insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
41437
315
                    list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
41438
315
                    NULL,
41439
315
                    yyscanner);
41440
315
          (yyval.node) = (yyvsp[-3].node);
41441
315
        }
41442
315
#line 41443 "gram.c"
41443
315
    break;
41444
41445
3.91k
  case 1706:
41446
3.91k
#line 12234 "gram.y"
41447
3.91k
    {
41448
3.91k
          insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
41449
3.91k
                    NULL, NULL,
41450
3.91k
                    (yyvsp[-1].with),
41451
3.91k
                    yyscanner);
41452
3.91k
          (yyval.node) = (yyvsp[0].node);
41453
3.91k
        }
41454
3.91k
#line 41455 "gram.c"
41455
3.91k
    break;
41456
41457
2
  case 1707:
41458
2
#line 12242 "gram.y"
41459
2
    {
41460
2
          insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
41461
2
                    NULL, NULL,
41462
2
                    (yyvsp[-2].with),
41463
2
                    yyscanner);
41464
2
          (yyval.node) = (yyvsp[-1].node);
41465
2
        }
41466
2
#line 41467 "gram.c"
41467
2
    break;
41468
41469
0
  case 1708:
41470
0
#line 12250 "gram.y"
41471
0
    {
41472
0
          insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
41473
0
                    list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
41474
0
                    (yyvsp[-4].with),
41475
0
                    yyscanner);
41476
0
          (yyval.node) = (yyvsp[-3].node);
41477
0
        }
41478
0
#line 41479 "gram.c"
41479
0
    break;
41480
41481
2
  case 1709:
41482
2
#line 12258 "gram.y"
41483
2
    {
41484
2
          insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
41485
2
                    list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
41486
2
                    (yyvsp[-4].with),
41487
2
                    yyscanner);
41488
2
          (yyval.node) = (yyvsp[-3].node);
41489
2
        }
41490
2
#line 41491 "gram.c"
41491
2
    break;
41492
41493
12.5k
  case 1710:
41494
12.5k
#line 12268 "gram.y"
41495
12.5k
    { (yyval.node) = (yyvsp[0].node); }
41496
12.5k
#line 41497 "gram.c"
41497
12.5k
    break;
41498
41499
36
  case 1711:
41500
36
#line 12269 "gram.y"
41501
36
    { (yyval.node) = (yyvsp[0].node); }
41502
36
#line 41503 "gram.c"
41503
36
    break;
41504
41505
68.7k
  case 1712:
41506
68.7k
#line 12299 "gram.y"
41507
68.7k
    {
41508
68.7k
          SelectStmt *n = makeNode(SelectStmt);
41509
68.7k
          n->targetList = (yyvsp[-6].list);
41510
68.7k
          n->intoClause = (yyvsp[-5].into);
41511
68.7k
          n->fromClause = (yyvsp[-4].list);
41512
68.7k
          n->whereClause = (yyvsp[-3].node);
41513
68.7k
          n->groupClause = (yyvsp[-2].list);
41514
68.7k
          n->havingClause = (yyvsp[-1].node);
41515
68.7k
          n->windowClause = (yyvsp[0].list);
41516
68.7k
          (yyval.node) = (Node *)n;
41517
68.7k
        }
41518
68.7k
#line 41519 "gram.c"
41519
68.7k
    break;
41520
41521
28
  case 1713:
41522
28
#line 12313 "gram.y"
41523
28
    {
41524
28
          SelectStmt *n = makeNode(SelectStmt);
41525
28
          n->distinctClause = (yyvsp[-7].list);
41526
28
          n->targetList = (yyvsp[-6].list);
41527
28
          n->intoClause = (yyvsp[-5].into);
41528
28
          n->fromClause = (yyvsp[-4].list);
41529
28
          n->whereClause = (yyvsp[-3].node);
41530
28
          n->groupClause = (yyvsp[-2].list);
41531
28
          n->havingClause = (yyvsp[-1].node);
41532
28
          n->windowClause = (yyvsp[0].list);
41533
28
          (yyval.node) = (Node *)n;
41534
28
        }
41535
28
#line 41536 "gram.c"
41536
28
    break;
41537
41538
109k
  case 1714:
41539
109k
#line 12325 "gram.y"
41540
109k
    { (yyval.node) = (yyvsp[0].node); }
41541
109k
#line 41542 "gram.c"
41542
109k
    break;
41543
41544
28
  case 1715:
41545
28
#line 12327 "gram.y"
41546
28
    {
41547
          /* same as SELECT * FROM relation_expr */
41548
28
          ColumnRef *cr = makeNode(ColumnRef);
41549
28
          ResTarget *rt = makeNode(ResTarget);
41550
28
          SelectStmt *n = makeNode(SelectStmt);
41551
41552
28
          cr->fields = list_make1(makeNode(A_Star));
41553
28
          cr->location = -1;
41554
41555
28
          rt->name = NULL;
41556
28
          rt->indirection = NIL;
41557
28
          rt->val = (Node *)cr;
41558
28
          rt->location = -1;
41559
41560
28
          n->targetList = list_make1(rt);
41561
28
          n->fromClause = list_make1((yyvsp[0].range));
41562
28
          (yyval.node) = (Node *)n;
41563
28
        }
41564
28
#line 41565 "gram.c"
41565
28
    break;
41566
41567
90
  case 1716:
41568
90
#line 12346 "gram.y"
41569
90
    {
41570
90
          (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
41571
90
        }
41572
90
#line 41573 "gram.c"
41573
90
    break;
41574
41575
0
  case 1717:
41576
0
#line 12350 "gram.y"
41577
0
    {
41578
0
          (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
41579
0
        }
41580
0
#line 41581 "gram.c"
41581
0
    break;
41582
41583
0
  case 1718:
41584
0
#line 12354 "gram.y"
41585
0
    {
41586
0
          (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
41587
0
        }
41588
0
#line 41589 "gram.c"
41589
0
    break;
41590
41591
6.32k
  case 1719:
41592
6.32k
#line 12371 "gram.y"
41593
6.32k
    {
41594
6.32k
        (yyval.with) = makeNode(WithClause);
41595
6.32k
        (yyval.with)->ctes = (yyvsp[0].list);
41596
6.32k
        (yyval.with)->recursive = false;
41597
6.32k
        (yyval.with)->location = (yylsp[-1]);
41598
6.32k
      }
41599
6.32k
#line 41600 "gram.c"
41600
6.32k
    break;
41601
41602
0
  case 1720:
41603
0
#line 12378 "gram.y"
41604
0
    {
41605
0
        (yyval.with) = makeNode(WithClause);
41606
0
        (yyval.with)->ctes = (yyvsp[0].list);
41607
0
        (yyval.with)->recursive = false;
41608
0
        (yyval.with)->location = (yylsp[-1]);
41609
0
      }
41610
0
#line 41611 "gram.c"
41611
0
    break;
41612
41613
0
  case 1721:
41614
0
#line 12385 "gram.y"
41615
0
    {
41616
0
        (yyval.with) = makeNode(WithClause);
41617
0
        (yyval.with)->ctes = (yyvsp[0].list);
41618
0
        (yyval.with)->recursive = true;
41619
0
        (yyval.with)->location = (yylsp[-2]);
41620
0
      }
41621
0
#line 41622 "gram.c"
41622
0
    break;
41623
41624
6.32k
  case 1722:
41625
6.32k
#line 12394 "gram.y"
41626
6.32k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
41627
6.32k
#line 41628 "gram.c"
41628
6.32k
    break;
41629
41630
1.81k
  case 1723:
41631
1.81k
#line 12395 "gram.y"
41632
1.81k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41633
1.81k
#line 41634 "gram.c"
41634
1.81k
    break;
41635
41636
8.13k
  case 1724:
41637
8.13k
#line 12399 "gram.y"
41638
8.13k
    {
41639
8.13k
        CommonTableExpr *n = makeNode(CommonTableExpr);
41640
8.13k
        n->ctename = (yyvsp[-5].str);
41641
8.13k
        n->aliascolnames = (yyvsp[-4].list);
41642
8.13k
        n->ctequery = (yyvsp[-1].node);
41643
8.13k
        n->location = (yylsp[-5]);
41644
8.13k
        (yyval.node) = (Node *) n;
41645
8.13k
      }
41646
8.13k
#line 41647 "gram.c"
41647
8.13k
    break;
41648
41649
2.40k
  case 1725:
41650
2.40k
#line 12410 "gram.y"
41651
2.40k
    { (yyval.with) = (yyvsp[0].with); }
41652
2.40k
#line 41653 "gram.c"
41653
2.40k
    break;
41654
41655
119k
  case 1726:
41656
119k
#line 12411 "gram.y"
41657
119k
    { (yyval.with) = NULL; }
41658
119k
#line 41659 "gram.c"
41659
119k
    break;
41660
41661
2
  case 1727:
41662
2
#line 12416 "gram.y"
41663
2
    {
41664
2
          (yyval.into) = makeNode(IntoClause);
41665
2
          (yyval.into)->rel = (yyvsp[0].range);
41666
2
          (yyval.into)->colNames = NIL;
41667
2
          (yyval.into)->options = NIL;
41668
2
          (yyval.into)->onCommit = ONCOMMIT_NOOP;
41669
2
          (yyval.into)->tableSpaceName = NULL;
41670
2
          (yyval.into)->viewQuery = NULL;
41671
2
          (yyval.into)->skipData = false;
41672
2
        }
41673
2
#line 41674 "gram.c"
41674
2
    break;
41675
41676
68.8k
  case 1728:
41677
68.8k
#line 12427 "gram.y"
41678
68.8k
    { (yyval.into) = NULL; }
41679
68.8k
#line 41680 "gram.c"
41680
68.8k
    break;
41681
41682
0
  case 1729:
41683
0
#line 12436 "gram.y"
41684
0
    {
41685
0
          (yyval.range) = (yyvsp[0].range);
41686
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41687
0
        }
41688
0
#line 41689 "gram.c"
41689
0
    break;
41690
41691
0
  case 1730:
41692
0
#line 12441 "gram.y"
41693
0
    {
41694
0
          (yyval.range) = (yyvsp[0].range);
41695
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41696
0
        }
41697
0
#line 41698 "gram.c"
41698
0
    break;
41699
41700
0
  case 1731:
41701
0
#line 12446 "gram.y"
41702
0
    {
41703
0
          (yyval.range) = (yyvsp[0].range);
41704
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41705
0
        }
41706
0
#line 41707 "gram.c"
41707
0
    break;
41708
41709
0
  case 1732:
41710
0
#line 12451 "gram.y"
41711
0
    {
41712
0
          (yyval.range) = (yyvsp[0].range);
41713
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41714
0
        }
41715
0
#line 41716 "gram.c"
41716
0
    break;
41717
41718
0
  case 1733:
41719
0
#line 12456 "gram.y"
41720
0
    {
41721
0
          ereport(WARNING,
41722
0
              (errmsg("GLOBAL is deprecated in temporary table creation"),
41723
0
               parser_errposition((yylsp[-3]))));
41724
0
          (yyval.range) = (yyvsp[0].range);
41725
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41726
0
        }
41727
0
#line 41728 "gram.c"
41728
0
    break;
41729
41730
0
  case 1734:
41731
0
#line 12464 "gram.y"
41732
0
    {
41733
0
          ereport(WARNING,
41734
0
              (errmsg("GLOBAL is deprecated in temporary table creation"),
41735
0
               parser_errposition((yylsp[-3]))));
41736
0
          (yyval.range) = (yyvsp[0].range);
41737
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41738
0
        }
41739
0
#line 41740 "gram.c"
41740
0
    break;
41741
41742
0
  case 1735:
41743
0
#line 12472 "gram.y"
41744
0
    {
41745
0
          (yyval.range) = (yyvsp[0].range);
41746
0
          (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
41747
0
        }
41748
0
#line 41749 "gram.c"
41749
0
    break;
41750
41751
0
  case 1736:
41752
0
#line 12477 "gram.y"
41753
0
    {
41754
0
          (yyval.range) = (yyvsp[0].range);
41755
0
          (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
41756
0
        }
41757
0
#line 41758 "gram.c"
41758
0
    break;
41759
41760
2
  case 1737:
41761
2
#line 12482 "gram.y"
41762
2
    {
41763
2
          (yyval.range) = (yyvsp[0].range);
41764
2
          (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
41765
2
        }
41766
2
#line 41767 "gram.c"
41767
2
    break;
41768
41769
33
  case 1738:
41770
33
#line 12488 "gram.y"
41771
33
    {}
41772
33
#line 41773 "gram.c"
41773
33
    break;
41774
41775
20
  case 1739:
41776
20
#line 12489 "gram.y"
41777
20
    {}
41778
20
#line 41779 "gram.c"
41779
20
    break;
41780
41781
88
  case 1740:
41782
88
#line 12493 "gram.y"
41783
88
    { (yyval.boolean) = true; }
41784
88
#line 41785 "gram.c"
41785
88
    break;
41786
41787
0
  case 1741:
41788
0
#line 12494 "gram.y"
41789
0
    { (yyval.boolean) = false; }
41790
0
#line 41791 "gram.c"
41791
0
    break;
41792
41793
2
  case 1742:
41794
2
#line 12495 "gram.y"
41795
2
    { (yyval.boolean) = false; }
41796
2
#line 41797 "gram.c"
41797
2
    break;
41798
41799
28
  case 1743:
41800
28
#line 12502 "gram.y"
41801
28
    { (yyval.list) = list_make1(NIL); }
41802
28
#line 41803 "gram.c"
41803
28
    break;
41804
41805
0
  case 1744:
41806
0
#line 12503 "gram.y"
41807
0
    { (yyval.list) = (yyvsp[-1].list); }
41808
0
#line 41809 "gram.c"
41809
0
    break;
41810
41811
0
  case 1745:
41812
0
#line 12507 "gram.y"
41813
0
    { (yyval.list) = NIL;}
41814
0
#line 41815 "gram.c"
41815
0
    break;
41816
41817
68.7k
  case 1746:
41818
68.7k
#line 12508 "gram.y"
41819
68.7k
    { (yyval.list) = NIL; }
41820
68.7k
#line 41821 "gram.c"
41821
68.7k
    break;
41822
41823
754
  case 1747:
41824
754
#line 12512 "gram.y"
41825
754
    { (yyval.list) = (yyvsp[0].list);}
41826
754
#line 41827 "gram.c"
41827
754
    break;
41828
41829
17.4k
  case 1748:
41830
17.4k
#line 12513 "gram.y"
41831
17.4k
    { (yyval.list) = NIL; }
41832
17.4k
#line 41833 "gram.c"
41833
17.4k
    break;
41834
41835
3.68k
  case 1749:
41836
3.68k
#line 12517 "gram.y"
41837
3.68k
    { (yyval.list) = (yyvsp[0].list); }
41838
3.68k
#line 41839 "gram.c"
41839
3.68k
    break;
41840
41841
3.68k
  case 1750:
41842
3.68k
#line 12521 "gram.y"
41843
3.68k
    { (yyval.list) = list_make1((yyvsp[0].sortby)); }
41844
3.68k
#line 41845 "gram.c"
41845
3.68k
    break;
41846
41847
1.33k
  case 1751:
41848
1.33k
#line 12522 "gram.y"
41849
1.33k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
41850
1.33k
#line 41851 "gram.c"
41851
1.33k
    break;
41852
41853
21
  case 1752:
41854
21
#line 12526 "gram.y"
41855
21
    {
41856
21
          (yyval.sortby) = makeNode(SortBy);
41857
21
          (yyval.sortby)->node = (yyvsp[-3].node);
41858
21
          (yyval.sortby)->sortby_dir = SORTBY_USING;
41859
21
          (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
41860
21
          (yyval.sortby)->useOp = (yyvsp[-1].list);
41861
21
          (yyval.sortby)->location = (yylsp[-1]);
41862
21
        }
41863
21
#line 41864 "gram.c"
41864
21
    break;
41865
41866
4.99k
  case 1753:
41867
4.99k
#line 12535 "gram.y"
41868
4.99k
    {
41869
4.99k
          (yyval.sortby) = makeNode(SortBy);
41870
4.99k
          (yyval.sortby)->node = (yyvsp[-2].node);
41871
4.99k
          (yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
41872
4.99k
          (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
41873
4.99k
          (yyval.sortby)->useOp = NIL;
41874
4.99k
          (yyval.sortby)->location = -1;    /* no operator */
41875
4.99k
        }
41876
4.99k
#line 41877 "gram.c"
41877
4.99k
    break;
41878
41879
54
  case 1754:
41880
54
#line 12547 "gram.y"
41881
54
    { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); }
41882
54
#line 41883 "gram.c"
41883
54
    break;
41884
41885
108
  case 1755:
41886
108
#line 12548 "gram.y"
41887
108
    { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); }
41888
108
#line 41889 "gram.c"
41889
108
    break;
41890
41891
518
  case 1756:
41892
518
#line 12549 "gram.y"
41893
518
    { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
41894
518
#line 41895 "gram.c"
41895
518
    break;
41896
41897
9
  case 1757:
41898
9
#line 12550 "gram.y"
41899
9
    { (yyval.list) = list_make2((yyvsp[0].node), NULL); }
41900
9
#line 41901 "gram.c"
41901
9
    break;
41902
41903
372
  case 1758:
41904
372
#line 12554 "gram.y"
41905
372
    { (yyval.list) = (yyvsp[0].list); }
41906
372
#line 41907 "gram.c"
41907
372
    break;
41908
41909
4.97k
  case 1759:
41910
4.97k
#line 12555 "gram.y"
41911
4.97k
    { (yyval.list) = list_make2(NULL,NULL); }
41912
4.97k
#line 41913 "gram.c"
41913
4.97k
    break;
41914
41915
680
  case 1760:
41916
680
#line 12560 "gram.y"
41917
680
    { (yyval.node) = (yyvsp[0].node); }
41918
680
#line 41919 "gram.c"
41919
680
    break;
41920
41921
0
  case 1761:
41922
0
#line 12562 "gram.y"
41923
0
    {
41924
          /* Disabled because it was too confusing, bjm 2002-02-18 */
41925
0
          ereport(ERROR,
41926
0
              (errcode(ERRCODE_SYNTAX_ERROR),
41927
0
               errmsg("LIMIT #,# syntax is not supported"),
41928
0
               errhint("Use separate LIMIT and OFFSET clauses."),
41929
0
               parser_errposition((yylsp[-3]))));
41930
0
        }
41931
0
#line 41932 "gram.c"
41932
0
    break;
41933
41934
0
  case 1762:
41935
0
#line 12578 "gram.y"
41936
0
    { (yyval.node) = (yyvsp[-2].node); }
41937
0
#line 41938 "gram.c"
41938
0
    break;
41939
41940
0
  case 1763:
41941
0
#line 12580 "gram.y"
41942
0
    { (yyval.node) = makeIntConst(1, -1); }
41943
0
#line 41944 "gram.c"
41944
0
    break;
41945
41946
171
  case 1764:
41947
171
#line 12585 "gram.y"
41948
171
    { (yyval.node) = (yyvsp[0].node); }
41949
171
#line 41950 "gram.c"
41950
171
    break;
41951
41952
0
  case 1765:
41953
0
#line 12588 "gram.y"
41954
0
    { (yyval.node) = (yyvsp[-1].node); }
41955
0
#line 41956 "gram.c"
41956
0
    break;
41957
41958
680
  case 1766:
41959
680
#line 12592 "gram.y"
41960
680
    { (yyval.node) = (yyvsp[0].node); }
41961
680
#line 41962 "gram.c"
41962
680
    break;
41963
41964
0
  case 1767:
41965
0
#line 12594 "gram.y"
41966
0
    {
41967
          /* LIMIT ALL is represented as a NULL constant */
41968
0
          (yyval.node) = makeNullAConst((yylsp[0]));
41969
0
        }
41970
0
#line 41971 "gram.c"
41971
0
    break;
41972
41973
171
  case 1768:
41974
171
#line 12601 "gram.y"
41975
171
    { (yyval.node) = (yyvsp[0].node); }
41976
171
#line 41977 "gram.c"
41977
171
    break;
41978
41979
0
  case 1769:
41980
0
#line 12621 "gram.y"
41981
0
    { (yyval.node) = (yyvsp[0].node); }
41982
0
#line 41983 "gram.c"
41983
0
    break;
41984
41985
0
  case 1770:
41986
0
#line 12623 "gram.y"
41987
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
41988
0
#line 41989 "gram.c"
41989
0
    break;
41990
41991
0
  case 1771:
41992
0
#line 12625 "gram.y"
41993
0
    { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
41994
0
#line 41995 "gram.c"
41995
0
    break;
41996
41997
0
  case 1772:
41998
0
#line 12629 "gram.y"
41999
0
    { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
42000
0
#line 42001 "gram.c"
42001
0
    break;
42002
42003
515
  case 1773:
42004
515
#line 12630 "gram.y"
42005
515
    { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
42006
515
#line 42007 "gram.c"
42007
515
    break;
42008
42009
0
  case 1774:
42010
0
#line 12634 "gram.y"
42011
0
    { (yyval.ival) = 0; }
42012
0
#line 42013 "gram.c"
42013
0
    break;
42014
42015
0
  case 1775:
42016
0
#line 12635 "gram.y"
42017
0
    { (yyval.ival) = 0; }
42018
0
#line 42019 "gram.c"
42019
0
    break;
42020
42021
0
  case 1776:
42022
0
#line 12638 "gram.y"
42023
0
    { (yyval.ival) = 0; }
42024
0
#line 42025 "gram.c"
42025
0
    break;
42026
42027
0
  case 1777:
42028
0
#line 12639 "gram.y"
42029
0
    { (yyval.ival) = 0; }
42030
0
#line 42031 "gram.c"
42031
0
    break;
42032
42033
269
  case 1778:
42034
269
#line 12664 "gram.y"
42035
269
    { (yyval.list) = (yyvsp[0].list); }
42036
269
#line 42037 "gram.c"
42037
269
    break;
42038
42039
68.5k
  case 1779:
42040
68.5k
#line 12665 "gram.y"
42041
68.5k
    { (yyval.list) = NIL; }
42042
68.5k
#line 42043 "gram.c"
42043
68.5k
    break;
42044
42045
273
  case 1780:
42046
273
#line 12669 "gram.y"
42047
273
    { (yyval.list) = list_make1((yyvsp[0].node)); }
42048
273
#line 42049 "gram.c"
42049
273
    break;
42050
42051
51
  case 1781:
42052
51
#line 12670 "gram.y"
42053
51
    { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
42054
51
#line 42055 "gram.c"
42055
51
    break;
42056
42057
312
  case 1782:
42058
312
#line 12674 "gram.y"
42059
312
    { (yyval.node) = (yyvsp[0].node); }
42060
312
#line 42061 "gram.c"
42061
312
    break;
42062
42063
0
  case 1783:
42064
0
#line 12675 "gram.y"
42065
0
    { (yyval.node) = (yyvsp[0].node); }
42066
0
#line 42067 "gram.c"
42067
0
    break;
42068
42069
4
  case 1784:
42070
4
#line 12676 "gram.y"
42071
4
    { (yyval.node) = (yyvsp[0].node); }
42072
4
#line 42073 "gram.c"
42073
4
    break;
42074
42075
4
  case 1785:
42076
4
#line 12677 "gram.y"
42077
4
    { (yyval.node) = (yyvsp[0].node); }
42078
4
#line 42079 "gram.c"
42079
4
    break;
42080
42081
4
  case 1786:
42082
4
#line 12678 "gram.y"
42083
4
    { (yyval.node) = (yyvsp[0].node); }
42084
4
#line 42085 "gram.c"
42085
4
    break;
42086
42087
0
  case 1787:
42088
0
#line 12683 "gram.y"
42089
0
    {
42090
0
          (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
42091
0
        }
42092
0
#line 42093 "gram.c"
42093
0
    break;
42094
42095
4
  case 1788:
42096
4
#line 12696 "gram.y"
42097
4
    {
42098
4
          (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
42099
4
        }
42100
4
#line 42101 "gram.c"
42101
4
    break;
42102
42103
4
  case 1789:
42104
4
#line 12703 "gram.y"
42105
4
    {
42106
4
          (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
42107
4
        }
42108
4
#line 42109 "gram.c"
42109
4
    break;
42110
42111
4
  case 1790:
42112
4
#line 12710 "gram.y"
42113
4
    {
42114
4
          (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
42115
4
        }
42116
4
#line 42117 "gram.c"
42117
4
    break;
42118
42119
37
  case 1791:
42120
37
#line 12716 "gram.y"
42121
37
    { (yyval.node) = (yyvsp[0].node); }
42122
37
#line 42123 "gram.c"
42123
37
    break;
42124
42125
68.7k
  case 1792:
42126
68.7k
#line 12717 "gram.y"
42127
68.7k
    { (yyval.node) = NULL; }
42128
68.7k
#line 42129 "gram.c"
42129
68.7k
    break;
42130
42131
5.35k
  case 1793:
42132
5.35k
#line 12722 "gram.y"
42133
5.35k
    {
42134
5.35k
          (yyval.list) = (yyvsp[0].list);
42135
5.35k
        }
42136
5.35k
#line 42137 "gram.c"
42137
5.35k
    break;
42138
42139
0
  case 1794:
42140
0
#line 12725 "gram.y"
42141
0
    { (yyval.list) = NIL; }
42142
0
#line 42143 "gram.c"
42143
0
    break;
42144
42145
8
  case 1795:
42146
8
#line 12729 "gram.y"
42147
8
    { (yyval.list) = (yyvsp[0].list); }
42148
8
#line 42149 "gram.c"
42149
8
    break;
42150
42151
309
  case 1796:
42152
309
#line 12730 "gram.y"
42153
309
    { (yyval.list) = NIL; }
42154
309
#line 42155 "gram.c"
42155
309
    break;
42156
42157
5.35k
  case 1797:
42158
5.35k
#line 12734 "gram.y"
42159
5.35k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
42160
5.35k
#line 42161 "gram.c"
42161
5.35k
    break;
42162
42163
55
  case 1798:
42164
55
#line 12735 "gram.y"
42165
55
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
42166
55
#line 42167 "gram.c"
42167
55
    break;
42168
42169
5.40k
  case 1799:
42170
5.40k
#line 12740 "gram.y"
42171
5.40k
    {
42172
5.40k
          LockingClause *n = makeNode(LockingClause);
42173
5.40k
          n->lockedRels = (yyvsp[-1].list);
42174
5.40k
          n->strength = (yyvsp[-2].ival);
42175
5.40k
          n->waitPolicy = (yyvsp[0].ival);
42176
5.40k
          (yyval.node) = (Node *) n;
42177
5.40k
        }
42178
5.40k
#line 42179 "gram.c"
42179
5.40k
    break;
42180
42181
5.18k
  case 1800:
42182
5.18k
#line 12750 "gram.y"
42183
5.18k
    { (yyval.ival) = LCS_FORUPDATE; }
42184
5.18k
#line 42185 "gram.c"
42185
5.18k
    break;
42186
42187
4
  case 1801:
42188
4
#line 12751 "gram.y"
42189
4
    { (yyval.ival) = LCS_FORNOKEYUPDATE; }
42190
4
#line 42191 "gram.c"
42191
4
    break;
42192
42193
62
  case 1802:
42194
62
#line 12752 "gram.y"
42195
62
    { (yyval.ival) = LCS_FORSHARE; }
42196
62
#line 42197 "gram.c"
42197
62
    break;
42198
42199
158
  case 1803:
42200
158
#line 12753 "gram.y"
42201
158
    { (yyval.ival) = LCS_FORKEYSHARE; }
42202
158
#line 42203 "gram.c"
42203
158
    break;
42204
42205
3.12k
  case 1804:
42206
3.12k
#line 12757 "gram.y"
42207
3.12k
    { (yyval.list) = (yyvsp[0].list); }
42208
3.12k
#line 42209 "gram.c"
42209
3.12k
    break;
42210
42211
2.28k
  case 1805:
42212
2.28k
#line 12758 "gram.y"
42213
2.28k
    { (yyval.list) = NIL; }
42214
2.28k
#line 42215 "gram.c"
42215
2.28k
    break;
42216
42217
109k
  case 1806:
42218
109k
#line 12769 "gram.y"
42219
109k
    {
42220
109k
          SelectStmt *n = makeNode(SelectStmt);
42221
109k
          n->valuesLists = list_make1((yyvsp[-1].list));
42222
109k
          (yyval.node) = (Node *) n;
42223
109k
        }
42224
109k
#line 42225 "gram.c"
42225
109k
    break;
42226
42227
100k
  case 1807:
42228
100k
#line 12775 "gram.y"
42229
100k
    {
42230
100k
          SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
42231
100k
          n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
42232
100k
          (yyval.node) = (Node *) n;
42233
100k
        }
42234
100k
#line 42235 "gram.c"
42235
100k
    break;
42236
42237
60.0k
  case 1808:
42238
60.0k
#line 12792 "gram.y"
42239
60.0k
    { (yyval.list) = (yyvsp[0].list); }
42240
60.0k
#line 42241 "gram.c"
42241
60.0k
    break;
42242
42243
21.1k
  case 1809:
42244
21.1k
#line 12793 "gram.y"
42245
21.1k
    { (yyval.list) = NIL; }
42246
21.1k
#line 42247 "gram.c"
42247
21.1k
    break;
42248
42249
60.0k
  case 1810:
42250
60.0k
#line 12797 "gram.y"
42251
60.0k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
42252
60.0k
#line 42253 "gram.c"
42253
60.0k
    break;
42254
42255
2.66k
  case 1811:
42256
2.66k
#line 12798 "gram.y"
42257
2.66k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
42258
2.66k
#line 42259 "gram.c"
42259
2.66k
    break;
42260
42261
61.4k
  case 1812:
42262
61.4k
#line 12805 "gram.y"
42263
61.4k
    {
42264
61.4k
          (yyvsp[-1].range)->alias = (yyvsp[0].alias);
42265
61.4k
          (yyval.node) = (Node *) (yyvsp[-1].range);
42266
61.4k
        }
42267
61.4k
#line 42268 "gram.c"
42268
61.4k
    break;
42269
42270
6
  case 1813:
42271
6
#line 12810 "gram.y"
42272
6
    {
42273
6
          RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
42274
6
          (yyvsp[-2].range)->alias = (yyvsp[-1].alias);
42275
          /* relation_expr goes inside the RangeTableSample node */
42276
6
          n->relation = (Node *) (yyvsp[-2].range);
42277
6
          (yyval.node) = (Node *) n;
42278
6
        }
42279
6
#line 42280 "gram.c"
42280
6
    break;
42281
42282
1.92k
  case 1814:
42283
1.92k
#line 12818 "gram.y"
42284
1.92k
    {
42285
1.92k
          RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
42286
1.92k
          n->alias = linitial((yyvsp[0].list));
42287
1.92k
          n->coldeflist = lsecond((yyvsp[0].list));
42288
1.92k
          (yyval.node) = (Node *) n;
42289
1.92k
        }
42290
1.92k
#line 42291 "gram.c"
42291
1.92k
    break;
42292
42293
0
  case 1815:
42294
0
#line 12825 "gram.y"
42295
0
    {
42296
0
          RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
42297
0
          n->lateral = true;
42298
0
          n->alias = linitial((yyvsp[0].list));
42299
0
          n->coldeflist = lsecond((yyvsp[0].list));
42300
0
          (yyval.node) = (Node *) n;
42301
0
        }
42302
0
#line 42303 "gram.c"
42303
0
    break;
42304
42305
0
  case 1816:
42306
0
#line 12833 "gram.y"
42307
0
    {
42308
0
          RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
42309
0
          n->alias = (yyvsp[0].alias);
42310
0
          (yyval.node) = (Node *) n;
42311
0
        }
42312
0
#line 42313 "gram.c"
42313
0
    break;
42314
42315
0
  case 1817:
42316
0
#line 12839 "gram.y"
42317
0
    {
42318
0
          RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
42319
0
          n->lateral = true;
42320
0
          n->alias = (yyvsp[0].alias);
42321
0
          (yyval.node) = (Node *) n;
42322
0
        }
42323
0
#line 42324 "gram.c"
42324
0
    break;
42325
42326
2.09k
  case 1818:
42327
2.09k
#line 12846 "gram.y"
42328
2.09k
    {
42329
2.09k
          RangeSubselect *n = makeNode(RangeSubselect);
42330
2.09k
          n->lateral = false;
42331
2.09k
          n->subquery = (yyvsp[-1].node);
42332
2.09k
          n->alias = (yyvsp[0].alias);
42333
          /*
42334
           * The SQL spec does not permit a subselect
42335
           * (<derived_table>) without an alias clause,
42336
           * so we don't either.  This avoids the problem
42337
           * of needing to invent a unique refname for it.
42338
           * That could be surmounted if there's sufficient
42339
           * popular demand, but for now let's just implement
42340
           * the spec and see if anyone complains.
42341
           * However, it does seem like a good idea to emit
42342
           * an error message that's better than "syntax error".
42343
           */
42344
2.09k
          if ((yyvsp[0].alias) == NULL)
42345
0
          {
42346
0
            if (IsA((yyvsp[-1].node), SelectStmt) &&
42347
0
              ((SelectStmt *) (yyvsp[-1].node))->valuesLists)
42348
0
              ereport(ERROR,
42349
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
42350
0
                   errmsg("VALUES in FROM must have an alias"),
42351
0
                   errhint("For example, FROM (VALUES ...) [AS] foo."),
42352
0
                   parser_errposition((yylsp[-1]))));
42353
0
            else
42354
0
              ereport(ERROR,
42355
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
42356
0
                   errmsg("subquery in FROM must have an alias"),
42357
0
                   errhint("For example, FROM (SELECT ...) [AS] foo."),
42358
0
                   parser_errposition((yylsp[-1]))));
42359
0
          }
42360
2.09k
          (yyval.node) = (Node *) n;
42361
2.09k
        }
42362
2.09k
#line 42363 "gram.c"
42363
2.09k
    break;
42364
42365
14
  case 1819:
42366
14
#line 12881 "gram.y"
42367
14
    {
42368
14
          RangeSubselect *n = makeNode(RangeSubselect);
42369
14
          n->lateral = true;
42370
14
          n->subquery = (yyvsp[-1].node);
42371
14
          n->alias = (yyvsp[0].alias);
42372
          /* same comment as above */
42373
14
          if ((yyvsp[0].alias) == NULL)
42374
0
          {
42375
0
            if (IsA((yyvsp[-1].node), SelectStmt) &&
42376
0
              ((SelectStmt *) (yyvsp[-1].node))->valuesLists)
42377
0
              ereport(ERROR,
42378
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
42379
0
                   errmsg("VALUES in FROM must have an alias"),
42380
0
                   errhint("For example, FROM (VALUES ...) [AS] foo."),
42381
0
                   parser_errposition((yylsp[-1]))));
42382
0
            else
42383
0
              ereport(ERROR,
42384
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
42385
0
                   errmsg("subquery in FROM must have an alias"),
42386
0
                   errhint("For example, FROM (SELECT ...) [AS] foo."),
42387
0
                   parser_errposition((yylsp[-1]))));
42388
0
          }
42389
14
          (yyval.node) = (Node *) n;
42390
14
        }
42391
14
#line 42392 "gram.c"
42392
14
    break;
42393
42394
2.74k
  case 1820:
42395
2.74k
#line 12906 "gram.y"
42396
2.74k
    {
42397
2.74k
          (yyval.node) = (Node *) (yyvsp[0].jexpr);
42398
2.74k
        }
42399
2.74k
#line 42400 "gram.c"
42400
2.74k
    break;
42401
42402
3
  case 1821:
42403
3
#line 12910 "gram.y"
42404
3
    {
42405
3
          (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
42406
3
          (yyval.node) = (Node *) (yyvsp[-2].jexpr);
42407
3
        }
42408
3
#line 42409 "gram.c"
42409
3
    break;
42410
42411
1.39k
  case 1822:
42412
1.39k
#line 12936 "gram.y"
42413
1.39k
    {
42414
1.39k
          (yyval.jexpr) = (yyvsp[-1].jexpr);
42415
1.39k
        }
42416
1.39k
#line 42417 "gram.c"
42417
1.39k
    break;
42418
42419
4
  case 1823:
42420
4
#line 12940 "gram.y"
42421
4
    {
42422
          /* CROSS JOIN is same as unqualified inner join */
42423
4
          JoinExpr *n = makeNode(JoinExpr);
42424
4
          n->jointype = JOIN_INNER;
42425
4
          n->isNatural = false;
42426
4
          n->larg = (yyvsp[-3].node);
42427
4
          n->rarg = (yyvsp[0].node);
42428
4
          n->usingClause = NIL;
42429
4
          n->quals = NULL;
42430
4
          (yyval.jexpr) = n;
42431
4
        }
42432
4
#line 42433 "gram.c"
42433
4
    break;
42434
42435
2.25k
  case 1824:
42436
2.25k
#line 12952 "gram.y"
42437
2.25k
    {
42438
2.25k
          JoinExpr *n = makeNode(JoinExpr);
42439
2.25k
          n->jointype = (yyvsp[-3].jtype);
42440
2.25k
          n->isNatural = false;
42441
2.25k
          n->larg = (yyvsp[-4].node);
42442
2.25k
          n->rarg = (yyvsp[-1].node);
42443
2.25k
          if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
42444
0
            n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
42445
2.25k
          else
42446
2.25k
            n->quals = (yyvsp[0].node); /* ON clause */
42447
2.25k
          (yyval.jexpr) = n;
42448
2.25k
        }
42449
2.25k
#line 42450 "gram.c"
42450
2.25k
    break;
42451
42452
458
  case 1825:
42453
458
#line 12965 "gram.y"
42454
458
    {
42455
          /* letting join_type reduce to empty doesn't work */
42456
458
          JoinExpr *n = makeNode(JoinExpr);
42457
458
          n->jointype = JOIN_INNER;
42458
458
          n->isNatural = false;
42459
458
          n->larg = (yyvsp[-3].node);
42460
458
          n->rarg = (yyvsp[-1].node);
42461
458
          if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
42462
32
            n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
42463
426
          else
42464
426
            n->quals = (yyvsp[0].node); /* ON clause */
42465
458
          (yyval.jexpr) = n;
42466
458
        }
42467
458
#line 42468 "gram.c"
42468
458
    break;
42469
42470
0
  case 1826:
42471
0
#line 12979 "gram.y"
42472
0
    {
42473
0
          JoinExpr *n = makeNode(JoinExpr);
42474
0
          n->jointype = (yyvsp[-2].jtype);
42475
0
          n->isNatural = true;
42476
0
          n->larg = (yyvsp[-4].node);
42477
0
          n->rarg = (yyvsp[0].node);
42478
0
          n->usingClause = NIL; /* figure out which columns later... */
42479
0
          n->quals = NULL; /* fill later */
42480
0
          (yyval.jexpr) = n;
42481
0
        }
42482
0
#line 42483 "gram.c"
42483
0
    break;
42484
42485
29
  case 1827:
42486
29
#line 12990 "gram.y"
42487
29
    {
42488
          /* letting join_type reduce to empty doesn't work */
42489
29
          JoinExpr *n = makeNode(JoinExpr);
42490
29
          n->jointype = JOIN_INNER;
42491
29
          n->isNatural = true;
42492
29
          n->larg = (yyvsp[-3].node);
42493
29
          n->rarg = (yyvsp[0].node);
42494
29
          n->usingClause = NIL; /* figure out which columns later... */
42495
29
          n->quals = NULL; /* fill later */
42496
29
          (yyval.jexpr) = n;
42497
29
        }
42498
29
#line 42499 "gram.c"
42499
29
    break;
42500
42501
112
  case 1828:
42502
112
#line 13005 "gram.y"
42503
112
    {
42504
112
          (yyval.alias) = makeNode(Alias);
42505
112
          (yyval.alias)->aliasname = (yyvsp[-3].str);
42506
112
          (yyval.alias)->colnames = (yyvsp[-1].list);
42507
112
        }
42508
112
#line 42509 "gram.c"
42509
112
    break;
42510
42511
222
  case 1829:
42512
222
#line 13011 "gram.y"
42513
222
    {
42514
222
          (yyval.alias) = makeNode(Alias);
42515
222
          (yyval.alias)->aliasname = (yyvsp[0].str);
42516
222
        }
42517
222
#line 42518 "gram.c"
42518
222
    break;
42519
42520
1.94k
  case 1830:
42521
1.94k
#line 13016 "gram.y"
42522
1.94k
    {
42523
1.94k
          (yyval.alias) = makeNode(Alias);
42524
1.94k
          (yyval.alias)->aliasname = (yyvsp[-3].str);
42525
1.94k
          (yyval.alias)->colnames = (yyvsp[-1].list);
42526
1.94k
        }
42527
1.94k
#line 42528 "gram.c"
42528
1.94k
    break;
42529
42530
10.5k
  case 1831:
42531
10.5k
#line 13022 "gram.y"
42532
10.5k
    {
42533
10.5k
          (yyval.alias) = makeNode(Alias);
42534
10.5k
          (yyval.alias)->aliasname = (yyvsp[0].str);
42535
10.5k
        }
42536
10.5k
#line 42537 "gram.c"
42537
10.5k
    break;
42538
42539
12.3k
  case 1832:
42540
12.3k
#line 13028 "gram.y"
42541
12.3k
    { (yyval.alias) = (yyvsp[0].alias); }
42542
12.3k
#line 42543 "gram.c"
42543
12.3k
    break;
42544
42545
51.2k
  case 1833:
42546
51.2k
#line 13029 "gram.y"
42547
51.2k
    { (yyval.alias) = NULL; }
42548
51.2k
#line 42549 "gram.c"
42549
51.2k
    break;
42550
42551
503
  case 1834:
42552
503
#line 13038 "gram.y"
42553
503
    {
42554
503
          (yyval.list) = list_make2((yyvsp[0].alias), NIL);
42555
503
        }
42556
503
#line 42557 "gram.c"
42557
503
    break;
42558
42559
0
  case 1835:
42560
0
#line 13042 "gram.y"
42561
0
    {
42562
0
          (yyval.list) = list_make2(NULL, (yyvsp[-1].list));
42563
0
        }
42564
0
#line 42565 "gram.c"
42565
0
    break;
42566
42567
99
  case 1836:
42568
99
#line 13046 "gram.y"
42569
99
    {
42570
99
          Alias *a = makeNode(Alias);
42571
99
          a->aliasname = (yyvsp[-3].str);
42572
99
          (yyval.list) = list_make2(a, (yyvsp[-1].list));
42573
99
        }
42574
99
#line 42575 "gram.c"
42575
99
    break;
42576
42577
0
  case 1837:
42578
0
#line 13052 "gram.y"
42579
0
    {
42580
0
          Alias *a = makeNode(Alias);
42581
0
          a->aliasname = (yyvsp[-3].str);
42582
0
          (yyval.list) = list_make2(a, (yyvsp[-1].list));
42583
0
        }
42584
0
#line 42585 "gram.c"
42585
0
    break;
42586
42587
1.32k
  case 1838:
42588
1.32k
#line 13058 "gram.y"
42589
1.32k
    {
42590
1.32k
          (yyval.list) = list_make2(NULL, NIL);
42591
1.32k
        }
42592
1.32k
#line 42593 "gram.c"
42593
1.32k
    break;
42594
42595
128
  case 1839:
42596
128
#line 13063 "gram.y"
42597
128
    { (yyval.jtype) = JOIN_FULL; }
42598
128
#line 42599 "gram.c"
42599
128
    break;
42600
42601
743
  case 1840:
42602
743
#line 13064 "gram.y"
42603
743
    { (yyval.jtype) = JOIN_LEFT; }
42604
743
#line 42605 "gram.c"
42605
743
    break;
42606
42607
26
  case 1841:
42608
26
#line 13065 "gram.y"
42609
26
    { (yyval.jtype) = JOIN_RIGHT; }
42610
26
#line 42611 "gram.c"
42611
26
    break;
42612
42613
1.35k
  case 1842:
42614
1.35k
#line 13066 "gram.y"
42615
1.35k
    { (yyval.jtype) = JOIN_INNER; }
42616
1.35k
#line 42617 "gram.c"
42617
1.35k
    break;
42618
42619
10
  case 1843:
42620
10
#line 13070 "gram.y"
42621
10
    { (yyval.node) = NULL; }
42622
10
#line 42623 "gram.c"
42623
10
    break;
42624
42625
887
  case 1844:
42626
887
#line 13071 "gram.y"
42627
887
    { (yyval.node) = NULL; }
42628
887
#line 42629 "gram.c"
42629
887
    break;
42630
42631
32
  case 1845:
42632
32
#line 13083 "gram.y"
42633
32
    { (yyval.node) = (Node *) (yyvsp[-1].list); }
42634
32
#line 42635 "gram.c"
42635
32
    break;
42636
42637
2.68k
  case 1846:
42638
2.68k
#line 13084 "gram.y"
42639
2.68k
    { (yyval.node) = (yyvsp[0].node); }
42640
2.68k
#line 42641 "gram.c"
42641
2.68k
    break;
42642
42643
75.5k
  case 1847:
42644
75.5k
#line 13090 "gram.y"
42645
75.5k
    {
42646
          /* inheritance query, implicitly */
42647
75.5k
          (yyval.range) = (yyvsp[0].range);
42648
75.5k
          (yyval.range)->inh = true;
42649
75.5k
          (yyval.range)->alias = NULL;
42650
75.5k
        }
42651
75.5k
#line 42652 "gram.c"
42652
75.5k
    break;
42653
42654
0
  case 1848:
42655
0
#line 13097 "gram.y"
42656
0
    {
42657
          /* inheritance query, explicitly */
42658
0
          (yyval.range) = (yyvsp[-1].range);
42659
0
          (yyval.range)->inh = true;
42660
0
          (yyval.range)->alias = NULL;
42661
0
        }
42662
0
#line 42663 "gram.c"
42663
0
    break;
42664
42665
174
  case 1849:
42666
174
#line 13104 "gram.y"
42667
174
    {
42668
          /* no inheritance */
42669
174
          (yyval.range) = (yyvsp[0].range);
42670
174
          (yyval.range)->inh = false;
42671
174
          (yyval.range)->alias = NULL;
42672
174
        }
42673
174
#line 42674 "gram.c"
42674
174
    break;
42675
42676
0
  case 1850:
42677
0
#line 13111 "gram.y"
42678
0
    {
42679
          /* no inheritance, SQL99-style syntax */
42680
0
          (yyval.range) = (yyvsp[-1].range);
42681
0
          (yyval.range)->inh = false;
42682
0
          (yyval.range)->alias = NULL;
42683
0
        }
42684
0
#line 42685 "gram.c"
42685
0
    break;
42686
42687
59
  case 1851:
42688
59
#line 13121 "gram.y"
42689
59
    { (yyval.list) = list_make1((yyvsp[0].range)); }
42690
59
#line 42691 "gram.c"
42691
59
    break;
42692
42693
6
  case 1852:
42694
6
#line 13122 "gram.y"
42695
6
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
42696
6
#line 42697 "gram.c"
42697
6
    break;
42698
42699
13.3k
  case 1853:
42700
13.3k
#line 13136 "gram.y"
42701
13.3k
    {
42702
13.3k
          (yyval.range) = (yyvsp[0].range);
42703
13.3k
        }
42704
13.3k
#line 42705 "gram.c"
42705
13.3k
    break;
42706
42707
10
  case 1854:
42708
10
#line 13140 "gram.y"
42709
10
    {
42710
10
          Alias *alias = makeNode(Alias);
42711
10
          alias->aliasname = (yyvsp[0].str);
42712
10
          (yyvsp[-1].range)->alias = alias;
42713
10
          (yyval.range) = (yyvsp[-1].range);
42714
10
        }
42715
10
#line 42716 "gram.c"
42716
10
    break;
42717
42718
0
  case 1855:
42719
0
#line 13147 "gram.y"
42720
0
    {
42721
0
          Alias *alias = makeNode(Alias);
42722
0
          alias->aliasname = (yyvsp[0].str);
42723
0
          (yyvsp[-2].range)->alias = alias;
42724
0
          (yyval.range) = (yyvsp[-2].range);
42725
0
        }
42726
0
#line 42727 "gram.c"
42727
0
    break;
42728
42729
6
  case 1856:
42730
6
#line 13160 "gram.y"
42731
6
    {
42732
6
          RangeTableSample *n = makeNode(RangeTableSample);
42733
          /* n->relation will be filled in later */
42734
6
          n->method = (yyvsp[-4].list);
42735
6
          n->args = (yyvsp[-2].list);
42736
6
          n->repeatable = (yyvsp[0].node);
42737
6
          n->location = (yylsp[-4]);
42738
6
          (yyval.node) = (Node *) n;
42739
6
        }
42740
6
#line 42741 "gram.c"
42741
6
    break;
42742
42743
6
  case 1857:
42744
6
#line 13172 "gram.y"
42745
6
    { (yyval.node) = (Node *) (yyvsp[-1].node); }
42746
6
#line 42747 "gram.c"
42747
6
    break;
42748
42749
0
  case 1858:
42750
0
#line 13173 "gram.y"
42751
0
    { (yyval.node) = NULL; }
42752
0
#line 42753 "gram.c"
42753
0
    break;
42754
42755
1.92k
  case 1859:
42756
1.92k
#line 13189 "gram.y"
42757
1.92k
    {
42758
1.92k
          RangeFunction *n = makeNode(RangeFunction);
42759
1.92k
          n->lateral = false;
42760
1.92k
          n->ordinality = (yyvsp[0].boolean);
42761
1.92k
          n->is_rowsfrom = false;
42762
1.92k
          n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
42763
          /* alias and coldeflist are set by table_ref production */
42764
1.92k
          (yyval.node) = (Node *) n;
42765
1.92k
        }
42766
1.92k
#line 42767 "gram.c"
42767
1.92k
    break;
42768
42769
0
  case 1860:
42770
0
#line 13199 "gram.y"
42771
0
    {
42772
0
          RangeFunction *n = makeNode(RangeFunction);
42773
0
          n->lateral = false;
42774
0
          n->ordinality = (yyvsp[0].boolean);
42775
0
          n->is_rowsfrom = true;
42776
0
          n->functions = (yyvsp[-2].list);
42777
          /* alias and coldeflist are set by table_ref production */
42778
0
          (yyval.node) = (Node *) n;
42779
0
        }
42780
0
#line 42781 "gram.c"
42781
0
    break;
42782
42783
0
  case 1861:
42784
0
#line 13211 "gram.y"
42785
0
    { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
42786
0
#line 42787 "gram.c"
42787
0
    break;
42788
42789
0
  case 1862:
42790
0
#line 13215 "gram.y"
42791
0
    { (yyval.list) = list_make1((yyvsp[0].list)); }
42792
0
#line 42793 "gram.c"
42793
0
    break;
42794
42795
0
  case 1863:
42796
0
#line 13216 "gram.y"
42797
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
42798
0
#line 42799 "gram.c"
42799
0
    break;
42800
42801
0
  case 1864:
42802
0
#line 13219 "gram.y"
42803
0
    { (yyval.list) = (yyvsp[-1].list); }
42804
0
#line 42805 "gram.c"
42805
0
    break;
42806
42807
0
  case 1865:
42808
0
#line 13220 "gram.y"
42809
0
    { (yyval.list) = NIL; }
42810
0
#line 42811 "gram.c"
42811
0
    break;
42812
42813
0
  case 1866:
42814
0
#line 13223 "gram.y"
42815
0
    { (yyval.boolean) = true; }
42816
0
#line 42817 "gram.c"
42817
0
    break;
42818
42819
1.92k
  case 1867:
42820
1.92k
#line 13224 "gram.y"
42821
1.92k
    { (yyval.boolean) = false; }
42822
1.92k
#line 42823 "gram.c"
42823
1.92k
    break;
42824
42825
44.3k
  case 1868:
42826
44.3k
#line 13229 "gram.y"
42827
44.3k
    { (yyval.node) = (yyvsp[0].node); }
42828
44.3k
#line 42829 "gram.c"
42829
44.3k
    break;
42830
42831
29.6k
  case 1869:
42832
29.6k
#line 13230 "gram.y"
42833
29.6k
    { (yyval.node) = NULL; }
42834
29.6k
#line 42835 "gram.c"
42835
29.6k
    break;
42836
42837
13.0k
  case 1870:
42838
13.0k
#line 13235 "gram.y"
42839
13.0k
    { (yyval.node) = (yyvsp[0].node); }
42840
13.0k
#line 42841 "gram.c"
42841
13.0k
    break;
42842
42843
10
  case 1871:
42844
10
#line 13237 "gram.y"
42845
10
    {
42846
10
          parser_ybc_signal_unsupported((yylsp[-3]), "WHERE CURRENT OF", 737);
42847
10
          CurrentOfExpr *n = makeNode(CurrentOfExpr);
42848
          /* cvarno is filled in by parse analysis */
42849
10
          n->cursor_name = (yyvsp[0].str);
42850
10
          n->cursor_param = 0;
42851
10
          (yyval.node) = (Node *) n;
42852
10
        }
42853
10
#line 42854 "gram.c"
42854
10
    break;
42855
42856
328
  case 1872:
42857
328
#line 13245 "gram.y"
42858
328
    { (yyval.node) = NULL; }
42859
328
#line 42860 "gram.c"
42860
328
    break;
42861
42862
31
  case 1873:
42863
31
#line 13250 "gram.y"
42864
31
    { (yyval.list) = (yyvsp[0].list); }
42865
31
#line 42866 "gram.c"
42866
31
    break;
42867
42868
0
  case 1874:
42869
0
#line 13251 "gram.y"
42870
0
    { (yyval.list) = NIL; }
42871
0
#line 42872 "gram.c"
42872
0
    break;
42873
42874
129
  case 1875:
42875
129
#line 13256 "gram.y"
42876
129
    {
42877
129
          (yyval.list) = list_make1((yyvsp[0].node));
42878
129
        }
42879
129
#line 42880 "gram.c"
42880
129
    break;
42881
42882
125
  case 1876:
42883
125
#line 13260 "gram.y"
42884
125
    {
42885
125
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
42886
125
        }
42887
125
#line 42888 "gram.c"
42888
125
    break;
42889
42890
255
  case 1877:
42891
255
#line 13266 "gram.y"
42892
255
    {
42893
255
          ColumnDef *n = makeNode(ColumnDef);
42894
255
          n->colname = (yyvsp[-2].str);
42895
255
          n->typeName = (yyvsp[-1].typnam);
42896
255
          n->inhcount = 0;
42897
255
          n->is_local = true;
42898
255
          n->is_not_null = false;
42899
255
          n->is_from_type = false;
42900
255
          n->storage = 0;
42901
255
          n->raw_default = NULL;
42902
255
          n->cooked_default = NULL;
42903
255
          n->collClause = (CollateClause *) (yyvsp[0].node);
42904
255
          n->collOid = InvalidOid;
42905
255
          n->constraints = NIL;
42906
255
          n->location = (yylsp[-2]);
42907
255
          (yyval.node) = (Node *)n;
42908
255
        }
42909
255
#line 42910 "gram.c"
42910
255
    break;
42911
42912
0
  case 1878:
42913
0
#line 13290 "gram.y"
42914
0
    {
42915
0
          RangeTableFunc *n = makeNode(RangeTableFunc);
42916
0
          n->rowexpr = (yyvsp[-4].node);
42917
0
          n->docexpr = (yyvsp[-3].node);
42918
0
          n->columns = (yyvsp[-1].list);
42919
0
          n->namespaces = NIL;
42920
0
          n->location = (yylsp[-6]);
42921
0
          (yyval.node) = (Node *)n;
42922
0
        }
42923
0
#line 42924 "gram.c"
42924
0
    break;
42925
42926
0
  case 1879:
42927
0
#line 13301 "gram.y"
42928
0
    {
42929
0
          RangeTableFunc *n = makeNode(RangeTableFunc);
42930
0
          n->rowexpr = (yyvsp[-4].node);
42931
0
          n->docexpr = (yyvsp[-3].node);
42932
0
          n->columns = (yyvsp[-1].list);
42933
0
          n->namespaces = (yyvsp[-7].list);
42934
0
          n->location = (yylsp[-11]);
42935
0
          (yyval.node) = (Node *)n;
42936
0
        }
42937
0
#line 42938 "gram.c"
42938
0
    break;
42939
42940
0
  case 1880:
42941
0
#line 13312 "gram.y"
42942
0
    { (yyval.list) = list_make1((yyvsp[0].node)); }
42943
0
#line 42944 "gram.c"
42944
0
    break;
42945
42946
0
  case 1881:
42947
0
#line 13313 "gram.y"
42948
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
42949
0
#line 42950 "gram.c"
42950
0
    break;
42951
42952
0
  case 1882:
42953
0
#line 13318 "gram.y"
42954
0
    {
42955
0
          RangeTableFuncCol    *fc = makeNode(RangeTableFuncCol);
42956
42957
0
          fc->colname = (yyvsp[-1].str);
42958
0
          fc->for_ordinality = false;
42959
0
          fc->typeName = (yyvsp[0].typnam);
42960
0
          fc->is_not_null = false;
42961
0
          fc->colexpr = NULL;
42962
0
          fc->coldefexpr = NULL;
42963
0
          fc->location = (yylsp[-1]);
42964
42965
0
          (yyval.node) = (Node *) fc;
42966
0
        }
42967
0
#line 42968 "gram.c"
42968
0
    break;
42969
42970
0
  case 1883:
42971
0
#line 13332 "gram.y"
42972
0
    {
42973
0
          RangeTableFuncCol    *fc = makeNode(RangeTableFuncCol);
42974
0
          ListCell       *option;
42975
0
          bool        nullability_seen = false;
42976
42977
0
          fc->colname = (yyvsp[-2].str);
42978
0
          fc->typeName = (yyvsp[-1].typnam);
42979
0
          fc->for_ordinality = false;
42980
0
          fc->is_not_null = false;
42981
0
          fc->colexpr = NULL;
42982
0
          fc->coldefexpr = NULL;
42983
0
          fc->location = (yylsp[-2]);
42984
42985
0
          foreach(option, (yyvsp[0].list))
42986
0
          {
42987
0
            DefElem   *defel = (DefElem *) lfirst(option);
42988
42989
0
            if (strcmp(defel->defname, "default") == 0)
42990
0
            {
42991
0
              if (fc->coldefexpr != NULL)
42992
0
                ereport(ERROR,
42993
0
                    (errcode(ERRCODE_SYNTAX_ERROR),
42994
0
                     errmsg("only one DEFAULT value is allowed"),
42995
0
                     parser_errposition(defel->location)));
42996
0
              fc->coldefexpr = defel->arg;
42997
0
            }
42998
0
            else if (strcmp(defel->defname, "path") == 0)
42999
0
            {
43000
0
              if (fc->colexpr != NULL)
43001
0
                ereport(ERROR,
43002
0
                    (errcode(ERRCODE_SYNTAX_ERROR),
43003
0
                     errmsg("only one PATH value per column is allowed"),
43004
0
                     parser_errposition(defel->location)));
43005
0
              fc->colexpr = defel->arg;
43006
0
            }
43007
0
            else if (strcmp(defel->defname, "is_not_null") == 0)
43008
0
            {
43009
0
              if (nullability_seen)
43010
0
                ereport(ERROR,
43011
0
                    (errcode(ERRCODE_SYNTAX_ERROR),
43012
0
                     errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
43013
0
                     parser_errposition(defel->location)));
43014
0
              fc->is_not_null = intVal(defel->arg);
43015
0
              nullability_seen = true;
43016
0
            }
43017
0
            else
43018
0
            {
43019
0
              ereport(ERROR,
43020
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
43021
0
                   errmsg("unrecognized column option \"%s\"",
43022
0
                      defel->defname),
43023
0
                   parser_errposition(defel->location)));
43024
0
            }
43025
0
          }
43026
0
          (yyval.node) = (Node *) fc;
43027
0
        }
43028
0
#line 43029 "gram.c"
43029
0
    break;
43030
43031
0
  case 1884:
43032
0
#line 13389 "gram.y"
43033
0
    {
43034
0
          RangeTableFuncCol    *fc = makeNode(RangeTableFuncCol);
43035
43036
0
          fc->colname = (yyvsp[-2].str);
43037
0
          fc->for_ordinality = true;
43038
          /* other fields are ignored, initialized by makeNode */
43039
0
          fc->location = (yylsp[-2]);
43040
43041
0
          (yyval.node) = (Node *) fc;
43042
0
        }
43043
0
#line 43044 "gram.c"
43044
0
    break;
43045
43046
0
  case 1885:
43047
0
#line 13403 "gram.y"
43048
0
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
43049
0
#line 43050 "gram.c"
43050
0
    break;
43051
43052
0
  case 1886:
43053
0
#line 13405 "gram.y"
43054
0
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
43055
0
#line 43056 "gram.c"
43056
0
    break;
43057
43058
0
  case 1887:
43059
0
#line 13410 "gram.y"
43060
0
    { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
43061
0
#line 43062 "gram.c"
43062
0
    break;
43063
43064
0
  case 1888:
43065
0
#line 13412 "gram.y"
43066
0
    { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
43067
0
#line 43068 "gram.c"
43068
0
    break;
43069
43070
0
  case 1889:
43071
0
#line 13414 "gram.y"
43072
0
    { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
43073
0
#line 43074 "gram.c"
43074
0
    break;
43075
43076
0
  case 1890:
43077
0
#line 13416 "gram.y"
43078
0
    { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
43079
0
#line 43080 "gram.c"
43080
0
    break;
43081
43082
0
  case 1891:
43083
0
#line 13421 "gram.y"
43084
0
    { (yyval.list) = list_make1((yyvsp[0].target)); }
43085
0
#line 43086 "gram.c"
43086
0
    break;
43087
43088
0
  case 1892:
43089
0
#line 13423 "gram.y"
43090
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
43091
0
#line 43092 "gram.c"
43092
0
    break;
43093
43094
0
  case 1893:
43095
0
#line 13428 "gram.y"
43096
0
    {
43097
0
          (yyval.target) = makeNode(ResTarget);
43098
0
          (yyval.target)->name = (yyvsp[0].str);
43099
0
          (yyval.target)->indirection = NIL;
43100
0
          (yyval.target)->val = (yyvsp[-2].node);
43101
0
          (yyval.target)->location = (yylsp[-2]);
43102
0
        }
43103
0
#line 43104 "gram.c"
43104
0
    break;
43105
43106
0
  case 1894:
43107
0
#line 13436 "gram.y"
43108
0
    {
43109
0
          (yyval.target) = makeNode(ResTarget);
43110
0
          (yyval.target)->name = NULL;
43111
0
          (yyval.target)->indirection = NIL;
43112
0
          (yyval.target)->val = (yyvsp[0].node);
43113
0
          (yyval.target)->location = (yylsp[-1]);
43114
0
        }
43115
0
#line 43116 "gram.c"
43116
0
    break;
43117
43118
18.7k
  case 1895:
43119
18.7k
#line 13456 "gram.y"
43120
18.7k
    {
43121
18.7k
          (yyval.typnam) = (yyvsp[-1].typnam);
43122
18.7k
          (yyval.typnam)->arrayBounds = (yyvsp[0].list);
43123
18.7k
        }
43124
18.7k
#line 43125 "gram.c"
43125
18.7k
    break;
43126
43127
15
  case 1896:
43128
15
#line 13461 "gram.y"
43129
15
    {
43130
15
          (yyval.typnam) = (yyvsp[-1].typnam);
43131
15
          (yyval.typnam)->arrayBounds = (yyvsp[0].list);
43132
15
          (yyval.typnam)->setof = true;
43133
15
        }
43134
15
#line 43135 "gram.c"
43135
15
    break;
43136
43137
2
  case 1897:
43138
2
#line 13468 "gram.y"
43139
2
    {
43140
2
          (yyval.typnam) = (yyvsp[-4].typnam);
43141
2
          (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
43142
2
        }
43143
2
#line 43144 "gram.c"
43144
2
    break;
43145
43146
0
  case 1898:
43147
0
#line 13473 "gram.y"
43148
0
    {
43149
0
          (yyval.typnam) = (yyvsp[-4].typnam);
43150
0
          (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
43151
0
          (yyval.typnam)->setof = true;
43152
0
        }
43153
0
#line 43154 "gram.c"
43154
0
    break;
43155
43156
0
  case 1899:
43157
0
#line 13479 "gram.y"
43158
0
    {
43159
0
          (yyval.typnam) = (yyvsp[-1].typnam);
43160
0
          (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
43161
0
        }
43162
0
#line 43163 "gram.c"
43163
0
    break;
43164
43165
0
  case 1900:
43166
0
#line 13484 "gram.y"
43167
0
    {
43168
0
          (yyval.typnam) = (yyvsp[-1].typnam);
43169
0
          (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
43170
0
          (yyval.typnam)->setof = true;
43171
0
        }
43172
0
#line 43173 "gram.c"
43173
0
    break;
43174
43175
605
  case 1901:
43176
605
#line 13493 "gram.y"
43177
605
    {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
43178
605
#line 43179 "gram.c"
43179
605
    break;
43180
43181
2
  case 1902:
43182
2
#line 13495 "gram.y"
43183
2
    {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
43184
2
#line 43185 "gram.c"
43185
2
    break;
43186
43187
18.7k
  case 1903:
43188
18.7k
#line 13497 "gram.y"
43189
18.7k
    {  (yyval.list) = NIL; }
43190
18.7k
#line 43191 "gram.c"
43191
18.7k
    break;
43192
43193
12.6k
  case 1904:
43194
12.6k
#line 13501 "gram.y"
43195
12.6k
    { (yyval.typnam) = (yyvsp[0].typnam); }
43196
12.6k
#line 43197 "gram.c"
43197
12.6k
    break;
43198
43199
5.99k
  case 1905:
43200
5.99k
#line 13502 "gram.y"
43201
5.99k
    { (yyval.typnam) = (yyvsp[0].typnam); }
43202
5.99k
#line 43203 "gram.c"
43203
5.99k
    break;
43204
43205
7
  case 1906:
43206
7
#line 13503 "gram.y"
43207
7
    { (yyval.typnam) = (yyvsp[0].typnam); }
43208
7
#line 43209 "gram.c"
43209
7
    break;
43210
43211
106
  case 1907:
43212
106
#line 13504 "gram.y"
43213
106
    { (yyval.typnam) = (yyvsp[0].typnam); }
43214
106
#line 43215 "gram.c"
43215
106
    break;
43216
43217
52
  case 1908:
43218
52
#line 13505 "gram.y"
43219
52
    { (yyval.typnam) = (yyvsp[0].typnam); }
43220
52
#line 43221 "gram.c"
43221
52
    break;
43222
43223
15
  case 1909:
43224
15
#line 13507 "gram.y"
43225
15
    {
43226
15
          (yyval.typnam) = (yyvsp[-1].typnam);
43227
15
          (yyval.typnam)->typmods = (yyvsp[0].list);
43228
15
        }
43229
15
#line 43230 "gram.c"
43230
15
    break;
43231
43232
0
  case 1910:
43233
0
#line 13512 "gram.y"
43234
0
    {
43235
0
          (yyval.typnam) = (yyvsp[-3].typnam);
43236
0
          (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
43237
0
                       makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
43238
0
        }
43239
0
#line 43240 "gram.c"
43240
0
    break;
43241
43242
0
  case 1911:
43243
0
#line 13531 "gram.y"
43244
0
    { (yyval.typnam) = (yyvsp[0].typnam); }
43245
0
#line 43246 "gram.c"
43246
0
    break;
43247
43248
0
  case 1912:
43249
0
#line 13532 "gram.y"
43250
0
    { (yyval.typnam) = (yyvsp[0].typnam); }
43251
0
#line 43252 "gram.c"
43252
0
    break;
43253
43254
0
  case 1913:
43255
0
#line 13533 "gram.y"
43256
0
    { (yyval.typnam) = (yyvsp[0].typnam); }
43257
0
#line 43258 "gram.c"
43258
0
    break;
43259
43260
0
  case 1914:
43261
0
#line 13534 "gram.y"
43262
0
    { (yyval.typnam) = (yyvsp[0].typnam); }
43263
0
#line 43264 "gram.c"
43264
0
    break;
43265
43266
11.4k
  case 1915:
43267
11.4k
#line 13546 "gram.y"
43268
11.4k
    {
43269
11.4k
          (yyval.typnam) = makeTypeName((yyvsp[-1].str));
43270
11.4k
          (yyval.typnam)->typmods = (yyvsp[0].list);
43271
11.4k
          (yyval.typnam)->location = (yylsp[-1]);
43272
11.4k
        }
43273
11.4k
#line 43274 "gram.c"
43274
11.4k
    break;
43275
43276
1.11k
  case 1916:
43277
1.11k
#line 13552 "gram.y"
43278
1.11k
    {
43279
1.11k
          (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
43280
1.11k
          (yyval.typnam)->typmods = (yyvsp[0].list);
43281
1.11k
          (yyval.typnam)->location = (yylsp[-2]);
43282
1.11k
        }
43283
1.11k
#line 43284 "gram.c"
43284
1.11k
    break;
43285
43286
317
  case 1917:
43287
317
#line 13559 "gram.y"
43288
317
    { (yyval.list) = (yyvsp[-1].list); }
43289
317
#line 43290 "gram.c"
43290
317
    break;
43291
43292
12.7k
  case 1918:
43293
12.7k
#line 13560 "gram.y"
43294
12.7k
    { (yyval.list) = NIL; }
43295
12.7k
#line 43296 "gram.c"
43296
12.7k
    break;
43297
43298
3.20k
  case 1919:
43299
3.20k
#line 13567 "gram.y"
43300
3.20k
    {
43301
3.20k
          (yyval.typnam) = SystemTypeName("int4");
43302
3.20k
          (yyval.typnam)->location = (yylsp[0]);
43303
3.20k
        }
43304
3.20k
#line 43305 "gram.c"
43305
3.20k
    break;
43306
43307
1.90k
  case 1920:
43308
1.90k
#line 13572 "gram.y"
43309
1.90k
    {
43310
1.90k
          (yyval.typnam) = SystemTypeName("int4");
43311
1.90k
          (yyval.typnam)->location = (yylsp[0]);
43312
1.90k
        }
43313
1.90k
#line 43314 "gram.c"
43314
1.90k
    break;
43315
43316
34
  case 1921:
43317
34
#line 13577 "gram.y"
43318
34
    {
43319
34
          (yyval.typnam) = SystemTypeName("int2");
43320
34
          (yyval.typnam)->location = (yylsp[0]);
43321
34
        }
43322
34
#line 43323 "gram.c"
43323
34
    break;
43324
43325
64
  case 1922:
43326
64
#line 13582 "gram.y"
43327
64
    {
43328
64
          (yyval.typnam) = SystemTypeName("int8");
43329
64
          (yyval.typnam)->location = (yylsp[0]);
43330
64
        }
43331
64
#line 43332 "gram.c"
43332
64
    break;
43333
43334
9
  case 1923:
43335
9
#line 13587 "gram.y"
43336
9
    {
43337
9
          (yyval.typnam) = SystemTypeName("float4");
43338
9
          (yyval.typnam)->location = (yylsp[0]);
43339
9
        }
43340
9
#line 43341 "gram.c"
43341
9
    break;
43342
43343
82
  case 1924:
43344
82
#line 13592 "gram.y"
43345
82
    {
43346
82
          (yyval.typnam) = (yyvsp[0].typnam);
43347
82
          (yyval.typnam)->location = (yylsp[-1]);
43348
82
        }
43349
82
#line 43350 "gram.c"
43350
82
    break;
43351
43352
12
  case 1925:
43353
12
#line 13597 "gram.y"
43354
12
    {
43355
12
          (yyval.typnam) = SystemTypeName("float8");
43356
12
          (yyval.typnam)->location = (yylsp[-1]);
43357
12
        }
43358
12
#line 43359 "gram.c"
43359
12
    break;
43360
43361
7
  case 1926:
43362
7
#line 13602 "gram.y"
43363
7
    {
43364
7
          (yyval.typnam) = SystemTypeName("numeric");
43365
7
          (yyval.typnam)->typmods = (yyvsp[0].list);
43366
7
          (yyval.typnam)->location = (yylsp[-1]);
43367
7
        }
43368
7
#line 43369 "gram.c"
43369
7
    break;
43370
43371
0
  case 1927:
43372
0
#line 13608 "gram.y"
43373
0
    {
43374
0
          (yyval.typnam) = SystemTypeName("numeric");
43375
0
          (yyval.typnam)->typmods = (yyvsp[0].list);
43376
0
          (yyval.typnam)->location = (yylsp[-1]);
43377
0
        }
43378
0
#line 43379 "gram.c"
43379
0
    break;
43380
43381
468
  case 1928:
43382
468
#line 13614 "gram.y"
43383
468
    {
43384
468
          (yyval.typnam) = SystemTypeName("numeric");
43385
468
          (yyval.typnam)->typmods = (yyvsp[0].list);
43386
468
          (yyval.typnam)->location = (yylsp[-1]);
43387
468
        }
43388
468
#line 43389 "gram.c"
43389
468
    break;
43390
43391
206
  case 1929:
43392
206
#line 13620 "gram.y"
43393
206
    {
43394
206
          (yyval.typnam) = SystemTypeName("bool");
43395
206
          (yyval.typnam)->location = (yylsp[0]);
43396
206
        }
43397
206
#line 43398 "gram.c"
43398
206
    break;
43399
43400
0
  case 1930:
43401
0
#line 13627 "gram.y"
43402
0
    {
43403
          /*
43404
           * Check FLOAT() precision limits assuming IEEE floating
43405
           * types - thomas 1997-09-18
43406
           */
43407
0
          if ((yyvsp[-1].ival) < 1)
43408
0
            ereport(ERROR,
43409
0
                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
43410
0
                 errmsg("precision for type float must be at least 1 bit"),
43411
0
                 parser_errposition((yylsp[-1]))));
43412
0
          else if ((yyvsp[-1].ival) <= 24)
43413
0
            (yyval.typnam) = SystemTypeName("float4");
43414
0
          else if ((yyvsp[-1].ival) <= 53)
43415
0
            (yyval.typnam) = SystemTypeName("float8");
43416
0
          else
43417
0
            ereport(ERROR,
43418
0
                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
43419
0
                 errmsg("precision for type float must be less than 54 bits"),
43420
0
                 parser_errposition((yylsp[-1]))));
43421
0
        }
43422
0
#line 43423 "gram.c"
43423
0
    break;
43424
43425
82
  case 1931:
43426
82
#line 13648 "gram.y"
43427
82
    {
43428
82
          (yyval.typnam) = SystemTypeName("float8");
43429
82
        }
43430
82
#line 43431 "gram.c"
43431
82
    break;
43432
43433
5
  case 1932:
43434
5
#line 13658 "gram.y"
43435
5
    {
43436
5
          (yyval.typnam) = (yyvsp[0].typnam);
43437
5
        }
43438
5
#line 43439 "gram.c"
43439
5
    break;
43440
43441
2
  case 1933:
43442
2
#line 13662 "gram.y"
43443
2
    {
43444
2
          (yyval.typnam) = (yyvsp[0].typnam);
43445
2
        }
43446
2
#line 43447 "gram.c"
43447
2
    break;
43448
43449
0
  case 1934:
43450
0
#line 13670 "gram.y"
43451
0
    {
43452
0
          (yyval.typnam) = (yyvsp[0].typnam);
43453
0
        }
43454
0
#line 43455 "gram.c"
43455
0
    break;
43456
43457
0
  case 1935:
43458
0
#line 13674 "gram.y"
43459
0
    {
43460
0
          (yyval.typnam) = (yyvsp[0].typnam);
43461
0
          (yyval.typnam)->typmods = NIL;
43462
0
        }
43463
0
#line 43464 "gram.c"
43464
0
    break;
43465
43466
5
  case 1936:
43467
5
#line 13682 "gram.y"
43468
5
    {
43469
5
          char *typname;
43470
43471
5
          typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
43472
5
          (yyval.typnam) = SystemTypeName(typname);
43473
5
          (yyval.typnam)->typmods = (yyvsp[-1].list);
43474
5
          (yyval.typnam)->location = (yylsp[-4]);
43475
5
        }
43476
5
#line 43477 "gram.c"
43477
5
    break;
43478
43479
2
  case 1937:
43480
2
#line 13694 "gram.y"
43481
2
    {
43482
          /* bit defaults to bit(1), varbit to no limit */
43483
2
          if ((yyvsp[0].boolean))
43484
0
          {
43485
0
            (yyval.typnam) = SystemTypeName("varbit");
43486
0
          }
43487
2
          else
43488
2
          {
43489
2
            (yyval.typnam) = SystemTypeName("bit");
43490
2
            (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
43491
2
          }
43492
2
          (yyval.typnam)->location = (yylsp[-1]);
43493
2
        }
43494
2
#line 43495 "gram.c"
43495
2
    break;
43496
43497
47
  case 1938:
43498
47
#line 13715 "gram.y"
43499
47
    {
43500
47
          (yyval.typnam) = (yyvsp[0].typnam);
43501
47
        }
43502
47
#line 43503 "gram.c"
43503
47
    break;
43504
43505
59
  case 1939:
43506
59
#line 13719 "gram.y"
43507
59
    {
43508
59
          (yyval.typnam) = (yyvsp[0].typnam);
43509
59
        }
43510
59
#line 43511 "gram.c"
43511
59
    break;
43512
43513
0
  case 1940:
43514
0
#line 13725 "gram.y"
43515
0
    {
43516
0
          (yyval.typnam) = (yyvsp[0].typnam);
43517
0
        }
43518
0
#line 43519 "gram.c"
43519
0
    break;
43520
43521
0
  case 1941:
43522
0
#line 13729 "gram.y"
43523
0
    {
43524
          /* Length was not specified so allow to be unrestricted.
43525
           * This handles problems with fixed-length (bpchar) strings
43526
           * which in column definitions must default to a length
43527
           * of one, but should not be constrained if the length
43528
           * was not specified.
43529
           */
43530
0
          (yyval.typnam) = (yyvsp[0].typnam);
43531
0
          (yyval.typnam)->typmods = NIL;
43532
0
        }
43533
0
#line 43534 "gram.c"
43534
0
    break;
43535
43536
47
  case 1942:
43537
47
#line 13742 "gram.y"
43538
47
    {
43539
47
          (yyval.typnam) = SystemTypeName((yyvsp[-3].str));
43540
47
          (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
43541
47
          (yyval.typnam)->location = (yylsp[-3]);
43542
47
        }
43543
47
#line 43544 "gram.c"
43544
47
    break;
43545
43546
59
  case 1943:
43547
59
#line 13750 "gram.y"
43548
59
    {
43549
59
          (yyval.typnam) = SystemTypeName((yyvsp[0].str));
43550
          /* char defaults to char(1), varchar to no limit */
43551
59
          if (strcmp((yyvsp[0].str), "bpchar") == 0)
43552
1
            (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
43553
59
          (yyval.typnam)->location = (yylsp[0]);
43554
59
        }
43555
59
#line 43556 "gram.c"
43556
59
    break;
43557
43558
18
  case 1944:
43559
18
#line 13760 "gram.y"
43560
17
    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43561
18
#line 43562 "gram.c"
43562
18
    break;
43563
43564
14
  case 1945:
43565
14
#line 13762 "gram.y"
43566
14
    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43567
14
#line 43568 "gram.c"
43568
14
    break;
43569
43570
74
  case 1946:
43571
74
#line 13764 "gram.y"
43572
74
    { (yyval.str) = "varchar"; }
43573
74
#line 43574 "gram.c"
43574
74
    break;
43575
43576
0
  case 1947:
43577
0
#line 13766 "gram.y"
43578
0
    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43579
0
#line 43580 "gram.c"
43580
0
    break;
43581
43582
0
  case 1948:
43583
0
#line 13768 "gram.y"
43584
0
    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43585
0
#line 43586 "gram.c"
43586
0
    break;
43587
43588
0
  case 1949:
43589
0
#line 13770 "gram.y"
43590
0
    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43591
0
#line 43592 "gram.c"
43592
0
    break;
43593
43594
17
  case 1950:
43595
17
#line 13774 "gram.y"
43596
17
    { (yyval.boolean) = true; }
43597
17
#line 43598 "gram.c"
43598
17
    break;
43599
43600
22
  case 1951:
43601
22
#line 13775 "gram.y"
43602
22
    { (yyval.boolean) = false; }
43603
22
#line 43604 "gram.c"
43604
22
    break;
43605
43606
0
  case 1952:
43607
0
#line 13783 "gram.y"
43608
0
    {
43609
0
          if ((yyvsp[0].boolean))
43610
0
            (yyval.typnam) = SystemTypeName("timestamptz");
43611
0
          else
43612
0
            (yyval.typnam) = SystemTypeName("timestamp");
43613
0
          (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
43614
0
          (yyval.typnam)->location = (yylsp[-4]);
43615
0
        }
43616
0
#line 43617 "gram.c"
43617
0
    break;
43618
43619
45
  case 1953:
43620
45
#line 13792 "gram.y"
43621
45
    {
43622
45
          if ((yyvsp[0].boolean))
43623
4
            (yyval.typnam) = SystemTypeName("timestamptz");
43624
41
          else
43625
41
            (yyval.typnam) = SystemTypeName("timestamp");
43626
45
          (yyval.typnam)->location = (yylsp[-1]);
43627
45
        }
43628
45
#line 43629 "gram.c"
43629
45
    break;
43630
43631
0
  case 1954:
43632
0
#line 13800 "gram.y"
43633
0
    {
43634
0
          if ((yyvsp[0].boolean))
43635
0
            (yyval.typnam) = SystemTypeName("timetz");
43636
0
          else
43637
0
            (yyval.typnam) = SystemTypeName("time");
43638
0
          (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
43639
0
          (yyval.typnam)->location = (yylsp[-4]);
43640
0
        }
43641
0
#line 43642 "gram.c"
43642
0
    break;
43643
43644
7
  case 1955:
43645
7
#line 13809 "gram.y"
43646
7
    {
43647
7
          if ((yyvsp[0].boolean))
43648
0
            (yyval.typnam) = SystemTypeName("timetz");
43649
7
          else
43650
7
            (yyval.typnam) = SystemTypeName("time");
43651
7
          (yyval.typnam)->location = (yylsp[-1]);
43652
7
        }
43653
7
#line 43654 "gram.c"
43654
7
    break;
43655
43656
15
  case 1956:
43657
15
#line 13820 "gram.y"
43658
15
    {
43659
15
          (yyval.typnam) = SystemTypeName("interval");
43660
15
          (yyval.typnam)->location = (yylsp[0]);
43661
15
        }
43662
15
#line 43663 "gram.c"
43663
15
    break;
43664
43665
4
  case 1957:
43666
4
#line 13827 "gram.y"
43667
4
    { (yyval.boolean) = true; }
43668
4
#line 43669 "gram.c"
43669
4
    break;
43670
43671
0
  case 1958:
43672
0
#line 13828 "gram.y"
43673
0
    { (yyval.boolean) = false; }
43674
0
#line 43675 "gram.c"
43675
0
    break;
43676
43677
48
  case 1959:
43678
48
#line 13829 "gram.y"
43679
48
    { (yyval.boolean) = false; }
43680
48
#line 43681 "gram.c"
43681
48
    break;
43682
43683
0
  case 1960:
43684
0
#line 13834 "gram.y"
43685
0
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
43686
0
#line 43687 "gram.c"
43687
0
    break;
43688
43689
0
  case 1961:
43690
0
#line 13836 "gram.y"
43691
0
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
43692
0
#line 43693 "gram.c"
43693
0
    break;
43694
43695
0
  case 1962:
43696
0
#line 13838 "gram.y"
43697
0
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
43698
0
#line 43699 "gram.c"
43699
0
    break;
43700
43701
0
  case 1963:
43702
0
#line 13840 "gram.y"
43703
0
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
43704
0
#line 43705 "gram.c"
43705
0
    break;
43706
43707
0
  case 1964:
43708
0
#line 13842 "gram.y"
43709
0
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
43710
0
#line 43711 "gram.c"
43711
0
    break;
43712
43713
0
  case 1965:
43714
0
#line 13844 "gram.y"
43715
0
    { (yyval.list) = (yyvsp[0].list); }
43716
0
#line 43717 "gram.c"
43717
0
    break;
43718
43719
0
  case 1966:
43720
0
#line 13846 "gram.y"
43721
0
    {
43722
0
          (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
43723
0
                         INTERVAL_MASK(MONTH), (yylsp[-2])));
43724
0
        }
43725
0
#line 43726 "gram.c"
43726
0
    break;
43727
43728
0
  case 1967:
43729
0
#line 13851 "gram.y"
43730
0
    {
43731
0
          (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
43732
0
                         INTERVAL_MASK(HOUR), (yylsp[-2])));
43733
0
        }
43734
0
#line 43735 "gram.c"
43735
0
    break;
43736
43737
0
  case 1968:
43738
0
#line 13856 "gram.y"
43739
0
    {
43740
0
          (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
43741
0
                         INTERVAL_MASK(HOUR) |
43742
0
                         INTERVAL_MASK(MINUTE), (yylsp[-2])));
43743
0
        }
43744
0
#line 43745 "gram.c"
43745
0
    break;
43746
43747
0
  case 1969:
43748
0
#line 13862 "gram.y"
43749
0
    {
43750
0
          (yyval.list) = (yyvsp[0].list);
43751
0
          linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
43752
0
                        INTERVAL_MASK(HOUR) |
43753
0
                        INTERVAL_MASK(MINUTE) |
43754
0
                        INTERVAL_MASK(SECOND), (yylsp[-2]));
43755
0
        }
43756
0
#line 43757 "gram.c"
43757
0
    break;
43758
43759
0
  case 1970:
43760
0
#line 13870 "gram.y"
43761
0
    {
43762
0
          (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
43763
0
                         INTERVAL_MASK(MINUTE), (yylsp[-2])));
43764
0
        }
43765
0
#line 43766 "gram.c"
43766
0
    break;
43767
43768
0
  case 1971:
43769
0
#line 13875 "gram.y"
43770
0
    {
43771
0
          (yyval.list) = (yyvsp[0].list);
43772
0
          linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
43773
0
                        INTERVAL_MASK(MINUTE) |
43774
0
                        INTERVAL_MASK(SECOND), (yylsp[-2]));
43775
0
        }
43776
0
#line 43777 "gram.c"
43777
0
    break;
43778
43779
0
  case 1972:
43780
0
#line 13882 "gram.y"
43781
0
    {
43782
0
          (yyval.list) = (yyvsp[0].list);
43783
0
          linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
43784
0
                        INTERVAL_MASK(SECOND), (yylsp[-2]));
43785
0
        }
43786
0
#line 43787 "gram.c"
43787
0
    break;
43788
43789
15
  case 1973:
43790
15
#line 13888 "gram.y"
43791
15
    { (yyval.list) = NIL; }
43792
15
#line 43793 "gram.c"
43793
15
    break;
43794
43795
0
  case 1974:
43796
0
#line 13893 "gram.y"
43797
0
    {
43798
0
          (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
43799
0
        }
43800
0
#line 43801 "gram.c"
43801
0
    break;
43802
43803
0
  case 1975:
43804
0
#line 13897 "gram.y"
43805
0
    {
43806
0
          (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
43807
0
                  makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
43808
0
        }
43809
0
#line 43810 "gram.c"
43810
0
    break;
43811
43812
1.81M
  case 1976:
43813
1.81M
#line 13932 "gram.y"
43814
1.81M
    { (yyval.node) = (yyvsp[0].node); }
43815
1.81M
#line 43816 "gram.c"
43816
1.81M
    break;
43817
43818
8.38k
  case 1977:
43819
8.38k
#line 13934 "gram.y"
43820
8.38k
    { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
43821
8.38k
#line 43822 "gram.c"
43822
8.38k
    break;
43823
43824
28
  case 1978:
43825
28
#line 13936 "gram.y"
43826
28
    {
43827
28
          CollateClause *n = makeNode(CollateClause);
43828
28
          n->arg = (yyvsp[-2].node);
43829
28
          n->collname = (yyvsp[0].list);
43830
28
          n->location = (yylsp[-1]);
43831
28
          (yyval.node) = (Node *) n;
43832
28
        }
43833
28
#line 43834 "gram.c"
43834
28
    break;
43835
43836
0
  case 1979:
43837
0
#line 13944 "gram.y"
43838
0
    {
43839
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
43840
0
                         list_make2((yyvsp[0].node), (yyvsp[-4].node)),
43841
0
                         (yylsp[-3]));
43842
0
        }
43843
0
#line 43844 "gram.c"
43844
0
    break;
43845
43846
6
  case 1980:
43847
6
#line 13959 "gram.y"
43848
6
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
43849
6
#line 43850 "gram.c"
43850
6
    break;
43851
43852
614
  case 1981:
43853
614
#line 13961 "gram.y"
43854
614
    { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
43855
614
#line 43856 "gram.c"
43856
614
    break;
43857
43858
4.94k
  case 1982:
43859
4.94k
#line 13963 "gram.y"
43860
4.94k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43861
4.94k
#line 43862 "gram.c"
43862
4.94k
    break;
43863
43864
191
  case 1983:
43865
191
#line 13965 "gram.y"
43866
191
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43867
191
#line 43868 "gram.c"
43868
191
    break;
43869
43870
1.94k
  case 1984:
43871
1.94k
#line 13967 "gram.y"
43872
1.94k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43873
1.94k
#line 43874 "gram.c"
43874
1.94k
    break;
43875
43876
567
  case 1985:
43877
567
#line 13969 "gram.y"
43878
567
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43879
567
#line 43880 "gram.c"
43880
567
    break;
43881
43882
360
  case 1986:
43883
360
#line 13971 "gram.y"
43884
360
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43885
360
#line 43886 "gram.c"
43886
360
    break;
43887
43888
0
  case 1987:
43889
0
#line 13973 "gram.y"
43890
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43891
0
#line 43892 "gram.c"
43892
0
    break;
43893
43894
2.44k
  case 1988:
43895
2.44k
#line 13975 "gram.y"
43896
2.44k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43897
2.44k
#line 43898 "gram.c"
43898
2.44k
    break;
43899
43900
775
  case 1989:
43901
775
#line 13977 "gram.y"
43902
775
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43903
775
#line 43904 "gram.c"
43904
775
    break;
43905
43906
31.7k
  case 1990:
43907
31.7k
#line 13979 "gram.y"
43908
31.7k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43909
31.7k
#line 43910 "gram.c"
43910
31.7k
    break;
43911
43912
130
  case 1991:
43913
130
#line 13981 "gram.y"
43914
130
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43915
130
#line 43916 "gram.c"
43916
130
    break;
43917
43918
1.29k
  case 1992:
43919
1.29k
#line 13983 "gram.y"
43920
1.29k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43921
1.29k
#line 43922 "gram.c"
43922
1.29k
    break;
43923
43924
4.29k
  case 1993:
43925
4.29k
#line 13985 "gram.y"
43926
4.29k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43927
4.29k
#line 43928 "gram.c"
43928
4.29k
    break;
43929
43930
1.66k
  case 1994:
43931
1.66k
#line 13988 "gram.y"
43932
1.66k
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43933
1.66k
#line 43934 "gram.c"
43934
1.66k
    break;
43935
43936
14
  case 1995:
43937
14
#line 13990 "gram.y"
43938
14
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
43939
14
#line 43940 "gram.c"
43940
14
    break;
43941
43942
4
  case 1996:
43943
4
#line 13992 "gram.y"
43944
4
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
43945
4
#line 43946 "gram.c"
43946
4
    break;
43947
43948
12.8k
  case 1997:
43949
12.8k
#line 13995 "gram.y"
43950
12.8k
    { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43951
12.8k
#line 43952 "gram.c"
43952
12.8k
    break;
43953
43954
111
  case 1998:
43955
111
#line 13997 "gram.y"
43956
111
    { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43957
111
#line 43958 "gram.c"
43958
111
    break;
43959
43960
1.84k
  case 1999:
43961
1.84k
#line 13999 "gram.y"
43962
1.84k
    { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
43963
1.84k
#line 43964 "gram.c"
43964
1.84k
    break;
43965
43966
0
  case 2000:
43967
0
#line 14001 "gram.y"
43968
0
    { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
43969
0
#line 43970 "gram.c"
43970
0
    break;
43971
43972
85
  case 2001:
43973
85
#line 14004 "gram.y"
43974
85
    {
43975
85
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
43976
85
                           (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
43977
85
        }
43978
85
#line 43979 "gram.c"
43979
85
    break;
43980
43981
0
  case 2002:
43982
0
#line 14009 "gram.y"
43983
0
    {
43984
0
          FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
43985
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43986
0
                         (yylsp[-3]));
43987
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
43988
0
                           (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
43989
0
        }
43990
0
#line 43991 "gram.c"
43991
0
    break;
43992
43993
1.02k
  case 2003:
43994
1.02k
#line 14017 "gram.y"
43995
1.02k
    {
43996
1.02k
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
43997
1.02k
                           (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
43998
1.02k
        }
43999
1.02k
#line 44000 "gram.c"
44000
1.02k
    break;
44001
44002
0
  case 2004:
44003
0
#line 14022 "gram.y"
44004
0
    {
44005
0
          FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
44006
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44007
0
                         (yylsp[-4]));
44008
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
44009
0
                           (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
44010
0
        }
44011
0
#line 44012 "gram.c"
44012
0
    break;
44013
44014
6
  case 2005:
44015
6
#line 14030 "gram.y"
44016
6
    {
44017
6
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
44018
6
                           (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
44019
6
        }
44020
6
#line 44021 "gram.c"
44021
6
    break;
44022
44023
0
  case 2006:
44024
0
#line 14035 "gram.y"
44025
0
    {
44026
0
          FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
44027
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44028
0
                         (yylsp[-3]));
44029
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
44030
0
                           (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
44031
0
        }
44032
0
#line 44033 "gram.c"
44033
0
    break;
44034
44035
0
  case 2007:
44036
0
#line 14043 "gram.y"
44037
0
    {
44038
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
44039
0
                           (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
44040
0
        }
44041
0
#line 44042 "gram.c"
44042
0
    break;
44043
44044
0
  case 2008:
44045
0
#line 14048 "gram.y"
44046
0
    {
44047
0
          FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
44048
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44049
0
                         (yylsp[-4]));
44050
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
44051
0
                           (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
44052
0
        }
44053
0
#line 44054 "gram.c"
44054
0
    break;
44055
44056
0
  case 2009:
44057
0
#line 14057 "gram.y"
44058
0
    {
44059
0
          FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
44060
0
                         list_make2((yyvsp[0].node), makeNullAConst(-1)),
44061
0
                         (yylsp[-2]));
44062
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
44063
0
                           (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
44064
0
        }
44065
0
#line 44066 "gram.c"
44066
0
    break;
44067
44068
0
  case 2010:
44069
0
#line 14065 "gram.y"
44070
0
    {
44071
0
          FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
44072
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44073
0
                         (yylsp[-4]));
44074
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
44075
0
                           (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
44076
0
        }
44077
0
#line 44078 "gram.c"
44078
0
    break;
44079
44080
0
  case 2011:
44081
0
#line 14073 "gram.y"
44082
0
    {
44083
0
          FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
44084
0
                         list_make2((yyvsp[0].node), makeNullAConst(-1)),
44085
0
                         (yylsp[-3]));
44086
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
44087
0
                           (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
44088
0
        }
44089
0
#line 44090 "gram.c"
44090
0
    break;
44091
44092
0
  case 2012:
44093
0
#line 14081 "gram.y"
44094
0
    {
44095
0
          FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
44096
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44097
0
                         (yylsp[-5]));
44098
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
44099
0
                           (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
44100
0
        }
44101
0
#line 44102 "gram.c"
44102
0
    break;
44103
44104
153
  case 2013:
44105
153
#line 14099 "gram.y"
44106
153
    {
44107
153
          NullTest *n = makeNode(NullTest);
44108
153
          n->arg = (Expr *) (yyvsp[-2].node);
44109
153
          n->nulltesttype = IS_NULL;
44110
153
          n->location = (yylsp[-1]);
44111
153
          (yyval.node) = (Node *)n;
44112
153
        }
44113
153
#line 44114 "gram.c"
44114
153
    break;
44115
44116
0
  case 2014:
44117
0
#line 14107 "gram.y"
44118
0
    {
44119
0
          NullTest *n = makeNode(NullTest);
44120
0
          n->arg = (Expr *) (yyvsp[-1].node);
44121
0
          n->nulltesttype = IS_NULL;
44122
0
          n->location = (yylsp[0]);
44123
0
          (yyval.node) = (Node *)n;
44124
0
        }
44125
0
#line 44126 "gram.c"
44126
0
    break;
44127
44128
189
  case 2015:
44129
189
#line 14115 "gram.y"
44130
189
    {
44131
189
          NullTest *n = makeNode(NullTest);
44132
189
          n->arg = (Expr *) (yyvsp[-3].node);
44133
189
          n->nulltesttype = IS_NOT_NULL;
44134
189
          n->location = (yylsp[-2]);
44135
189
          (yyval.node) = (Node *)n;
44136
189
        }
44137
189
#line 44138 "gram.c"
44138
189
    break;
44139
44140
0
  case 2016:
44141
0
#line 14123 "gram.y"
44142
0
    {
44143
0
          NullTest *n = makeNode(NullTest);
44144
0
          n->arg = (Expr *) (yyvsp[-1].node);
44145
0
          n->nulltesttype = IS_NOT_NULL;
44146
0
          n->location = (yylsp[0]);
44147
0
          (yyval.node) = (Node *)n;
44148
0
        }
44149
0
#line 44150 "gram.c"
44150
0
    break;
44151
44152
0
  case 2017:
44153
0
#line 14131 "gram.y"
44154
0
    {
44155
0
          if (list_length((yyvsp[-2].list)) != 2)
44156
0
            ereport(ERROR,
44157
0
                (errcode(ERRCODE_SYNTAX_ERROR),
44158
0
                 errmsg("wrong number of parameters on left side of OVERLAPS expression"),
44159
0
                 parser_errposition((yylsp[-2]))));
44160
0
          if (list_length((yyvsp[0].list)) != 2)
44161
0
            ereport(ERROR,
44162
0
                (errcode(ERRCODE_SYNTAX_ERROR),
44163
0
                 errmsg("wrong number of parameters on right side of OVERLAPS expression"),
44164
0
                 parser_errposition((yylsp[0]))));
44165
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
44166
0
                         list_concat((yyvsp[-2].list), (yyvsp[0].list)),
44167
0
                         (yylsp[-1]));
44168
0
        }
44169
0
#line 44170 "gram.c"
44170
0
    break;
44171
44172
0
  case 2018:
44173
0
#line 14147 "gram.y"
44174
0
    {
44175
0
          BooleanTest *b = makeNode(BooleanTest);
44176
0
          b->arg = (Expr *) (yyvsp[-2].node);
44177
0
          b->booltesttype = IS_TRUE;
44178
0
          b->location = (yylsp[-1]);
44179
0
          (yyval.node) = (Node *)b;
44180
0
        }
44181
0
#line 44182 "gram.c"
44182
0
    break;
44183
44184
0
  case 2019:
44185
0
#line 14155 "gram.y"
44186
0
    {
44187
0
          BooleanTest *b = makeNode(BooleanTest);
44188
0
          b->arg = (Expr *) (yyvsp[-3].node);
44189
0
          b->booltesttype = IS_NOT_TRUE;
44190
0
          b->location = (yylsp[-2]);
44191
0
          (yyval.node) = (Node *)b;
44192
0
        }
44193
0
#line 44194 "gram.c"
44194
0
    break;
44195
44196
0
  case 2020:
44197
0
#line 14163 "gram.y"
44198
0
    {
44199
0
          BooleanTest *b = makeNode(BooleanTest);
44200
0
          b->arg = (Expr *) (yyvsp[-2].node);
44201
0
          b->booltesttype = IS_FALSE;
44202
0
          b->location = (yylsp[-1]);
44203
0
          (yyval.node) = (Node *)b;
44204
0
        }
44205
0
#line 44206 "gram.c"
44206
0
    break;
44207
44208
0
  case 2021:
44209
0
#line 14171 "gram.y"
44210
0
    {
44211
0
          BooleanTest *b = makeNode(BooleanTest);
44212
0
          b->arg = (Expr *) (yyvsp[-3].node);
44213
0
          b->booltesttype = IS_NOT_FALSE;
44214
0
          b->location = (yylsp[-2]);
44215
0
          (yyval.node) = (Node *)b;
44216
0
        }
44217
0
#line 44218 "gram.c"
44218
0
    break;
44219
44220
0
  case 2022:
44221
0
#line 14179 "gram.y"
44222
0
    {
44223
0
          BooleanTest *b = makeNode(BooleanTest);
44224
0
          b->arg = (Expr *) (yyvsp[-2].node);
44225
0
          b->booltesttype = IS_UNKNOWN;
44226
0
          b->location = (yylsp[-1]);
44227
0
          (yyval.node) = (Node *)b;
44228
0
        }
44229
0
#line 44230 "gram.c"
44230
0
    break;
44231
44232
0
  case 2023:
44233
0
#line 14187 "gram.y"
44234
0
    {
44235
0
          BooleanTest *b = makeNode(BooleanTest);
44236
0
          b->arg = (Expr *) (yyvsp[-3].node);
44237
0
          b->booltesttype = IS_NOT_UNKNOWN;
44238
0
          b->location = (yylsp[-2]);
44239
0
          (yyval.node) = (Node *)b;
44240
0
        }
44241
0
#line 44242 "gram.c"
44242
0
    break;
44243
44244
2
  case 2024:
44245
2
#line 14195 "gram.y"
44246
2
    {
44247
2
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
44248
2
        }
44249
2
#line 44250 "gram.c"
44250
2
    break;
44251
44252
0
  case 2025:
44253
0
#line 14199 "gram.y"
44254
0
    {
44255
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
44256
0
        }
44257
0
#line 44258 "gram.c"
44258
0
    break;
44259
44260
4
  case 2026:
44261
4
#line 14203 "gram.y"
44262
4
    {
44263
4
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
44264
4
        }
44265
4
#line 44266 "gram.c"
44266
4
    break;
44267
44268
0
  case 2027:
44269
0
#line 14207 "gram.y"
44270
0
    {
44271
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
44272
0
        }
44273
0
#line 44274 "gram.c"
44274
0
    break;
44275
44276
36
  case 2028:
44277
36
#line 14211 "gram.y"
44278
36
    {
44279
36
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
44280
36
                           "BETWEEN",
44281
36
                           (yyvsp[-5].node),
44282
36
                           (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44283
36
                           (yylsp[-4]));
44284
36
        }
44285
36
#line 44286 "gram.c"
44286
36
    break;
44287
44288
0
  case 2029:
44289
0
#line 14219 "gram.y"
44290
0
    {
44291
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
44292
0
                           "NOT BETWEEN",
44293
0
                           (yyvsp[-6].node),
44294
0
                           (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44295
0
                           (yylsp[-5]));
44296
0
        }
44297
0
#line 44298 "gram.c"
44298
0
    break;
44299
44300
0
  case 2030:
44301
0
#line 14227 "gram.y"
44302
0
    {
44303
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
44304
0
                           "BETWEEN SYMMETRIC",
44305
0
                           (yyvsp[-5].node),
44306
0
                           (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44307
0
                           (yylsp[-4]));
44308
0
        }
44309
0
#line 44310 "gram.c"
44310
0
    break;
44311
44312
0
  case 2031:
44313
0
#line 14235 "gram.y"
44314
0
    {
44315
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
44316
0
                           "NOT BETWEEN SYMMETRIC",
44317
0
                           (yyvsp[-6].node),
44318
0
                           (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44319
0
                           (yylsp[-5]));
44320
0
        }
44321
0
#line 44322 "gram.c"
44322
0
    break;
44323
44324
29.1k
  case 2032:
44325
29.1k
#line 14243 "gram.y"
44326
29.1k
    {
44327
          /* in_expr returns a SubLink or a list of a_exprs */
44328
29.1k
          if (IsA((yyvsp[0].node), SubLink))
44329
30
          {
44330
            /* generate foo = ANY (subquery) */
44331
30
            SubLink *n = (SubLink *) (yyvsp[0].node);
44332
30
            n->subLinkType = ANY_SUBLINK;
44333
30
            n->subLinkId = 0;
44334
30
            n->testexpr = (yyvsp[-2].node);
44335
30
            n->operName = NIL;   /* show it's IN not = ANY */
44336
30
            n->location = (yylsp[-1]);
44337
30
            (yyval.node) = (Node *)n;
44338
30
          }
44339
29.1k
          else
44340
29.1k
          {
44341
            /* generate scalar IN expression */
44342
29.1k
            (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
44343
29.1k
          }
44344
29.1k
        }
44345
29.1k
#line 44346 "gram.c"
44346
29.1k
    break;
44347
44348
2
  case 2033:
44349
2
#line 14263 "gram.y"
44350
2
    {
44351
          /* in_expr returns a SubLink or a list of a_exprs */
44352
2
          if (IsA((yyvsp[0].node), SubLink))
44353
0
          {
44354
            /* generate NOT (foo = ANY (subquery)) */
44355
            /* Make an = ANY node */
44356
0
            SubLink *n = (SubLink *) (yyvsp[0].node);
44357
0
            n->subLinkType = ANY_SUBLINK;
44358
0
            n->subLinkId = 0;
44359
0
            n->testexpr = (yyvsp[-3].node);
44360
0
            n->operName = NIL;   /* show it's IN not = ANY */
44361
0
            n->location = (yylsp[-2]);
44362
            /* Stick a NOT on top; must have same parse location */
44363
0
            (yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
44364
0
          }
44365
2
          else
44366
2
          {
44367
            /* generate scalar NOT IN expression */
44368
2
            (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
44369
2
          }
44370
2
        }
44371
2
#line 44372 "gram.c"
44372
2
    break;
44373
44374
0
  case 2034:
44375
0
#line 14285 "gram.y"
44376
0
    {
44377
0
          SubLink *n = makeNode(SubLink);
44378
0
          n->subLinkType = (yyvsp[-1].ival);
44379
0
          n->subLinkId = 0;
44380
0
          n->testexpr = (yyvsp[-3].node);
44381
0
          n->operName = (yyvsp[-2].list);
44382
0
          n->subselect = (yyvsp[0].node);
44383
0
          n->location = (yylsp[-2]);
44384
0
          (yyval.node) = (Node *)n;
44385
0
        }
44386
0
#line 44387 "gram.c"
44387
0
    break;
44388
44389
363
  case 2035:
44390
363
#line 14296 "gram.y"
44391
363
    {
44392
363
          if ((yyvsp[-3].ival) == ANY_SUBLINK)
44393
335
            (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
44394
28
          else
44395
28
            (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
44396
363
        }
44397
363
#line 44398 "gram.c"
44398
363
    break;
44399
44400
0
  case 2036:
44401
0
#line 14303 "gram.y"
44402
0
    {
44403
          /* Not sure how to get rid of the parentheses
44404
           * but there are lots of shift/reduce errors without them.
44405
           *
44406
           * Should be able to implement this by plopping the entire
44407
           * select into a node, then transforming the target expressions
44408
           * from whatever they are into count(*), and testing the
44409
           * entire result equal to one.
44410
           * But, will probably implement a separate node in the executor.
44411
           */
44412
0
          ereport(ERROR,
44413
0
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
44414
0
               errmsg("UNIQUE predicate is not yet implemented"),
44415
0
               parser_errposition((yylsp[-1]))));
44416
0
        }
44417
0
#line 44418 "gram.c"
44418
0
    break;
44419
44420
0
  case 2037:
44421
0
#line 14319 "gram.y"
44422
0
    {
44423
0
          (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44424
0
                   list_make1((yyvsp[-2].node)), (yylsp[-1]));
44425
0
        }
44426
0
#line 44427 "gram.c"
44427
0
    break;
44428
44429
0
  case 2038:
44430
0
#line 14324 "gram.y"
44431
0
    {
44432
0
          (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44433
0
                         list_make1((yyvsp[-3].node)), (yylsp[-2])),
44434
0
                   (yylsp[-2]));
44435
0
        }
44436
0
#line 44437 "gram.c"
44437
0
    break;
44438
44439
12
  case 2039:
44440
12
#line 14330 "gram.y"
44441
12
    {
44442
          /*
44443
           * The SQL spec only allows DEFAULT in "contextually typed
44444
           * expressions", but for us, it's easier to allow it in
44445
           * any a_expr and then throw error during parse analysis
44446
           * if it's in an inappropriate context.  This way also
44447
           * lets us say something smarter than "syntax error".
44448
           */
44449
12
          SetToDefault *n = makeNode(SetToDefault);
44450
          /* parse analysis will fill in the rest */
44451
12
          n->location = (yylsp[0]);
44452
12
          (yyval.node) = (Node *)n;
44453
12
        }
44454
12
#line 44455 "gram.c"
44455
12
    break;
44456
44457
145
  case 2040:
44458
145
#line 14355 "gram.y"
44459
145
    { (yyval.node) = (yyvsp[0].node); }
44460
145
#line 44461 "gram.c"
44461
145
    break;
44462
44463
0
  case 2041:
44464
0
#line 14357 "gram.y"
44465
0
    { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
44466
0
#line 44467 "gram.c"
44467
0
    break;
44468
44469
0
  case 2042:
44470
0
#line 14359 "gram.y"
44471
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
44472
0
#line 44473 "gram.c"
44473
0
    break;
44474
44475
8
  case 2043:
44476
8
#line 14361 "gram.y"
44477
8
    { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
44478
8
#line 44479 "gram.c"
44479
8
    break;
44480
44481
0
  case 2044:
44482
0
#line 14363 "gram.y"
44483
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44484
0
#line 44485 "gram.c"
44485
0
    break;
44486
44487
0
  case 2045:
44488
0
#line 14365 "gram.y"
44489
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44490
0
#line 44491 "gram.c"
44491
0
    break;
44492
44493
0
  case 2046:
44494
0
#line 14367 "gram.y"
44495
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44496
0
#line 44497 "gram.c"
44497
0
    break;
44498
44499
0
  case 2047:
44500
0
#line 14369 "gram.y"
44501
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44502
0
#line 44503 "gram.c"
44503
0
    break;
44504
44505
0
  case 2048:
44506
0
#line 14371 "gram.y"
44507
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44508
0
#line 44509 "gram.c"
44509
0
    break;
44510
44511
0
  case 2049:
44512
0
#line 14373 "gram.y"
44513
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44514
0
#line 44515 "gram.c"
44515
0
    break;
44516
44517
0
  case 2050:
44518
0
#line 14375 "gram.y"
44519
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44520
0
#line 44521 "gram.c"
44521
0
    break;
44522
44523
0
  case 2051:
44524
0
#line 14377 "gram.y"
44525
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44526
0
#line 44527 "gram.c"
44527
0
    break;
44528
44529
0
  case 2052:
44530
0
#line 14379 "gram.y"
44531
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44532
0
#line 44533 "gram.c"
44533
0
    break;
44534
44535
0
  case 2053:
44536
0
#line 14381 "gram.y"
44537
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44538
0
#line 44539 "gram.c"
44539
0
    break;
44540
44541
0
  case 2054:
44542
0
#line 14383 "gram.y"
44543
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44544
0
#line 44545 "gram.c"
44545
0
    break;
44546
44547
0
  case 2055:
44548
0
#line 14385 "gram.y"
44549
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44550
0
#line 44551 "gram.c"
44551
0
    break;
44552
44553
0
  case 2056:
44554
0
#line 14387 "gram.y"
44555
0
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44556
0
#line 44557 "gram.c"
44557
0
    break;
44558
44559
0
  case 2057:
44560
0
#line 14389 "gram.y"
44561
0
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
44562
0
#line 44563 "gram.c"
44563
0
    break;
44564
44565
0
  case 2058:
44566
0
#line 14391 "gram.y"
44567
0
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
44568
0
#line 44569 "gram.c"
44569
0
    break;
44570
44571
0
  case 2059:
44572
0
#line 14393 "gram.y"
44573
0
    {
44574
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
44575
0
        }
44576
0
#line 44577 "gram.c"
44577
0
    break;
44578
44579
0
  case 2060:
44580
0
#line 14397 "gram.y"
44581
0
    {
44582
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
44583
0
        }
44584
0
#line 44585 "gram.c"
44585
0
    break;
44586
44587
0
  case 2061:
44588
0
#line 14401 "gram.y"
44589
0
    {
44590
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
44591
0
        }
44592
0
#line 44593 "gram.c"
44593
0
    break;
44594
44595
0
  case 2062:
44596
0
#line 14405 "gram.y"
44597
0
    {
44598
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
44599
0
        }
44600
0
#line 44601 "gram.c"
44601
0
    break;
44602
44603
0
  case 2063:
44604
0
#line 14409 "gram.y"
44605
0
    {
44606
0
          (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44607
0
                   list_make1((yyvsp[-2].node)), (yylsp[-1]));
44608
0
        }
44609
0
#line 44610 "gram.c"
44610
0
    break;
44611
44612
0
  case 2064:
44613
0
#line 14414 "gram.y"
44614
0
    {
44615
0
          (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44616
0
                         list_make1((yyvsp[-3].node)), (yylsp[-2])),
44617
0
                   (yylsp[-2]));
44618
0
        }
44619
0
#line 44620 "gram.c"
44620
0
    break;
44621
44622
180k
  case 2065:
44623
180k
#line 14429 "gram.y"
44624
180k
    { (yyval.node) = (yyvsp[0].node); }
44625
180k
#line 44626 "gram.c"
44626
180k
    break;
44627
44628
1.59M
  case 2066:
44629
1.59M
#line 14430 "gram.y"
44630
1.59M
    { (yyval.node) = (yyvsp[0].node); }
44631
1.59M
#line 44632 "gram.c"
44632
1.59M
    break;
44633
44634
4.59k
  case 2067:
44635
4.59k
#line 14432 "gram.y"
44636
4.59k
    {
44637
4.59k
          ParamRef *p = makeNode(ParamRef);
44638
4.59k
          p->number = (yyvsp[-1].ival);
44639
4.59k
          p->location = (yylsp[-1]);
44640
4.59k
          if ((yyvsp[0].list))
44641
9
          {
44642
9
            A_Indirection *n = makeNode(A_Indirection);
44643
9
            n->arg = (Node *) p;
44644
9
            n->indirection = check_indirection((yyvsp[0].list), yyscanner);
44645
9
            (yyval.node) = (Node *) n;
44646
9
          }
44647
4.58k
          else
44648
4.58k
            (yyval.node) = (Node *) p;
44649
4.59k
        }
44650
4.59k
#line 44651 "gram.c"
44651
4.59k
    break;
44652
44653
10.5k
  case 2068:
44654
10.5k
#line 14447 "gram.y"
44655
10.5k
    {
44656
10.5k
          if ((yyvsp[0].list))
44657
45
          {
44658
45
            A_Indirection *n = makeNode(A_Indirection);
44659
45
            n->arg = (yyvsp[-2].node);
44660
45
            n->indirection = check_indirection((yyvsp[0].list), yyscanner);
44661
45
            (yyval.node) = (Node *)n;
44662
45
          }
44663
10.4k
          else if (operator_precedence_warning)
44664
0
          {
44665
            /*
44666
             * If precedence warnings are enabled, insert
44667
             * AEXPR_PAREN nodes wrapping all explicitly
44668
             * parenthesized subexpressions; this prevents bogus
44669
             * warnings from being issued when the ordering has
44670
             * been forced by parentheses.  Take care that an
44671
             * AEXPR_PAREN node has the same exprLocation as its
44672
             * child, so as not to cause surprising changes in
44673
             * error cursor positioning.
44674
             *
44675
             * In principle we should not be relying on a GUC to
44676
             * decide whether to insert AEXPR_PAREN nodes.
44677
             * However, since they have no effect except to
44678
             * suppress warnings, it's probably safe enough; and
44679
             * we'd just as soon not waste cycles on dummy parse
44680
             * nodes if we don't have to.
44681
             */
44682
0
            (yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[-2].node), NULL,
44683
0
                         exprLocation((yyvsp[-2].node)));
44684
0
          }
44685
10.4k
          else
44686
10.4k
            (yyval.node) = (yyvsp[-2].node);
44687
10.5k
        }
44688
10.5k
#line 44689 "gram.c"
44689
10.5k
    break;
44690
44691
769
  case 2069:
44692
769
#line 14481 "gram.y"
44693
769
    { (yyval.node) = (yyvsp[0].node); }
44694
769
#line 44695 "gram.c"
44695
769
    break;
44696
44697
15.3k
  case 2070:
44698
15.3k
#line 14483 "gram.y"
44699
15.3k
    { (yyval.node) = (yyvsp[0].node); }
44700
15.3k
#line 44701 "gram.c"
44701
15.3k
    break;
44702
44703
7.14k
  case 2071:
44704
7.14k
#line 14485 "gram.y"
44705
7.14k
    {
44706
7.14k
          SubLink *n = makeNode(SubLink);
44707
7.14k
          n->subLinkType = EXPR_SUBLINK;
44708
7.14k
          n->subLinkId = 0;
44709
7.14k
          n->testexpr = NULL;
44710
7.14k
          n->operName = NIL;
44711
7.14k
          n->subselect = (yyvsp[0].node);
44712
7.14k
          n->location = (yylsp[0]);
44713
7.14k
          (yyval.node) = (Node *)n;
44714
7.14k
        }
44715
7.14k
#line 44716 "gram.c"
44716
7.14k
    break;
44717
44718
0
  case 2072:
44719
0
#line 14496 "gram.y"
44720
0
    {
44721
          /*
44722
           * Because the select_with_parens nonterminal is designed
44723
           * to "eat" as many levels of parens as possible, the
44724
           * '(' a_expr ')' opt_indirection production above will
44725
           * fail to match a sub-SELECT with indirection decoration;
44726
           * the sub-SELECT won't be regarded as an a_expr as long
44727
           * as there are parens around it.  To support applying
44728
           * subscripting or field selection to a sub-SELECT result,
44729
           * we need this redundant-looking production.
44730
           */
44731
0
          SubLink *n = makeNode(SubLink);
44732
0
          A_Indirection *a = makeNode(A_Indirection);
44733
0
          n->subLinkType = EXPR_SUBLINK;
44734
0
          n->subLinkId = 0;
44735
0
          n->testexpr = NULL;
44736
0
          n->operName = NIL;
44737
0
          n->subselect = (yyvsp[-1].node);
44738
0
          n->location = (yylsp[-1]);
44739
0
          a->arg = (Node *)n;
44740
0
          a->indirection = check_indirection((yyvsp[0].list), yyscanner);
44741
0
          (yyval.node) = (Node *)a;
44742
0
        }
44743
0
#line 44744 "gram.c"
44744
0
    break;
44745
44746
1.55k
  case 2073:
44747
1.55k
#line 14520 "gram.y"
44748
1.55k
    {
44749
1.55k
          SubLink *n = makeNode(SubLink);
44750
1.55k
          n->subLinkType = EXISTS_SUBLINK;
44751
1.55k
          n->subLinkId = 0;
44752
1.55k
          n->testexpr = NULL;
44753
1.55k
          n->operName = NIL;
44754
1.55k
          n->subselect = (yyvsp[0].node);
44755
1.55k
          n->location = (yylsp[-1]);
44756
1.55k
          (yyval.node) = (Node *)n;
44757
1.55k
        }
44758
1.55k
#line 44759 "gram.c"
44759
1.55k
    break;
44760
44761
346
  case 2074:
44762
346
#line 14531 "gram.y"
44763
346
    {
44764
346
          SubLink *n = makeNode(SubLink);
44765
346
          n->subLinkType = ARRAY_SUBLINK;
44766
346
          n->subLinkId = 0;
44767
346
          n->testexpr = NULL;
44768
346
          n->operName = NIL;
44769
346
          n->subselect = (yyvsp[0].node);
44770
346
          n->location = (yylsp[-1]);
44771
346
          (yyval.node) = (Node *)n;
44772
346
        }
44773
346
#line 44774 "gram.c"
44774
346
    break;
44775
44776
694
  case 2075:
44777
694
#line 14542 "gram.y"
44778
694
    {
44779
694
          A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
44780
          /* point outermost A_ArrayExpr to the ARRAY keyword */
44781
694
          n->location = (yylsp[-1]);
44782
694
          (yyval.node) = (Node *)n;
44783
694
        }
44784
694
#line 44785 "gram.c"
44785
694
    break;
44786
44787
808
  case 2076:
44788
808
#line 14549 "gram.y"
44789
808
    {
44790
808
          RowExpr *r = makeNode(RowExpr);
44791
808
          r->args = (yyvsp[0].list);
44792
808
          r->row_typeid = InvalidOid; /* not analyzed yet */
44793
808
          r->colnames = NIL; /* to be filled in during analysis */
44794
808
          r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
44795
808
          r->location = (yylsp[0]);
44796
808
          (yyval.node) = (Node *)r;
44797
808
        }
44798
808
#line 44799 "gram.c"
44799
808
    break;
44800
44801
10
  case 2077:
44802
10
#line 14559 "gram.y"
44803
10
    {
44804
10
          RowExpr *r = makeNode(RowExpr);
44805
10
          r->args = (yyvsp[0].list);
44806
10
          r->row_typeid = InvalidOid; /* not analyzed yet */
44807
10
          r->colnames = NIL; /* to be filled in during analysis */
44808
10
          r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
44809
10
          r->location = (yylsp[0]);
44810
10
          (yyval.node) = (Node *)r;
44811
10
        }
44812
10
#line 44813 "gram.c"
44813
10
    break;
44814
44815
4
  case 2078:
44816
4
#line 14569 "gram.y"
44817
4
    {
44818
4
          GroupingFunc *g = makeNode(GroupingFunc);
44819
4
          g->args = (yyvsp[-1].list);
44820
4
          g->location = (yylsp[-3]);
44821
4
          (yyval.node) = (Node *)g;
44822
4
        }
44823
4
#line 44824 "gram.c"
44824
4
    break;
44825
44826
1.74k
  case 2079:
44827
1.74k
#line 14578 "gram.y"
44828
1.74k
    {
44829
1.74k
          (yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
44830
1.74k
        }
44831
1.74k
#line 44832 "gram.c"
44832
1.74k
    break;
44833
44834
12.4k
  case 2080:
44835
12.4k
#line 14582 "gram.y"
44836
12.4k
    {
44837
12.4k
          FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
44838
12.4k
          n->agg_order = (yyvsp[-1].list);
44839
12.4k
          (yyval.node) = (Node *)n;
44840
12.4k
        }
44841
12.4k
#line 44842 "gram.c"
44842
12.4k
    break;
44843
44844
3
  case 2081:
44845
3
#line 14588 "gram.y"
44846
3
    {
44847
3
          FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)), (yylsp[-5]));
44848
3
          n->func_variadic = true;
44849
3
          n->agg_order = (yyvsp[-1].list);
44850
3
          (yyval.node) = (Node *)n;
44851
3
        }
44852
3
#line 44853 "gram.c"
44853
3
    break;
44854
44855
0
  case 2082:
44856
0
#line 14595 "gram.y"
44857
0
    {
44858
0
          FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)), (yylsp[-7]));
44859
0
          n->func_variadic = true;
44860
0
          n->agg_order = (yyvsp[-1].list);
44861
0
          (yyval.node) = (Node *)n;
44862
0
        }
44863
0
#line 44864 "gram.c"
44864
0
    break;
44865
44866
0
  case 2083:
44867
0
#line 14602 "gram.y"
44868
0
    {
44869
0
          FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
44870
0
          n->agg_order = (yyvsp[-1].list);
44871
          /* Ideally we'd mark the FuncCall node to indicate
44872
           * "must be an aggregate", but there's no provision
44873
           * for that in FuncCall at the moment.
44874
           */
44875
0
          (yyval.node) = (Node *)n;
44876
0
        }
44877
0
#line 44878 "gram.c"
44878
0
    break;
44879
44880
87
  case 2084:
44881
87
#line 14612 "gram.y"
44882
87
    {
44883
87
          FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
44884
87
          n->agg_order = (yyvsp[-1].list);
44885
87
          n->agg_distinct = true;
44886
87
          (yyval.node) = (Node *)n;
44887
87
        }
44888
87
#line 44889 "gram.c"
44889
87
    break;
44890
44891
477
  case 2085:
44892
477
#line 14619 "gram.y"
44893
477
    {
44894
          /*
44895
           * We consider AGGREGATE(*) to invoke a parameterless
44896
           * aggregate.  This does the right thing for COUNT(*),
44897
           * and there are no other aggregates in SQL that accept
44898
           * '*' as parameter.
44899
           *
44900
           * The FuncCall node is also marked agg_star = true,
44901
           * so that later processing can detect what the argument
44902
           * really was.
44903
           */
44904
477
          FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL, (yylsp[-3]));
44905
477
          n->agg_star = true;
44906
477
          (yyval.node) = (Node *)n;
44907
477
        }
44908
477
#line 44909 "gram.c"
44909
477
    break;
44910
44911
12.8k
  case 2086:
44912
12.8k
#line 14647 "gram.y"
44913
12.8k
    {
44914
12.8k
          FuncCall *n = (FuncCall *) (yyvsp[-3].node);
44915
          /*
44916
           * The order clause for WITHIN GROUP and the one for
44917
           * plain-aggregate ORDER BY share a field, so we have to
44918
           * check here that at most one is present.  We also check
44919
           * for DISTINCT and VARIADIC here to give a better error
44920
           * location.  Other consistency checks are deferred to
44921
           * parse analysis.
44922
           */
44923
12.8k
          if ((yyvsp[-2].list) != NIL)
44924
102
          {
44925
102
            if (n->agg_order != NIL)
44926
102
              ereport(ERROR,
44927
102
                  (errcode(ERRCODE_SYNTAX_ERROR),
44928
102
                   errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
44929
102
                   parser_errposition((yylsp[-2]))));
44930
102
            if (n->agg_distinct)
44931
102
              ereport(ERROR,
44932
102
                  (errcode(ERRCODE_SYNTAX_ERROR),
44933
102
                   errmsg("cannot use DISTINCT with WITHIN GROUP"),
44934
102
                   parser_errposition((yylsp[-2]))));
44935
102
            if (n->func_variadic)
44936
102
              ereport(ERROR,
44937
102
                  (errcode(ERRCODE_SYNTAX_ERROR),
44938
102
                   errmsg("cannot use VARIADIC with WITHIN GROUP"),
44939
102
                   parser_errposition((yylsp[-2]))));
44940
102
            n->agg_order = (yyvsp[-2].list);
44941
102
            n->agg_within_group = true;
44942
102
          }
44943
12.8k
          n->agg_filter = (yyvsp[-1].node);
44944
12.8k
          n->over = (yyvsp[0].windef);
44945
12.8k
          (yyval.node) = (Node *) n;
44946
12.8k
        }
44947
12.8k
#line 44948 "gram.c"
44948
12.8k
    break;
44949
44950
2.49k
  case 2087:
44951
2.49k
#line 14682 "gram.y"
44952
2.49k
    { (yyval.node) = (yyvsp[0].node); }
44953
2.49k
#line 44954 "gram.c"
44954
2.49k
    break;
44955
44956
1.92k
  case 2088:
44957
1.92k
#line 14692 "gram.y"
44958
1.92k
    { (yyval.node) = (yyvsp[0].node); }
44959
1.92k
#line 44960 "gram.c"
44960
1.92k
    break;
44961
44962
0
  case 2089:
44963
0
#line 14693 "gram.y"
44964
0
    { (yyval.node) = (yyvsp[0].node); }
44965
0
#line 44966 "gram.c"
44966
0
    break;
44967
44968
0
  case 2090:
44969
0
#line 14701 "gram.y"
44970
0
    {
44971
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
44972
0
                         list_make1((yyvsp[-1].node)),
44973
0
                         (yylsp[-4]));
44974
0
        }
44975
0
#line 44976 "gram.c"
44976
0
    break;
44977
44978
0
  case 2091:
44979
0
#line 14707 "gram.y"
44980
0
    {
44981
0
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
44982
0
        }
44983
0
#line 44984 "gram.c"
44984
0
    break;
44985
44986
0
  case 2092:
44987
0
#line 14711 "gram.y"
44988
0
    {
44989
0
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
44990
0
        }
44991
0
#line 44992 "gram.c"
44992
0
    break;
44993
44994
0
  case 2093:
44995
0
#line 14715 "gram.y"
44996
0
    {
44997
0
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
44998
0
        }
44999
0
#line 45000 "gram.c"
45000
0
    break;
45001
45002
0
  case 2094:
45003
0
#line 14719 "gram.y"
45004
0
    {
45005
0
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
45006
0
        }
45007
0
#line 45008 "gram.c"
45008
0
    break;
45009
45010
0
  case 2095:
45011
0
#line 14723 "gram.y"
45012
0
    {
45013
0
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
45014
0
        }
45015
0
#line 45016 "gram.c"
45016
0
    break;
45017
45018
0
  case 2096:
45019
0
#line 14727 "gram.y"
45020
0
    {
45021
0
          (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
45022
0
        }
45023
0
#line 45024 "gram.c"
45024
0
    break;
45025
45026
0
  case 2097:
45027
0
#line 14731 "gram.y"
45028
0
    {
45029
0
          (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
45030
0
        }
45031
0
#line 45032 "gram.c"
45032
0
    break;
45033
45034
0
  case 2098:
45035
0
#line 14735 "gram.y"
45036
0
    {
45037
0
          (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
45038
0
        }
45039
0
#line 45040 "gram.c"
45040
0
    break;
45041
45042
0
  case 2099:
45043
0
#line 14739 "gram.y"
45044
0
    {
45045
0
          (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
45046
0
        }
45047
0
#line 45048 "gram.c"
45048
0
    break;
45049
45050
0
  case 2100:
45051
0
#line 14743 "gram.y"
45052
0
    {
45053
0
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
45054
0
        }
45055
0
#line 45056 "gram.c"
45056
0
    break;
45057
45058
133
  case 2101:
45059
133
#line 14747 "gram.y"
45060
133
    {
45061
133
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
45062
133
        }
45063
133
#line 45064 "gram.c"
45064
133
    break;
45065
45066
231
  case 2102:
45067
231
#line 14751 "gram.y"
45068
231
    {
45069
231
          (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
45070
231
        }
45071
231
#line 45072 "gram.c"
45072
231
    break;
45073
45074
0
  case 2103:
45075
0
#line 14755 "gram.y"
45076
0
    {
45077
0
          (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
45078
0
        }
45079
0
#line 45080 "gram.c"
45080
0
    break;
45081
45082
0
  case 2104:
45083
0
#line 14759 "gram.y"
45084
0
    {
45085
0
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
45086
0
        }
45087
0
#line 45088 "gram.c"
45088
0
    break;
45089
45090
0
  case 2105:
45091
0
#line 14763 "gram.y"
45092
0
    {
45093
0
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
45094
0
        }
45095
0
#line 45096 "gram.c"
45096
0
    break;
45097
45098
90
  case 2106:
45099
90
#line 14767 "gram.y"
45100
90
    { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
45101
90
#line 45102 "gram.c"
45102
90
    break;
45103
45104
0
  case 2107:
45105
0
#line 14769 "gram.y"
45106
0
    {
45107
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
45108
0
        }
45109
0
#line 45110 "gram.c"
45110
0
    break;
45111
45112
0
  case 2108:
45113
0
#line 14773 "gram.y"
45114
0
    {
45115
          /* overlay(A PLACING B FROM C FOR D) is converted to
45116
           * overlay(A, B, C, D)
45117
           * overlay(A PLACING B FROM C) is converted to
45118
           * overlay(A, B, C)
45119
           */
45120
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3]));
45121
0
        }
45122
0
#line 45123 "gram.c"
45123
0
    break;
45124
45125
0
  case 2109:
45126
0
#line 14782 "gram.y"
45127
0
    {
45128
          /* position(A in B) is converted to position(B, A) */
45129
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
45130
0
        }
45131
0
#line 45132 "gram.c"
45132
0
    break;
45133
45134
130
  case 2110:
45135
130
#line 14787 "gram.y"
45136
130
    {
45137
          /* substring(A from B for C) is converted to
45138
           * substring(A, B, C) - thomas 2000-11-28
45139
           */
45140
130
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3]));
45141
130
        }
45142
130
#line 45143 "gram.c"
45143
130
    break;
45144
45145
0
  case 2111:
45146
0
#line 14794 "gram.y"
45147
0
    {
45148
          /* TREAT(expr AS target) converts expr of a particular type to target,
45149
           * which is defined to be a subtype of the original expression.
45150
           * In SQL99, this is intended for use with structured UDTs,
45151
           * but let's make this a generally useful form allowing stronger
45152
           * coercions than are handled by implicit casting.
45153
           *
45154
           * Convert SystemTypeName() to SystemFuncName() even though
45155
           * at the moment they result in the same thing.
45156
           */
45157
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str),
45158
0
                        list_make1((yyvsp[-3].node)),
45159
0
                        (yylsp[-5]));
45160
0
        }
45161
0
#line 45162 "gram.c"
45162
0
    break;
45163
45164
0
  case 2112:
45165
0
#line 14809 "gram.y"
45166
0
    {
45167
          /* various trim expressions are defined in SQL
45168
           * - thomas 1997-07-19
45169
           */
45170
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
45171
0
        }
45172
0
#line 45173 "gram.c"
45173
0
    break;
45174
45175
0
  case 2113:
45176
0
#line 14816 "gram.y"
45177
0
    {
45178
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
45179
0
        }
45180
0
#line 45181 "gram.c"
45181
0
    break;
45182
45183
0
  case 2114:
45184
0
#line 14820 "gram.y"
45185
0
    {
45186
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
45187
0
        }
45188
0
#line 45189 "gram.c"
45189
0
    break;
45190
45191
0
  case 2115:
45192
0
#line 14824 "gram.y"
45193
0
    {
45194
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
45195
0
        }
45196
0
#line 45197 "gram.c"
45197
0
    break;
45198
45199
6
  case 2116:
45200
6
#line 14828 "gram.y"
45201
6
    {
45202
6
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
45203
6
        }
45204
6
#line 45205 "gram.c"
45205
6
    break;
45206
45207
1.89k
  case 2117:
45208
1.89k
#line 14832 "gram.y"
45209
1.89k
    {
45210
1.89k
          CoalesceExpr *c = makeNode(CoalesceExpr);
45211
1.89k
          c->args = (yyvsp[-1].list);
45212
1.89k
          c->location = (yylsp[-3]);
45213
1.89k
          (yyval.node) = (Node *)c;
45214
1.89k
        }
45215
1.89k
#line 45216 "gram.c"
45216
1.89k
    break;
45217
45218
0
  case 2118:
45219
0
#line 14839 "gram.y"
45220
0
    {
45221
0
          MinMaxExpr *v = makeNode(MinMaxExpr);
45222
0
          v->args = (yyvsp[-1].list);
45223
0
          v->op = IS_GREATEST;
45224
0
          v->location = (yylsp[-3]);
45225
0
          (yyval.node) = (Node *)v;
45226
0
        }
45227
0
#line 45228 "gram.c"
45228
0
    break;
45229
45230
5
  case 2119:
45231
5
#line 14847 "gram.y"
45232
5
    {
45233
5
          MinMaxExpr *v = makeNode(MinMaxExpr);
45234
5
          v->args = (yyvsp[-1].list);
45235
5
          v->op = IS_LEAST;
45236
5
          v->location = (yylsp[-3]);
45237
5
          (yyval.node) = (Node *)v;
45238
5
        }
45239
5
#line 45240 "gram.c"
45240
5
    break;
45241
45242
0
  case 2120:
45243
0
#line 14855 "gram.y"
45244
0
    {
45245
0
          (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
45246
0
        }
45247
0
#line 45248 "gram.c"
45248
0
    break;
45249
45250
0
  case 2121:
45251
0
#line 14859 "gram.y"
45252
0
    {
45253
0
          (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
45254
0
        }
45255
0
#line 45256 "gram.c"
45256
0
    break;
45257
45258
0
  case 2122:
45259
0
#line 14863 "gram.y"
45260
0
    {
45261
0
          (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
45262
0
        }
45263
0
#line 45264 "gram.c"
45264
0
    break;
45265
45266
0
  case 2123:
45267
0
#line 14867 "gram.y"
45268
0
    {
45269
0
          (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
45270
0
        }
45271
0
#line 45272 "gram.c"
45272
0
    break;
45273
45274
0
  case 2124:
45275
0
#line 14871 "gram.y"
45276
0
    {
45277
0
          (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
45278
0
        }
45279
0
#line 45280 "gram.c"
45280
0
    break;
45281
45282
0
  case 2125:
45283
0
#line 14875 "gram.y"
45284
0
    {
45285
          /* xmlexists(A PASSING [BY REF] B [BY REF]) is
45286
           * converted to xmlexists(A, B)*/
45287
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-4]));
45288
0
        }
45289
0
#line 45290 "gram.c"
45290
0
    break;
45291
45292
0
  case 2126:
45293
0
#line 14881 "gram.y"
45294
0
    {
45295
0
          (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
45296
0
        }
45297
0
#line 45298 "gram.c"
45298
0
    break;
45299
45300
0
  case 2127:
45301
0
#line 14885 "gram.y"
45302
0
    {
45303
0
          XmlExpr *x = (XmlExpr *)
45304
0
            makeXmlExpr(IS_XMLPARSE, NULL, NIL,
45305
0
                  list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
45306
0
                  (yylsp[-5]));
45307
0
          x->xmloption = (yyvsp[-3].ival);
45308
0
          (yyval.node) = (Node *)x;
45309
0
        }
45310
0
#line 45311 "gram.c"
45311
0
    break;
45312
45313
0
  case 2128:
45314
0
#line 14894 "gram.y"
45315
0
    {
45316
0
          (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
45317
0
        }
45318
0
#line 45319 "gram.c"
45319
0
    break;
45320
45321
0
  case 2129:
45322
0
#line 14898 "gram.y"
45323
0
    {
45324
0
          (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
45325
0
        }
45326
0
#line 45327 "gram.c"
45327
0
    break;
45328
45329
0
  case 2130:
45330
0
#line 14902 "gram.y"
45331
0
    {
45332
0
          (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
45333
0
                   list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
45334
0
        }
45335
0
#line 45336 "gram.c"
45336
0
    break;
45337
45338
0
  case 2131:
45339
0
#line 14907 "gram.y"
45340
0
    {
45341
0
          XmlSerialize *n = makeNode(XmlSerialize);
45342
0
          n->xmloption = (yyvsp[-4].ival);
45343
0
          n->expr = (yyvsp[-3].node);
45344
0
          n->typeName = (yyvsp[-1].typnam);
45345
0
          n->location = (yylsp[-6]);
45346
0
          (yyval.node) = (Node *)n;
45347
0
        }
45348
0
#line 45349 "gram.c"
45349
0
    break;
45350
45351
0
  case 2132:
45352
0
#line 14921 "gram.y"
45353
0
    { (yyval.node) = (yyvsp[0].node); }
45354
0
#line 45355 "gram.c"
45355
0
    break;
45356
45357
0
  case 2133:
45358
0
#line 14923 "gram.y"
45359
0
    { (yyval.node) = makeNullAConst(-1); }
45360
0
#line 45361 "gram.c"
45361
0
    break;
45362
45363
0
  case 2134:
45364
0
#line 14927 "gram.y"
45365
0
    { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
45366
0
#line 45367 "gram.c"
45367
0
    break;
45368
45369
0
  case 2135:
45370
0
#line 14929 "gram.y"
45371
0
    { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
45372
0
#line 45373 "gram.c"
45373
0
    break;
45374
45375
0
  case 2136:
45376
0
#line 14931 "gram.y"
45377
0
    { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
45378
0
#line 45379 "gram.c"
45379
0
    break;
45380
45381
0
  case 2137:
45382
0
#line 14933 "gram.y"
45383
0
    { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
45384
0
#line 45385 "gram.c"
45385
0
    break;
45386
45387
0
  case 2138:
45388
0
#line 14936 "gram.y"
45389
0
    { (yyval.list) = (yyvsp[-1].list); }
45390
0
#line 45391 "gram.c"
45391
0
    break;
45392
45393
0
  case 2139:
45394
0
#line 14939 "gram.y"
45395
0
    { (yyval.list) = list_make1((yyvsp[0].target)); }
45396
0
#line 45397 "gram.c"
45397
0
    break;
45398
45399
0
  case 2140:
45400
0
#line 14940 "gram.y"
45401
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
45402
0
#line 45403 "gram.c"
45403
0
    break;
45404
45405
0
  case 2141:
45406
0
#line 14944 "gram.y"
45407
0
    {
45408
0
          (yyval.target) = makeNode(ResTarget);
45409
0
          (yyval.target)->name = (yyvsp[0].str);
45410
0
          (yyval.target)->indirection = NIL;
45411
0
          (yyval.target)->val = (Node *) (yyvsp[-2].node);
45412
0
          (yyval.target)->location = (yylsp[-2]);
45413
0
        }
45414
0
#line 45415 "gram.c"
45415
0
    break;
45416
45417
0
  case 2142:
45418
0
#line 14952 "gram.y"
45419
0
    {
45420
0
          (yyval.target) = makeNode(ResTarget);
45421
0
          (yyval.target)->name = NULL;
45422
0
          (yyval.target)->indirection = NIL;
45423
0
          (yyval.target)->val = (Node *) (yyvsp[0].node);
45424
0
          (yyval.target)->location = (yylsp[0]);
45425
0
        }
45426
0
#line 45427 "gram.c"
45427
0
    break;
45428
45429
0
  case 2143:
45430
0
#line 14961 "gram.y"
45431
0
    { (yyval.ival) = XMLOPTION_DOCUMENT; }
45432
0
#line 45433 "gram.c"
45433
0
    break;
45434
45435
0
  case 2144:
45436
0
#line 14962 "gram.y"
45437
0
    { (yyval.ival) = XMLOPTION_CONTENT; }
45438
0
#line 45439 "gram.c"
45439
0
    break;
45440
45441
0
  case 2145:
45442
0
#line 14965 "gram.y"
45443
0
    { (yyval.boolean) = true; }
45444
0
#line 45445 "gram.c"
45445
0
    break;
45446
45447
0
  case 2146:
45448
0
#line 14966 "gram.y"
45449
0
    { (yyval.boolean) = false; }
45450
0
#line 45451 "gram.c"
45451
0
    break;
45452
45453
0
  case 2147:
45454
0
#line 14967 "gram.y"
45455
0
    { (yyval.boolean) = false; }
45456
0
#line 45457 "gram.c"
45457
0
    break;
45458
45459
0
  case 2148:
45460
0
#line 14973 "gram.y"
45461
0
    {
45462
0
          (yyval.node) = (yyvsp[0].node);
45463
0
        }
45464
0
#line 45465 "gram.c"
45465
0
    break;
45466
45467
0
  case 2149:
45468
0
#line 14977 "gram.y"
45469
0
    {
45470
0
          (yyval.node) = (yyvsp[-2].node);
45471
0
        }
45472
0
#line 45473 "gram.c"
45473
0
    break;
45474
45475
0
  case 2150:
45476
0
#line 14981 "gram.y"
45477
0
    {
45478
0
          (yyval.node) = (yyvsp[0].node);
45479
0
        }
45480
0
#line 45481 "gram.c"
45481
0
    break;
45482
45483
0
  case 2151:
45484
0
#line 14985 "gram.y"
45485
0
    {
45486
0
          (yyval.node) = (yyvsp[-2].node);
45487
0
        }
45488
0
#line 45489 "gram.c"
45489
0
    break;
45490
45491
102
  case 2152:
45492
102
#line 14995 "gram.y"
45493
102
    { (yyval.list) = (yyvsp[-1].list); }
45494
102
#line 45495 "gram.c"
45495
102
    break;
45496
45497
12.7k
  case 2153:
45498
12.7k
#line 14996 "gram.y"
45499
12.7k
    { (yyval.list) = NIL; }
45500
12.7k
#line 45501 "gram.c"
45501
12.7k
    break;
45502
45503
261
  case 2154:
45504
261
#line 15000 "gram.y"
45505
261
    { (yyval.node) = (yyvsp[-1].node); }
45506
261
#line 45507 "gram.c"
45507
261
    break;
45508
45509
12.5k
  case 2155:
45510
12.5k
#line 15001 "gram.y"
45511
12.5k
    { (yyval.node) = NULL; }
45512
12.5k
#line 45513 "gram.c"
45513
12.5k
    break;
45514
45515
0
  case 2156:
45516
0
#line 15009 "gram.y"
45517
0
    { (yyval.list) = (yyvsp[0].list); }
45518
0
#line 45519 "gram.c"
45519
0
    break;
45520
45521
68.8k
  case 2157:
45522
68.8k
#line 15010 "gram.y"
45523
68.8k
    { (yyval.list) = NIL; }
45524
68.8k
#line 45525 "gram.c"
45525
68.8k
    break;
45526
45527
0
  case 2158:
45528
0
#line 15014 "gram.y"
45529
0
    { (yyval.list) = list_make1((yyvsp[0].windef)); }
45530
0
#line 45531 "gram.c"
45531
0
    break;
45532
45533
0
  case 2159:
45534
0
#line 15016 "gram.y"
45535
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
45536
0
#line 45537 "gram.c"
45537
0
    break;
45538
45539
0
  case 2160:
45540
0
#line 15021 "gram.y"
45541
0
    {
45542
0
          WindowDef *n = (yyvsp[0].windef);
45543
0
          n->name = (yyvsp[-2].str);
45544
0
          (yyval.windef) = n;
45545
0
        }
45546
0
#line 45547 "gram.c"
45547
0
    break;
45548
45549
6
  case 2161:
45550
6
#line 15029 "gram.y"
45551
6
    { (yyval.windef) = (yyvsp[0].windef); }
45552
6
#line 45553 "gram.c"
45553
6
    break;
45554
45555
0
  case 2162:
45556
0
#line 15031 "gram.y"
45557
0
    {
45558
0
          WindowDef *n = makeNode(WindowDef);
45559
0
          n->name = (yyvsp[0].str);
45560
0
          n->refname = NULL;
45561
0
          n->partitionClause = NIL;
45562
0
          n->orderClause = NIL;
45563
0
          n->frameOptions = FRAMEOPTION_DEFAULTS;
45564
0
          n->startOffset = NULL;
45565
0
          n->endOffset = NULL;
45566
0
          n->location = (yylsp[0]);
45567
0
          (yyval.windef) = n;
45568
0
        }
45569
0
#line 45570 "gram.c"
45570
0
    break;
45571
45572
12.8k
  case 2163:
45573
12.8k
#line 15044 "gram.y"
45574
12.8k
    { (yyval.windef) = NULL; }
45575
12.8k
#line 45576 "gram.c"
45576
12.8k
    break;
45577
45578
6
  case 2164:
45579
6
#line 15049 "gram.y"
45580
6
    {
45581
6
          WindowDef *n = makeNode(WindowDef);
45582
6
          n->name = NULL;
45583
6
          n->refname = (yyvsp[-4].str);
45584
6
          n->partitionClause = (yyvsp[-3].list);
45585
6
          n->orderClause = (yyvsp[-2].list);
45586
          /* copy relevant fields of opt_frame_clause */
45587
6
          n->frameOptions = (yyvsp[-1].windef)->frameOptions;
45588
6
          n->startOffset = (yyvsp[-1].windef)->startOffset;
45589
6
          n->endOffset = (yyvsp[-1].windef)->endOffset;
45590
6
          n->location = (yylsp[-5]);
45591
6
          (yyval.windef) = n;
45592
6
        }
45593
6
#line 45594 "gram.c"
45594
6
    break;
45595
45596
0
  case 2165:
45597
0
#line 15074 "gram.y"
45598
0
    { (yyval.str) = (yyvsp[0].str); }
45599
0
#line 45600 "gram.c"
45600
0
    break;
45601
45602
6
  case 2166:
45603
6
#line 15075 "gram.y"
45604
6
    { (yyval.str) = NULL; }
45605
6
#line 45606 "gram.c"
45606
6
    break;
45607
45608
6
  case 2167:
45609
6
#line 15078 "gram.y"
45610
6
    { (yyval.list) = (yyvsp[0].list); }
45611
6
#line 45612 "gram.c"
45612
6
    break;
45613
45614
0
  case 2168:
45615
0
#line 15079 "gram.y"
45616
0
    { (yyval.list) = NIL; }
45617
0
#line 45618 "gram.c"
45618
0
    break;
45619
45620
2
  case 2169:
45621
2
#line 15088 "gram.y"
45622
2
    {
45623
2
          WindowDef *n = (yyvsp[-1].windef);
45624
2
          n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
45625
2
          n->frameOptions |= (yyvsp[0].ival);
45626
2
          (yyval.windef) = n;
45627
2
        }
45628
2
#line 45629 "gram.c"
45629
2
    break;
45630
45631
0
  case 2170:
45632
0
#line 15095 "gram.y"
45633
0
    {
45634
0
          WindowDef *n = (yyvsp[-1].windef);
45635
0
          n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
45636
0
          n->frameOptions |= (yyvsp[0].ival);
45637
0
          (yyval.windef) = n;
45638
0
        }
45639
0
#line 45640 "gram.c"
45640
0
    break;
45641
45642
0
  case 2171:
45643
0
#line 15102 "gram.y"
45644
0
    {
45645
0
          WindowDef *n = (yyvsp[-1].windef);
45646
0
          n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
45647
0
          n->frameOptions |= (yyvsp[0].ival);
45648
0
          (yyval.windef) = n;
45649
0
        }
45650
0
#line 45651 "gram.c"
45651
0
    break;
45652
45653
4
  case 2172:
45654
4
#line 15109 "gram.y"
45655
4
    {
45656
4
          WindowDef *n = makeNode(WindowDef);
45657
4
          n->frameOptions = FRAMEOPTION_DEFAULTS;
45658
4
          n->startOffset = NULL;
45659
4
          n->endOffset = NULL;
45660
4
          (yyval.windef) = n;
45661
4
        }
45662
4
#line 45663 "gram.c"
45663
4
    break;
45664
45665
0
  case 2173:
45666
0
#line 15119 "gram.y"
45667
0
    {
45668
0
          WindowDef *n = (yyvsp[0].windef);
45669
          /* reject invalid cases */
45670
0
          if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
45671
0
            ereport(ERROR,
45672
0
                (errcode(ERRCODE_WINDOWING_ERROR),
45673
0
                 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
45674
0
                 parser_errposition((yylsp[0]))));
45675
0
          if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
45676
0
            ereport(ERROR,
45677
0
                (errcode(ERRCODE_WINDOWING_ERROR),
45678
0
                 errmsg("frame starting from following row cannot end with current row"),
45679
0
                 parser_errposition((yylsp[0]))));
45680
0
          n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
45681
0
          (yyval.windef) = n;
45682
0
        }
45683
0
#line 45684 "gram.c"
45684
0
    break;
45685
45686
2
  case 2174:
45687
2
#line 15136 "gram.y"
45688
2
    {
45689
2
          WindowDef *n1 = (yyvsp[-2].windef);
45690
2
          WindowDef *n2 = (yyvsp[0].windef);
45691
          /* form merged options */
45692
2
          int   frameOptions = n1->frameOptions;
45693
          /* shift converts START_ options to END_ options */
45694
2
          frameOptions |= n2->frameOptions << 1;
45695
2
          frameOptions |= FRAMEOPTION_BETWEEN;
45696
          /* reject invalid cases */
45697
2
          if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
45698
2
            ereport(ERROR,
45699
2
                (errcode(ERRCODE_WINDOWING_ERROR),
45700
2
                 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
45701
2
                 parser_errposition((yylsp[-2]))));
45702
2
          if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
45703
2
            ereport(ERROR,
45704
2
                (errcode(ERRCODE_WINDOWING_ERROR),
45705
2
                 errmsg("frame end cannot be UNBOUNDED PRECEDING"),
45706
2
                 parser_errposition((yylsp[0]))));
45707
2
          if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
45708
2
            (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING))
45709
2
            ereport(ERROR,
45710
2
                (errcode(ERRCODE_WINDOWING_ERROR),
45711
2
                 errmsg("frame starting from current row cannot have preceding rows"),
45712
2
                 parser_errposition((yylsp[0]))));
45713
2
          if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
45714
0
            (frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING |
45715
0
                     FRAMEOPTION_END_CURRENT_ROW)))
45716
2
            ereport(ERROR,
45717
2
                (errcode(ERRCODE_WINDOWING_ERROR),
45718
2
                 errmsg("frame starting from following row cannot have preceding rows"),
45719
2
                 parser_errposition((yylsp[0]))));
45720
2
          n1->frameOptions = frameOptions;
45721
2
          n1->endOffset = n2->startOffset;
45722
2
          (yyval.windef) = n1;
45723
2
        }
45724
2
#line 45725 "gram.c"
45725
2
    break;
45726
45727
0
  case 2175:
45728
0
#line 15181 "gram.y"
45729
0
    {
45730
0
          WindowDef *n = makeNode(WindowDef);
45731
0
          n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
45732
0
          n->startOffset = NULL;
45733
0
          n->endOffset = NULL;
45734
0
          (yyval.windef) = n;
45735
0
        }
45736
0
#line 45737 "gram.c"
45737
0
    break;
45738
45739
2
  case 2176:
45740
2
#line 15189 "gram.y"
45741
2
    {
45742
2
          WindowDef *n = makeNode(WindowDef);
45743
2
          n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
45744
2
          n->startOffset = NULL;
45745
2
          n->endOffset = NULL;
45746
2
          (yyval.windef) = n;
45747
2
        }
45748
2
#line 45749 "gram.c"
45749
2
    break;
45750
45751
2
  case 2177:
45752
2
#line 15197 "gram.y"
45753
2
    {
45754
2
          WindowDef *n = makeNode(WindowDef);
45755
2
          n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
45756
2
          n->startOffset = NULL;
45757
2
          n->endOffset = NULL;
45758
2
          (yyval.windef) = n;
45759
2
        }
45760
2
#line 45761 "gram.c"
45761
2
    break;
45762
45763
0
  case 2178:
45764
0
#line 15205 "gram.y"
45765
0
    {
45766
0
          WindowDef *n = makeNode(WindowDef);
45767
0
          n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
45768
0
          n->startOffset = (yyvsp[-1].node);
45769
0
          n->endOffset = NULL;
45770
0
          (yyval.windef) = n;
45771
0
        }
45772
0
#line 45773 "gram.c"
45773
0
    break;
45774
45775
0
  case 2179:
45776
0
#line 15213 "gram.y"
45777
0
    {
45778
0
          WindowDef *n = makeNode(WindowDef);
45779
0
          n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
45780
0
          n->startOffset = (yyvsp[-1].node);
45781
0
          n->endOffset = NULL;
45782
0
          (yyval.windef) = n;
45783
0
        }
45784
0
#line 45785 "gram.c"
45785
0
    break;
45786
45787
0
  case 2180:
45788
0
#line 15223 "gram.y"
45789
0
    { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
45790
0
#line 45791 "gram.c"
45791
0
    break;
45792
45793
0
  case 2181:
45794
0
#line 15224 "gram.y"
45795
0
    { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
45796
0
#line 45797 "gram.c"
45797
0
    break;
45798
45799
0
  case 2182:
45800
0
#line 15225 "gram.y"
45801
0
    { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
45802
0
#line 45803 "gram.c"
45803
0
    break;
45804
45805
0
  case 2183:
45806
0
#line 15226 "gram.y"
45807
0
    { (yyval.ival) = 0; }
45808
0
#line 45809 "gram.c"
45809
0
    break;
45810
45811
2
  case 2184:
45812
2
#line 15227 "gram.y"
45813
2
    { (yyval.ival) = 0; }
45814
2
#line 45815 "gram.c"
45815
2
    break;
45816
45817
0
  case 2185:
45818
0
#line 15241 "gram.y"
45819
0
    { (yyval.list) = (yyvsp[-1].list); }
45820
0
#line 45821 "gram.c"
45821
0
    break;
45822
45823
0
  case 2186:
45824
0
#line 15242 "gram.y"
45825
0
    { (yyval.list) = NIL; }
45826
0
#line 45827 "gram.c"
45827
0
    break;
45828
45829
0
  case 2187:
45830
0
#line 15243 "gram.y"
45831
0
    { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
45832
0
#line 45833 "gram.c"
45833
0
    break;
45834
45835
808
  case 2188:
45836
808
#line 15246 "gram.y"
45837
808
    { (yyval.list) = (yyvsp[-1].list); }
45838
808
#line 45839 "gram.c"
45839
808
    break;
45840
45841
0
  case 2189:
45842
0
#line 15247 "gram.y"
45843
0
    { (yyval.list) = NIL; }
45844
0
#line 45845 "gram.c"
45845
0
    break;
45846
45847
10
  case 2190:
45848
10
#line 15250 "gram.y"
45849
10
    { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
45850
10
#line 45851 "gram.c"
45851
10
    break;
45852
45853
335
  case 2191:
45854
335
#line 15253 "gram.y"
45855
335
    { (yyval.ival) = ANY_SUBLINK; }
45856
335
#line 45857 "gram.c"
45857
335
    break;
45858
45859
0
  case 2192:
45860
0
#line 15254 "gram.y"
45861
0
    { (yyval.ival) = ANY_SUBLINK; }
45862
0
#line 45863 "gram.c"
45863
0
    break;
45864
45865
28
  case 2193:
45866
28
#line 15255 "gram.y"
45867
28
    { (yyval.ival) = ALL_SUBLINK; }
45868
28
#line 45869 "gram.c"
45869
28
    break;
45870
45871
303
  case 2194:
45872
303
#line 15258 "gram.y"
45873
303
    { (yyval.str) = (yyvsp[0].str); }
45874
303
#line 45875 "gram.c"
45875
303
    break;
45876
45877
1.36k
  case 2195:
45878
1.36k
#line 15259 "gram.y"
45879
1.36k
    { (yyval.str) = (yyvsp[0].str); }
45880
1.36k
#line 45881 "gram.c"
45881
1.36k
    break;
45882
45883
3
  case 2196:
45884
3
#line 15262 "gram.y"
45885
3
    { (yyval.str) = "+"; }
45886
3
#line 45887 "gram.c"
45887
3
    break;
45888
45889
5
  case 2197:
45890
5
#line 15263 "gram.y"
45891
5
    { (yyval.str) = "-"; }
45892
5
#line 45893 "gram.c"
45893
5
    break;
45894
45895
6
  case 2198:
45896
6
#line 15264 "gram.y"
45897
6
    { (yyval.str) = "*"; }
45898
6
#line 45899 "gram.c"
45899
6
    break;
45900
45901
0
  case 2199:
45902
0
#line 15265 "gram.y"
45903
0
    { (yyval.str) = "/"; }
45904
0
#line 45905 "gram.c"
45905
0
    break;
45906
45907
4
  case 2200:
45908
4
#line 15266 "gram.y"
45909
4
    { (yyval.str) = "%"; }
45910
4
#line 45911 "gram.c"
45911
4
    break;
45912
45913
0
  case 2201:
45914
0
#line 15267 "gram.y"
45915
0
    { (yyval.str) = "^"; }
45916
0
#line 45917 "gram.c"
45917
0
    break;
45918
45919
118
  case 2202:
45920
118
#line 15268 "gram.y"
45921
118
    { (yyval.str) = "<"; }
45922
118
#line 45923 "gram.c"
45923
118
    break;
45924
45925
120
  case 2203:
45926
120
#line 15269 "gram.y"
45927
120
    { (yyval.str) = ">"; }
45928
120
#line 45929 "gram.c"
45929
120
    break;
45930
45931
706
  case 2204:
45932
706
#line 15270 "gram.y"
45933
706
    { (yyval.str) = "="; }
45934
706
#line 45935 "gram.c"
45935
706
    break;
45936
45937
149
  case 2205:
45938
149
#line 15271 "gram.y"
45939
149
    { (yyval.str) = "<="; }
45940
149
#line 45941 "gram.c"
45941
149
    break;
45942
45943
157
  case 2206:
45944
157
#line 15272 "gram.y"
45945
157
    { (yyval.str) = ">="; }
45946
157
#line 45947 "gram.c"
45947
157
    break;
45948
45949
92
  case 2207:
45950
92
#line 15273 "gram.y"
45951
92
    { (yyval.str) = "<>"; }
45952
92
#line 45953 "gram.c"
45953
92
    break;
45954
45955
1.39k
  case 2208:
45956
1.39k
#line 15277 "gram.y"
45957
1.39k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45958
1.39k
#line 45959 "gram.c"
45959
1.39k
    break;
45960
45961
288
  case 2209:
45962
288
#line 15279 "gram.y"
45963
288
    { (yyval.list) = (yyvsp[-1].list); }
45964
288
#line 45965 "gram.c"
45965
288
    break;
45966
45967
366
  case 2210:
45968
366
#line 15284 "gram.y"
45969
366
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45970
366
#line 45971 "gram.c"
45971
366
    break;
45972
45973
9
  case 2211:
45974
9
#line 15286 "gram.y"
45975
9
    { (yyval.list) = (yyvsp[-1].list); }
45976
9
#line 45977 "gram.c"
45977
9
    break;
45978
45979
347
  case 2212:
45980
347
#line 15291 "gram.y"
45981
347
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45982
347
#line 45983 "gram.c"
45983
347
    break;
45984
45985
0
  case 2213:
45986
0
#line 15293 "gram.y"
45987
0
    { (yyval.list) = (yyvsp[-1].list); }
45988
0
#line 45989 "gram.c"
45989
0
    break;
45990
45991
8
  case 2214:
45992
8
#line 15295 "gram.y"
45993
8
    { (yyval.list) = list_make1(makeString("~~")); }
45994
8
#line 45995 "gram.c"
45995
8
    break;
45996
45997
4
  case 2215:
45998
4
#line 15297 "gram.y"
45999
4
    { (yyval.list) = list_make1(makeString("!~~")); }
46000
4
#line 46001 "gram.c"
46001
4
    break;
46002
46003
4
  case 2216:
46004
4
#line 15299 "gram.y"
46005
4
    { (yyval.list) = list_make1(makeString("~~*")); }
46006
4
#line 46007 "gram.c"
46007
4
    break;
46008
46009
0
  case 2217:
46010
0
#line 15301 "gram.y"
46011
0
    { (yyval.list) = list_make1(makeString("!~~*")); }
46012
0
#line 46013 "gram.c"
46013
0
    break;
46014
46015
242k
  case 2218:
46016
242k
#line 15313 "gram.y"
46017
242k
    {
46018
242k
          (yyval.list) = list_make1((yyvsp[0].node));
46019
242k
        }
46020
242k
#line 46021 "gram.c"
46021
242k
    break;
46022
46023
1.28M
  case 2219:
46024
1.28M
#line 15317 "gram.y"
46025
1.28M
    {
46026
1.28M
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
46027
1.28M
        }
46028
1.28M
#line 46029 "gram.c"
46029
1.28M
    break;
46030
46031
12.5k
  case 2220:
46032
12.5k
#line 15324 "gram.y"
46033
12.5k
    {
46034
12.5k
          (yyval.list) = list_make1((yyvsp[0].node));
46035
12.5k
        }
46036
12.5k
#line 46037 "gram.c"
46037
12.5k
    break;
46038
46039
7.02k
  case 2221:
46040
7.02k
#line 15328 "gram.y"
46041
7.02k
    {
46042
7.02k
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
46043
7.02k
        }
46044
7.02k
#line 46045 "gram.c"
46045
7.02k
    break;
46046
46047
19.5k
  case 2222:
46048
19.5k
#line 15334 "gram.y"
46049
19.5k
    {
46050
19.5k
          (yyval.node) = (yyvsp[0].node);
46051
19.5k
        }
46052
19.5k
#line 46053 "gram.c"
46053
19.5k
    break;
46054
46055
0
  case 2223:
46056
0
#line 15338 "gram.y"
46057
0
    {
46058
0
          NamedArgExpr *na = makeNode(NamedArgExpr);
46059
0
          na->name = (yyvsp[-2].str);
46060
0
          na->arg = (Expr *) (yyvsp[0].node);
46061
0
          na->argnumber = -1;   /* until determined */
46062
0
          na->location = (yylsp[-2]);
46063
0
          (yyval.node) = (Node *) na;
46064
0
        }
46065
0
#line 46066 "gram.c"
46066
0
    break;
46067
46068
0
  case 2224:
46069
0
#line 15347 "gram.y"
46070
0
    {
46071
0
          NamedArgExpr *na = makeNode(NamedArgExpr);
46072
0
          na->name = (yyvsp[-2].str);
46073
0
          na->arg = (Expr *) (yyvsp[0].node);
46074
0
          na->argnumber = -1;   /* until determined */
46075
0
          na->location = (yylsp[-2]);
46076
0
          (yyval.node) = (Node *) na;
46077
0
        }
46078
0
#line 46079 "gram.c"
46079
0
    break;
46080
46081
32
  case 2225:
46082
32
#line 15357 "gram.y"
46083
32
    { (yyval.list) = list_make1((yyvsp[0].typnam)); }
46084
32
#line 46085 "gram.c"
46085
32
    break;
46086
46087
10
  case 2226:
46088
10
#line 15358 "gram.y"
46089
10
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
46090
10
#line 46091 "gram.c"
46091
10
    break;
46092
46093
800
  case 2227:
46094
800
#line 15362 "gram.y"
46095
800
    {
46096
800
          (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
46097
800
        }
46098
800
#line 46099 "gram.c"
46099
800
    break;
46100
46101
131
  case 2228:
46102
131
#line 15366 "gram.y"
46103
131
    {
46104
131
          (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
46105
131
        }
46106
131
#line 46107 "gram.c"
46107
131
    break;
46108
46109
5
  case 2229:
46110
5
#line 15370 "gram.y"
46111
5
    {
46112
5
          (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
46113
5
        }
46114
5
#line 46115 "gram.c"
46115
5
    break;
46116
46117
131
  case 2230:
46118
131
#line 15375 "gram.y"
46119
131
    { (yyval.list) = list_make1((yyvsp[0].node)); }
46120
131
#line 46121 "gram.c"
46121
131
    break;
46122
46123
111
  case 2231:
46124
111
#line 15376 "gram.y"
46125
111
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
46126
111
#line 46127 "gram.c"
46127
111
    break;
46128
46129
0
  case 2232:
46130
0
#line 15382 "gram.y"
46131
0
    {
46132
0
          (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
46133
0
        }
46134
0
#line 46135 "gram.c"
46135
0
    break;
46136
46137
0
  case 2233:
46138
0
#line 15385 "gram.y"
46139
0
    { (yyval.list) = NIL; }
46140
0
#line 46141 "gram.c"
46141
0
    break;
46142
46143
0
  case 2234:
46144
0
#line 15392 "gram.y"
46145
0
    { (yyval.str) = (yyvsp[0].str); }
46146
0
#line 46147 "gram.c"
46147
0
    break;
46148
46149
0
  case 2235:
46150
0
#line 15393 "gram.y"
46151
0
    { (yyval.str) = "year"; }
46152
0
#line 46153 "gram.c"
46153
0
    break;
46154
46155
0
  case 2236:
46156
0
#line 15394 "gram.y"
46157
0
    { (yyval.str) = "month"; }
46158
0
#line 46159 "gram.c"
46159
0
    break;
46160
46161
0
  case 2237:
46162
0
#line 15395 "gram.y"
46163
0
    { (yyval.str) = "day"; }
46164
0
#line 46165 "gram.c"
46165
0
    break;
46166
46167
0
  case 2238:
46168
0
#line 15396 "gram.y"
46169
0
    { (yyval.str) = "hour"; }
46170
0
#line 46171 "gram.c"
46171
0
    break;
46172
46173
0
  case 2239:
46174
0
#line 15397 "gram.y"
46175
0
    { (yyval.str) = "minute"; }
46176
0
#line 46177 "gram.c"
46177
0
    break;
46178
46179
0
  case 2240:
46180
0
#line 15398 "gram.y"
46181
0
    { (yyval.str) = "second"; }
46182
0
#line 46183 "gram.c"
46183
0
    break;
46184
46185
0
  case 2241:
46186
0
#line 15399 "gram.y"
46187
0
    { (yyval.str) = (yyvsp[0].str); }
46188
0
#line 46189 "gram.c"
46189
0
    break;
46190
46191
0
  case 2242:
46192
0
#line 15410 "gram.y"
46193
0
    {
46194
0
          (yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
46195
0
        }
46196
0
#line 46197 "gram.c"
46197
0
    break;
46198
46199
0
  case 2243:
46200
0
#line 15414 "gram.y"
46201
0
    {
46202
0
          (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
46203
0
        }
46204
0
#line 46205 "gram.c"
46205
0
    break;
46206
46207
0
  case 2244:
46208
0
#line 15421 "gram.y"
46209
0
    { (yyval.node) = (yyvsp[0].node); }
46210
0
#line 46211 "gram.c"
46211
0
    break;
46212
46213
0
  case 2245:
46214
0
#line 15427 "gram.y"
46215
0
    { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
46216
0
#line 46217 "gram.c"
46217
0
    break;
46218
46219
0
  case 2246:
46220
0
#line 15428 "gram.y"
46221
0
    { (yyval.list) = NIL; }
46222
0
#line 46223 "gram.c"
46223
0
    break;
46224
46225
0
  case 2247:
46226
0
#line 15445 "gram.y"
46227
0
    {
46228
0
          (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
46229
0
        }
46230
0
#line 46231 "gram.c"
46231
0
    break;
46232
46233
0
  case 2248:
46234
0
#line 15449 "gram.y"
46235
0
    {
46236
          /* not legal per SQL99, but might as well allow it */
46237
0
          (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
46238
0
        }
46239
0
#line 46240 "gram.c"
46240
0
    break;
46241
46242
70
  case 2249:
46243
70
#line 15454 "gram.y"
46244
70
    {
46245
70
          (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
46246
70
        }
46247
70
#line 46248 "gram.c"
46248
70
    break;
46249
46250
60
  case 2250:
46251
60
#line 15458 "gram.y"
46252
60
    {
46253
          /*
46254
           * Since there are no cases where this syntax allows
46255
           * a textual FOR value, we forcibly cast the argument
46256
           * to int4.  The possible matches in pg_proc are
46257
           * substring(text,int4) and substring(text,text),
46258
           * and we don't want the parser to choose the latter,
46259
           * which it is likely to do if the second argument
46260
           * is unknown or doesn't have an implicit cast to int4.
46261
           */
46262
60
          (yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
46263
60
                  makeTypeCast((yyvsp[0].node),
46264
60
                         SystemTypeName("int4"), -1));
46265
60
        }
46266
60
#line 46267 "gram.c"
46267
60
    break;
46268
46269
0
  case 2251:
46270
0
#line 15473 "gram.y"
46271
0
    {
46272
0
          (yyval.list) = (yyvsp[0].list);
46273
0
        }
46274
0
#line 46275 "gram.c"
46275
0
    break;
46276
46277
0
  case 2252:
46278
0
#line 15477 "gram.y"
46279
0
    { (yyval.list) = NIL; }
46280
0
#line 46281 "gram.c"
46281
0
    break;
46282
46283
70
  case 2253:
46284
70
#line 15481 "gram.y"
46285
70
    { (yyval.node) = (yyvsp[0].node); }
46286
70
#line 46287 "gram.c"
46287
70
    break;
46288
46289
60
  case 2254:
46290
60
#line 15484 "gram.y"
46291
60
    { (yyval.node) = (yyvsp[0].node); }
46292
60
#line 46293 "gram.c"
46293
60
    break;
46294
46295
0
  case 2255:
46296
0
#line 15487 "gram.y"
46297
0
    { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
46298
0
#line 46299 "gram.c"
46299
0
    break;
46300
46301
0
  case 2256:
46302
0
#line 15488 "gram.y"
46303
0
    { (yyval.list) = (yyvsp[0].list); }
46304
0
#line 46305 "gram.c"
46305
0
    break;
46306
46307
0
  case 2257:
46308
0
#line 15489 "gram.y"
46309
0
    { (yyval.list) = (yyvsp[0].list); }
46310
0
#line 46311 "gram.c"
46311
0
    break;
46312
46313
30
  case 2258:
46314
30
#line 15493 "gram.y"
46315
30
    {
46316
30
          SubLink *n = makeNode(SubLink);
46317
30
          n->subselect = (yyvsp[0].node);
46318
          /* other fields will be filled later */
46319
30
          (yyval.node) = (Node *)n;
46320
30
        }
46321
30
#line 46322 "gram.c"
46322
30
    break;
46323
46324
29.1k
  case 2259:
46325
29.1k
#line 15499 "gram.y"
46326
29.1k
    { (yyval.node) = (Node *)(yyvsp[-1].list); }
46327
29.1k
#line 46328 "gram.c"
46328
29.1k
    break;
46329
46330
769
  case 2260:
46331
769
#line 15510 "gram.y"
46332
769
    {
46333
769
          CaseExpr *c = makeNode(CaseExpr);
46334
769
          c->casetype = InvalidOid; /* not analyzed yet */
46335
769
          c->arg = (Expr *) (yyvsp[-3].node);
46336
769
          c->args = (yyvsp[-2].list);
46337
769
          c->defresult = (Expr *) (yyvsp[-1].node);
46338
769
          c->location = (yylsp[-4]);
46339
769
          (yyval.node) = (Node *)c;
46340
769
        }
46341
769
#line 46342 "gram.c"
46342
769
    break;
46343
46344
769
  case 2261:
46345
769
#line 15523 "gram.y"
46346
769
    { (yyval.list) = list_make1((yyvsp[0].node)); }
46347
769
#line 46348 "gram.c"
46348
769
    break;
46349
46350
545
  case 2262:
46351
545
#line 15524 "gram.y"
46352
545
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46353
545
#line 46354 "gram.c"
46354
545
    break;
46355
46356
1.31k
  case 2263:
46357
1.31k
#line 15529 "gram.y"
46358
1.31k
    {
46359
1.31k
          CaseWhen *w = makeNode(CaseWhen);
46360
1.31k
          w->expr = (Expr *) (yyvsp[-2].node);
46361
1.31k
          w->result = (Expr *) (yyvsp[0].node);
46362
1.31k
          w->location = (yylsp[-3]);
46363
1.31k
          (yyval.node) = (Node *)w;
46364
1.31k
        }
46365
1.31k
#line 46366 "gram.c"
46366
1.31k
    break;
46367
46368
575
  case 2264:
46369
575
#line 15539 "gram.y"
46370
575
    { (yyval.node) = (yyvsp[0].node); }
46371
575
#line 46372 "gram.c"
46372
575
    break;
46373
46374
194
  case 2265:
46375
194
#line 15540 "gram.y"
46376
194
    { (yyval.node) = NULL; }
46377
194
#line 46378 "gram.c"
46378
194
    break;
46379
46380
92
  case 2266:
46381
92
#line 15543 "gram.y"
46382
92
    { (yyval.node) = (yyvsp[0].node); }
46383
92
#line 46384 "gram.c"
46384
92
    break;
46385
46386
677
  case 2267:
46387
677
#line 15544 "gram.y"
46388
677
    { (yyval.node) = NULL; }
46389
677
#line 46390 "gram.c"
46390
677
    break;
46391
46392
147k
  case 2268:
46393
147k
#line 15548 "gram.y"
46394
147k
    {
46395
147k
          (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
46396
147k
        }
46397
147k
#line 46398 "gram.c"
46398
147k
    break;
46399
46400
32.3k
  case 2269:
46401
32.3k
#line 15552 "gram.y"
46402
32.3k
    {
46403
32.3k
          (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
46404
32.3k
        }
46405
32.3k
#line 46406 "gram.c"
46406
32.3k
    break;
46407
46408
40.7k
  case 2270:
46409
40.7k
#line 15559 "gram.y"
46410
40.7k
    {
46411
40.7k
          (yyval.node) = (Node *) makeString((yyvsp[0].str));
46412
40.7k
        }
46413
40.7k
#line 46414 "gram.c"
46414
40.7k
    break;
46415
46416
234
  case 2271:
46417
234
#line 15563 "gram.y"
46418
234
    {
46419
234
          (yyval.node) = (Node *) makeNode(A_Star);
46420
234
        }
46421
234
#line 46422 "gram.c"
46422
234
    break;
46423
46424
296
  case 2272:
46425
296
#line 15567 "gram.y"
46426
296
    {
46427
296
          A_Indices *ai = makeNode(A_Indices);
46428
296
          ai->is_slice = false;
46429
296
          ai->lidx = NULL;
46430
296
          ai->uidx = (yyvsp[-1].node);
46431
296
          (yyval.node) = (Node *) ai;
46432
296
        }
46433
296
#line 46434 "gram.c"
46434
296
    break;
46435
46436
160
  case 2273:
46437
160
#line 15575 "gram.y"
46438
160
    {
46439
160
          A_Indices *ai = makeNode(A_Indices);
46440
160
          ai->is_slice = true;
46441
160
          ai->lidx = (yyvsp[-3].node);
46442
160
          ai->uidx = (yyvsp[-1].node);
46443
160
          (yyval.node) = (Node *) ai;
46444
160
        }
46445
160
#line 46446 "gram.c"
46446
160
    break;
46447
46448
260
  case 2274:
46449
260
#line 15585 "gram.y"
46450
260
    { (yyval.node) = (yyvsp[0].node); }
46451
260
#line 46452 "gram.c"
46452
260
    break;
46453
46454
60
  case 2275:
46455
60
#line 15586 "gram.y"
46456
60
    { (yyval.node) = NULL; }
46457
60
#line 46458 "gram.c"
46458
60
    break;
46459
46460
41.0k
  case 2276:
46461
41.0k
#line 15590 "gram.y"
46462
41.0k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
46463
41.0k
#line 46464 "gram.c"
46464
41.0k
    break;
46465
46466
152
  case 2277:
46467
152
#line 15591 "gram.y"
46468
152
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46469
152
#line 46470 "gram.c"
46470
152
    break;
46471
46472
119k
  case 2278:
46473
119k
#line 15595 "gram.y"
46474
119k
    { (yyval.list) = NIL; }
46475
119k
#line 46476 "gram.c"
46476
119k
    break;
46477
46478
242
  case 2279:
46479
242
#line 15596 "gram.y"
46480
242
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46481
242
#line 46482 "gram.c"
46482
242
    break;
46483
46484
68.7k
  case 2282:
46485
68.7k
#line 15610 "gram.y"
46486
68.7k
    { (yyval.list) = (yyvsp[0].list); }
46487
68.7k
#line 46488 "gram.c"
46488
68.7k
    break;
46489
46490
0
  case 2283:
46491
0
#line 15611 "gram.y"
46492
0
    { (yyval.list) = NIL; }
46493
0
#line 46494 "gram.c"
46494
0
    break;
46495
46496
72.5k
  case 2284:
46497
72.5k
#line 15615 "gram.y"
46498
72.5k
    { (yyval.list) = list_make1((yyvsp[0].target)); }
46499
72.5k
#line 46500 "gram.c"
46500
72.5k
    break;
46501
46502
45.2k
  case 2285:
46503
45.2k
#line 15616 "gram.y"
46504
45.2k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
46505
45.2k
#line 46506 "gram.c"
46506
45.2k
    break;
46507
46508
7.77k
  case 2286:
46509
7.77k
#line 15620 "gram.y"
46510
7.77k
    {
46511
7.77k
          (yyval.target) = makeNode(ResTarget);
46512
7.77k
          (yyval.target)->name = (yyvsp[0].str);
46513
7.77k
          (yyval.target)->indirection = NIL;
46514
7.77k
          (yyval.target)->val = (Node *)(yyvsp[-2].node);
46515
7.77k
          (yyval.target)->location = (yylsp[-2]);
46516
7.77k
        }
46517
7.77k
#line 46518 "gram.c"
46518
7.77k
    break;
46519
46520
58
  case 2287:
46521
58
#line 15636 "gram.y"
46522
58
    {
46523
58
          (yyval.target) = makeNode(ResTarget);
46524
58
          (yyval.target)->name = (yyvsp[0].str);
46525
58
          (yyval.target)->indirection = NIL;
46526
58
          (yyval.target)->val = (Node *)(yyvsp[-1].node);
46527
58
          (yyval.target)->location = (yylsp[-1]);
46528
58
        }
46529
58
#line 46530 "gram.c"
46530
58
    break;
46531
46532
96.8k
  case 2288:
46533
96.8k
#line 15644 "gram.y"
46534
96.8k
    {
46535
96.8k
          (yyval.target) = makeNode(ResTarget);
46536
96.8k
          (yyval.target)->name = NULL;
46537
96.8k
          (yyval.target)->indirection = NIL;
46538
96.8k
          (yyval.target)->val = (Node *)(yyvsp[0].node);
46539
96.8k
          (yyval.target)->location = (yylsp[0]);
46540
96.8k
        }
46541
96.8k
#line 46542 "gram.c"
46542
96.8k
    break;
46543
46544
13.1k
  case 2289:
46545
13.1k
#line 15652 "gram.y"
46546
13.1k
    {
46547
13.1k
          ColumnRef *n = makeNode(ColumnRef);
46548
13.1k
          n->fields = list_make1(makeNode(A_Star));
46549
13.1k
          n->location = (yylsp[0]);
46550
46551
13.1k
          (yyval.target) = makeNode(ResTarget);
46552
13.1k
          (yyval.target)->name = NULL;
46553
13.1k
          (yyval.target)->indirection = NIL;
46554
13.1k
          (yyval.target)->val = (Node *)n;
46555
13.1k
          (yyval.target)->location = (yylsp[0]);
46556
13.1k
        }
46557
13.1k
#line 46558 "gram.c"
46558
13.1k
    break;
46559
46560
3.41k
  case 2290:
46561
3.41k
#line 15673 "gram.y"
46562
3.41k
    { (yyval.list) = list_make1((yyvsp[0].range)); }
46563
3.41k
#line 46564 "gram.c"
46564
3.41k
    break;
46565
46566
16
  case 2291:
46567
16
#line 15674 "gram.y"
46568
16
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
46569
16
#line 46570 "gram.c"
46570
16
    break;
46571
46572
185k
  case 2292:
46573
185k
#line 15686 "gram.y"
46574
185k
    {
46575
185k
          (yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
46576
185k
        }
46577
185k
#line 46578 "gram.c"
46578
185k
    break;
46579
46580
6.61k
  case 2293:
46581
6.61k
#line 15690 "gram.y"
46582
6.61k
    {
46583
6.61k
          check_qualified_name((yyvsp[0].list), yyscanner);
46584
6.61k
          (yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
46585
6.61k
          switch (list_length((yyvsp[0].list)))
46586
6.61k
          {
46587
6.61k
            case 1:
46588
6.61k
              (yyval.range)->catalogname = NULL;
46589
6.61k
              (yyval.range)->schemaname = (yyvsp[-1].str);
46590
6.61k
              (yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
46591
6.61k
              break;
46592
0
            case 2:
46593
0
              (yyval.range)->catalogname = (yyvsp[-1].str);
46594
0
              (yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
46595
0
              (yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
46596
0
              break;
46597
0
            default:
46598
0
              ereport(ERROR,
46599
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
46600
0
                   errmsg("improper qualified name (too many dotted names): %s",
46601
0
                      NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
46602
0
                   parser_errposition((yylsp[-1]))));
46603
0
              break;
46604
6.61k
          }
46605
6.61k
        }
46606
6.61k
#line 46607 "gram.c"
46607
6.61k
    break;
46608
46609
3.13k
  case 2294:
46610
3.13k
#line 15717 "gram.y"
46611
3.13k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
46612
3.13k
#line 46613 "gram.c"
46613
3.13k
    break;
46614
46615
170
  case 2295:
46616
170
#line 15719 "gram.y"
46617
170
    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
46618
170
#line 46619 "gram.c"
46619
170
    break;
46620
46621
23.7k
  case 2296:
46622
23.7k
#line 15723 "gram.y"
46623
23.7k
    { (yyval.str) = (yyvsp[0].str); }
46624
23.7k
#line 46625 "gram.c"
46625
23.7k
    break;
46626
46627
67
  case 2297:
46628
67
#line 15726 "gram.y"
46629
67
    { (yyval.str) = (yyvsp[0].str); }
46630
67
#line 46631 "gram.c"
46631
67
    break;
46632
46633
132
  case 2298:
46634
132
#line 15729 "gram.y"
46635
132
    { (yyval.str) = (yyvsp[0].str); }
46636
132
#line 46637 "gram.c"
46637
132
    break;
46638
46639
41.8k
  case 2299:
46640
41.8k
#line 15731 "gram.y"
46641
41.8k
    { (yyval.str) = (yyvsp[0].str); }
46642
41.8k
#line 46643 "gram.c"
46643
41.8k
    break;
46644
46645
133
  case 2300:
46646
133
#line 15733 "gram.y"
46647
133
    { (yyval.str) = (yyvsp[0].str); }
46648
133
#line 46649 "gram.c"
46649
133
    break;
46650
46651
0
  case 2301:
46652
0
#line 15735 "gram.y"
46653
0
    { (yyval.str) = (yyvsp[0].str); }
46654
0
#line 46655 "gram.c"
46655
0
    break;
46656
46657
16.2k
  case 2302:
46658
16.2k
#line 15746 "gram.y"
46659
16.2k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
46660
16.2k
#line 46661 "gram.c"
46661
16.2k
    break;
46662
46663
2.06k
  case 2303:
46664
2.06k
#line 15748 "gram.y"
46665
2.06k
    {
46666
2.06k
            (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
46667
2.06k
                       yyscanner);
46668
2.06k
          }
46669
2.06k
#line 46670 "gram.c"
46670
2.06k
    break;
46671
46672
1.42M
  case 2304:
46673
1.42M
#line 15759 "gram.y"
46674
1.42M
    {
46675
1.42M
          (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
46676
1.42M
        }
46677
1.42M
#line 46678 "gram.c"
46678
1.42M
    break;
46679
46680
1.59k
  case 2305:
46681
1.59k
#line 15763 "gram.y"
46682
1.59k
    {
46683
1.59k
          (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
46684
1.59k
        }
46685
1.59k
#line 46686 "gram.c"
46686
1.59k
    break;
46687
46688
159k
  case 2306:
46689
159k
#line 15767 "gram.y"
46690
159k
    {
46691
159k
          (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
46692
159k
        }
46693
159k
#line 46694 "gram.c"
46694
159k
    break;
46695
46696
0
  case 2307:
46697
0
#line 15771 "gram.y"
46698
0
    {
46699
0
          (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
46700
0
        }
46701
0
#line 46702 "gram.c"
46702
0
    break;
46703
46704
51
  case 2308:
46705
51
#line 15775 "gram.y"
46706
51
    {
46707
          /* This is a bit constant per SQL99:
46708
           * Without Feature F511, "BIT data type",
46709
           * a <general literal> shall not be a
46710
           * <bit string literal> or a <hex string literal>.
46711
           */
46712
51
          (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
46713
51
        }
46714
51
#line 46715 "gram.c"
46715
51
    break;
46716
46717
2.02k
  case 2309:
46718
2.02k
#line 15784 "gram.y"
46719
2.02k
    {
46720
          /* generic type 'literal' syntax */
46721
2.02k
          TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
46722
2.02k
          t->location = (yylsp[-1]);
46723
2.02k
          (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46724
2.02k
        }
46725
2.02k
#line 46726 "gram.c"
46726
2.02k
    break;
46727
46728
0
  case 2310:
46729
0
#line 15791 "gram.y"
46730
0
    {
46731
          /* generic syntax with a type modifier */
46732
0
          TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
46733
0
          ListCell *lc;
46734
46735
          /*
46736
           * We must use func_arg_list and opt_sort_clause in the
46737
           * production to avoid reduce/reduce conflicts, but we
46738
           * don't actually wish to allow NamedArgExpr in this
46739
           * context, nor ORDER BY.
46740
           */
46741
0
          foreach(lc, (yyvsp[-3].list))
46742
0
          {
46743
0
            NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
46744
46745
0
            if (IsA(arg, NamedArgExpr))
46746
0
              ereport(ERROR,
46747
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
46748
0
                   errmsg("type modifier cannot have parameter name"),
46749
0
                   parser_errposition(arg->location)));
46750
0
          }
46751
0
          if ((yyvsp[-2].list) != NIL)
46752
0
              ereport(ERROR,
46753
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
46754
0
                   errmsg("type modifier cannot have ORDER BY"),
46755
0
                   parser_errposition((yylsp[-2]))));
46756
46757
0
          t->typmods = (yyvsp[-3].list);
46758
0
          t->location = (yylsp[-5]);
46759
0
          (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46760
0
        }
46761
0
#line 46762 "gram.c"
46762
0
    break;
46763
46764
0
  case 2311:
46765
0
#line 15823 "gram.y"
46766
0
    {
46767
0
          (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
46768
0
        }
46769
0
#line 46770 "gram.c"
46770
0
    break;
46771
46772
0
  case 2312:
46773
0
#line 15827 "gram.y"
46774
0
    {
46775
0
          TypeName *t = (yyvsp[-2].typnam);
46776
0
          t->typmods = (yyvsp[0].list);
46777
0
          (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
46778
0
        }
46779
0
#line 46780 "gram.c"
46780
0
    break;
46781
46782
0
  case 2313:
46783
0
#line 15833 "gram.y"
46784
0
    {
46785
0
          TypeName *t = (yyvsp[-4].typnam);
46786
0
          t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
46787
0
                      makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
46788
0
          (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46789
0
        }
46790
0
#line 46791 "gram.c"
46791
0
    break;
46792
46793
195
  case 2314:
46794
195
#line 15840 "gram.y"
46795
195
    {
46796
195
          (yyval.node) = makeBoolAConst(true, (yylsp[0]));
46797
195
        }
46798
195
#line 46799 "gram.c"
46799
195
    break;
46800
46801
357
  case 2315:
46802
357
#line 15844 "gram.y"
46803
357
    {
46804
357
          (yyval.node) = makeBoolAConst(false, (yylsp[0]));
46805
357
        }
46806
357
#line 46807 "gram.c"
46807
357
    break;
46808
46809
1.33k
  case 2316:
46810
1.33k
#line 15848 "gram.y"
46811
1.33k
    {
46812
1.33k
          (yyval.node) = makeNullAConst((yylsp[0]));
46813
1.33k
        }
46814
1.33k
#line 46815 "gram.c"
46815
1.33k
    break;
46816
46817
1.43M
  case 2317:
46818
1.43M
#line 15853 "gram.y"
46819
1.43M
    { (yyval.ival) = (yyvsp[0].ival); }
46820
1.43M
#line 46821 "gram.c"
46821
1.43M
    break;
46822
46823
165k
  case 2318:
46824
165k
#line 15854 "gram.y"
46825
165k
    { (yyval.str) = (yyvsp[0].str); }
46826
165k
#line 46827 "gram.c"
46827
165k
    break;
46828
46829
8.70k
  case 2319:
46830
8.70k
#line 15856 "gram.y"
46831
8.70k
    { (yyval.ival) = (yyvsp[0].ival); }
46832
8.70k
#line 46833 "gram.c"
46833
8.70k
    break;
46834
46835
0
  case 2320:
46836
0
#line 15857 "gram.y"
46837
0
    { (yyval.ival) = + (yyvsp[0].ival); }
46838
0
#line 46839 "gram.c"
46839
0
    break;
46840
46841
7
  case 2321:
46842
7
#line 15858 "gram.y"
46843
7
    { (yyval.ival) = - (yyvsp[0].ival); }
46844
7
#line 46845 "gram.c"
46845
7
    break;
46846
46847
515
  case 2322:
46848
515
#line 15865 "gram.y"
46849
515
    { (yyval.ival) = (yyvsp[0].ival); }
46850
515
#line 46851 "gram.c"
46851
515
    break;
46852
46853
589
  case 2323:
46854
589
#line 15869 "gram.y"
46855
589
    {
46856
589
          RoleSpec *spc = (RoleSpec *) (yyvsp[0].rolespec);
46857
589
          switch (spc->roletype)
46858
589
          {
46859
581
            case ROLESPEC_CSTRING:
46860
581
              (yyval.str) = spc->rolename;
46861
581
              break;
46862
4
            case ROLESPEC_PUBLIC:
46863
4
              ereport(ERROR,
46864
4
                  (errcode(ERRCODE_RESERVED_NAME),
46865
4
                   errmsg("role name \"%s\" is reserved",
46866
4
                      "public"),
46867
4
                   parser_errposition((yylsp[0]))));
46868
4
              break;
46869
2
            case ROLESPEC_SESSION_USER:
46870
2
              ereport(ERROR,
46871
2
                  (errcode(ERRCODE_RESERVED_NAME),
46872
2
                   errmsg("%s cannot be used as a role name here",
46873
2
                      "SESSION_USER"),
46874
2
                   parser_errposition((yylsp[0]))));
46875
2
              break;
46876
2
            case ROLESPEC_CURRENT_USER:
46877
2
              ereport(ERROR,
46878
2
                  (errcode(ERRCODE_RESERVED_NAME),
46879
2
                   errmsg("%s cannot be used as a role name here",
46880
2
                      "CURRENT_USER"),
46881
2
                   parser_errposition((yylsp[0]))));
46882
2
              break;
46883
581
          }
46884
581
        }
46885
581
#line 46886 "gram.c"
46886
581
    break;
46887
46888
3.12k
  case 2324:
46889
3.12k
#line 15902 "gram.y"
46890
3.12k
    {
46891
            /*
46892
             * "public" and "none" are not keywords, but they must
46893
             * be treated specially here.
46894
             */
46895
3.12k
            RoleSpec *n;
46896
3.12k
            if (strcmp((yyvsp[0].str), "public") == 0)
46897
221
            {
46898
221
              n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
46899
221
              n->roletype = ROLESPEC_PUBLIC;
46900
221
            }
46901
2.90k
            else if (strcmp((yyvsp[0].str), "none") == 0)
46902
26
            {
46903
26
              ereport(ERROR,
46904
26
                  (errcode(ERRCODE_RESERVED_NAME),
46905
26
                   errmsg("role name \"%s\" is reserved",
46906
26
                      "none"),
46907
26
                   parser_errposition((yylsp[0]))));
46908
26
            }
46909
2.87k
            else
46910
2.87k
            {
46911
2.87k
              n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
46912
2.87k
              n->rolename = pstrdup((yyvsp[0].str));
46913
2.87k
            }
46914
3.12k
            (yyval.rolespec) = n;
46915
3.12k
          }
46916
3.12k
#line 46917 "gram.c"
46917
3.12k
    break;
46918
46919
61
  case 2325:
46920
61
#line 15929 "gram.y"
46921
61
    {
46922
61
            (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
46923
61
          }
46924
61
#line 46925 "gram.c"
46925
61
    break;
46926
46927
36
  case 2326:
46928
36
#line 15933 "gram.y"
46929
36
    {
46930
36
            (yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
46931
36
          }
46932
36
#line 46933 "gram.c"
46933
36
    break;
46934
46935
1.61k
  case 2327:
46936
1.61k
#line 15939 "gram.y"
46937
1.61k
    { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
46938
1.61k
#line 46939 "gram.c"
46939
1.61k
    break;
46940
46941
53
  case 2328:
46942
53
#line 15941 "gram.y"
46943
53
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
46944
53
#line 46945 "gram.c"
46945
53
    break;
46946
46947
493k
  case 2329:
46948
493k
#line 15957 "gram.y"
46949
493k
    { (yyval.str) = (yyvsp[0].str); }
46950
493k
#line 46951 "gram.c"
46951
493k
    break;
46952
46953
36.4k
  case 2330:
46954
36.4k
#line 15958 "gram.y"
46955
36.4k
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46956
36.4k
#line 46957 "gram.c"
46957
36.4k
    break;
46958
46959
0
  case 2331:
46960
0
#line 15959 "gram.y"
46961
0
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46962
0
#line 46963 "gram.c"
46963
0
    break;
46964
46965
23.3k
  case 2332:
46966
23.3k
#line 15964 "gram.y"
46967
23.3k
    { (yyval.str) = (yyvsp[0].str); }
46968
23.3k
#line 46969 "gram.c"
46969
23.3k
    break;
46970
46971
5.57k
  case 2333:
46972
5.57k
#line 15965 "gram.y"
46973
5.57k
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46974
5.57k
#line 46975 "gram.c"
46975
5.57k
    break;
46976
46977
0
  case 2334:
46978
0
#line 15966 "gram.y"
46979
0
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46980
0
#line 46981 "gram.c"
46981
0
    break;
46982
46983
5.66k
  case 2335:
46984
5.66k
#line 15971 "gram.y"
46985
5.66k
    { (yyval.str) = (yyvsp[0].str); }
46986
5.66k
#line 46987 "gram.c"
46987
5.66k
    break;
46988
46989
737
  case 2336:
46990
737
#line 15972 "gram.y"
46991
737
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46992
737
#line 46993 "gram.c"
46993
737
    break;
46994
46995
17
  case 2337:
46996
17
#line 15973 "gram.y"
46997
17
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46998
17
#line 46999 "gram.c"
46999
17
    break;
47000
47001
222
  case 2338:
47002
222
#line 15974 "gram.y"
47003
222
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47004
222
#line 47005 "gram.c"
47005
222
    break;
47006
47007
49.7k
  case 2339:
47008
49.7k
#line 15980 "gram.y"
47009
49.7k
    { (yyval.str) = (yyvsp[0].str); }
47010
49.7k
#line 47011 "gram.c"
47011
49.7k
    break;
47012
47013
2.68k
  case 2340:
47014
2.68k
#line 15981 "gram.y"
47015
2.68k
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47016
2.68k
#line 47017 "gram.c"
47017
2.68k
    break;
47018
47019
0
  case 2341:
47020
0
#line 15982 "gram.y"
47021
0
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47022
0
#line 47023 "gram.c"
47023
0
    break;
47024
47025
298
  case 2342:
47026
298
#line 15983 "gram.y"
47027
298
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47028
298
#line 47029 "gram.c"
47029
298
    break;
47030
47031
97
  case 2343:
47032
97
#line 15984 "gram.y"
47033
97
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47034
97
#line 47035 "gram.c"
47035
97
    break;
47036
47037
47038
3.12k
#line 47039 "gram.c"
47039
47040
429k
      default: break;
47041
13.9M
    }
47042
  /* User semantic actions sometimes alter yychar, and that requires
47043
     that yytoken be updated with the new translation.  We take the
47044
     approach of translating immediately before every use of yytoken.
47045
     One alternative is translating here after every semantic action,
47046
     but that translation would be missed if the semantic action invokes
47047
     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
47048
     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
47049
     incorrect destructor might then be invoked immediately.  In the
47050
     case of YYERROR or YYBACKUP, subsequent parser actions might lead
47051
     to an incorrect destructor call or verbose syntax error message
47052
     before the lookahead is translated.  */
47053
13.9M
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
47054
47055
13.9M
  YYPOPSTACK (yylen);
47056
13.9M
  yylen = 0;
47057
13.9M
  YY_STACK_PRINT (yyss, yyssp);
47058
47059
13.9M
  *++yyvsp = yyval;
47060
13.9M
  *++yylsp = yyloc;
47061
47062
  /* Now 'shift' the result of the reduction.  Determine what state
47063
     that goes to, based on the state we popped back to and the rule
47064
     number reduced by.  */
47065
13.9M
  {
47066
13.9M
    const int yylhs = yyr1[yyn] - YYNTOKENS;
47067
13.9M
    const int yyi = yypgoto[yylhs] + *yyssp;
47068
13.9M
    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
47069
5.57M
               ? yytable[yyi]
47070
8.35M
               : yydefgoto[yylhs]);
47071
13.9M
  }
47072
47073
13.9M
  goto yynewstate;
47074
47075
47076
/*--------------------------------------.
47077
| yyerrlab -- here on detecting error.  |
47078
`--------------------------------------*/
47079
60
yyerrlab:
47080
  /* Make sure we have latest lookahead translation.  See comments at
47081
     user semantic actions for why this is necessary.  */
47082
60
  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
47083
47084
  /* If not already recovering from an error, report this error.  */
47085
60
  if (!yyerrstatus)
47086
60
    {
47087
60
      ++yynerrs;
47088
60
#if ! YYERROR_VERBOSE
47089
60
      yyerror (&yylloc, yyscanner, YY_("syntax error"));
47090
#else
47091
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
47092
                                        yyssp, yytoken)
47093
      {
47094
        char const *yymsgp = YY_("syntax error");
47095
        int yysyntax_error_status;
47096
        yysyntax_error_status = YYSYNTAX_ERROR;
47097
        if (yysyntax_error_status == 0)
47098
          yymsgp = yymsg;
47099
        else if (yysyntax_error_status == 1)
47100
          {
47101
            if (yymsg != yymsgbuf)
47102
              YYSTACK_FREE (yymsg);
47103
            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
47104
            if (!yymsg)
47105
              {
47106
                yymsg = yymsgbuf;
47107
                yymsg_alloc = sizeof yymsgbuf;
47108
                yysyntax_error_status = 2;
47109
              }
47110
            else
47111
              {
47112
                yysyntax_error_status = YYSYNTAX_ERROR;
47113
                yymsgp = yymsg;
47114
              }
47115
          }
47116
        yyerror (&yylloc, yyscanner, yymsgp);
47117
        if (yysyntax_error_status == 2)
47118
          goto yyexhaustedlab;
47119
      }
47120
# undef YYSYNTAX_ERROR
47121
#endif
47122
60
    }
47123
47124
60
  yyerror_range[1] = yylloc;
47125
47126
60
  if (yyerrstatus == 3)
47127
0
    {
47128
      /* If just tried and failed to reuse lookahead token after an
47129
         error, discard it.  */
47130
47131
0
      if (yychar <= YYEOF)
47132
0
        {
47133
          /* Return failure if at end of input.  */
47134
0
          if (yychar == YYEOF)
47135
0
            YYABORT;
47136
0
        }
47137
0
      else
47138
0
        {
47139
0
          yydestruct ("Error: discarding",
47140
0
                      yytoken, &yylval, &yylloc, yyscanner);
47141
0
          yychar = YYEMPTY;
47142
0
        }
47143
0
    }
47144
47145
  /* Else will try to reuse lookahead token after shifting the error
47146
     token.  */
47147
60
  goto yyerrlab1;
47148
47149
47150
/*---------------------------------------------------.
47151
| yyerrorlab -- error raised explicitly by YYERROR.  |
47152
`---------------------------------------------------*/
47153
0
yyerrorlab:
47154
  /* Pacify compilers when the user code never invokes YYERROR and the
47155
     label yyerrorlab therefore never appears in user code.  */
47156
0
  if (0)
47157
0
    YYERROR;
47158
47159
  /* Do not reclaim the symbols of the rule whose action triggered
47160
     this YYERROR.  */
47161
0
  YYPOPSTACK (yylen);
47162
0
  yylen = 0;
47163
0
  YY_STACK_PRINT (yyss, yyssp);
47164
0
  yystate = *yyssp;
47165
0
  goto yyerrlab1;
47166
47167
47168
/*-------------------------------------------------------------.
47169
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
47170
`-------------------------------------------------------------*/
47171
0
yyerrlab1:
47172
0
  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
47173
47174
0
  for (;;)
47175
0
    {
47176
0
      yyn = yypact[yystate];
47177
0
      if (!yypact_value_is_default (yyn))
47178
0
        {
47179
0
          yyn += YYTERROR;
47180
0
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
47181
0
            {
47182
0
              yyn = yytable[yyn];
47183
0
              if (0 < yyn)
47184
0
                break;
47185
0
            }
47186
0
        }
47187
47188
      /* Pop the current state because it cannot handle the error token.  */
47189
0
      if (yyssp == yyss)
47190
0
        YYABORT;
47191
47192
0
      yyerror_range[1] = *yylsp;
47193
0
      yydestruct ("Error: popping",
47194
0
                  yystos[yystate], yyvsp, yylsp, yyscanner);
47195
0
      YYPOPSTACK (1);
47196
0
      yystate = *yyssp;
47197
0
      YY_STACK_PRINT (yyss, yyssp);
47198
0
    }
47199
47200
0
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
47201
0
  *++yyvsp = yylval;
47202
0
  YY_IGNORE_MAYBE_UNINITIALIZED_END
47203
47204
0
  yyerror_range[2] = yylloc;
47205
  /* Using YYLLOC is tempting, but would change the location of
47206
     the lookahead.  YYLOC is available though.  */
47207
0
  YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
47208
0
  *++yylsp = yyloc;
47209
47210
  /* Shift the error token.  */
47211
0
  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
47212
47213
0
  yystate = yyn;
47214
0
  goto yynewstate;
47215
47216
47217
/*-------------------------------------.
47218
| yyacceptlab -- YYACCEPT comes here.  |
47219
`-------------------------------------*/
47220
202k
yyacceptlab:
47221
202k
  yyresult = 0;
47222
202k
  goto yyreturn;
47223
47224
47225
/*-----------------------------------.
47226
| yyabortlab -- YYABORT comes here.  |
47227
`-----------------------------------*/
47228
0
yyabortlab:
47229
0
  yyresult = 1;
47230
0
  goto yyreturn;
47231
47232
47233
0
#if !defined yyoverflow || YYERROR_VERBOSE
47234
/*-------------------------------------------------.
47235
| yyexhaustedlab -- memory exhaustion comes here.  |
47236
`-------------------------------------------------*/
47237
0
yyexhaustedlab:
47238
0
  yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
47239
0
  yyresult = 2;
47240
  /* Fall through.  */
47241
0
#endif
47242
47243
47244
/*-----------------------------------------------------.
47245
| yyreturn -- parsing is finished, return the result.  |
47246
`-----------------------------------------------------*/
47247
202k
yyreturn:
47248
202k
  if (yychar != YYEMPTY)
47249
0
    {
47250
      /* Make sure we have latest lookahead translation.  See comments at
47251
         user semantic actions for why this is necessary.  */
47252
0
      yytoken = YYTRANSLATE (yychar);
47253
0
      yydestruct ("Cleanup: discarding lookahead",
47254
0
                  yytoken, &yylval, &yylloc, yyscanner);
47255
0
    }
47256
  /* Do not reclaim the symbols of the rule whose action triggered
47257
     this YYABORT or YYACCEPT.  */
47258
202k
  YYPOPSTACK (yylen);
47259
202k
  YY_STACK_PRINT (yyss, yyssp);
47260
607k
  while (yyssp != yyss)
47261
404k
    {
47262
404k
      yydestruct ("Cleanup: popping",
47263
404k
                  yystos[*yyssp], yyvsp, yylsp, yyscanner);
47264
404k
      YYPOPSTACK (1);
47265
404k
    }
47266
202k
#ifndef yyoverflow
47267
202k
  if (yyss != yyssa)
47268
0
    YYSTACK_FREE (yyss);
47269
202k
#endif
47270
#if YYERROR_VERBOSE
47271
  if (yymsg != yymsgbuf)
47272
    YYSTACK_FREE (yymsg);
47273
#endif
47274
202k
  return yyresult;
47275
0
}
47276
#line 16489 "gram.y"
47277
47278
47279
/*
47280
 * The signature of this function is required by bison.  However, we
47281
 * ignore the passed yylloc and instead use the last token position
47282
 * available from the scanner.
47283
 */
47284
static void
47285
base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
47286
60
{
47287
60
  parser_yyerror(msg);
47288
60
}
47289
47290
static RawStmt *
47291
makeRawStmt(Node *stmt, int stmt_location)
47292
204k
{
47293
204k
  RawStmt    *rs = makeNode(RawStmt);
47294
47295
204k
  rs->stmt = stmt;
47296
204k
  rs->stmt_location = stmt_location;
47297
204k
  rs->stmt_len = 0;     /* might get changed later */
47298
204k
  return rs;
47299
204k
}
47300
47301
/* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
47302
static void
47303
updateRawStmtEnd(RawStmt *rs, int end_location)
47304
43.0k
{
47305
  /*
47306
   * If we already set the length, don't change it.  This is for situations
47307
   * like "select foo ;; select bar" where the same statement will be last
47308
   * in the string for more than one semicolon.
47309
   */
47310
43.0k
  if (rs->stmt_len > 0)
47311
0
    return;
47312
47313
  /* OK, update length of RawStmt */
47314
43.0k
  rs->stmt_len = end_location - rs->stmt_location;
47315
43.0k
}
47316
47317
static Node *
47318
makeColumnRef(char *colname, List *indirection,
47319
        int location, core_yyscan_t yyscanner)
47320
180k
{
47321
  /*
47322
   * Generate a ColumnRef node, with an A_Indirection node added if there
47323
   * is any subscripting in the specified indirection list.  However,
47324
   * any field selection at the start of the indirection list must be
47325
   * transposed into the "fields" part of the ColumnRef node.
47326
   */
47327
180k
  ColumnRef  *c = makeNode(ColumnRef);
47328
180k
  int   nfields = 0;
47329
180k
  ListCell *l;
47330
47331
180k
  c->location = location;
47332
180k
  foreach(l, indirection)
47333
32.4k
  {
47334
32.4k
    if (IsA(lfirst(l), A_Indices))
47335
180
    {
47336
180
      A_Indirection *i = makeNode(A_Indirection);
47337
47338
180
      if (nfields == 0)
47339
72
      {
47340
        /* easy case - all indirection goes to A_Indirection */
47341
72
        c->fields = list_make1(makeString(colname));
47342
72
        i->indirection = check_indirection(indirection, yyscanner);
47343
72
      }
47344
108
      else
47345
108
      {
47346
        /* got to split the list in two */
47347
108
        i->indirection = check_indirection(list_copy_tail(indirection,
47348
108
                                  nfields),
47349
108
                           yyscanner);
47350
108
        indirection = list_truncate(indirection, nfields);
47351
108
        c->fields = lcons(makeString(colname), indirection);
47352
108
      }
47353
180
      i->arg = (Node *) c;
47354
180
      return (Node *) i;
47355
180
    }
47356
32.2k
    else if (IsA(lfirst(l), A_Star))
47357
234
    {
47358
      /* We only allow '*' at the end of a ColumnRef */
47359
234
      if (lnext(l) != NULL)
47360
0
        parser_yyerror("improper use of \"*\"");
47361
234
    }
47362
32.2k
    nfields++;
47363
32.2k
  }
47364
  /* No subscripting, so all indirection gets added to field list */
47365
179k
  c->fields = lcons(makeString(colname), indirection);
47366
179k
  return (Node *) c;
47367
180k
}
47368
47369
static Node *
47370
makeTypeCast(Node *arg, TypeName *typename, int location)
47371
11.1k
{
47372
11.1k
  TypeCast *n = makeNode(TypeCast);
47373
11.1k
  n->arg = arg;
47374
11.1k
  n->typeName = typename;
47375
11.1k
  n->location = location;
47376
11.1k
  return (Node *) n;
47377
11.1k
}
47378
47379
static Node *
47380
makeStringConst(char *str, int location)
47381
165k
{
47382
165k
  A_Const *n = makeNode(A_Const);
47383
47384
165k
  n->val.type = T_String;
47385
165k
  n->val.val.str = str;
47386
165k
  n->location = location;
47387
47388
165k
  return (Node *)n;
47389
165k
}
47390
47391
static Node *
47392
makeStringConstCast(char *str, int location, TypeName *typename)
47393
2.02k
{
47394
2.02k
  Node *s = makeStringConst(str, location);
47395
47396
2.02k
  return makeTypeCast(s, typename, -1);
47397
2.02k
}
47398
47399
static Node *
47400
makeIntConst(int val, int location)
47401
1.42M
{
47402
1.42M
  A_Const *n = makeNode(A_Const);
47403
47404
1.42M
  n->val.type = T_Integer;
47405
1.42M
  n->val.val.ival = val;
47406
1.42M
  n->location = location;
47407
47408
1.42M
  return (Node *)n;
47409
1.42M
}
47410
47411
static Node *
47412
makeFloatConst(char *str, int location)
47413
2.12k
{
47414
2.12k
  A_Const *n = makeNode(A_Const);
47415
47416
2.12k
  n->val.type = T_Float;
47417
2.12k
  n->val.val.str = str;
47418
2.12k
  n->location = location;
47419
47420
2.12k
  return (Node *)n;
47421
2.12k
}
47422
47423
static Node *
47424
makeBitStringConst(char *str, int location)
47425
51
{
47426
51
  A_Const *n = makeNode(A_Const);
47427
47428
51
  n->val.type = T_BitString;
47429
51
  n->val.val.str = str;
47430
51
  n->location = location;
47431
47432
51
  return (Node *)n;
47433
51
}
47434
47435
static Node *
47436
makeNullAConst(int location)
47437
1.33k
{
47438
1.33k
  A_Const *n = makeNode(A_Const);
47439
47440
1.33k
  n->val.type = T_Null;
47441
1.33k
  n->location = location;
47442
47443
1.33k
  return (Node *)n;
47444
1.33k
}
47445
47446
static Node *
47447
makeAConst(Value *v, int location)
47448
1.64k
{
47449
1.64k
  Node *n;
47450
47451
1.64k
  switch (v->type)
47452
1.64k
  {
47453
22
    case T_Float:
47454
22
      n = makeFloatConst(v->val.str, location);
47455
22
      break;
47456
47457
1.62k
    case T_Integer:
47458
1.62k
      n = makeIntConst(v->val.ival, location);
47459
1.62k
      break;
47460
47461
0
    case T_String:
47462
0
    default:
47463
0
      n = makeStringConst(v->val.str, location);
47464
0
      break;
47465
1.64k
  }
47466
47467
1.64k
  return n;
47468
1.64k
}
47469
47470
/* makeBoolAConst()
47471
 * Create an A_Const string node and put it inside a boolean cast.
47472
 */
47473
static Node *
47474
makeBoolAConst(bool state, int location)
47475
552
{
47476
552
  A_Const *n = makeNode(A_Const);
47477
47478
552
  n->val.type = T_String;
47479
357
  n->val.val.str = (state ? "t" : "f");
47480
552
  n->location = location;
47481
47482
552
  return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
47483
552
}
47484
47485
/* makeRoleSpec
47486
 * Create a RoleSpec with the given type
47487
 */
47488
static RoleSpec *
47489
makeRoleSpec(RoleSpecType type, int location)
47490
3.33k
{
47491
3.33k
  RoleSpec *spec = makeNode(RoleSpec);
47492
47493
3.33k
  spec->roletype = type;
47494
3.33k
  spec->location = location;
47495
47496
3.33k
  return spec;
47497
3.33k
}
47498
47499
/* check_qualified_name --- check the result of qualified_name production
47500
 *
47501
 * It's easiest to let the grammar production for qualified_name allow
47502
 * subscripts and '*', which we then must reject here.
47503
 */
47504
static void
47505
check_qualified_name(List *names, core_yyscan_t yyscanner)
47506
6.61k
{
47507
6.61k
  ListCell   *i;
47508
47509
6.61k
  foreach(i, names)
47510
6.61k
  {
47511
6.61k
    if (!IsA(lfirst(i), String))
47512
0
      parser_yyerror("syntax error");
47513
6.61k
  }
47514
6.61k
}
47515
47516
/* check_func_name --- check the result of func_name production
47517
 *
47518
 * It's easiest to let the grammar production for func_name allow subscripts
47519
 * and '*', which we then must reject here.
47520
 */
47521
static List *
47522
check_func_name(List *names, core_yyscan_t yyscanner)
47523
2.06k
{
47524
2.06k
  ListCell   *i;
47525
47526
2.06k
  foreach(i, names)
47527
4.13k
  {
47528
4.13k
    if (!IsA(lfirst(i), String))
47529
0
      parser_yyerror("syntax error");
47530
4.13k
  }
47531
2.06k
  return names;
47532
2.06k
}
47533
47534
/* check_indirection --- check the result of indirection production
47535
 *
47536
 * We only allow '*' at the end of the list, but it's hard to enforce that
47537
 * in the grammar, so do it here.
47538
 */
47539
static List *
47540
check_indirection(List *indirection, core_yyscan_t yyscanner)
47541
105k
{
47542
105k
  ListCell *l;
47543
47544
105k
  foreach(l, indirection)
47545
466
  {
47546
466
    if (IsA(lfirst(l), A_Star))
47547
0
    {
47548
0
      if (lnext(l) != NULL)
47549
0
        parser_yyerror("improper use of \"*\"");
47550
0
    }
47551
466
  }
47552
105k
  return indirection;
47553
105k
}
47554
47555
/* extractArgTypes()
47556
 * Given a list of FunctionParameter nodes, extract a list of just the
47557
 * argument types (TypeNames) for input parameters only.  This is what
47558
 * is needed to look up an existing function, which is what is wanted by
47559
 * the productions that use this call.
47560
 */
47561
static List *
47562
extractArgTypes(List *parameters)
47563
441
{
47564
441
  List     *result = NIL;
47565
441
  ListCell   *i;
47566
47567
441
  foreach(i, parameters)
47568
681
  {
47569
681
    FunctionParameter *p = (FunctionParameter *) lfirst(i);
47570
47571
681
    if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
47572
681
      result = lappend(result, p->argType);
47573
681
  }
47574
441
  return result;
47575
441
}
47576
47577
/* extractAggrArgTypes()
47578
 * As above, but work from the output of the aggr_args production.
47579
 */
47580
static List *
47581
extractAggrArgTypes(List *aggrargs)
47582
38
{
47583
38
  Assert(list_length(aggrargs) == 2);
47584
38
  return extractArgTypes((List *) linitial(aggrargs));
47585
38
}
47586
47587
/* makeOrderedSetArgs()
47588
 * Build the result of the aggr_args production (which see the comments for).
47589
 * This handles only the case where both given lists are nonempty, so that
47590
 * we have to deal with multiple VARIADIC arguments.
47591
 */
47592
static List *
47593
makeOrderedSetArgs(List *directargs, List *orderedargs,
47594
           core_yyscan_t yyscanner)
47595
4
{
47596
4
  FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
47597
4
  int     ndirectargs;
47598
47599
  /* No restriction unless last direct arg is VARIADIC */
47600
4
  if (lastd->mode == FUNC_PARAM_VARIADIC)
47601
2
  {
47602
2
    FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
47603
47604
    /*
47605
     * We ignore the names, though the aggr_arg production allows them;
47606
     * it doesn't allow default values, so those need not be checked.
47607
     */
47608
2
    if (list_length(orderedargs) != 1 ||
47609
2
      firsto->mode != FUNC_PARAM_VARIADIC ||
47610
2
      !equal(lastd->argType, firsto->argType))
47611
2
      ereport(ERROR,
47612
2
          (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47613
2
           errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
47614
2
           parser_errposition(exprLocation((Node *) firsto))));
47615
47616
    /* OK, drop the duplicate VARIADIC argument from the internal form */
47617
2
    orderedargs = NIL;
47618
2
  }
47619
47620
  /* don't merge into the next line, as list_concat changes directargs */
47621
4
  ndirectargs = list_length(directargs);
47622
47623
4
  return list_make2(list_concat(directargs, orderedargs),
47624
4
            makeInteger(ndirectargs));
47625
4
}
47626
47627
/* insertSelectOptions()
47628
 * Insert ORDER BY, etc into an already-constructed SelectStmt.
47629
 *
47630
 * This routine is just to avoid duplicating code in SelectStmt productions.
47631
 */
47632
static void
47633
insertSelectOptions(SelectStmt *stmt,
47634
          List *sortClause, List *lockingClause,
47635
          Node *limitOffset, Node *limitCount,
47636
          WithClause *withClause,
47637
          core_yyscan_t yyscanner)
47638
12.4k
{
47639
12.4k
  Assert(IsA(stmt, SelectStmt));
47640
47641
  /*
47642
   * Tests here are to reject constructs like
47643
   *  (SELECT foo ORDER BY bar) ORDER BY baz
47644
   */
47645
12.4k
  if (sortClause)
47646
3.40k
  {
47647
3.40k
    if (stmt->sortClause)
47648
3.40k
      ereport(ERROR,
47649
3.40k
          (errcode(ERRCODE_SYNTAX_ERROR),
47650
3.40k
           errmsg("multiple ORDER BY clauses not allowed"),
47651
3.40k
           parser_errposition(exprLocation((Node *) sortClause))));
47652
3.40k
    stmt->sortClause = sortClause;
47653
3.40k
  }
47654
  /* We can handle multiple locking clauses, though */
47655
12.4k
  stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
47656
12.4k
  if (limitOffset)
47657
171
  {
47658
171
    if (stmt->limitOffset)
47659
171
      ereport(ERROR,
47660
171
          (errcode(ERRCODE_SYNTAX_ERROR),
47661
171
           errmsg("multiple OFFSET clauses not allowed"),
47662
171
           parser_errposition(exprLocation(limitOffset))));
47663
171
    stmt->limitOffset = limitOffset;
47664
171
  }
47665
12.4k
  if (limitCount)
47666
680
  {
47667
680
    if (stmt->limitCount)
47668
680
      ereport(ERROR,
47669
680
          (errcode(ERRCODE_SYNTAX_ERROR),
47670
680
           errmsg("multiple LIMIT clauses not allowed"),
47671
680
           parser_errposition(exprLocation(limitCount))));
47672
680
    stmt->limitCount = limitCount;
47673
680
  }
47674
12.4k
  if (withClause)
47675
3.91k
  {
47676
3.91k
    if (stmt->withClause)
47677
3.91k
      ereport(ERROR,
47678
3.91k
          (errcode(ERRCODE_SYNTAX_ERROR),
47679
3.91k
           errmsg("multiple WITH clauses not allowed"),
47680
3.91k
           parser_errposition(exprLocation((Node *) withClause))));
47681
3.91k
    stmt->withClause = withClause;
47682
3.91k
  }
47683
12.4k
}
47684
47685
static Node *
47686
makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
47687
90
{
47688
90
  SelectStmt *n = makeNode(SelectStmt);
47689
47690
90
  n->op = op;
47691
90
  n->all = all;
47692
90
  n->larg = (SelectStmt *) larg;
47693
90
  n->rarg = (SelectStmt *) rarg;
47694
90
  return (Node *) n;
47695
90
}
47696
47697
/* SystemFuncName()
47698
 * Build a properly-qualified reference to a built-in function.
47699
 */
47700
List *
47701
SystemFuncName(char *name)
47702
913
{
47703
913
  return list_make2(makeString("pg_catalog"), makeString(name));
47704
913
}
47705
47706
/* SystemTypeName()
47707
 * Build a properly-qualified reference to a built-in type.
47708
 *
47709
 * typmod is defaulted, but may be changed afterwards by caller.
47710
 * Likewise for the location.
47711
 */
47712
TypeName *
47713
SystemTypeName(char *name)
47714
6.82k
{
47715
6.82k
  return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
47716
6.82k
                         makeString(name)));
47717
6.82k
}
47718
47719
/* doNegate()
47720
 * Handle negation of a numeric constant.
47721
 *
47722
 * Formerly, we did this here because the optimizer couldn't cope with
47723
 * indexquals that looked like "var = -4" --- it wants "var = const"
47724
 * and a unary minus operator applied to a constant didn't qualify.
47725
 * As of Postgres 7.0, that problem doesn't exist anymore because there
47726
 * is a constant-subexpression simplifier in the optimizer.  However,
47727
 * there's still a good reason for doing this here, which is that we can
47728
 * postpone committing to a particular internal representation for simple
47729
 * negative constants.  It's better to leave "-123.456" in string form
47730
 * until we know what the desired type is.
47731
 */
47732
static Node *
47733
doNegate(Node *n, int location)
47734
622
{
47735
622
  if (IsA(n, A_Const))
47736
500
  {
47737
500
    A_Const *con = (A_Const *)n;
47738
47739
    /* report the constant's location as that of the '-' sign */
47740
500
    con->location = location;
47741
47742
500
    if (con->val.type == T_Integer)
47743
408
    {
47744
408
      con->val.val.ival = -con->val.val.ival;
47745
408
      return n;
47746
408
    }
47747
92
    if (con->val.type == T_Float)
47748
92
    {
47749
92
      doNegateFloat(&con->val);
47750
92
      return n;
47751
92
    }
47752
122
  }
47753
47754
122
  return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
47755
122
}
47756
47757
static void
47758
doNegateFloat(Value *v)
47759
92
{
47760
92
  char   *oldval = v->val.str;
47761
47762
92
  Assert(IsA(v, Float));
47763
92
  if (*oldval == '+')
47764
0
    oldval++;
47765
92
  if (*oldval == '-')
47766
0
    v->val.str = oldval+1; /* just strip the '-' */
47767
92
  else
47768
92
    v->val.str = psprintf("-%s", oldval);
47769
92
}
47770
47771
static Node *
47772
makeAndExpr(Node *lexpr, Node *rexpr, int location)
47773
12.8k
{
47774
12.8k
  Node     *lexp = lexpr;
47775
47776
  /* Look through AEXPR_PAREN nodes so they don't affect flattening */
47777
12.8k
  while (IsA(lexp, A_Expr) &&
47778
7.39k
       ((A_Expr *) lexp)->kind == AEXPR_PAREN)
47779
0
    lexp = ((A_Expr *) lexp)->lexpr;
47780
  /* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
47781
12.8k
  if (IsA(lexp, BoolExpr))
47782
5.28k
  {
47783
5.28k
    BoolExpr *blexpr = (BoolExpr *) lexp;
47784
47785
5.28k
    if (blexpr->boolop == AND_EXPR)
47786
5.27k
    {
47787
5.27k
      blexpr->args = lappend(blexpr->args, rexpr);
47788
5.27k
      return (Node *) blexpr;
47789
5.27k
    }
47790
7.55k
  }
47791
7.55k
  return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
47792
7.55k
}
47793
47794
static Node *
47795
makeOrExpr(Node *lexpr, Node *rexpr, int location)
47796
111
{
47797
111
  Node     *lexp = lexpr;
47798
47799
  /* Look through AEXPR_PAREN nodes so they don't affect flattening */
47800
111
  while (IsA(lexp, A_Expr) &&
47801
40
       ((A_Expr *) lexp)->kind == AEXPR_PAREN)
47802
0
    lexp = ((A_Expr *) lexp)->lexpr;
47803
  /* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
47804
111
  if (IsA(lexp, BoolExpr))
47805
23
  {
47806
23
    BoolExpr *blexpr = (BoolExpr *) lexp;
47807
47808
23
    if (blexpr->boolop == OR_EXPR)
47809
10
    {
47810
10
      blexpr->args = lappend(blexpr->args, rexpr);
47811
10
      return (Node *) blexpr;
47812
10
    }
47813
101
  }
47814
101
  return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
47815
101
}
47816
47817
static Node *
47818
makeNotExpr(Node *expr, int location)
47819
1.84k
{
47820
1.84k
  return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
47821
1.84k
}
47822
47823
static Node *
47824
makeAArrayExpr(List *elements, int location)
47825
936
{
47826
936
  A_ArrayExpr *n = makeNode(A_ArrayExpr);
47827
47828
936
  n->elements = elements;
47829
936
  n->location = location;
47830
936
  return (Node *) n;
47831
936
}
47832
47833
static Node *
47834
makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
47835
364
{
47836
364
  SQLValueFunction *svf = makeNode(SQLValueFunction);
47837
47838
364
  svf->op = op;
47839
  /* svf->type will be filled during parse analysis */
47840
364
  svf->typmod = typmod;
47841
364
  svf->location = location;
47842
364
  return (Node *) svf;
47843
364
}
47844
47845
static Node *
47846
makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
47847
      int location)
47848
0
{
47849
0
  XmlExpr   *x = makeNode(XmlExpr);
47850
47851
0
  x->op = op;
47852
0
  x->name = name;
47853
  /*
47854
   * named_args is a list of ResTarget; it'll be split apart into separate
47855
   * expression and name lists in transformXmlExpr().
47856
   */
47857
0
  x->named_args = named_args;
47858
0
  x->arg_names = NIL;
47859
0
  x->args = args;
47860
  /* xmloption, if relevant, must be filled in by caller */
47861
  /* type and typmod will be filled in during parse analysis */
47862
0
  x->type = InvalidOid;     /* marks the node as not analyzed */
47863
0
  x->location = location;
47864
0
  return (Node *) x;
47865
0
}
47866
47867
/*
47868
 * Merge the input and output parameters of a table function.
47869
 */
47870
static List *
47871
mergeTableFuncParameters(List *func_args, List *columns)
47872
6
{
47873
6
  ListCell   *lc;
47874
47875
  /* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
47876
6
  foreach(lc, func_args)
47877
0
  {
47878
0
    FunctionParameter *p = (FunctionParameter *) lfirst(lc);
47879
47880
0
    if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
47881
0
      ereport(ERROR,
47882
0
          (errcode(ERRCODE_SYNTAX_ERROR),
47883
0
           errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
47884
0
  }
47885
47886
6
  return list_concat(func_args, columns);
47887
6
}
47888
47889
/*
47890
 * Determine return type of a TABLE function.  A single result column
47891
 * returns setof that column's type; otherwise return setof record.
47892
 */
47893
static TypeName *
47894
TableFuncTypeName(List *columns)
47895
6
{
47896
6
  TypeName *result;
47897
47898
6
  if (list_length(columns) == 1)
47899
0
  {
47900
0
    FunctionParameter *p = (FunctionParameter *) linitial(columns);
47901
47902
0
    result = copyObject(p->argType);
47903
0
  }
47904
6
  else
47905
6
    result = SystemTypeName("record");
47906
47907
6
  result->setof = true;
47908
47909
6
  return result;
47910
6
}
47911
47912
/*
47913
 * Convert a list of (dotted) names to a RangeVar (like
47914
 * makeRangeVarFromNameList, but with position support).  The
47915
 * "AnyName" refers to the any_name production in the grammar.
47916
 */
47917
static RangeVar *
47918
makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
47919
31
{
47920
31
  RangeVar *r = makeNode(RangeVar);
47921
47922
31
  switch (list_length(names))
47923
31
  {
47924
31
    case 1:
47925
31
      r->catalogname = NULL;
47926
31
      r->schemaname = NULL;
47927
31
      r->relname = strVal(linitial(names));
47928
31
      break;
47929
0
    case 2:
47930
0
      r->catalogname = NULL;
47931
0
      r->schemaname = strVal(linitial(names));
47932
0
      r->relname = strVal(lsecond(names));
47933
0
      break;
47934
0
    case 3:
47935
0
      r->catalogname = strVal(linitial(names));
47936
0
      r->schemaname = strVal(lsecond(names));
47937
0
      r->relname = strVal(lthird(names));
47938
0
      break;
47939
0
    default:
47940
0
      ereport(ERROR,
47941
0
          (errcode(ERRCODE_SYNTAX_ERROR),
47942
0
           errmsg("improper qualified name (too many dotted names): %s",
47943
0
              NameListToString(names)),
47944
0
           parser_errposition(position)));
47945
0
      break;
47946
31
  }
47947
47948
31
  r->relpersistence = RELPERSISTENCE_PERMANENT;
47949
31
  r->location = position;
47950
47951
31
  return r;
47952
31
}
47953
47954
/* Separate Constraint nodes from COLLATE clauses in a ColQualList */
47955
static void
47956
SplitColQualList(List *qualList,
47957
         List **constraintList, CollateClause **collClause,
47958
         core_yyscan_t yyscanner)
47959
4.31k
{
47960
4.31k
  ListCell   *cell;
47961
4.31k
  ListCell   *prev;
47962
4.31k
  ListCell   *next;
47963
47964
4.31k
  *collClause = NULL;
47965
4.31k
  prev = NULL;
47966
5.90k
  for (cell = list_head(qualList); cell; cell = next)
47967
1.58k
  {
47968
1.58k
    Node   *n = (Node *) lfirst(cell);
47969
47970
1.58k
    next = lnext(cell);
47971
1.58k
    if (IsA(n, Constraint))
47972
1.55k
    {
47973
      /* keep it in list */
47974
1.55k
      prev = cell;
47975
1.55k
      continue;
47976
1.55k
    }
47977
29
    if (IsA(n, CollateClause))
47978
29
    {
47979
29
      CollateClause *c = (CollateClause *) n;
47980
47981
29
      if (*collClause)
47982
29
        ereport(ERROR,
47983
29
            (errcode(ERRCODE_SYNTAX_ERROR),
47984
29
             errmsg("multiple COLLATE clauses not allowed"),
47985
29
             parser_errposition(c->location)));
47986
29
      *collClause = c;
47987
29
    }
47988
29
    else
47989
0
      elog(ERROR, "unexpected node type %d", (int) n->type);
47990
    /* remove non-Constraint nodes from qualList */
47991
29
    qualList = list_delete_cell(qualList, cell, prev);
47992
29
  }
47993
4.31k
  *constraintList = qualList;
47994
4.31k
}
47995
47996
/*
47997
 * Process result of ConstraintAttributeSpec, and set appropriate bool flags
47998
 * in the output command node.  Pass NULL for any flags the particular
47999
 * command doesn't support.
48000
 */
48001
static void
48002
processCASbits(int cas_bits, int location, const char *constrType,
48003
         bool *deferrable, bool *initdeferred, bool *not_valid,
48004
         bool *no_inherit, core_yyscan_t yyscanner)
48005
458
{
48006
  /* defaults */
48007
458
  if (deferrable)
48008
438
    *deferrable = false;
48009
458
  if (initdeferred)
48010
438
    *initdeferred = false;
48011
458
  if (not_valid)
48012
159
    *not_valid = false;
48013
48014
458
  if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
48015
4
  {
48016
4
    if (deferrable)
48017
4
      *deferrable = true;
48018
4
    else
48019
4
      ereport(ERROR,
48020
4
          (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48021
           /* translator: %s is CHECK, UNIQUE, or similar */
48022
4
           errmsg("%s constraints cannot be marked DEFERRABLE",
48023
4
              constrType),
48024
4
           parser_errposition(location)));
48025
4
  }
48026
48027
458
  if (cas_bits & CAS_INITIALLY_DEFERRED)
48028
0
  {
48029
0
    if (initdeferred)
48030
0
      *initdeferred = true;
48031
0
    else
48032
0
      ereport(ERROR,
48033
0
          (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48034
           /* translator: %s is CHECK, UNIQUE, or similar */
48035
0
           errmsg("%s constraints cannot be marked DEFERRABLE",
48036
0
              constrType),
48037
0
           parser_errposition(location)));
48038
0
  }
48039
48040
458
  if (cas_bits & CAS_NOT_VALID)
48041
3
  {
48042
3
    if (not_valid)
48043
3
      *not_valid = true;
48044
3
    else
48045
3
      ereport(ERROR,
48046
3
          (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48047
           /* translator: %s is CHECK, UNIQUE, or similar */
48048
3
           errmsg("%s constraints cannot be marked NOT VALID",
48049
3
              constrType),
48050
3
           parser_errposition(location)));
48051
3
  }
48052
48053
458
  if (cas_bits & CAS_NO_INHERIT)
48054
0
  {
48055
0
    if (no_inherit)
48056
0
      *no_inherit = true;
48057
0
    else
48058
0
      ereport(ERROR,
48059
0
          (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48060
           /* translator: %s is CHECK, UNIQUE, or similar */
48061
0
           errmsg("%s constraints cannot be marked NO INHERIT",
48062
0
              constrType),
48063
0
           parser_errposition(location)));
48064
0
  }
48065
458
}
48066
48067
/*----------
48068
 * Recursive view transformation
48069
 *
48070
 * Convert
48071
 *
48072
 *     CREATE RECURSIVE VIEW relname (aliases) AS query
48073
 *
48074
 * to
48075
 *
48076
 *     CREATE VIEW relname (aliases) AS
48077
 *         WITH RECURSIVE relname (aliases) AS (query)
48078
 *         SELECT aliases FROM relname
48079
 *
48080
 * Actually, just the WITH ... part, which is then inserted into the original
48081
 * view definition as the query.
48082
 * ----------
48083
 */
48084
static Node *
48085
makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
48086
0
{
48087
0
  SelectStmt *s = makeNode(SelectStmt);
48088
0
  WithClause *w = makeNode(WithClause);
48089
0
  CommonTableExpr *cte = makeNode(CommonTableExpr);
48090
0
  List     *tl = NIL;
48091
0
  ListCell   *lc;
48092
48093
  /* create common table expression */
48094
0
  cte->ctename = relname;
48095
0
  cte->aliascolnames = aliases;
48096
0
  cte->ctequery = query;
48097
0
  cte->location = -1;
48098
48099
  /* create WITH clause and attach CTE */
48100
0
  w->recursive = true;
48101
0
  w->ctes = list_make1(cte);
48102
0
  w->location = -1;
48103
48104
  /* create target list for the new SELECT from the alias list of the
48105
   * recursive view specification */
48106
0
  foreach (lc, aliases)
48107
0
  {
48108
0
    ResTarget *rt = makeNode(ResTarget);
48109
48110
0
    rt->name = NULL;
48111
0
    rt->indirection = NIL;
48112
0
    rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
48113
0
    rt->location = -1;
48114
48115
0
    tl = lappend(tl, rt);
48116
0
  }
48117
48118
  /* create new SELECT combining WITH clause, target list, and fake FROM
48119
   * clause */
48120
0
  s->withClause = w;
48121
0
  s->targetList = tl;
48122
0
  s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
48123
48124
0
  return (Node *) s;
48125
0
}
48126
48127
/* parser_init()
48128
 * Initialize to parse one query string
48129
 */
48130
void
48131
parser_init(base_yy_extra_type *yyext)
48132
202k
{
48133
202k
  yyext->parsetree = NIL;   /* in case grammar forgets to set it */
48134
202k
}
48135
48136
static void
48137
raise_feature_not_supported_signal(int pos, core_yyscan_t yyscanner, const char *msg, int issue, int signal_level)
48138
88
{
48139
88
  if (issue > 0)
48140
77
  {
48141
77
    ereport(signal_level,
48142
77
        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48143
77
         errmsg("%s", msg),
48144
77
         errhint("See https://github.com/YugaByte/yugabyte-db/issues/%d. "
48145
77
             "Click '+' on the description to raise its priority", issue),
48146
77
         parser_errposition(pos)));
48147
48148
77
  }
48149
11
  else
48150
11
  {
48151
11
    ereport(signal_level,
48152
11
        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48153
11
         errmsg("%s", msg),
48154
11
         errhint("Please report the issue on "
48155
11
             "https://github.com/YugaByte/yugabyte-db/issues"),
48156
11
         parser_errposition(pos)));
48157
11
  }
48158
88
}
48159
48160
static void
48161
raise_feature_not_supported(int pos, core_yyscan_t yyscanner, const char *msg, int issue)
48162
3
{
48163
3
  raise_feature_not_supported_signal(pos, yyscanner, msg, issue, YBUnsupportedFeatureSignalLevel());
48164
3
}
48165
48166
static void
48167
ybc_not_support_signal(int pos, core_yyscan_t yyscanner, const char *msg, int issue, int signal_level)
48168
85
{
48169
85
  static int use_yb_parser = -1;
48170
85
  if (use_yb_parser == -1)
48171
9
  {
48172
9
    use_yb_parser = YBIsUsingYBParser();
48173
9
  }
48174
48175
85
  if (use_yb_parser)
48176
85
  {
48177
85
    raise_feature_not_supported_signal(pos, yyscanner, msg, issue, signal_level);
48178
85
  }
48179
85
}
48180
48181
static void
48182
ybc_not_support(int pos, core_yyscan_t yyscanner, const char *msg, int issue)
48183
85
{
48184
85
  ybc_not_support_signal(pos, yyscanner, msg, issue, YBUnsupportedFeatureSignalLevel());
48185
85
}
48186
48187
static void
48188
ybc_not_support_in_templates(int pos, core_yyscan_t yyscanner, const char *msg)
48189
1.89k
{
48190
1.89k
  static int restricted = -1;
48191
1.89k
  if (restricted == -1)
48192
463
  {
48193
463
    restricted = YBIsUsingYBParser() && YBIsPreparingTemplates();
48194
463
  }
48195
48196
1.89k
  if (restricted && !IsYsqlUpgrade)
48197
3
  {
48198
3
    raise_feature_not_supported(pos, yyscanner, msg, -1);
48199
3
  }
48200
1.89k
}
48201
48202
static bool
48203
beta_features_enabled()
48204
672
{
48205
672
  static int beta_enabled = -1;
48206
672
  if (beta_enabled == -1)
48207
17
  {
48208
17
    beta_enabled = YBCIsEnvVarTrueWithDefault("FLAGS_ysql_beta_features", false);
48209
17
  }
48210
672
  return beta_enabled;
48211
672
}
48212
48213
static void
48214
check_beta_feature(int pos, core_yyscan_t yyscanner, const char *flag, const char *feature)
48215
672
{
48216
672
  if (YBIsUsingYBParser() && !beta_features_enabled() && !(flag && YBCIsEnvVarTrue(flag)))
48217
0
  {
48218
0
    const char* general_hint =
48219
0
      "Set 'ysql_beta_features' yb-tserver gflag to true to suppress the warning"
48220
0
      " for all beta features.";
48221
48222
0
    ereport(WARNING,
48223
0
        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48224
0
         errmsg("'%s' is a beta feature!", feature),
48225
0
         flag != NULL ?
48226
0
           errhint("To suppress this warning, set the '%s' yb-tserver gflag to true.\n(%s)",
48227
0
                   (flag + 6), general_hint) :
48228
0
           errhint("%s", general_hint),
48229
0
         parser_errposition(pos)));
48230
0
  }
48231
672
}