YugabyteDB (2.13.1.0-b60, 21121d69985fbf76aa6958d8f04a9bfa936293b5)

Coverage Report

Created: 2022-03-22 16:43

/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
53.4M
#define yylex           base_yylex
69
209
#define yyerror         base_yyerror
70
#define yydebug         base_yydebug
71
2.72M
#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
135M
  do { \
153
135M
    if ((N) > 0) \
154
135M
      
(Current) = (Rhs)[1]122M
; \
155
135M
    else \
156
135M
      
(Current) = (-1)12.7M
; \
157
135M
  } 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
348
#define CAS_NOT_DEFERRABLE      0x01
209
3.64k
#define CAS_DEFERRABLE        0x02
210
176
#define CAS_INITIALLY_IMMEDIATE   0x04
211
7.25k
#define CAS_INITIALLY_DEFERRED    0x08
212
3.45k
#define CAS_NOT_VALID       0x10
213
3.45k
#define CAS_NO_INHERIT        0x20
214
215
216
215
#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
584
  ybc_not_support(pos, yyscanner, feature " not supported yet", -1)
221
222
#define parser_ybc_warn_ignored(pos, feature, issue) \
223
40
  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
437
  ybc_not_support(pos, yyscanner, feature " not supported yet", issue)
227
228
#define parser_ybc_not_support_in_templates(pos, feature) \
229
17.9k
  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
3.20k
  check_beta_feature(pos, yyscanner, has_own_flag ? 
"FLAGS_ysql_beta_feature_" feature2.60k
: 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
2.72M
#  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
209
#  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
21.7M
# 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
5.45M
# 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
191M
#define YY_ASSERT(E) ((void) (0 && 
(0
E0
)))
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
191M
#define YYFINAL  843
1117
/* YYLAST -- Last index in YYTABLE.  */
1118
335M
#define YYLAST   103864
1119
1120
/* YYNTOKENS -- Number of terminals.  */
1121
135M
#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
85.2M
#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
  
(85.2M
(unsigned) (YYX) <= 85.2M
YYMAXUTOK85.2M
?
yytranslate[YYX]85.5M
: 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
    4319,  4325,  4326,  4330,  4334,  4337,  4341,  4345,  4350,  4356,
1278
    4363,  4373,  4374,  4378,  4396,  4409,  4435,  4448,  4464,  4478,
1279
    4479,  4480,  4492,  4505,  4521,  4534,  4535,  4547,  4558,  4562,
1280
    4564,  4578,  4588,  4601,  4609,  4620,  4621,  4624,  4625,  4628,
1281
    4629,  4632,  4636,  4640,  4644,  4648,  4652,  4656,  4660,  4664,
1282
    4668,  4672,  4677,  4681,  4685,  4691,  4692,  4696,  4697,  4698,
1283
    4703,  4706,  4707,  4719,  4732,  4748,  4749,  4757,  4758,  4762,
1284
    4763,  4767,  4768,  4772,  4773,  4777,  4788,  4802,  4803,  4815,
1285
    4827,  4828,  4839,  4854,  4855,  4858,  4859,  4872,  4879,  4896,
1286
    4904,  4915,  4918,  4922,  4926,  4930,  4934,  4946,  4956,  4959,
1287
    4963,  4976,  4985,  4994,  5003,  5012,  5021,  5030,  5039,  5048,
1288
    5057,  5066,  5075,  5084,  5093,  5102,  5111,  5120,  5129,  5138,
1289
    5147,  5156,  5165,  5174,  5183,  5192,  5201,  5210,  5219,  5237,
1290
    5248,  5249,  5250,  5251,  5255,  5256,  5260,  5261,  5271,  5279,
1291
    5291,  5295,  5299,  5303,  5311,  5318,  5322,  5329,  5333,  5338,
1292
    5343,  5350,  5357,  5362,  5372,  5384,  5399,  5400,  5405,  5406,
1293
    5410,  5411,  5421,  5430,  5438,  5455,  5475,  5495,  5516,  5547,
1294
    5556,  5577,  5592,  5593,  5597,  5605,  5620,  5629,  5641,  5642,
1295
    5654,  5662,  5679,  5703,  5720,  5734,  5735,  5739,  5740,  5744,
1296
    5745,  5749,  5750,  5754,  5768,  5772,  5773,  5777,  5778,  5779,
1297
    5780,  5781,  5791,  5810,  5831,  5858,  5859,  5860,  5864,  5866,
1298
    5888,  5890,  5892,  5894,  5896,  5901,  5906,  5910,  5911,  5915,
1299
    5926,  5927,  5931,  5940,  5944,  5948,  5953,  5963,  5964,  5968,
1300
    5969,  5973,  5974,  5978,  5979,  5983,  5984,  5985,  5989,  5993,
1301
    5994,  5995,  5999,  6000,  6005,  6006,  6033,  6034,  6037,  6040,
1302
    6043,  6044,  6057,  6067,  6081,  6083,  6088,  6093,  6095,  6100,
1303
    6110,  6111,  6112,  6113,  6125,  6146,  6169,  6179,  6190,  6200,
1304
    6210,  6221,  6230,  6237,  6244,  6253,  6262,  6271,  6280,  6291,
1305
    6303,  6314,  6328,  6331,  6332,  6335,  6339,  6346,  6347,  6348,
1306
    6349,  6350,  6351,  6354,  6357,  6358,  6366,  6373,  6374,  6377,
1307
    6379,  6390,  6401,  6412,  6423,  6436,  6437,  6453,  6468,  6469,
1308
    6473,  6485,  6495,  6503,  6512,  6521,  6522,  6525,  6526,  6529,
1309
    6530,  6531,  6534,  6548,  6553,  6563,  6572,  6584,  6585,  6589,
1310
    6597,  6609,  6619,  6632,  6642,  6664,  6674,  6692,  6704,  6716,
1311
    6728,  6740,  6750,  6760,  6770,  6780,  6790,  6800,  6811,  6826,
1312
    6827,  6828,  6829,  6833,  6834,  6838,  6843,  6844,  6845,  6849,
1313
    6853,  6857,  6865,  6866,  6870,  6874,  6878,  6879,  6880,  6881,
1314
    6890,  6891,  6892,  6896,  6897,  6900,  6901,  6904,  6906,  6911,
1315
    6912,  6922,  6933,  6934,  6935,  6969,  6977,  6985,  6993,  7001,
1316
    7009,  7017,  7025,  7033,  7046,  7054,  7062,  7070,  7078,  7086,
1317
    7094,  7102,  7110,  7118,  7130,  7131,  7132,  7133,  7134,  7135,
1318
    7136,  7137,  7138,  7139,  7140,  7141,  7142,  7143,  7147,  7148,
1319
    7149,  7150,  7151,  7152,  7153,  7154,  7155,  7156,  7157,  7158,
1320
    7159,  7163,  7164,  7178,  7189,  7200,  7211,  7222,  7233,  7244,
1321
    7255,  7266,  7279,  7280,  7285,  7286,  7287,  7288,  7289,  7290,
1322
    7295,  7296,  7297,  7298,  7299,  7300,  7301,  7302,  7305,  7306,
1323
    7316,  7322,  7331,  7339,  7347,  7355,  7365,  7375,  7385,  7395,
1324
    7405,  7416,  7424,  7432,  7443,  7451,  7461,  7471,  7483,  7484,
1325
    7487,  7488,  7498,  7514,  7528,  7554,  7556,  7558,  7560,  7567,
1326
    7576,  7577,  7580,  7587,  7594,  7601,  7615,  7623,  7631,  7639,
1327
    7647,  7655,  7663,  7671,  7679,  7687,  7695,  7703,  7711,  7719,
1328
    7727,  7735,  7743,  7751,  7759,  7767,  7775,  7787,  7788,  7792,
1329
    7793,  7798,  7799,  7809,  7822,  7832,  7844,  7845,  7848,  7849,
1330
    7859,  7869,  7870,  7874,  7878,  7882,  7893,  7906,  7920,  7937,
1331
    7938,  7939,  7940,  7941,  7942,  7943,  7955,  7985,  8018,  8019,
1332
    8023,  8028,  8033,  8039,  8040,  8044,  8045,  8049,  8053,  8057,
1333
    8076,  8090,  8101,  8112,  8134,  8135,  8138,  8163,  8164,  8167,
1334
    8168,  8171,  8175,  8178,  8179,  8182,  8183,  8184,  8190,  8193,
1335
    8194,  8197,  8198,  8199,  8203,  8234,  8236,  8238,  8242,  8248,
1336
    8258,  8266,  8274,  8285,  8288,  8291,  8293,  8308,  8320,  8333,
1337
    8345,  8360,  8361,  8364,  8365,  8369,  8370,  8374,  8375,  8380,
1338
    8392,  8399,  8406,  8421,  8422,  8426,  8427,  8442,  8451,  8460,
1339
    8469,  8478,  8490,  8491,  8492,  8493,  8494,  8500,  8504,  8519,
1340
    8520,  8526,  8536,  8540,  8545,  8553,  8594,  8598,  8602,  8606,
1341
    8614,  8615,  8619,  8629,  8630,  8636,  8637,  8644,  8648,  8652,
1342
    8656,  8660,  8664,  8668,  8672,  8676,  8680,  8684,  8688,  8692,
1343
    8696,  8700,  8705,  8712,  8716,  8720,  8724,  8728,  8734,  8735,
1344
    8742,  8743,  8747,  8748,  8751,  8763,  8767,  8782,  8790,  8799,
1345
    8812,  8813,  8818,  8819,  8836,  8846,  8856,  8866,  8876,  8886,
1346
    8899,  8909,  8922,  8932,  8945,  8953,  8955,  8957,  8962,  8964,
1347
    8969,  8970,  8975,  8993,  9002,  9003,  9007,  9011,  9023,  9034,
1348
    9045,  9058,  9059,  9060,  9064,  9076,  9077,  9087,  9100,  9104,
1349
    9108,  9112,  9119,  9140,  9150,  9160,  9170,  9182,  9183,  9186,
1350
    9187,  9188,  9191,  9192,  9195,  9205,  9215,  9233,  9243,  9254,
1351
    9264,  9273,  9282,  9292,  9301,  9310,  9319,  9329,  9339,  9348,
1352
    9358,  9368,  9378,  9388,  9398,  9407,  9416,  9426,  9436,  9446,
1353
    9457,  9468,  9479,  9490,  9501,  9512,  9523,  9534,  9544,  9554,
1354
    9565,  9577,  9589,  9601,  9612,  9623,  9634,  9645,  9656,  9666,
1355
    9674,  9683,  9692,  9702,  9712,  9722,  9731,  9740,  9749,  9758,
1356
    9767,  9782,  9783,  9786,  9787,  9797,  9805,  9814,  9823,  9833,
1357
    9842,  9860,  9870,  9881,  9891,  9901,  9910,  9919,  9928,  9938,
1358
    9947,  9957,  9967,  9977,  9987,  9997, 10006, 10015, 10024, 10033,
1359
   10043, 10053, 10063, 10073, 10083, 10093, 10102, 10111, 10130, 10139,
1360
   10140, 10143, 10145, 10151, 10152, 10153, 10154, 10155, 10164, 10172,
1361
   10180, 10188, 10196, 10204, 10212, 10220, 10228, 10236, 10244, 10252,
1362
   10260, 10268, 10276, 10284, 10293, 10301, 10309, 10317, 10325, 10333,
1363
   10341, 10349, 10357, 10375, 10395, 10396, 10400, 10404, 10424, 10432,
1364
   10441, 10450, 10468, 10482, 10486, 10493, 10502, 10512, 10522, 10532,
1365
   10543, 10554, 10573, 10582, 10599, 10616, 10617, 10618, 10623, 10629,
1366
   10638, 10639, 10640, 10641, 10642, 10646, 10647, 10650, 10651, 10652,
1367
   10653, 10657, 10658, 10659, 10671, 10681, 10682, 10685, 10694, 10700,
1368
   10719, 10726, 10733, 10740, 10747, 10754, 10761, 10771, 10781, 10791,
1369
   10801, 10811, 10819, 10827, 10837, 10838, 10839, 10843, 10846, 10849,
1370
   10852, 10857, 10866, 10868, 10870, 10875, 10877, 10889, 10902, 10915,
1371
   10934, 10956, 10961, 10966, 10971, 10981, 10998, 11008, 11009, 11013,
1372
   11014, 11018, 11022, 11026, 11044, 11045, 11046, 11047, 11048, 11049,
1373
   11050, 11051, 11061, 11062, 11073, 11080, 11087, 11101, 11118, 11126,
1374
   11134, 11142, 11153, 11157, 11168, 11180, 11199, 11206, 11223, 11236,
1375
   11245, 11254, 11263, 11273, 11285, 11297, 11308, 11309, 11320, 11331,
1376
   11343, 11355, 11367, 11379, 11389, 11402, 11403, 11417, 11441, 11450,
1377
   11460, 11472, 11473, 11485, 11500, 11510, 11511, 11515, 11516, 11517,
1378
   11518, 11519, 11531, 11540, 11550, 11551, 11555, 11559, 11560, 11564,
1379
   11565, 11569, 11570, 11573, 11574, 11577, 11578, 11582, 11583, 11587,
1380
   11594, 11596, 11601, 11602, 11615, 11622, 11632, 11639, 11649, 11650,
1381
   11651, 11652, 11653, 11654, 11655, 11656, 11657, 11661, 11665, 11672,
1382
   11679, 11680, 11684, 11685, 11686, 11696, 11706, 11707, 11711, 11712,
1383
   11713, 11714, 11724, 11731, 11750, 11751, 11761, 11767, 11773, 11779,
1384
   11795, 11813, 11817, 11825, 11831, 11838, 11844, 11851, 11860, 11861,
1385
   11865, 11867, 11872, 11883, 11893, 11903, 11909, 11918, 11927, 11933,
1386
   11934, 11945, 11959, 11960, 11971, 11982, 11984, 11990, 11991, 11995,
1387
   12000, 12005, 12010, 12015, 12020, 12027, 12028, 12032, 12033, 12034,
1388
   12045, 12063, 12064, 12068, 12073, 12097, 12108, 12109, 12119, 12130,
1389
   12133, 12134, 12135, 12136, 12137, 12140, 12141, 12142, 12190, 12191,
1390
   12195, 12196, 12211, 12212, 12219, 12227, 12235, 12243, 12251, 12259,
1391
   12270, 12271, 12298, 12312, 12327, 12328, 12347, 12351, 12355, 12372,
1392
   12379, 12386, 12396, 12397, 12400, 12412, 12413, 12417, 12429, 12437,
1393
   12442, 12447, 12452, 12457, 12465, 12473, 12478, 12483, 12490, 12491,
1394
   12495, 12496, 12497, 12504, 12505, 12509, 12510, 12514, 12515, 12519,
1395
   12523, 12524, 12527, 12536, 12549, 12550, 12551, 12552, 12556, 12557,
1396
   12561, 12563, 12579, 12581, 12586, 12589, 12594, 12595, 12603, 12623,
1397
   12624, 12626, 12631, 12632, 12636, 12637, 12640, 12641, 12666, 12667,
1398
   12671, 12672, 12676, 12677, 12678, 12679, 12680, 12684, 12697, 12704,
1399
   12711, 12718, 12719, 12723, 12727, 12731, 12732, 12736, 12737, 12741,
1400
   12752, 12753, 12754, 12755, 12759, 12760, 12770, 12776, 12794, 12795,
1401
   12799, 12800, 12806, 12811, 12819, 12826, 12834, 12840, 12847, 12882,
1402
   12907, 12911, 12937, 12941, 12953, 12966, 12980, 12991, 13006, 13012,
1403
   13017, 13023, 13030, 13031, 13039, 13043, 13047, 13053, 13060, 13065,
1404
   13066, 13067, 13068, 13072, 13073, 13085, 13086, 13091, 13098, 13105,
1405
   13112, 13123, 13124, 13137, 13141, 13148, 13161, 13174, 13175, 13190,
1406
   13200, 13212, 13217, 13218, 13221, 13222, 13225, 13226, 13231, 13232,
1407
   13237, 13238, 13247, 13252, 13253, 13257, 13261, 13267, 13291, 13301,
1408
   13314, 13315, 13319, 13333, 13390, 13404, 13406, 13411, 13413, 13415,
1409
   13417, 13422, 13424, 13429, 13437, 13457, 13462, 13469, 13474, 13480,
1410
   13485, 13494, 13496, 13499, 13503, 13504, 13505, 13506, 13507, 13508,
1411
   13513, 13533, 13534, 13535, 13536, 13547, 13553, 13561, 13562, 13568,
1412
   13573, 13578, 13583, 13588, 13593, 13598, 13603, 13609, 13615, 13621,
1413
   13628, 13650, 13659, 13663, 13671, 13675, 13683, 13695, 13716, 13720,
1414
   13726, 13730, 13743, 13751, 13761, 13763, 13765, 13767, 13769, 13771,
1415
   13776, 13777, 13784, 13793, 13801, 13810, 13821, 13829, 13830, 13831,
1416
   13835, 13837, 13839, 13841, 13843, 13845, 13847, 13852, 13857, 13863,
1417
   13871, 13876, 13883, 13890, 13894, 13898, 13934, 13935, 13937, 13945,
1418
   13960, 13962, 13964, 13966, 13968, 13970, 13972, 13974, 13976, 13978,
1419
   13980, 13982, 13984, 13986, 13989, 13991, 13993, 13996, 13998, 14000,
1420
   14002, 14005, 14010, 14018, 14023, 14031, 14036, 14044, 14049, 14058,
1421
   14066, 14074, 14082, 14100, 14108, 14116, 14124, 14132, 14148, 14156,
1422
   14164, 14172, 14180, 14188, 14196, 14200, 14204, 14208, 14212, 14220,
1423
   14228, 14236, 14244, 14264, 14286, 14297, 14304, 14320, 14325, 14331,
1424
   14356, 14358, 14360, 14362, 14364, 14366, 14368, 14370, 14372, 14374,
1425
   14376, 14378, 14380, 14382, 14384, 14386, 14388, 14390, 14392, 14394,
1426
   14398, 14402, 14406, 14410, 14415, 14431, 14432, 14433, 14448, 14482,
1427
   14484, 14486, 14497, 14521, 14532, 14543, 14550, 14560, 14570, 14579,
1428
   14583, 14589, 14596, 14603, 14613, 14620, 14648, 14683, 14694, 14695,
1429
   14702, 14708, 14712, 14716, 14720, 14724, 14728, 14732, 14736, 14740,
1430
   14744, 14748, 14752, 14756, 14760, 14764, 14768, 14770, 14774, 14783,
1431
   14788, 14795, 14810, 14817, 14821, 14825, 14829, 14833, 14840, 14848,
1432
   14856, 14860, 14864, 14868, 14872, 14876, 14882, 14886, 14895, 14899,
1433
   14903, 14908, 14922, 14924, 14928, 14930, 14932, 14935, 14938, 14941,
1434
   14942, 14945, 14953, 14963, 14964, 14967, 14968, 14969, 14974, 14978,
1435
   14982, 14986, 14997, 14998, 15002, 15003, 15011, 15012, 15016, 15017,
1436
   15022, 15030, 15032, 15046, 15049, 15076, 15077, 15080, 15081, 15089,
1437
   15096, 15103, 15111, 15120, 15137, 15182, 15190, 15198, 15206, 15214,
1438
   15225, 15226, 15227, 15228, 15229, 15243, 15244, 15245, 15248, 15249,
1439
   15252, 15255, 15256, 15257, 15260, 15261, 15264, 15265, 15266, 15267,
1440
   15268, 15269, 15270, 15271, 15272, 15273, 15274, 15275, 15278, 15280,
1441
   15285, 15287, 15292, 15294, 15296, 15298, 15300, 15302, 15314, 15318,
1442
   15325, 15329, 15335, 15339, 15348, 15359, 15360, 15363, 15367, 15371,
1443
   15377, 15378, 15383, 15387, 15394, 15395, 15396, 15397, 15398, 15399,
1444
   15400, 15401, 15411, 15415, 15422, 15429, 15430, 15446, 15450, 15455,
1445
   15459, 15474, 15479, 15483, 15486, 15489, 15490, 15491, 15494, 15501,
1446
   15511, 15525, 15526, 15530, 15541, 15542, 15545, 15546, 15549, 15553,
1447
   15560, 15564, 15568, 15576, 15587, 15588, 15592, 15593, 15597, 15598,
1448
   15601, 15602, 15612, 15613, 15617, 15618, 15621, 15637, 15645, 15653,
1449
   15675, 15676, 15687, 15691, 15718, 15720, 15725, 15728, 15731, 15733,
1450
   15735, 15737, 15747, 15749, 15760, 15764, 15768, 15772, 15776, 15785,
1451
   15792, 15824, 15828, 15834, 15841, 15845, 15849, 15855, 15856, 15858,
1452
   15859, 15860, 15867, 15870, 15903, 15930, 15934, 15940, 15942, 15959,
1453
   15960, 15961, 15966, 15967, 15968, 15973, 15974, 15975, 15976, 15982,
1454
   15983, 15984, 15985, 15986, 16006, 16007, 16008, 16009, 16010, 16011,
1455
   16012, 16013, 16014, 16015, 16016, 16017, 16018, 16019, 16020, 16021,
1456
   16022, 16023, 16024, 16025, 16026, 16027, 16028, 16029, 16030, 16031,
1457
   16032, 16033, 16034, 16035, 16036, 16037, 16038, 16039, 16040, 16041,
1458
   16042, 16043, 16044, 16045, 16046, 16047, 16048, 16049, 16050, 16051,
1459
   16052, 16053, 16054, 16055, 16056, 16057, 16058, 16059, 16060, 16061,
1460
   16062, 16063, 16064, 16065, 16066, 16067, 16068, 16069, 16070, 16071,
1461
   16072, 16073, 16074, 16075, 16076, 16077, 16078, 16079, 16080, 16081,
1462
   16082, 16083, 16084, 16085, 16086, 16087, 16088, 16089, 16090, 16091,
1463
   16092, 16093, 16094, 16095, 16096, 16097, 16098, 16099, 16100, 16101,
1464
   16102, 16103, 16104, 16105, 16106, 16107, 16108, 16109, 16110, 16111,
1465
   16112, 16113, 16114, 16115, 16116, 16117, 16118, 16119, 16120, 16121,
1466
   16122, 16123, 16124, 16125, 16126, 16127, 16128, 16129, 16130, 16131,
1467
   16132, 16133, 16134, 16135, 16136, 16137, 16138, 16139, 16140, 16141,
1468
   16142, 16143, 16144, 16145, 16146, 16147, 16148, 16149, 16150, 16151,
1469
   16152, 16153, 16154, 16155, 16156, 16157, 16158, 16159, 16160, 16161,
1470
   16162, 16163, 16164, 16165, 16166, 16167, 16168, 16169, 16170, 16171,
1471
   16172, 16173, 16174, 16175, 16176, 16177, 16178, 16179, 16180, 16181,
1472
   16182, 16183, 16184, 16185, 16186, 16187, 16188, 16189, 16190, 16191,
1473
   16192, 16193, 16194, 16195, 16196, 16197, 16198, 16199, 16200, 16201,
1474
   16202, 16203, 16204, 16205, 16206, 16207, 16208, 16209, 16210, 16211,
1475
   16212, 16213, 16214, 16215, 16216, 16217, 16218, 16219, 16220, 16221,
1476
   16222, 16223, 16224, 16225, 16226, 16227, 16228, 16229, 16230, 16231,
1477
   16232, 16233, 16234, 16235, 16236, 16237, 16238, 16239, 16240, 16241,
1478
   16242, 16243, 16244, 16245, 16246, 16247, 16248, 16249, 16250, 16251,
1479
   16252, 16253, 16254, 16255, 16256, 16257, 16258, 16259, 16260, 16261,
1480
   16262, 16263, 16264, 16265, 16266, 16267, 16268, 16269, 16270, 16271,
1481
   16272, 16273, 16274, 16275, 16276, 16277, 16278, 16279, 16280, 16281,
1482
   16282, 16283, 16284, 16285, 16286, 16287, 16288, 16289, 16290, 16291,
1483
   16292, 16293, 16294, 16295, 16296, 16297, 16298, 16299, 16300, 16301,
1484
   16302, 16316, 16317, 16318, 16319, 16320, 16321, 16322, 16323, 16324,
1485
   16325, 16326, 16327, 16328, 16329, 16330, 16331, 16332, 16333, 16334,
1486
   16335, 16336, 16337, 16338, 16339, 16340, 16341, 16342, 16343, 16344,
1487
   16345, 16346, 16347, 16348, 16349, 16350, 16351, 16352, 16353, 16354,
1488
   16355, 16356, 16357, 16358, 16359, 16360, 16361, 16362, 16363, 16364,
1489
   16365, 16379, 16380, 16381, 16382, 16383, 16384, 16385, 16386, 16387,
1490
   16388, 16389, 16390, 16391, 16392, 16393, 16394, 16395, 16396, 16397,
1491
   16398, 16399, 16400, 16401, 16402, 16412, 16413, 16414, 16415, 16416,
1492
   16417, 16418, 16419, 16420, 16421, 16422, 16423, 16424, 16425, 16426,
1493
   16427, 16428, 16429, 16430, 16431, 16432, 16433, 16434, 16435, 16436,
1494
   16437, 16438, 16439, 16440, 16441, 16442, 16443, 16444, 16445, 16446,
1495
   16447, 16448, 16449, 16450, 16451, 16452, 16453, 16454, 16455, 16456,
1496
   16457, 16458, 16459, 16460, 16461, 16462, 16463, 16464, 16465, 16466,
1497
   16467, 16468, 16469, 16470, 16471, 16472, 16473, 16474, 16475, 16476,
1498
   16477, 16478, 16479, 16480, 16481, 16482, 16483, 16484, 16485, 16486,
1499
   16487, 16488
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
188M
  (!!((Yystate) == (-4737)))
1851
1852
#define YYTABLE_NINF -2697
1853
1854
#define yytable_value_is_error(Yytable_value) \
1855
560k
  (!!((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
159M
#define YYEMPTY         (-2)
25065
116M
#define YYEOF           0
25066
25067
2.72M
#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
2.72M
# 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
5.44M
{
25547
5.44M
  YYUSE (yyvaluep);
25548
5.44M
  YYUSE (yylocationp);
25549
5.44M
  YYUSE (yyscanner);
25550
5.44M
  if (!yymsg)
25551
0
    yymsg = "Deleting";
25552
5.44M
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
25553
25554
5.44M
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
25555
5.44M
  YYUSE (yytype);
25556
5.44M
  YY_IGNORE_MAYBE_UNINITIALIZED_END
25557
5.44M
}
25558
25559
25560
25561
25562
/*----------.
25563
| yyparse.  |
25564
`----------*/
25565
25566
int
25567
yyparse (core_yyscan_t yyscanner)
25568
2.72M
{
25569
/* The lookahead symbol.  */
25570
2.72M
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
2.72M
YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
25577
2.72M
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
25578
25579
/* Location data for the lookahead symbol.  */
25580
2.72M
static YYLTYPE yyloc_default
25581
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
25582
  = { 1, 1, 1, 1 }
25583
# endif
25584
2.72M
;
25585
2.72M
YYLTYPE yylloc = yyloc_default;
25586
25587
    /* Number of syntax errors so far.  */
25588
2.72M
    int yynerrs;
25589
25590
2.72M
    int yystate;
25591
    /* Number of tokens to shift before error messages enabled.  */
25592
2.72M
    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
2.72M
    yytype_int16 yyssa[YYINITDEPTH];
25604
2.72M
    yytype_int16 *yyss;
25605
2.72M
    yytype_int16 *yyssp;
25606
25607
    /* The semantic value stack.  */
25608
2.72M
    YYSTYPE yyvsa[YYINITDEPTH];
25609
2.72M
    YYSTYPE *yyvs;
25610
2.72M
    YYSTYPE *yyvsp;
25611
25612
    /* The location stack.  */
25613
2.72M
    YYLTYPE yylsa[YYINITDEPTH];
25614
2.72M
    YYLTYPE *yyls;
25615
2.72M
    YYLTYPE *yylsp;
25616
25617
    /* The locations where the error started and ended.  */
25618
2.72M
    YYLTYPE yyerror_range[3];
25619
25620
2.72M
    YYSIZE_T yystacksize;
25621
25622
2.72M
  int yyn;
25623
2.72M
  int yyresult;
25624
  /* Lookahead token as an internal (translated) token number.  */
25625
2.72M
  int yytoken = 0;
25626
  /* The variables used to return semantic value and location from the
25627
     action routines.  */
25628
2.72M
  YYSTYPE yyval;
25629
2.72M
  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
143M
#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
2.72M
  int yylen = 0;
25643
25644
2.72M
  yyssp = yyss = yyssa;
25645
2.72M
  yyvsp = yyvs = yyvsa;
25646
2.72M
  yylsp = yyls = yylsa;
25647
2.72M
  yystacksize = YYINITDEPTH;
25648
25649
2.72M
  YYDPRINTF ((stderr, "Starting parse\n"));
25650
25651
2.72M
  yystate = 0;
25652
2.72M
  yyerrstatus = 0;
25653
2.72M
  yynerrs = 0;
25654
2.72M
  yychar = YYEMPTY; /* Cause a token to be read.  */
25655
2.72M
  yylsp[0] = yylloc;
25656
2.72M
  goto yysetstate;
25657
25658
25659
/*------------------------------------------------------------.
25660
| yynewstate -- push a new state, which is found in yystate.  |
25661
`------------------------------------------------------------*/
25662
188M
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
188M
  yyssp++;
25666
25667
25668
/*--------------------------------------------------------------------.
25669
| yynewstate -- set current state (the top of the stack) to yystate.  |
25670
`--------------------------------------------------------------------*/
25671
191M
yysetstate:
25672
191M
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
25673
191M
  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
25674
191M
  *yyssp = (yytype_int16) yystate;
25675
25676
191M
  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
191M
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
25740
25741
191M
  if (yystate == YYFINAL)
25742
2.72M
    YYACCEPT;
25743
25744
188M
  goto yybackup;
25745
25746
25747
/*-----------.
25748
| yybackup.  |
25749
`-----------*/
25750
188M
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
188M
  yyn = yypact[yystate];
25756
188M
  if (yypact_value_is_default (yyn))
25757
88.0M
    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
100M
  if (yychar == YYEMPTY)
25763
53.4M
    {
25764
53.4M
      YYDPRINTF ((stderr, "Reading a token: "));
25765
53.4M
      yychar = yylex (&yylval, &yylloc, yyscanner);
25766
53.4M
    }
25767
25768
100M
  if (yychar <= YYEOF)
25769
15.6M
    {
25770
15.6M
      yychar = yytoken = YYEOF;
25771
15.6M
      YYDPRINTF ((stderr, "Now at end of input.\n"));
25772
15.6M
    }
25773
85.2M
  else
25774
85.2M
    {
25775
85.2M
      yytoken = YYTRANSLATE (yychar);
25776
85.2M
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
25777
85.2M
    }
25778
25779
  /* If the proper action on seeing token YYTOKEN is to reduce or to
25780
     detect an error, take that action.  */
25781
100M
  yyn += yytoken;
25782
100M
  if (
yyn < 0100M
||
YYLAST100M
< yyn100M
|| yycheck[yyn] != yytoken)
25783
47.1M
    goto yydefault;
25784
53.6M
  yyn = yytable[yyn];
25785
53.6M
  if (yyn <= 0)
25786
560k
    {
25787
560k
      if (yytable_value_is_error (yyn))
25788
0
        goto yyerrlab;
25789
560k
      yyn = -yyn;
25790
560k
      goto yyreduce;
25791
560k
    }
25792
25793
  /* Count tokens shifted since error; after three, turn off error
25794
     status.  */
25795
53.1M
  if (yyerrstatus)
25796
0
    yyerrstatus--;
25797
25798
  /* Shift the lookahead token.  */
25799
53.1M
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
25800
25801
  /* Discard the shifted token.  */
25802
53.1M
  yychar = YYEMPTY;
25803
25804
53.1M
  yystate = yyn;
25805
53.1M
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
25806
53.1M
  *++yyvsp = yylval;
25807
53.1M
  YY_IGNORE_MAYBE_UNINITIALIZED_END
25808
53.1M
  *++yylsp = yylloc;
25809
53.1M
  goto yynewstate;
25810
25811
25812
/*-----------------------------------------------------------.
25813
| yydefault -- do the default action for the current state.  |
25814
`-----------------------------------------------------------*/
25815
135M
yydefault:
25816
135M
  yyn = yydefact[yystate];
25817
135M
  if (yyn == 0)
25818
209
    goto yyerrlab;
25819
135M
  goto yyreduce;
25820
25821
25822
/*-----------------------------.
25823
| yyreduce -- do a reduction.  |
25824
`-----------------------------*/
25825
135M
yyreduce:
25826
  /* yyn is the number of a rule to reduce with.  */
25827
135M
  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
135M
  yyval = yyvsp[1-yylen];
25838
25839
  /* Default location. */
25840
135M
  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
25841
135M
  yyerror_range[1] = yyloc;
25842
135M
  YY_REDUCE_PRINT (yyn);
25843
135M
  switch (yyn)
25844
135M
    {
25845
2.72M
  case 2:
25846
2.72M
#line 842 "gram.y"
25847
2.72M
    {
25848
2.72M
        pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
25849
2.72M
      }
25850
2.72M
#line 25851 "gram.c"
25851
2.72M
    break;
25852
25853
164k
  case 3:
25854
164k
#line 858 "gram.y"
25855
164k
    {
25856
164k
          if ((yyvsp[-2].list) != NIL)
25857
164k
          {
25858
            /* update length of previous stmt */
25859
164k
            updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
25860
164k
          }
25861
164k
          if ((yyvsp[0].node) != NULL)
25862
10.2k
            (yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[-1]) + 1));
25863
154k
          else
25864
154k
            (yyval.list) = (yyvsp[-2].list);
25865
164k
        }
25866
164k
#line 25867 "gram.c"
25867
164k
    break;
25868
25869
2.72M
  case 4:
25870
2.72M
#line 870 "gram.y"
25871
2.72M
    {
25872
2.72M
          if ((yyvsp[0].node) != NULL)
25873
2.72M
            (yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
25874
343
          else
25875
343
            (yyval.list) = NIL;
25876
2.72M
        }
25877
2.72M
#line 25878 "gram.c"
25878
2.72M
    break;
25879
25880
154k
  case 5:
25881
154k
#line 884 "gram.y"
25882
154k
    { (yyval.node) = NULL; }
25883
154k
#line 25884 "gram.c"
25884
154k
    break;
25885
25886
78
  case 86:
25887
78
#line 968 "gram.y"
25888
78
    { parser_ybc_beta_feature((yylsp[0]), "extension", true); }
25889
78
#line 25890 "gram.c"
25890
78
    break;
25891
25892
4
  case 87:
25893
4
#line 969 "gram.y"
25894
4
    { parser_ybc_beta_feature((yylsp[0]), "extension", true); }
25895
4
#line 25896 "gram.c"
25896
4
    break;
25897
25898
84
  case 88:
25899
84
#line 970 "gram.y"
25900
84
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25901
84
#line 25902 "gram.c"
25902
84
    break;
25903
25904
125
  case 89:
25905
125
#line 971 "gram.y"
25906
125
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25907
125
#line 25908 "gram.c"
25908
125
    break;
25909
25910
268
  case 90:
25911
268
#line 972 "gram.y"
25912
268
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25913
268
#line 25914 "gram.c"
25914
268
    break;
25915
25916
92
  case 91:
25917
92
#line 973 "gram.y"
25918
92
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25919
92
#line 25920 "gram.c"
25920
92
    break;
25921
25922
551
  case 92:
25923
551
#line 974 "gram.y"
25924
551
    { parser_ybc_beta_feature((yylsp[0]), "analyze", false); }
25925
551
#line 25926 "gram.c"
25926
551
    break;
25927
25928
8
  case 93:
25929
8
#line 975 "gram.y"
25930
8
    { parser_ybc_beta_feature((yylsp[0]), "checkpoint", false); }
25931
8
#line 25932 "gram.c"
25932
8
    break;
25933
25934
99
  case 94:
25935
99
#line 976 "gram.y"
25936
99
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25937
99
#line 25938 "gram.c"
25938
99
    break;
25939
25940
170
  case 95:
25941
170
#line 977 "gram.y"
25942
170
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25943
170
#line 25944 "gram.c"
25944
170
    break;
25945
25946
303
  case 96:
25947
303
#line 978 "gram.y"
25948
303
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25949
303
#line 25950 "gram.c"
25950
303
    break;
25951
25952
236
  case 97:
25953
236
#line 979 "gram.y"
25954
236
    { parser_ybc_beta_feature((yylsp[0]), "tablegroup", true); }
25955
236
#line 25956 "gram.c"
25956
236
    break;
25957
25958
212
  case 98:
25959
212
#line 980 "gram.y"
25960
212
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25961
212
#line 25962 "gram.c"
25962
212
    break;
25963
25964
124
  case 99:
25965
124
#line 981 "gram.y"
25966
124
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25967
124
#line 25968 "gram.c"
25968
124
    break;
25969
25970
56
  case 100:
25971
56
#line 982 "gram.y"
25972
56
    { parser_ybc_beta_feature((yylsp[0]), "foreign data wrapper", true); }
25973
56
#line 25974 "gram.c"
25974
56
    break;
25975
25976
36
  case 101:
25977
36
#line 983 "gram.y"
25978
36
    { parser_ybc_beta_feature((yylsp[0]), "vacuum", false); }
25979
36
#line 25980 "gram.c"
25980
36
    break;
25981
25982
216
  case 102:
25983
216
#line 986 "gram.y"
25984
216
    { parser_ybc_not_support_in_templates((yylsp[0]), "This statement"); }
25985
216
#line 25986 "gram.c"
25986
216
    break;
25987
25988
497
  case 103:
25989
497
#line 987 "gram.y"
25990
497
    { parser_ybc_not_support_in_templates((yylsp[0]), "This statement"); }
25991
497
#line 25992 "gram.c"
25992
497
    break;
25993
25994
17.2k
  case 104:
25995
17.2k
#line 988 "gram.y"
25996
17.2k
    { parser_ybc_not_support_in_templates((yylsp[0]), "This statement"); }
25997
17.2k
#line 25998 "gram.c"
25998
17.2k
    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
270
  case 111:
26037
270
#line 997 "gram.y"
26038
270
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26039
270
#line 26040 "gram.c"
26040
270
    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
2
  case 118:
26079
2
#line 1004 "gram.y"
26080
2
    { parser_ybc_not_support((yylsp[0]), "This statement"); }
26081
2
#line 26082 "gram.c"
26082
2
    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
4
  case 126:
26127
4
#line 1012 "gram.y"
26128
4
    { parser_ybc_warn_ignored((yylsp[0]), "LISTEN", 1872); }
26129
4
#line 26130 "gram.c"
26130
4
    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
8
  case 128:
26139
8
#line 1014 "gram.y"
26140
8
    { parser_ybc_warn_ignored((yylsp[0]), "NOTIFY", 1872); }
26141
8
#line 26142 "gram.c"
26142
8
    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
8
  case 131:
26157
8
#line 1017 "gram.y"
26158
8
    { parser_ybc_warn_ignored((yylsp[0]), "UNLISTEN", 1872); }
26159
8
#line 26160 "gram.c"
26160
8
    break;
26161
26162
1.30k
  case 132:
26163
1.30k
#line 1027 "gram.y"
26164
1.30k
    {
26165
1.30k
          CallStmt *n = makeNode(CallStmt);
26166
1.30k
          n->funccall = castNode(FuncCall, (yyvsp[0].node));
26167
1.30k
          (yyval.node) = (Node *)n;
26168
1.30k
        }
26169
0
#line 26170 "gram.c"
26170
0
    break;
26171
26172
3.50k
  case 133:
26173
3.50k
#line 1042 "gram.y"
26174
3.50k
    {
26175
3.50k
          CreateRoleStmt *n = makeNode(CreateRoleStmt);
26176
0
          n->stmt_type = ROLESTMT_ROLE;
26177
3.50k
          n->role = (yyvsp[-2].str);
26178
3.50k
          n->options = (yyvsp[0].list);
26179
3.50k
          (yyval.node) = (Node *)n;
26180
3.50k
        }
26181
0
#line 26182 "gram.c"
26182
0
    break;
26183
26184
697
  case 134:
26185
697
#line 1052 "gram.y"
26186
697
    {}
26187
697
#line 26188 "gram.c"
26188
697
    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
6.35k
  case 136:
26197
6.35k
#line 1054 "gram.y"
26198
6.35k
    {}
26199
6.35k
#line 26200 "gram.c"
26200
6.35k
    break;
26201
26202
11.4k
  case 137:
26203
11.4k
#line 1064 "gram.y"
26204
11.4k
    {
26205
11.4k
          (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt));
26206
11.4k
        }
26207
11.4k
#line 26208 "gram.c"
26208
11.4k
    break;
26209
26210
3.79k
  case 138:
26211
3.79k
#line 1067 "gram.y"
26212
3.79k
    { (yyval.list) = NIL; }
26213
3.79k
#line 26214 "gram.c"
26214
3.79k
    break;
26215
26216
574
  case 139:
26217
574
#line 1071 "gram.y"
26218
574
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
26219
574
#line 26220 "gram.c"
26220
574
    break;
26221
26222
416
  case 140:
26223
416
#line 1072 "gram.y"
26224
416
    { (yyval.list) = NIL; }
26225
416
#line 26226 "gram.c"
26226
416
    break;
26227
26228
185
  case 141:
26229
185
#line 1077 "gram.y"
26230
185
    {
26231
185
          (yyval.defelt) = makeDefElem("password",
26232
185
                   (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
26233
185
        }
26234
185
#line 26235 "gram.c"
26235
185
    break;
26236
26237
4
  case 142:
26238
4
#line 1082 "gram.y"
26239
4
    {
26240
4
          (yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
26241
4
        }
26242
4
#line 26243 "gram.c"
26243
4
    break;
26244
26245
13
  case 143:
26246
13
#line 1086 "gram.y"
26247
13
    {
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
13
          (yyval.defelt) = makeDefElem("password",
26254
13
                   (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26255
13
        }
26256
13
#line 26257 "gram.c"
26257
13
    break;
26258
26259
2
  case 144:
26260
2
#line 1096 "gram.y"
26261
2
    {
26262
2
          ereport(ERROR,
26263
2
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26264
2
               errmsg("UNENCRYPTED PASSWORD is no longer supported"),
26265
2
               errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
26266
2
               parser_errposition((yylsp[-2]))));
26267
2
        }
26268
2
#line 26269 "gram.c"
26269
2
    break;
26270
26271
102
  case 145:
26272
102
#line 1104 "gram.y"
26273
102
    {
26274
102
          (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[0]));
26275
102
        }
26276
102
#line 26277 "gram.c"
26277
102
    break;
26278
26279
24
  case 146:
26280
24
#line 1108 "gram.y"
26281
24
    {
26282
24
          (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
26283
24
        }
26284
24
#line 26285 "gram.c"
26285
24
    break;
26286
26287
8
  case 147:
26288
8
#line 1112 "gram.y"
26289
8
    {
26290
8
          (yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
26291
8
        }
26292
8
#line 26293 "gram.c"
26293
8
    break;
26294
26295
12
  case 148:
26296
12
#line 1117 "gram.y"
26297
12
    {
26298
12
          (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26299
12
        }
26300
12
#line 26301 "gram.c"
26301
12
    break;
26302
26303
11.3k
  case 149:
26304
11.3k
#line 1121 "gram.y"
26305
11.3k
    {
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
11.3k
          if (strcmp((yyvsp[0].str), "superuser") == 0)
26312
2.26k
            (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(true), (yylsp[0]));
26313
9.13k
          else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
26314
40
            (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(false), (yylsp[0]));
26315
9.09k
          else if (strcmp((yyvsp[0].str), "createrole") == 0)
26316
2.08k
            (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(true), (yylsp[0]));
26317
7.01k
          else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
26318
24
            (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(false), (yylsp[0]));
26319
6.98k
          else if (strcmp((yyvsp[0].str), "replication") == 0)
26320
78
            (yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(true), (yylsp[0]));
26321
6.91k
          else if (strcmp((yyvsp[0].str), "noreplication") == 0)
26322
84
            (yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(false), (yylsp[0]));
26323
6.82k
          else if (strcmp((yyvsp[0].str), "createdb") == 0)
26324
2.07k
            (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(true), (yylsp[0]));
26325
4.74k
          else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
26326
24
            (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(false), (yylsp[0]));
26327
4.72k
          else if (strcmp((yyvsp[0].str), "login") == 0)
26328
2.48k
            (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(true), (yylsp[0]));
26329
2.24k
          else if (strcmp((yyvsp[0].str), "nologin") == 0)
26330
113
            (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(false), (yylsp[0]));
26331
2.12k
          else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
26332
2.06k
            (yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(true), (yylsp[0]));
26333
64
          else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
26334
20
            (yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(false), (yylsp[0]));
26335
44
          else if (strcmp((yyvsp[0].str), "noinherit") == 0)
26336
44
          {
26337
            /*
26338
             * Note that INHERIT is a keyword, so it's handled by main parser, but
26339
             * NOINHERIT is handled here.
26340
             */
26341
44
            (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(false), (yylsp[0]));
26342
44
          }
26343
0
          else
26344
0
            ereport(ERROR,
26345
11.3k
                (errcode(ERRCODE_SYNTAX_ERROR),
26346
11.3k
                 errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
26347
11.3k
                   parser_errposition((yylsp[0]))));
26348
11.3k
        }
26349
11.3k
#line 26350 "gram.c"
26350
11.3k
    break;
26351
26352
11.3k
  case 150:
26353
11.1k
#line 1168 "gram.y"
26354
11.1k
    { (yyval.defelt) = (yyvsp[0].defelt); }
26355
11.1k
#line 26356 "gram.c"
26356
11.1k
    break;
26357
26358
8
  case 151:
26359
8
#line 1171 "gram.y"
26360
8
    {
26361
8
          (yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
26362
8
        }
26363
8
#line 26364 "gram.c"
26364
8
    break;
26365
26366
16
  case 152:
26367
16
#line 1175 "gram.y"
26368
16
    {
26369
16
          (yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26370
16
        }
26371
16
#line 26372 "gram.c"
26372
16
    break;
26373
26374
200
  case 153:
26375
200
#line 1179 "gram.y"
26376
200
    {
26377
200
          (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26378
200
        }
26379
200
#line 26380 "gram.c"
26380
200
    break;
26381
26382
16
  case 154:
26383
16
#line 1183 "gram.y"
26384
16
    {
26385
16
          (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
26386
16
        }
26387
16
#line 26388 "gram.c"
26388
16
    break;
26389
26390
8
  case 155:
26391
8
#line 1187 "gram.y"
26392
8
    {
26393
8
          (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
26394
8
        }
26395
8
#line 26396 "gram.c"
26396
8
    break;
26397
26398
267
  case 156:
26399
267
#line 1201 "gram.y"
26400
267
    {
26401
267
          CreateRoleStmt *n = makeNode(CreateRoleStmt);
26402
0
          n->stmt_type = ROLESTMT_USER;
26403
267
          n->role = (yyvsp[-2].str);
26404
267
          n->options = (yyvsp[0].list);
26405
267
          (yyval.node) = (Node *)n;
26406
267
        }
26407
0
#line 26408 "gram.c"
26408
0
    break;
26409
26410
330
  case 157:
26411
330
#line 1219 "gram.y"
26412
330
    {
26413
330
          AlterRoleStmt *n = makeNode(AlterRoleStmt);
26414
0
          n->role = (yyvsp[-2].rolespec);
26415
330
          n->action = +1; /* add, if there are members */
26416
330
          n->options = (yyvsp[0].list);
26417
330
          (yyval.node) = (Node *)n;
26418
330
         }
26419
0
#line 26420 "gram.c"
26420
0
    break;
26421
26422
86
  case 158:
26423
86
#line 1227 "gram.y"
26424
86
    {
26425
86
          AlterRoleStmt *n = makeNode(AlterRoleStmt);
26426
0
          n->role = (yyvsp[-2].rolespec);
26427
86
          n->action = +1; /* add, if there are members */
26428
86
          n->options = (yyvsp[0].list);
26429
86
          (yyval.node) = (Node *)n;
26430
86
         }
26431
0
#line 26432 "gram.c"
26432
0
    break;
26433
26434
248
  case 159:
26435
248
#line 1237 "gram.y"
26436
248
    { (yyval.str) = NULL; }
26437
248
#line 26438 "gram.c"
26438
248
    break;
26439
26440
8
  case 160:
26441
8
#line 1238 "gram.y"
26442
8
    { (yyval.str) = (yyvsp[0].str); }
26443
8
#line 26444 "gram.c"
26444
8
    break;
26445
26446
180
  case 161:
26447
180
#line 1243 "gram.y"
26448
180
    {
26449
180
          AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26450
0
          n->role = (yyvsp[-2].rolespec);
26451
180
          n->database = (yyvsp[-1].str);
26452
180
          n->setstmt = (yyvsp[0].vsetstmt);
26453
180
          (yyval.node) = (Node *)n;
26454
180
        }
26455
0
#line 26456 "gram.c"
26456
0
    break;
26457
26458
16
  case 162:
26459
16
#line 1251 "gram.y"
26460
16
    {
26461
16
          AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26462
0
          n->role = NULL;
26463
16
          n->database = (yyvsp[-1].str);
26464
16
          n->setstmt = (yyvsp[0].vsetstmt);
26465
16
          (yyval.node) = (Node *)n;
26466
16
        }
26467
0
#line 26468 "gram.c"
26468
0
    break;
26469
26470
48
  case 163:
26471
48
#line 1259 "gram.y"
26472
48
    {
26473
48
          AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26474
0
          n->role = (yyvsp[-2].rolespec);
26475
48
          n->database = (yyvsp[-1].str);
26476
48
          n->setstmt = (yyvsp[0].vsetstmt);
26477
48
          (yyval.node) = (Node *)n;
26478
48
        }
26479
0
#line 26480 "gram.c"
26480
0
    break;
26481
26482
8
  case 164:
26483
8
#line 1267 "gram.y"
26484
8
    {
26485
8
          AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26486
0
          n->role = NULL;
26487
8
          n->database = (yyvsp[-1].str);
26488
8
          n->setstmt = (yyvsp[0].vsetstmt);
26489
8
          (yyval.node) = (Node *)n;
26490
8
        }
26491
0
#line 26492 "gram.c"
26492
0
    break;
26493
26494
1.44k
  case 165:
26495
1.44k
#line 1288 "gram.y"
26496
1.44k
    {
26497
1.44k
          DropRoleStmt *n = makeNode(DropRoleStmt);
26498
0
          n->missing_ok = false;
26499
1.44k
          n->roles = (yyvsp[0].list);
26500
1.44k
          (yyval.node) = (Node *)n;
26501
1.44k
        }
26502
0
#line 26503 "gram.c"
26503
0
    break;
26504
26505
108
  case 166:
26506
108
#line 1295 "gram.y"
26507
108
    {
26508
108
          DropRoleStmt *n = makeNode(DropRoleStmt);
26509
0
          n->missing_ok = true;
26510
108
          n->roles = (yyvsp[0].list);
26511
108
          (yyval.node) = (Node *)n;
26512
108
        }
26513
0
#line 26514 "gram.c"
26514
0
    break;
26515
26516
159
  case 167:
26517
159
#line 1302 "gram.y"
26518
159
    {
26519
159
          DropRoleStmt *n = makeNode(DropRoleStmt);
26520
0
          n->missing_ok = false;
26521
159
          n->roles = (yyvsp[0].list);
26522
159
          (yyval.node) = (Node *)n;
26523
159
        }
26524
0
#line 26525 "gram.c"
26525
0
    break;
26526
26527
36
  case 168:
26528
36
#line 1309 "gram.y"
26529
36
    {
26530
36
          DropRoleStmt *n = makeNode(DropRoleStmt);
26531
0
          n->roles = (yyvsp[0].list);
26532
36
          n->missing_ok = true;
26533
36
          (yyval.node) = (Node *)n;
26534
36
        }
26535
0
#line 26536 "gram.c"
26536
0
    break;
26537
26538
16
  case 169:
26539
16
#line 1316 "gram.y"
26540
16
    {
26541
16
          DropRoleStmt *n = makeNode(DropRoleStmt);
26542
0
          n->missing_ok = false;
26543
16
          n->roles = (yyvsp[0].list);
26544
16
          (yyval.node) = (Node *)n;
26545
16
        }
26546
0
#line 26547 "gram.c"
26547
0
    break;
26548
26549
4
  case 170:
26550
4
#line 1323 "gram.y"
26551
4
    {
26552
4
          DropRoleStmt *n = makeNode(DropRoleStmt);
26553
0
          n->missing_ok = true;
26554
4
          n->roles = (yyvsp[0].list);
26555
4
          (yyval.node) = (Node *)n;
26556
4
        }
26557
0
#line 26558 "gram.c"
26558
0
    break;
26559
26560
20
  case 171:
26561
20
#line 1340 "gram.y"
26562
20
    {
26563
20
          CreateRoleStmt *n = makeNode(CreateRoleStmt);
26564
0
          n->stmt_type = ROLESTMT_GROUP;
26565
20
          n->role = (yyvsp[-2].str);
26566
20
          n->options = (yyvsp[0].list);
26567
20
          (yyval.node) = (Node *)n;
26568
20
        }
26569
0
#line 26570 "gram.c"
26570
0
    break;
26571
26572
12
  case 172:
26573
12
#line 1358 "gram.y"
26574
12
    {
26575
12
          AlterRoleStmt *n = makeNode(AlterRoleStmt);
26576
0
          n->role = (yyvsp[-3].rolespec);
26577
12
          n->action = (yyvsp[-2].ival);
26578
12
          n->options = list_make1(makeDefElem("rolemembers",
26579
12
                            (Node *)(yyvsp[0].list), (yylsp[0])));
26580
12
          (yyval.node) = (Node *)n;
26581
12
        }
26582
0
#line 26583 "gram.c"
26583
0
    break;
26584
26585
48
  case 173:
26586
48
#line 1368 "gram.y"
26587
48
    { (yyval.ival) = +1; }
26588
48
#line 26589 "gram.c"
26589
48
    break;
26590
26591
42
  case 174:
26592
42
#line 1369 "gram.y"
26593
42
    { (yyval.ival) = -1; }
26594
42
#line 26595 "gram.c"
26595
42
    break;
26596
26597
56
  case 175:
26598
56
#line 1381 "gram.y"
26599
56
    {
26600
56
          CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26601
          /* One can omit the schema name or the authorization id. */
26602
0
          n->schemaname = (yyvsp[-3].str);
26603
56
          n->authrole = (yyvsp[-1].rolespec);
26604
56
          if ((yyvsp[0].list) != NIL)
26605
0
            parser_ybc_not_support((yylsp[0]), "CREATE SCHEMA with elements");
26606
56
          n->schemaElts = (yyvsp[0].list);
26607
56
          n->if_not_exists = false;
26608
56
          (yyval.node) = (Node *)n;
26609
56
        }
26610
0
#line 26611 "gram.c"
26611
0
    break;
26612
26613
294
  case 176:
26614
294
#line 1393 "gram.y"
26615
294
    {
26616
294
          CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26617
          /* ...but not both */
26618
0
          n->schemaname = (yyvsp[-1].str);
26619
294
          n->authrole = NULL;
26620
294
          if ((yyvsp[0].list) != NIL)
26621
8
            parser_ybc_not_support((yylsp[0]), "CREATE SCHEMA with elements");
26622
294
          n->schemaElts = (yyvsp[0].list);
26623
294
          n->if_not_exists = false;
26624
294
          (yyval.node) = (Node *)n;
26625
294
        }
26626
0
#line 26627 "gram.c"
26627
0
    break;
26628
26629
32
  case 177:
26630
32
#line 1405 "gram.y"
26631
32
    {
26632
32
          CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26633
          /* schema name can be omitted here, too */
26634
0
          n->schemaname = (yyvsp[-3].str);
26635
32
          n->authrole = (yyvsp[-1].rolespec);
26636
32
          if ((yyvsp[0].list) != NIL)
26637
32
            ereport(ERROR,
26638
32
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26639
32
                 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
26640
32
                 parser_errposition((yylsp[0]))));
26641
32
          n->schemaElts = (yyvsp[0].list);
26642
32
          n->if_not_exists = true;
26643
32
          (yyval.node) = (Node *)n;
26644
32
        }
26645
0
#line 26646 "gram.c"
26646
0
    break;
26647
26648
6
  case 178:
26649
6
#line 1420 "gram.y"
26650
6
    {
26651
6
          CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26652
          /* ...but not here */
26653
0
          n->schemaname = (yyvsp[-1].str);
26654
6
          n->authrole = NULL;
26655
6
          if ((yyvsp[0].list) != NIL)
26656
6
            ereport(ERROR,
26657
6
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26658
6
                 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
26659
6
                 parser_errposition((yylsp[0]))));
26660
6
          n->schemaElts = (yyvsp[0].list);
26661
6
          n->if_not_exists = true;
26662
6
          (yyval.node) = (Node *)n;
26663
6
        }
26664
0
#line 26665 "gram.c"
26665
0
    break;
26666
26667
100
  case 179:
26668
100
#line 1437 "gram.y"
26669
100
    { (yyval.str) = (yyvsp[0].str); }
26670
100
#line 26671 "gram.c"
26671
100
    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
24
  case 181:
26680
24
#line 1443 "gram.y"
26681
24
    {
26682
24
          if ((yyloc) < 0)      /* see comments for YYLLOC_DEFAULT */
26683
10
            (yyloc) = (yylsp[0]);
26684
24
          (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
26685
24
        }
26686
24
#line 26687 "gram.c"
26687
24
    break;
26688
26689
388
  case 182:
26690
388
#line 1449 "gram.y"
26691
388
    { (yyval.list) = NIL; }
26692
388
#line 26693 "gram.c"
26693
388
    break;
26694
26695
43.9k
  case 189:
26696
43.9k
#line 1477 "gram.y"
26697
43.9k
    {
26698
43.9k
          VariableSetStmt *n = (yyvsp[0].vsetstmt);
26699
43.9k
          n->is_local = false;
26700
43.9k
          (yyval.node) = (Node *) n;
26701
43.9k
        }
26702
43.9k
#line 26703 "gram.c"
26703
43.9k
    break;
26704
26705
1.71k
  case 190:
26706
1.71k
#line 1483 "gram.y"
26707
1.71k
    {
26708
1.71k
          VariableSetStmt *n = (yyvsp[0].vsetstmt);
26709
1.71k
          n->is_local = true;
26710
1.71k
          (yyval.node) = (Node *) n;
26711
1.71k
        }
26712
1.71k
#line 26713 "gram.c"
26713
1.71k
    break;
26714
26715
64
  case 191:
26716
64
#line 1489 "gram.y"
26717
64
    {
26718
64
          VariableSetStmt *n = (yyvsp[0].vsetstmt);
26719
64
          n->is_local = false;
26720
64
          (yyval.node) = (Node *) n;
26721
64
        }
26722
64
#line 26723 "gram.c"
26723
64
    break;
26724
26725
201
  case 192:
26726
201
#line 1498 "gram.y"
26727
201
    {
26728
201
          VariableSetStmt *n = makeNode(VariableSetStmt);
26729
0
          n->kind = VAR_SET_MULTI;
26730
201
          n->name = "TRANSACTION";
26731
201
          n->args = (yyvsp[0].list);
26732
201
          (yyval.vsetstmt) = n;
26733
201
        }
26734
0
#line 26735 "gram.c"
26735
0
    break;
26736
26737
11.3k
  case 193:
26738
11.3k
#line 1506 "gram.y"
26739
11.3k
    {
26740
11.3k
          VariableSetStmt *n = makeNode(VariableSetStmt);
26741
0
          n->kind = VAR_SET_MULTI;
26742
11.3k
          n->name = "SESSION CHARACTERISTICS";
26743
11.3k
          n->args = (yyvsp[0].list);
26744
11.3k
          (yyval.vsetstmt) = n;
26745
11.3k
        }
26746
0
#line 26747 "gram.c"
26747
0
    break;
26748
26749
3.00k
  case 195:
26750
3.00k
#line 1518 "gram.y"
26751
3.00k
    {
26752
3.00k
          VariableSetStmt *n = makeNode(VariableSetStmt);
26753
0
          n->kind = VAR_SET_VALUE;
26754
3.00k
          n->name = (yyvsp[-2].str);
26755
3.00k
          n->args = (yyvsp[0].list);
26756
3.00k
          (yyval.vsetstmt) = n;
26757
3.00k
        }
26758
0
#line 26759 "gram.c"
26759
0
    break;
26760
26761
26.9k
  case 196:
26762
26.9k
#line 1526 "gram.y"
26763
26.9k
    {
26764
26.9k
          VariableSetStmt *n = makeNode(VariableSetStmt);
26765
0
          n->kind = VAR_SET_VALUE;
26766
26.9k
          n->name = (yyvsp[-2].str);
26767
26.9k
          n->args = (yyvsp[0].list);
26768
26.9k
          (yyval.vsetstmt) = n;
26769
26.9k
        }
26770
0
#line 26771 "gram.c"
26771
0
    break;
26772
26773
56
  case 197:
26774
56
#line 1534 "gram.y"
26775
56
    {
26776
56
          VariableSetStmt *n = makeNode(VariableSetStmt);
26777
0
          n->kind = VAR_SET_DEFAULT;
26778
56
          n->name = (yyvsp[-2].str);
26779
56
          (yyval.vsetstmt) = n;
26780
56
        }
26781
0
#line 26782 "gram.c"
26782
0
    break;
26783
26784
20
  case 198:
26785
20
#line 1541 "gram.y"
26786
20
    {
26787
20
          VariableSetStmt *n = makeNode(VariableSetStmt);
26788
0
          n->kind = VAR_SET_DEFAULT;
26789
20
          n->name = (yyvsp[-2].str);
26790
20
          (yyval.vsetstmt) = n;
26791
20
        }
26792
0
#line 26793 "gram.c"
26793
0
    break;
26794
26795
30.0k
  case 199:
26796
30.0k
#line 1549 "gram.y"
26797
30.0k
    {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
26798
30.0k
#line 26799 "gram.c"
26799
30.0k
    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
36
  case 201:
26813
36
#line 1559 "gram.y"
26814
36
    {
26815
36
          VariableSetStmt *n = makeNode(VariableSetStmt);
26816
0
          n->kind = VAR_SET_VALUE;
26817
36
          n->name = "timezone";
26818
36
          if ((yyvsp[0].node) != NULL)
26819
28
            n->args = list_make1((yyvsp[0].node));
26820
8
          else
26821
8
            n->kind = VAR_SET_DEFAULT;
26822
36
          (yyval.vsetstmt) = n;
26823
36
        }
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
664
  case 205:
26867
664
#line 1597 "gram.y"
26868
664
    {
26869
664
          VariableSetStmt *n = makeNode(VariableSetStmt);
26870
0
          n->kind = VAR_SET_VALUE;
26871
664
          n->name = "role";
26872
664
          n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26873
664
          (yyval.vsetstmt) = n;
26874
664
        }
26875
0
#line 26876 "gram.c"
26876
0
    break;
26877
26878
3.67k
  case 206:
26879
3.67k
#line 1605 "gram.y"
26880
3.67k
    {
26881
3.67k
          VariableSetStmt *n = makeNode(VariableSetStmt);
26882
0
          n->kind = VAR_SET_VALUE;
26883
3.67k
          n->name = "session_authorization";
26884
3.67k
          n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26885
3.67k
          (yyval.vsetstmt) = n;
26886
3.67k
        }
26887
0
#line 26888 "gram.c"
26888
0
    break;
26889
26890
12
  case 207:
26891
12
#line 1613 "gram.y"
26892
12
    {
26893
12
          VariableSetStmt *n = makeNode(VariableSetStmt);
26894
0
          n->kind = VAR_SET_DEFAULT;
26895
12
          n->name = "session_authorization";
26896
12
          (yyval.vsetstmt) = n;
26897
12
        }
26898
0
#line 26899 "gram.c"
26899
0
    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
31.2k
  case 210:
26926
31.2k
#line 1638 "gram.y"
26927
31.2k
    { (yyval.str) = (yyvsp[0].str); }
26928
31.2k
#line 26929 "gram.c"
26929
31.2k
    break;
26930
26931
584
  case 211:
26932
584
#line 1640 "gram.y"
26933
584
    { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
26934
584
#line 26935 "gram.c"
26935
584
    break;
26936
26937
29.9k
  case 212:
26938
29.9k
#line 1643 "gram.y"
26939
29.9k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
26940
29.9k
#line 26941 "gram.c"
26941
29.9k
    break;
26942
26943
152
  case 213:
26944
152
#line 1644 "gram.y"
26945
152
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
26946
152
#line 26947 "gram.c"
26947
152
    break;
26948
26949
17.4k
  case 214:
26950
17.4k
#line 1648 "gram.y"
26951
17.4k
    { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
26952
17.4k
#line 26953 "gram.c"
26953
17.4k
    break;
26954
26955
12.6k
  case 215:
26956
12.6k
#line 1650 "gram.y"
26957
12.6k
    { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
26958
12.6k
#line 26959 "gram.c"
26959
12.6k
    break;
26960
26961
32
  case 216:
26962
32
#line 1653 "gram.y"
26963
32
    { (yyval.str) = "read uncommitted"; }
26964
32
#line 26965 "gram.c"
26965
32
    break;
26966
26967
3.21k
  case 217:
26968
3.21k
#line 1654 "gram.y"
26969
3.21k
    { (yyval.str) = "read committed"; }
26970
3.21k
#line 26971 "gram.c"
26971
3.21k
    break;
26972
26973
24.3k
  case 218:
26974
24.3k
#line 1655 "gram.y"
26975
24.3k
    { (yyval.str) = "repeatable read"; }
26976
24.3k
#line 26977 "gram.c"
26977
24.3k
    break;
26978
26979
28.9k
  case 219:
26980
28.9k
#line 1656 "gram.y"
26981
28.9k
    { (yyval.str) = "serializable"; }
26982
28.9k
#line 26983 "gram.c"
26983
28.9k
    break;
26984
26985
5.08k
  case 220:
26986
5.08k
#line 1660 "gram.y"
26987
5.08k
    { (yyval.str) = "true"; }
26988
5.08k
#line 26989 "gram.c"
26989
5.08k
    break;
26990
26991
1.67k
  case 221:
26992
1.67k
#line 1661 "gram.y"
26993
1.67k
    { (yyval.str) = "false"; }
26994
1.67k
#line 26995 "gram.c"
26995
1.67k
    break;
26996
26997
300
  case 222:
26998
300
#line 1662 "gram.y"
26999
300
    { (yyval.str) = "on"; }
27000
300
#line 27001 "gram.c"
27001
300
    break;
27002
27003
20.8k
  case 223:
27004
20.8k
#line 1668 "gram.y"
27005
20.8k
    { (yyval.str) = (yyvsp[0].str); }
27006
20.8k
#line 27007 "gram.c"
27007
20.8k
    break;
27008
27009
12
  case 224:
27010
12
#line 1681 "gram.y"
27011
12
    {
27012
12
          (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
27013
12
        }
27014
12
#line 27015 "gram.c"
27015
12
    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
16
  case 228:
27056
16
#line 1710 "gram.y"
27057
16
    { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
27058
16
#line 27059 "gram.c"
27059
16
    break;
27060
27061
8
  case 229:
27062
8
#line 1711 "gram.y"
27063
8
    { (yyval.node) = NULL; }
27064
8
#line 27065 "gram.c"
27065
8
    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
20.8k
  case 234:
27092
20.8k
#line 1722 "gram.y"
27093
20.8k
    { (yyval.str) = (yyvsp[0].str); }
27094
20.8k
#line 27095 "gram.c"
27095
20.8k
    break;
27096
27097
13.0k
  case 235:
27098
13.0k
#line 1723 "gram.y"
27099
13.0k
    { (yyval.str) = (yyvsp[0].str); }
27100
13.0k
#line 27101 "gram.c"
27101
13.0k
    break;
27102
27103
4.65k
  case 236:
27104
4.65k
#line 1727 "gram.y"
27105
4.65k
    { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
27106
4.65k
#line 27107 "gram.c"
27107
4.65k
    break;
27108
27109
788
  case 237:
27110
788
#line 1731 "gram.y"
27111
788
    { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27112
788
#line 27113 "gram.c"
27113
788
    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
3.86k
  case 240:
27138
3.86k
#line 1747 "gram.y"
27139
3.86k
    {
27140
3.86k
          VariableSetStmt *n = makeNode(VariableSetStmt);
27141
0
          n->kind = VAR_RESET;
27142
3.86k
          n->name = "session_authorization";
27143
3.86k
          (yyval.vsetstmt) = n;
27144
3.86k
        }
27145
0
#line 27146 "gram.c"
27146
0
    break;
27147
27148
780
  case 241:
27149
780
#line 1757 "gram.y"
27150
780
    {
27151
780
          VariableSetStmt *n = makeNode(VariableSetStmt);
27152
0
          n->kind = VAR_RESET;
27153
780
          n->name = (yyvsp[0].str);
27154
780
          (yyval.vsetstmt) = n;
27155
780
        }
27156
0
#line 27157 "gram.c"
27157
0
    break;
27158
27159
8
  case 242:
27160
8
#line 1764 "gram.y"
27161
8
    {
27162
8
          VariableSetStmt *n = makeNode(VariableSetStmt);
27163
0
          n->kind = VAR_RESET_ALL;
27164
8
          (yyval.vsetstmt) = n;
27165
8
        }
27166
0
#line 27167 "gram.c"
27167
0
    break;
27168
27169
172
  case 243:
27170
172
#line 1773 "gram.y"
27171
172
    { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27172
172
#line 27173 "gram.c"
27173
172
    break;
27174
27175
80
  case 244:
27176
80
#line 1774 "gram.y"
27177
80
    { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
27178
80
#line 27179 "gram.c"
27179
80
    break;
27180
27181
4
  case 245:
27182
4
#line 1779 "gram.y"
27183
4
    { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27184
4
#line 27185 "gram.c"
27185
4
    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
432
  case 247:
27194
432
#line 1786 "gram.y"
27195
432
    {
27196
432
          VariableShowStmt *n = makeNode(VariableShowStmt);
27197
0
          n->name = (yyvsp[0].str);
27198
432
          (yyval.node) = (Node *) n;
27199
432
        }
27200
0
#line 27201 "gram.c"
27201
0
    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
34
  case 252:
27244
34
#line 1820 "gram.y"
27245
34
    {
27246
34
          ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
27247
0
          n->constraints = (yyvsp[-1].list);
27248
34
          n->deferred = (yyvsp[0].boolean);
27249
34
          (yyval.node) = (Node *) n;
27250
34
        }
27251
0
#line 27252 "gram.c"
27252
0
    break;
27253
27254
26
  case 253:
27255
26
#line 1829 "gram.y"
27256
26
    { (yyval.list) = NIL; }
27257
26
#line 27258 "gram.c"
27258
26
    break;
27259
27260
8
  case 254:
27261
8
#line 1830 "gram.y"
27262
8
    { (yyval.list) = (yyvsp[0].list); }
27263
8
#line 27264 "gram.c"
27264
8
    break;
27265
27266
20
  case 255:
27267
20
#line 1834 "gram.y"
27268
20
    { (yyval.boolean) = true; }
27269
20
#line 27270 "gram.c"
27270
20
    break;
27271
27272
14
  case 256:
27273
14
#line 1835 "gram.y"
27274
14
    { (yyval.boolean) = false; }
27275
14
#line 27276 "gram.c"
27276
14
    break;
27277
27278
8
  case 257:
27279
8
#line 1844 "gram.y"
27280
8
    {
27281
8
          CheckPointStmt *n = makeNode(CheckPointStmt);
27282
0
          (yyval.node) = (Node *)n;
27283
8
        }
27284
0
#line 27285 "gram.c"
27285
0
    break;
27286
27287
4
  case 258:
27288
4
#line 1859 "gram.y"
27289
4
    {
27290
4
          DiscardStmt *n = makeNode(DiscardStmt);
27291
0
          n->target = DISCARD_ALL;
27292
4
          (yyval.node) = (Node *) n;
27293
4
        }
27294
0
#line 27295 "gram.c"
27295
0
    break;
27296
27297
4.87k
  case 259:
27298
4.87k
#line 1865 "gram.y"
27299
4.87k
    {
27300
4.87k
          DiscardStmt *n = makeNode(DiscardStmt);
27301
0
          n->target = DISCARD_TEMP;
27302
4.87k
          (yyval.node) = (Node *) n;
27303
4.87k
        }
27304
0
#line 27305 "gram.c"
27305
0
    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
3.61k
  case 263:
27338
3.61k
#line 1902 "gram.y"
27339
3.61k
    {
27340
3.61k
          AlterTableStmt *n = makeNode(AlterTableStmt);
27341
0
          n->relation = (yyvsp[-1].range);
27342
3.61k
          n->cmds = (yyvsp[0].list);
27343
3.61k
          n->relkind = OBJECT_TABLE;
27344
3.61k
          n->missing_ok = false;
27345
3.61k
          (yyval.node) = (Node *)n;
27346
3.61k
        }
27347
0
#line 27348 "gram.c"
27348
0
    break;
27349
27350
24
  case 264:
27351
24
#line 1911 "gram.y"
27352
24
    {
27353
24
          AlterTableStmt *n = makeNode(AlterTableStmt);
27354
0
          n->relation = (yyvsp[-1].range);
27355
24
          n->cmds = (yyvsp[0].list);
27356
24
          n->relkind = OBJECT_TABLE;
27357
24
          n->missing_ok = true;
27358
24
          (yyval.node) = (Node *)n;
27359
24
        }
27360
0
#line 27361 "gram.c"
27361
0
    break;
27362
27363
324
  case 265:
27364
324
#line 1920 "gram.y"
27365
324
    {
27366
324
          AlterTableStmt *n = makeNode(AlterTableStmt);
27367
0
          n->relation = (yyvsp[-1].range);
27368
324
          n->cmds = list_make1((yyvsp[0].node));
27369
324
          n->relkind = OBJECT_TABLE;
27370
324
          n->missing_ok = false;
27371
324
          (yyval.node) = (Node *)n;
27372
324
        }
27373
0
#line 27374 "gram.c"
27374
0
    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
0
          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
0
#line 27534 "gram.c"
27534
0
    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
3.90k
  case 282:
27611
3.90k
#line 2101 "gram.y"
27612
3.90k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
27613
3.90k
#line 27614 "gram.c"
27614
3.90k
    break;
27615
27616
112
  case 283:
27617
112
#line 2102 "gram.y"
27618
112
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
27619
112
#line 27620 "gram.c"
27620
112
    break;
27621
27622
284
  case 284:
27623
284
#line 2108 "gram.y"
27624
284
    {
27625
284
          AlterTableCmd *n = makeNode(AlterTableCmd);
27626
284
          PartitionCmd *cmd = makeNode(PartitionCmd);
27627
27628
0
          n->subtype = AT_AttachPartition;
27629
284
          cmd->name = (yyvsp[-1].range);
27630
284
          cmd->bound = (yyvsp[0].partboundspec);
27631
284
          n->def = (Node *) cmd;
27632
27633
284
          (yyval.node) = (Node *) n;
27634
284
        }
27635
0
#line 27636 "gram.c"
27636
0
    break;
27637
27638
40
  case 285:
27639
40
#line 2121 "gram.y"
27640
40
    {
27641
40
          AlterTableCmd *n = makeNode(AlterTableCmd);
27642
40
          PartitionCmd *cmd = makeNode(PartitionCmd);
27643
27644
0
          n->subtype = AT_DetachPartition;
27645
40
          cmd->name = (yyvsp[0].range);
27646
40
          cmd->bound = NULL;
27647
40
          n->def = (Node *) cmd;
27648
27649
40
          (yyval.node) = (Node *) n;
27650
40
        }
27651
0
#line 27652 "gram.c"
27652
0
    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
212
  case 287:
27671
212
#line 2153 "gram.y"
27672
212
    {
27673
212
          AlterTableCmd *n = makeNode(AlterTableCmd);
27674
0
          n->subtype = AT_AddColumn;
27675
212
          n->def = (yyvsp[0].node);
27676
212
          n->missing_ok = false;
27677
212
          (yyval.node) = (Node *)n;
27678
212
        }
27679
0
#line 27680 "gram.c"
27680
0
    break;
27681
27682
80
  case 288:
27683
80
#line 2162 "gram.y"
27684
80
    {
27685
80
          AlterTableCmd *n = makeNode(AlterTableCmd);
27686
0
          n->subtype = AT_AddColumn;
27687
80
          n->def = (yyvsp[0].node);
27688
80
          n->missing_ok = true;
27689
80
          (yyval.node) = (Node *)n;
27690
80
        }
27691
0
#line 27692 "gram.c"
27692
0
    break;
27693
27694
832
  case 289:
27695
832
#line 2171 "gram.y"
27696
832
    {
27697
832
          AlterTableCmd *n = makeNode(AlterTableCmd);
27698
0
          n->subtype = AT_AddColumn;
27699
832
          n->def = (yyvsp[0].node);
27700
832
          n->missing_ok = false;
27701
832
          (yyval.node) = (Node *)n;
27702
832
        }
27703
0
#line 27704 "gram.c"
27704
0
    break;
27705
27706
108
  case 290:
27707
108
#line 2180 "gram.y"
27708
108
    {
27709
108
          AlterTableCmd *n = makeNode(AlterTableCmd);
27710
0
          n->subtype = AT_AddColumn;
27711
108
          n->def = (yyvsp[0].node);
27712
108
          n->missing_ok = true;
27713
108
          (yyval.node) = (Node *)n;
27714
108
        }
27715
0
#line 27716 "gram.c"
27716
0
    break;
27717
27718
84
  case 291:
27719
84
#line 2189 "gram.y"
27720
84
    {
27721
84
          AlterTableCmd *n = makeNode(AlterTableCmd);
27722
0
          n->subtype = AT_ColumnDefault;
27723
84
          n->name = (yyvsp[-1].str);
27724
84
          n->def = (yyvsp[0].node);
27725
84
          (yyval.node) = (Node *)n;
27726
84
        }
27727
0
#line 27728 "gram.c"
27728
0
    break;
27729
27730
52
  case 292:
27731
52
#line 2198 "gram.y"
27732
52
    {
27733
52
          AlterTableCmd *n = makeNode(AlterTableCmd);
27734
0
          n->subtype = AT_DropNotNull;
27735
52
          n->name = (yyvsp[-3].str);
27736
52
          (yyval.node) = (Node *)n;
27737
52
        }
27738
0
#line 27739 "gram.c"
27739
0
    break;
27740
27741
60
  case 293:
27742
60
#line 2206 "gram.y"
27743
60
    {
27744
60
          AlterTableCmd *n = makeNode(AlterTableCmd);
27745
0
          n->subtype = AT_SetNotNull;
27746
60
          n->name = (yyvsp[-3].str);
27747
60
          (yyval.node) = (Node *)n;
27748
60
        }
27749
0
#line 27750 "gram.c"
27750
0
    break;
27751
27752
10
  case 294:
27753
10
#line 2214 "gram.y"
27754
10
    {
27755
10
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER TABLE ALTER column", 1124);
27756
10
          AlterTableCmd *n = makeNode(AlterTableCmd);
27757
0
          n->subtype = AT_SetStatistics;
27758
10
          n->name = (yyvsp[-3].str);
27759
10
          n->def = (Node *) makeInteger((yyvsp[0].ival));
27760
10
          (yyval.node) = (Node *)n;
27761
10
        }
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
6
  case 296:
27785
6
#line 2240 "gram.y"
27786
6
    {
27787
6
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER TABLE ALTER column", 1124);
27788
6
          AlterTableCmd *n = makeNode(AlterTableCmd);
27789
0
          n->subtype = AT_SetOptions;
27790
6
          n->name = (yyvsp[-2].str);
27791
6
          n->def = (Node *) (yyvsp[0].list);
27792
6
          (yyval.node) = (Node *)n;
27793
6
        }
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
6
  case 298:
27811
6
#line 2260 "gram.y"
27812
6
    {
27813
6
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER TABLE ALTER column", 1124);
27814
6
          AlterTableCmd *n = makeNode(AlterTableCmd);
27815
0
          n->subtype = AT_SetStorage;
27816
6
          n->name = (yyvsp[-3].str);
27817
6
          n->def = (Node *) makeString((yyvsp[0].str));
27818
6
          (yyval.node) = (Node *)n;
27819
6
        }
27820
0
#line 27821 "gram.c"
27821
0
    break;
27822
27823
32
  case 299:
27824
32
#line 2270 "gram.y"
27825
32
    {
27826
32
          AlterTableCmd *n = makeNode(AlterTableCmd);
27827
32
          Constraint *c = makeNode(Constraint);
27828
27829
0
          c->contype = CONSTR_IDENTITY;
27830
32
          c->generated_when = (yyvsp[-3].ival);
27831
32
          c->options = (yyvsp[0].list);
27832
32
          c->location = (yylsp[-4]);
27833
27834
32
          n->subtype = AT_AddIdentity;
27835
32
          n->name = (yyvsp[-6].str);
27836
32
          n->def = (Node *) c;
27837
27838
32
          (yyval.node) = (Node *)n;
27839
32
        }
27840
0
#line 27841 "gram.c"
27841
0
    break;
27842
27843
20
  case 300:
27844
20
#line 2287 "gram.y"
27845
20
    {
27846
20
          AlterTableCmd *n = makeNode(AlterTableCmd);
27847
0
          n->subtype = AT_SetIdentity;
27848
20
          n->name = (yyvsp[-1].str);
27849
20
          n->def = (Node *) (yyvsp[0].list);
27850
20
          (yyval.node) = (Node *)n;
27851
20
        }
27852
0
#line 27853 "gram.c"
27853
0
    break;
27854
27855
16
  case 301:
27856
16
#line 2296 "gram.y"
27857
16
    {
27858
16
          AlterTableCmd *n = makeNode(AlterTableCmd);
27859
0
          n->subtype = AT_DropIdentity;
27860
16
          n->name = (yyvsp[-2].str);
27861
16
          n->missing_ok = false;
27862
16
          (yyval.node) = (Node *)n;
27863
16
        }
27864
0
#line 27865 "gram.c"
27865
0
    break;
27866
27867
12
  case 302:
27868
12
#line 2305 "gram.y"
27869
12
    {
27870
12
          AlterTableCmd *n = makeNode(AlterTableCmd);
27871
0
          n->subtype = AT_DropIdentity;
27872
12
          n->name = (yyvsp[-4].str);
27873
12
          n->missing_ok = true;
27874
12
          (yyval.node) = (Node *)n;
27875
12
        }
27876
0
#line 27877 "gram.c"
27877
0
    break;
27878
27879
104
  case 303:
27880
104
#line 2314 "gram.y"
27881
104
    {
27882
104
          AlterTableCmd *n = makeNode(AlterTableCmd);
27883
0
          n->subtype = AT_DropColumn;
27884
104
          n->name = (yyvsp[-1].str);
27885
104
          n->behavior = (yyvsp[0].dbehavior);
27886
104
          n->missing_ok = true;
27887
104
          (yyval.node) = (Node *)n;
27888
104
        }
27889
0
#line 27890 "gram.c"
27890
0
    break;
27891
27892
680
  case 304:
27893
680
#line 2324 "gram.y"
27894
680
    {
27895
680
          AlterTableCmd *n = makeNode(AlterTableCmd);
27896
0
          n->subtype = AT_DropColumn;
27897
680
          n->name = (yyvsp[-1].str);
27898
680
          n->behavior = (yyvsp[0].dbehavior);
27899
680
          n->missing_ok = false;
27900
680
          (yyval.node) = (Node *)n;
27901
680
        }
27902
0
#line 27903 "gram.c"
27903
0
    break;
27904
27905
224
  case 305:
27906
224
#line 2337 "gram.y"
27907
224
    {
27908
224
          AlterTableCmd *n = makeNode(AlterTableCmd);
27909
224
          ColumnDef *def = makeNode(ColumnDef);
27910
0
          n->subtype = AT_AlterColumnType;
27911
224
          n->name = (yyvsp[-5].str);
27912
224
          n->def = (Node *) def;
27913
          /* We only use these fields of the ColumnDef node */
27914
224
          def->typeName = (yyvsp[-2].typnam);
27915
224
          def->collClause = (CollateClause *) (yyvsp[-1].node);
27916
224
          def->raw_default = (yyvsp[0].node);
27917
224
          def->location = (yylsp[-5]);
27918
224
          (yyval.node) = (Node *)n;
27919
224
        }
27920
0
#line 27921 "gram.c"
27921
0
    break;
27922
27923
44
  case 306:
27924
44
#line 2352 "gram.y"
27925
44
    {
27926
44
          AlterTableCmd *n = makeNode(AlterTableCmd);
27927
0
          n->subtype = AT_AlterColumnGenericOptions;
27928
44
          n->name = (yyvsp[-1].str);
27929
44
          n->def = (Node *) (yyvsp[0].list);
27930
44
          (yyval.node) = (Node *)n;
27931
44
        }
27932
0
#line 27933 "gram.c"
27933
0
    break;
27934
27935
686
  case 307:
27936
686
#line 2361 "gram.y"
27937
686
    {
27938
686
          AlterTableCmd *n = makeNode(AlterTableCmd);
27939
0
          n->subtype = AT_AddConstraint;
27940
686
          n->def = (yyvsp[0].node);
27941
686
          (yyval.node) = (Node *)n;
27942
686
        }
27943
0
#line 27944 "gram.c"
27944
0
    break;
27945
27946
6
  case 308:
27947
6
#line 2369 "gram.y"
27948
6
    {
27949
6
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER TABLE ALTER CONSTRAINT", 1124);
27950
6
          AlterTableCmd *n = makeNode(AlterTableCmd);
27951
6
          Constraint *c = makeNode(Constraint);
27952
0
          n->subtype = AT_AlterConstraint;
27953
6
          n->def = (Node *) c;
27954
6
          c->contype = CONSTR_FOREIGN; /* others not supported, yet */
27955
6
          c->conname = (yyvsp[-1].str);
27956
6
          processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
27957
6
                  &c->deferrable,
27958
6
                  &c->initdeferred,
27959
6
                  NULL, NULL, yyscanner);
27960
6
          (yyval.node) = (Node *)n;
27961
6
        }
27962
0
#line 27963 "gram.c"
27963
0
    break;
27964
27965
2
  case 309:
27966
2
#line 2385 "gram.y"
27967
2
    {
27968
2
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE VALIDATE CONSTRAINT", 1124);
27969
2
          AlterTableCmd *n = makeNode(AlterTableCmd);
27970
0
          n->subtype = AT_ValidateConstraint;
27971
2
          n->name = (yyvsp[0].str);
27972
2
          (yyval.node) = (Node *)n;
27973
2
        }
27974
0
#line 27975 "gram.c"
27975
0
    break;
27976
27977
16
  case 310:
27978
16
#line 2394 "gram.y"
27979
16
    {
27980
16
          AlterTableCmd *n = makeNode(AlterTableCmd);
27981
0
          n->subtype = AT_DropConstraint;
27982
16
          n->name = (yyvsp[-1].str);
27983
16
          n->behavior = (yyvsp[0].dbehavior);
27984
16
          n->missing_ok = true;
27985
16
          (yyval.node) = (Node *)n;
27986
16
        }
27987
0
#line 27988 "gram.c"
27988
0
    break;
27989
27990
148
  case 311:
27991
148
#line 2404 "gram.y"
27992
148
    {
27993
148
          AlterTableCmd *n = makeNode(AlterTableCmd);
27994
0
          n->subtype = AT_DropConstraint;
27995
148
          n->name = (yyvsp[-1].str);
27996
148
          n->behavior = (yyvsp[0].dbehavior);
27997
148
          n->missing_ok = false;
27998
148
          (yyval.node) = (Node *)n;
27999
148
        }
28000
0
#line 28001 "gram.c"
28001
0
    break;
28002
28003
8
  case 312:
28004
8
#line 2414 "gram.y"
28005
8
    {
28006
8
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE SET WITH OIDS", 1124);
28007
8
          AlterTableCmd *n = makeNode(AlterTableCmd);
28008
0
          n->subtype = AT_AddOids;
28009
8
          (yyval.node) = (Node *)n;
28010
8
        }
28011
0
#line 28012 "gram.c"
28012
0
    break;
28013
28014
28
  case 313:
28015
28
#line 2422 "gram.y"
28016
28
    {
28017
28
          AlterTableCmd *n = makeNode(AlterTableCmd);
28018
0
          n->subtype = AT_DropOids;
28019
28
          (yyval.node) = (Node *)n;
28020
28
        }
28021
0
#line 28022 "gram.c"
28022
0
    break;
28023
28024
2
  case 314:
28025
2
#line 2429 "gram.y"
28026
2
    {
28027
2
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE CLUSTER", 1124);
28028
2
          AlterTableCmd *n = makeNode(AlterTableCmd);
28029
0
          n->subtype = AT_ClusterOn;
28030
2
          n->name = (yyvsp[0].str);
28031
2
          (yyval.node) = (Node *)n;
28032
2
        }
28033
0
#line 28034 "gram.c"
28034
0
    break;
28035
28036
2
  case 315:
28037
2
#line 2438 "gram.y"
28038
2
    {
28039
2
          parser_ybc_signal_unsupported((yylsp[-2]), "ALTER TABLE SET WITHOUT CLUSTER", 1124);
28040
2
          AlterTableCmd *n = makeNode(AlterTableCmd);
28041
0
          n->subtype = AT_DropCluster;
28042
2
          n->name = NULL;
28043
2
          (yyval.node) = (Node *)n;
28044
2
        }
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
12
  case 318:
28071
12
#line 2463 "gram.y"
28072
12
    {
28073
12
          AlterTableCmd *n = makeNode(AlterTableCmd);
28074
0
          n->subtype = AT_EnableTrig;
28075
12
          n->name = (yyvsp[0].str);
28076
12
          (yyval.node) = (Node *)n;
28077
12
        }
28078
0
#line 28079 "gram.c"
28079
0
    break;
28080
28081
8
  case 319:
28082
8
#line 2471 "gram.y"
28083
8
    {
28084
8
          AlterTableCmd *n = makeNode(AlterTableCmd);
28085
0
          n->subtype = AT_EnableAlwaysTrig;
28086
8
          n->name = (yyvsp[0].str);
28087
8
          (yyval.node) = (Node *)n;
28088
8
        }
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
16
  case 323:
28124
16
#line 2501 "gram.y"
28125
16
    {
28126
16
          AlterTableCmd *n = makeNode(AlterTableCmd);
28127
0
          n->subtype = AT_DisableTrig;
28128
16
          n->name = (yyvsp[0].str);
28129
16
          (yyval.node) = (Node *)n;
28130
16
        }
28131
0
#line 28132 "gram.c"
28132
0
    break;
28133
28134
4
  case 324:
28135
4
#line 2509 "gram.y"
28136
4
    {
28137
4
          AlterTableCmd *n = makeNode(AlterTableCmd);
28138
0
          n->subtype = AT_DisableTrigAll;
28139
4
          (yyval.node) = (Node *)n;
28140
4
        }
28141
0
#line 28142 "gram.c"
28142
0
    break;
28143
28144
4
  case 325:
28145
4
#line 2516 "gram.y"
28146
4
    {
28147
4
          AlterTableCmd *n = makeNode(AlterTableCmd);
28148
0
          n->subtype = AT_DisableTrigUser;
28149
4
          (yyval.node) = (Node *)n;
28150
4
        }
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
10
  case 330:
28203
10
#line 2559 "gram.y"
28204
10
    {
28205
10
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE INHERIT", 1124);
28206
10
          AlterTableCmd *n = makeNode(AlterTableCmd);
28207
0
          n->subtype = AT_AddInherit;
28208
10
          n->def = (Node *) (yyvsp[0].range);
28209
10
          (yyval.node) = (Node *)n;
28210
10
        }
28211
0
#line 28212 "gram.c"
28212
0
    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
18
  case 332:
28227
18
#line 2577 "gram.y"
28228
18
    {
28229
18
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE OF", 1124);
28230
18
          AlterTableCmd *n = makeNode(AlterTableCmd);
28231
0
          TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
28232
18
          def->location = (yylsp[0]);
28233
18
          n->subtype = AT_AddOf;
28234
18
          n->def = (Node *) def;
28235
18
          (yyval.node) = (Node *)n;
28236
18
        }
28237
0
#line 28238 "gram.c"
28238
0
    break;
28239
28240
2
  case 333:
28241
2
#line 2588 "gram.y"
28242
2
    {
28243
2
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE NOT OF", 1124);
28244
2
          AlterTableCmd *n = makeNode(AlterTableCmd);
28245
0
          n->subtype = AT_DropOf;
28246
2
          (yyval.node) = (Node *)n;
28247
2
        }
28248
0
#line 28249 "gram.c"
28249
0
    break;
28250
28251
270
  case 334:
28252
270
#line 2596 "gram.y"
28253
270
    {
28254
270
          AlterTableCmd *n = makeNode(AlterTableCmd);
28255
0
          n->subtype = AT_ChangeOwner;
28256
270
          n->newowner = (yyvsp[0].rolespec);
28257
270
          (yyval.node) = (Node *)n;
28258
270
        }
28259
0
#line 28260 "gram.c"
28260
0
    break;
28261
28262
24
  case 335:
28263
24
#line 2604 "gram.y"
28264
24
    {
28265
24
          parser_ybc_beta_feature((yylsp[-2]), "tablespace_alteration", true);
28266
24
          AlterTableCmd *n = makeNode(AlterTableCmd);
28267
0
          n->subtype = AT_SetTableSpace;
28268
24
          n->name = (yyvsp[0].str);
28269
24
          (yyval.node) = (Node *)n;
28270
24
        }
28271
0
#line 28272 "gram.c"
28272
0
    break;
28273
28274
20
  case 336:
28275
20
#line 2613 "gram.y"
28276
20
    {
28277
20
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE SET", 1124);
28278
20
          AlterTableCmd *n = makeNode(AlterTableCmd);
28279
0
          n->subtype = AT_SetRelOptions;
28280
20
          n->def = (Node *)(yyvsp[0].list);
28281
20
          (yyval.node) = (Node *)n;
28282
20
        }
28283
0
#line 28284 "gram.c"
28284
0
    break;
28285
28286
2
  case 337:
28287
2
#line 2622 "gram.y"
28288
2
    {
28289
2
          parser_ybc_signal_unsupported((yylsp[-1]), "ALTER TABLE RESET", 1124);
28290
2
          AlterTableCmd *n = makeNode(AlterTableCmd);
28291
0
          n->subtype = AT_ResetRelOptions;
28292
2
          n->def = (Node *)(yyvsp[0].list);
28293
2
          (yyval.node) = (Node *)n;
28294
2
        }
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
172
  case 339:
28311
172
#line 2640 "gram.y"
28312
172
    {
28313
172
          AlterTableCmd *n = makeNode(AlterTableCmd);
28314
0
          n->subtype = AT_EnableRowSecurity;
28315
172
          (yyval.node) = (Node *)n;
28316
172
        }
28317
0
#line 28318 "gram.c"
28318
0
    break;
28319
28320
8
  case 340:
28321
8
#line 2647 "gram.y"
28322
8
    {
28323
8
          AlterTableCmd *n = makeNode(AlterTableCmd);
28324
0
          n->subtype = AT_DisableRowSecurity;
28325
8
          (yyval.node) = (Node *)n;
28326
8
        }
28327
0
#line 28328 "gram.c"
28328
0
    break;
28329
28330
48
  case 341:
28331
48
#line 2654 "gram.y"
28332
48
    {
28333
48
          AlterTableCmd *n = makeNode(AlterTableCmd);
28334
0
          n->subtype = AT_ForceRowSecurity;
28335
48
          (yyval.node) = (Node *)n;
28336
48
        }
28337
0
#line 28338 "gram.c"
28338
0
    break;
28339
28340
16
  case 342:
28341
16
#line 2661 "gram.y"
28342
16
    {
28343
16
          AlterTableCmd *n = makeNode(AlterTableCmd);
28344
0
          n->subtype = AT_NoForceRowSecurity;
28345
16
          (yyval.node) = (Node *)n;
28346
16
        }
28347
0
#line 28348 "gram.c"
28348
0
    break;
28349
28350
18
  case 343:
28351
18
#line 2667 "gram.y"
28352
18
    {
28353
18
          parser_ybc_signal_unsupported((yylsp[0]), "ALTER TABLE", 1124);
28354
18
          AlterTableCmd *n = makeNode(AlterTableCmd);
28355
0
          n->subtype = AT_GenericOptions;
28356
18
          n->def = (Node *)(yyvsp[0].list);
28357
18
          (yyval.node) = (Node *) n;
28358
18
        }
28359
0
#line 28360 "gram.c"
28360
0
    break;
28361
28362
72
  case 344:
28363
72
#line 2677 "gram.y"
28364
72
    { (yyval.node) = (yyvsp[0].node); }
28365
72
#line 28366 "gram.c"
28366
72
    break;
28367
28368
28
  case 345:
28369
28
#line 2678 "gram.y"
28370
28
    { (yyval.node) = NULL; }
28371
28
#line 28372 "gram.c"
28372
28
    break;
28373
28374
15.1k
  case 346:
28375
15.1k
#line 2682 "gram.y"
28376
15.1k
    { (yyval.dbehavior) = DROP_CASCADE; }
28377
15.1k
#line 28378 "gram.c"
28378
15.1k
    break;
28379
28380
24
  case 347:
28381
24
#line 2683 "gram.y"
28382
24
    { (yyval.dbehavior) = DROP_RESTRICT; }
28383
24
#line 28384 "gram.c"
28384
24
    break;
28385
28386
10.9k
  case 348:
28387
10.9k
#line 2684 "gram.y"
28388
10.9k
    { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
28389
10.9k
#line 28390 "gram.c"
28390
10.9k
    break;
28391
28392
12
  case 349:
28393
12
#line 2689 "gram.y"
28394
12
    {
28395
12
          CollateClause *n = makeNode(CollateClause);
28396
0
          n->arg = NULL;
28397
12
          n->collname = (yyvsp[0].list);
28398
12
          n->location = (yylsp[-1]);
28399
12
          (yyval.node) = (Node *) n;
28400
12
        }
28401
0
#line 28402 "gram.c"
28402
0
    break;
28403
28404
4.00k
  case 350:
28405
4.00k
#line 2696 "gram.y"
28406
4.00k
    { (yyval.node) = NULL; }
28407
4.00k
#line 28408 "gram.c"
28408
4.00k
    break;
28409
28410
12
  case 351:
28411
12
#line 2700 "gram.y"
28412
12
    { (yyval.node) = (yyvsp[0].node); }
28413
12
#line 28414 "gram.c"
28414
12
    break;
28415
28416
212
  case 352:
28417
212
#line 2701 "gram.y"
28418
212
    { (yyval.node) = NULL; }
28419
212
#line 28420 "gram.c"
28420
212
    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
851
  case 357:
28467
851
#line 2736 "gram.y"
28468
851
    { (yyval.list) = (yyvsp[-1].list); }
28469
851
#line 28470 "gram.c"
28470
851
    break;
28471
28472
269
  case 358:
28473
269
#line 2739 "gram.y"
28474
269
    { (yyval.list) = (yyvsp[0].list); }
28475
269
#line 28476 "gram.c"
28476
269
    break;
28477
28478
5.14k
  case 359:
28479
5.14k
#line 2740 "gram.y"
28480
5.14k
    { (yyval.list) = NIL; }
28481
5.14k
#line 28482 "gram.c"
28482
5.14k
    break;
28483
28484
851
  case 360:
28485
851
#line 2747 "gram.y"
28486
851
    {
28487
851
          (yyval.list) = list_make1((yyvsp[0].defelt));
28488
851
        }
28489
851
#line 28490 "gram.c"
28490
851
    break;
28491
28492
521
  case 361:
28493
521
#line 2751 "gram.y"
28494
521
    {
28495
521
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
28496
521
        }
28497
521
#line 28498 "gram.c"
28498
521
    break;
28499
28500
1.34k
  case 362:
28501
1.34k
#line 2759 "gram.y"
28502
1.34k
    {
28503
1.34k
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
28504
1.34k
        }
28505
1.34k
#line 28506 "gram.c"
28506
1.34k
    break;
28507
28508
26
  case 363:
28509
26
#line 2763 "gram.y"
28510
26
    {
28511
26
          (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
28512
26
        }
28513
26
#line 28514 "gram.c"
28514
26
    break;
28515
28516
2
  case 364:
28517
2
#line 2767 "gram.y"
28518
2
    {
28519
2
          (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
28520
2
                       DEFELEM_UNSPEC, (yylsp[-4]));
28521
2
        }
28522
2
#line 28523 "gram.c"
28523
2
    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
20
  case 366:
28534
20
#line 2779 "gram.y"
28535
20
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
28536
20
#line 28537 "gram.c"
28537
20
    break;
28538
28539
4
  case 367:
28540
4
#line 2781 "gram.y"
28541
4
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
28542
4
#line 28543 "gram.c"
28543
4
    break;
28544
28545
4
  case 368:
28546
4
#line 2786 "gram.y"
28547
4
    {
28548
4
          (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
28549
4
        }
28550
4
#line 28551 "gram.c"
28551
4
    break;
28552
28553
4
  case 369:
28554
4
#line 2790 "gram.y"
28555
4
    {
28556
4
          (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
28557
4
        }
28558
4
#line 28559 "gram.c"
28559
4
    break;
28560
28561
8
  case 370:
28562
8
#line 2794 "gram.y"
28563
8
    {
28564
8
          if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
28565
8
            strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
28566
8
            strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
28567
8
            ereport(ERROR,
28568
8
                (errcode(ERRCODE_SYNTAX_ERROR),
28569
8
                 errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
28570
8
                 parser_errposition((yylsp[0]))));
28571
8
          (yyval.defelt) = (yyvsp[0].defelt);
28572
8
        }
28573
0
#line 28574 "gram.c"
28574
0
    break;
28575
28576
8
  case 371:
28577
8
#line 2805 "gram.y"
28578
8
    {
28579
8
          (yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
28580
8
        }
28581
8
#line 28582 "gram.c"
28582
8
    break;
28583
28584
164
  case 372:
28585
164
#line 2813 "gram.y"
28586
164
    {
28587
164
          ListCell   *lc;
28588
164
          PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28589
28590
164
          n->strategy = PARTITION_STRATEGY_HASH;
28591
164
          n->modulus = n->remainder = -1;
28592
28593
164
          foreach (lc, (yyvsp[-1].list))
28594
328
          {
28595
328
            DefElem    *opt = lfirst_node(DefElem, lc);
28596
28597
328
            if (strcmp(opt->defname, "modulus") == 0)
28598
164
            {
28599
164
              if (n->modulus != -1)
28600
164
                ereport(ERROR,
28601
164
                    (errcode(ERRCODE_DUPLICATE_OBJECT),
28602
164
                     errmsg("modulus for hash partition provided more than once"),
28603
164
                     parser_errposition(opt->location)));
28604
164
              n->modulus = defGetInt32(opt);
28605
164
            }
28606
164
            else if (strcmp(opt->defname, "remainder") == 0)
28607
164
            {
28608
164
              if (n->remainder != -1)
28609
164
                ereport(ERROR,
28610
164
                    (errcode(ERRCODE_DUPLICATE_OBJECT),
28611
164
                     errmsg("remainder for hash partition provided more than once"),
28612
164
                     parser_errposition(opt->location)));
28613
164
              n->remainder = defGetInt32(opt);
28614
164
            }
28615
0
            else
28616
0
              ereport(ERROR,
28617
328
                  (errcode(ERRCODE_SYNTAX_ERROR),
28618
328
                   errmsg("unrecognized hash partition bound specification \"%s\"",
28619
328
                      opt->defname),
28620
328
                   parser_errposition(opt->location)));
28621
328
          }
28622
28623
164
          if (n->modulus == -1)
28624
164
            ereport(ERROR,
28625
164
                (errcode(ERRCODE_SYNTAX_ERROR),
28626
164
                 errmsg("modulus for hash partition must be specified")));
28627
164
          if (n->remainder == -1)
28628
164
            ereport(ERROR,
28629
164
                (errcode(ERRCODE_SYNTAX_ERROR),
28630
164
                 errmsg("remainder for hash partition must be specified")));
28631
28632
164
          n->location = (yylsp[-3]);
28633
28634
164
          (yyval.partboundspec) = n;
28635
164
        }
28636
0
#line 28637 "gram.c"
28637
0
    break;
28638
28639
806
  case 373:
28640
806
#line 2866 "gram.y"
28641
806
    {
28642
806
          PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28643
28644
806
          n->strategy = PARTITION_STRATEGY_LIST;
28645
806
          n->is_default = false;
28646
806
          n->listdatums = (yyvsp[-1].list);
28647
806
          n->location = (yylsp[-3]);
28648
28649
806
          (yyval.partboundspec) = n;
28650
806
        }
28651
0
#line 28652 "gram.c"
28652
0
    break;
28653
28654
1.30k
  case 374:
28655
1.30k
#line 2879 "gram.y"
28656
1.30k
    {
28657
1.30k
          PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28658
28659
1.30k
          n->strategy = PARTITION_STRATEGY_RANGE;
28660
1.30k
          n->is_default = false;
28661
1.30k
          n->lowerdatums = (yyvsp[-5].list);
28662
1.30k
          n->upperdatums = (yyvsp[-1].list);
28663
1.30k
          n->location = (yylsp[-7]);
28664
28665
1.30k
          (yyval.partboundspec) = n;
28666
1.30k
        }
28667
0
#line 28668 "gram.c"
28668
0
    break;
28669
28670
120
  case 375:
28671
120
#line 2893 "gram.y"
28672
120
    {
28673
120
          PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28674
28675
0
          n->is_default = true;
28676
120
          n->location = (yylsp[0]);
28677
28678
120
          (yyval.partboundspec) = n;
28679
120
        }
28680
0
#line 28681 "gram.c"
28681
0
    break;
28682
28683
328
  case 376:
28684
328
#line 2905 "gram.y"
28685
328
    {
28686
328
        (yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
28687
328
      }
28688
328
#line 28689 "gram.c"
28689
328
    break;
28690
28691
164
  case 377:
28692
164
#line 2912 "gram.y"
28693
164
    {
28694
164
        (yyval.list) = list_make1((yyvsp[0].defelt));
28695
164
      }
28696
164
#line 28697 "gram.c"
28697
164
    break;
28698
28699
164
  case 378:
28700
164
#line 2916 "gram.y"
28701
164
    {
28702
164
        (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
28703
164
      }
28704
164
#line 28705 "gram.c"
28705
164
    break;
28706
28707
1.10k
  case 379:
28708
1.10k
#line 2922 "gram.y"
28709
1.10k
    { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
28710
1.10k
#line 28711 "gram.c"
28711
1.10k
    break;
28712
28713
4.17k
  case 380:
28714
4.17k
#line 2923 "gram.y"
28715
4.17k
    { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
28716
4.17k
#line 28717 "gram.c"
28717
4.17k
    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
24
  case 383:
28732
24
#line 2926 "gram.y"
28733
24
    { (yyval.node) = makeNullAConst((yylsp[0])); }
28734
24
#line 28735 "gram.c"
28735
24
    break;
28736
28737
806
  case 384:
28738
806
#line 2930 "gram.y"
28739
806
    { (yyval.list) = list_make1((yyvsp[0].node)); }
28740
806
#line 28741 "gram.c"
28741
806
    break;
28742
28743
566
  case 385:
28744
566
#line 2932 "gram.y"
28745
566
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
28746
566
#line 28747 "gram.c"
28747
566
    break;
28748
28749
3.37k
  case 386:
28750
3.37k
#line 2936 "gram.y"
28751
3.37k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
28752
3.37k
#line 28753 "gram.c"
28753
3.37k
    break;
28754
28755
863
  case 387:
28756
863
#line 2938 "gram.y"
28757
863
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
28758
863
#line 28759 "gram.c"
28759
863
    break;
28760
28761
176
  case 388:
28762
176
#line 2943 "gram.y"
28763
176
    {
28764
176
          PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
28765
28766
0
          n->kind = PARTITION_RANGE_DATUM_MINVALUE;
28767
176
          n->value = NULL;
28768
176
          n->location = (yylsp[0]);
28769
28770
176
          (yyval.node) = (Node *) n;
28771
176
        }
28772
0
#line 28773 "gram.c"
28773
0
    break;
28774
28775
140
  case 389:
28776
140
#line 2953 "gram.y"
28777
140
    {
28778
140
          PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
28779
28780
0
          n->kind = PARTITION_RANGE_DATUM_MAXVALUE;
28781
140
          n->value = NULL;
28782
140
          n->location = (yylsp[0]);
28783
28784
140
          (yyval.node) = (Node *) n;
28785
140
        }
28786
0
#line 28787 "gram.c"
28787
0
    break;
28788
28789
3.92k
  case 390:
28790
3.92k
#line 2963 "gram.y"
28791
3.92k
    {
28792
3.92k
          PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
28793
28794
0
          n->kind = PARTITION_RANGE_DATUM_VALUE;
28795
3.92k
          n->value = (yyvsp[0].node);
28796
3.92k
          n->location = (yylsp[0]);
28797
28798
3.92k
          (yyval.node) = (Node *) n;
28799
3.92k
        }
28800
0
#line 28801 "gram.c"
28801
0
    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
2
  case 396:
28858
2
#line 3024 "gram.y"
28859
2
    {
28860
2
          parser_ybc_signal_unsupported((yylsp[-3]), "ALTER TYPE DROP ATTRIBUTE", 1893);
28861
2
          AlterTableCmd *n = makeNode(AlterTableCmd);
28862
0
          n->subtype = AT_DropColumn;
28863
2
          n->name = (yyvsp[-1].str);
28864
2
          n->behavior = (yyvsp[0].dbehavior);
28865
2
          n->missing_ok = false;
28866
2
          (yyval.node) = (Node *)n;
28867
2
        }
28868
0
#line 28869 "gram.c"
28869
0
    break;
28870
28871
4
  case 397:
28872
4
#line 3035 "gram.y"
28873
4
    {
28874
4
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER TYPE ALTER ATTRIBUTE", 1893);
28875
4
          AlterTableCmd *n = makeNode(AlterTableCmd);
28876
4
          ColumnDef *def = makeNode(ColumnDef);
28877
0
          n->subtype = AT_AlterColumnType;
28878
4
          n->name = (yyvsp[-5].str);
28879
4
          n->def = (Node *) def;
28880
4
          n->behavior = (yyvsp[0].dbehavior);
28881
          /* We only use these fields of the ColumnDef node */
28882
4
          def->typeName = (yyvsp[-2].typnam);
28883
4
          def->collClause = (CollateClause *) (yyvsp[-1].node);
28884
4
          def->raw_default = NULL;
28885
4
          def->location = (yylsp[-5]);
28886
4
          (yyval.node) = (Node *)n;
28887
4
        }
28888
0
#line 28889 "gram.c"
28889
0
    break;
28890
28891
5.93k
  case 398:
28892
5.93k
#line 3062 "gram.y"
28893
5.93k
    {
28894
5.93k
          ClosePortalStmt *n = makeNode(ClosePortalStmt);
28895
0
          n->portalname = (yyvsp[0].str);
28896
5.93k
          (yyval.node) = (Node *)n;
28897
5.93k
        }
28898
0
#line 28899 "gram.c"
28899
0
    break;
28900
28901
8
  case 399:
28902
8
#line 3068 "gram.y"
28903
8
    {
28904
8
          ClosePortalStmt *n = makeNode(ClosePortalStmt);
28905
0
          n->portalname = NULL;
28906
8
          (yyval.node) = (Node *)n;
28907
8
        }
28908
0
#line 28909 "gram.c"
28909
0
    break;
28910
28911
1.49k
  case 400:
28912
1.49k
#line 3102 "gram.y"
28913
1.49k
    {
28914
1.49k
          CopyStmt *n = makeNode(CopyStmt);
28915
0
          n->relation = (yyvsp[-8].range);
28916
1.49k
          n->query = NULL;
28917
1.49k
          n->attlist = (yyvsp[-7].list);
28918
1.49k
          n->is_from = (yyvsp[-5].boolean);
28919
1.49k
          n->is_program = (yyvsp[-4].boolean);
28920
1.49k
          n->filename = (yyvsp[-3].str);
28921
28922
1.49k
          if (n->is_program && 
n->filename == NULL80
)
28923
1.49k
            ereport(ERROR,
28924
1.49k
                (errcode(ERRCODE_SYNTAX_ERROR),
28925
1.49k
                 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
28926
1.49k
                 parser_errposition((yylsp[-3]))));
28927
28928
1.49k
          n->options = NIL;
28929
          /* Concatenate user-supplied flags */
28930
1.49k
          if ((yyvsp[-9].defelt))
28931
0
            n->options = lappend(n->options, (yyvsp[-9].defelt));
28932
1.49k
          if ((yyvsp[-6].defelt))
28933
0
            n->options = lappend(n->options, (yyvsp[-6].defelt));
28934
1.49k
          if ((yyvsp[-2].defelt))
28935
0
            n->options = lappend(n->options, (yyvsp[-2].defelt));
28936
1.49k
          if ((yyvsp[0].list))
28937
356
            n->options = list_concat(n->options, (yyvsp[0].list));
28938
1.49k
          (yyval.node) = (Node *)n;
28939
1.49k
        }
28940
0
#line 28941 "gram.c"
28941
0
    break;
28942
28943
342
  case 401:
28944
342
#line 3130 "gram.y"
28945
342
    {
28946
342
          CopyStmt *n = makeNode(CopyStmt);
28947
0
          n->relation = NULL;
28948
342
          n->query = (yyvsp[-6].node);
28949
342
          n->attlist = NIL;
28950
342
          n->is_from = false;
28951
342
          n->is_program = (yyvsp[-3].boolean);
28952
342
          n->filename = (yyvsp[-2].str);
28953
342
          n->options = (yyvsp[0].list);
28954
28955
342
          if (n->is_program && 
n->filename == NULL0
)
28956
342
            ereport(ERROR,
28957
342
                (errcode(ERRCODE_SYNTAX_ERROR),
28958
342
                 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
28959
342
                 parser_errposition((yylsp[-4]))));
28960
28961
342
          (yyval.node) = (Node *)n;
28962
342
        }
28963
0
#line 28964 "gram.c"
28964
0
    break;
28965
28966
1.26k
  case 402:
28967
1.26k
#line 3151 "gram.y"
28968
1.26k
    { (yyval.boolean) = true; }
28969
1.26k
#line 28970 "gram.c"
28970
1.26k
    break;
28971
28972
232
  case 403:
28973
232
#line 3152 "gram.y"
28974
232
    { (yyval.boolean) = false; }
28975
232
#line 28976 "gram.c"
28976
232
    break;
28977
28978
80
  case 404:
28979
80
#line 3156 "gram.y"
28980
80
    { (yyval.boolean) = true; }
28981
80
#line 28982 "gram.c"
28982
80
    break;
28983
28984
1.75k
  case 405:
28985
1.75k
#line 3157 "gram.y"
28986
1.75k
    { (yyval.boolean) = false; }
28987
1.75k
#line 28988 "gram.c"
28988
1.75k
    break;
28989
28990
790
  case 406:
28991
790
#line 3166 "gram.y"
28992
790
    { (yyval.str) = (yyvsp[0].str); }
28993
790
#line 28994 "gram.c"
28994
790
    break;
28995
28996
584
  case 407:
28997
584
#line 3167 "gram.y"
28998
584
    { (yyval.str) = NULL; }
28999
584
#line 29000 "gram.c"
29000
584
    break;
29001
29002
462
  case 408:
29003
462
#line 3168 "gram.y"
29004
462
    { (yyval.str) = NULL; }
29005
462
#line 29006 "gram.c"
29006
462
    break;
29007
29008
1.60k
  case 409:
29009
1.60k
#line 3171 "gram.y"
29010
1.60k
    { (yyval.list) = (yyvsp[0].list); }
29011
1.60k
#line 29012 "gram.c"
29012
1.60k
    break;
29013
29014
236
  case 410:
29015
236
#line 3172 "gram.y"
29016
236
    { (yyval.list) = (yyvsp[-1].list); }
29017
236
#line 29018 "gram.c"
29018
236
    break;
29019
29020
319
  case 411:
29021
319
#line 3177 "gram.y"
29022
319
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
29023
319
#line 29024 "gram.c"
29024
319
    break;
29025
29026
1.60k
  case 412:
29027
1.60k
#line 3178 "gram.y"
29028
1.60k
    { (yyval.list) = NIL; }
29029
1.60k
#line 29030 "gram.c"
29030
1.60k
    break;
29031
29032
40
  case 413:
29033
40
#line 3183 "gram.y"
29034
40
    {
29035
40
          (yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
29036
40
        }
29037
40
#line 29038 "gram.c"
29038
40
    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
80
  case 416:
29057
80
#line 3195 "gram.y"
29058
80
    {
29059
80
          (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29060
80
        }
29061
80
#line 29062 "gram.c"
29062
80
    break;
29063
29064
24
  case 417:
29065
24
#line 3199 "gram.y"
29066
24
    {
29067
24
          (yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29068
24
        }
29069
24
#line 29070 "gram.c"
29070
24
    break;
29071
29072
85
  case 418:
29073
85
#line 3203 "gram.y"
29074
85
    {
29075
85
          (yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
29076
85
        }
29077
85
#line 29078 "gram.c"
29078
85
    break;
29079
29080
61
  case 419:
29081
61
#line 3207 "gram.y"
29082
61
    {
29083
61
          (yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[0]));
29084
61
        }
29085
61
#line 29086 "gram.c"
29086
61
    break;
29087
29088
4
  case 420:
29089
4
#line 3211 "gram.y"
29090
4
    {
29091
4
          (yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29092
4
        }
29093
4
#line 29094 "gram.c"
29094
4
    break;
29095
29096
4
  case 421:
29097
4
#line 3215 "gram.y"
29098
4
    {
29099
4
          (yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29100
4
        }
29101
4
#line 29102 "gram.c"
29102
4
    break;
29103
29104
9
  case 422:
29105
9
#line 3219 "gram.y"
29106
9
    {
29107
9
          (yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
29108
9
        }
29109
9
#line 29110 "gram.c"
29110
9
    break;
29111
29112
4
  case 423:
29113
4
#line 3223 "gram.y"
29114
4
    {
29115
4
          (yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
29116
4
        }
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
8
  case 426:
29137
8
#line 3235 "gram.y"
29138
8
    {
29139
8
          (yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
29140
8
        }
29141
8
#line 29142 "gram.c"
29142
8
    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
1.49k
  case 428:
29153
1.49k
#line 3247 "gram.y"
29154
1.49k
    { (yyval.defelt) = NULL; }
29155
1.49k
#line 29156 "gram.c"
29156
1.49k
    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
1.49k
  case 430:
29167
1.49k
#line 3255 "gram.y"
29168
1.49k
    { (yyval.defelt) = NULL; }
29169
1.49k
#line 29170 "gram.c"
29170
1.49k
    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
1.49k
  case 432:
29181
1.49k
#line 3263 "gram.y"
29182
1.49k
    { (yyval.defelt) = NULL; }
29183
1.49k
#line 29184 "gram.c"
29184
1.49k
    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
236
  case 435:
29199
236
#line 3274 "gram.y"
29200
236
    {
29201
236
          (yyval.list) = list_make1((yyvsp[0].defelt));
29202
236
        }
29203
236
#line 29204 "gram.c"
29204
236
    break;
29205
29206
408
  case 436:
29207
408
#line 3278 "gram.y"
29208
408
    {
29209
408
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
29210
408
        }
29211
408
#line 29212 "gram.c"
29212
408
    break;
29213
29214
644
  case 437:
29215
644
#line 3285 "gram.y"
29216
644
    {
29217
644
          (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
29218
644
        }
29219
644
#line 29220 "gram.c"
29220
644
    break;
29221
29222
268
  case 438:
29223
268
#line 3291 "gram.y"
29224
268
    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
29225
268
#line 29226 "gram.c"
29226
268
    break;
29227
29228
152
  case 439:
29229
152
#line 3292 "gram.y"
29230
152
    { (yyval.node) = (Node *) (yyvsp[0].value); }
29231
152
#line 29232 "gram.c"
29232
152
    break;
29233
29234
8
  case 440:
29235
8
#line 3293 "gram.y"
29236
8
    { (yyval.node) = (Node *) makeNode(A_Star); }
29237
0
#line 29238 "gram.c"
29238
0
    break;
29239
29240
40
  case 441:
29241
40
#line 3294 "gram.y"
29242
40
    { (yyval.node) = (Node *) (yyvsp[-1].list); }
29243
40
#line 29244 "gram.c"
29244
40
    break;
29245
29246
176
  case 442:
29247
176
#line 3295 "gram.y"
29248
176
    { (yyval.node) = NULL; }
29249
176
#line 29250 "gram.c"
29250
176
    break;
29251
29252
40
  case 443:
29253
40
#line 3300 "gram.y"
29254
40
    {
29255
40
          (yyval.list) = list_make1((yyvsp[0].node));
29256
40
        }
29257
40
#line 29258 "gram.c"
29258
40
    break;
29259
29260
8
  case 444:
29261
8
#line 3304 "gram.y"
29262
8
    {
29263
8
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29264
8
        }
29265
8
#line 29266 "gram.c"
29266
8
    break;
29267
29268
48
  case 445:
29269
48
#line 3311 "gram.y"
29270
48
    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
29271
48
#line 29272 "gram.c"
29272
48
    break;
29273
29274
14.8k
  case 446:
29275
14.8k
#line 3325 "gram.y"
29276
14.8k
    {
29277
14.8k
          CreateStmt *n = makeNode(CreateStmt);
29278
0
          (yyvsp[-10].range)->relpersistence = (yyvsp[-12].ival);
29279
14.8k
          n->relation = (yyvsp[-10].range);
29280
14.8k
          n->tableElts = (yyvsp[-8].list);
29281
14.8k
          n->inhRelations = (yyvsp[-6].list);
29282
14.8k
          n->partspec = (yyvsp[-5].partspec);
29283
14.8k
          n->ofTypename = NULL;
29284
14.8k
          n->constraints = NIL;
29285
14.8k
          n->options = (yyvsp[-4].list);
29286
14.8k
          n->oncommit = (yyvsp[-3].oncommit);
29287
14.8k
          n->tablespacename = (yyvsp[-2].str);
29288
14.8k
          n->if_not_exists = false;
29289
14.8k
          n->split_options = (yyvsp[-1].splitopt);
29290
14.8k
          n->tablegroup = (yyvsp[0].grpopt);
29291
14.8k
          if ((yyvsp[-1].splitopt) && 
(yyvsp[-12].ival) == 1.51k
RELPERSISTENCE_TEMP1.51k
)
29292
4
          {
29293
4
            ereport(WARNING, (errmsg("Split options on TEMP table will be ignored")));
29294
4
          }
29295
14.8k
          if ((yyvsp[0].grpopt) && 
(yyvsp[-12].ival) == 314
RELPERSISTENCE_TEMP314
)
29296
2
          {
29297
2
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29298
2
                    errmsg("Cannot use TABLEGROUP with TEMP table.")));
29299
2
          }
29300
14.8k
          if ((yyvsp[-2].str) && 
(yyvsp[0].grpopt)136
)
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
14.8k
          if ((yyvsp[-1].splitopt) && 
(yyvsp[0].grpopt)1.51k
)
29307
4
          {
29308
4
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29309
4
                    errmsg("Cannot use TABLEGROUP with SPLIT.")));
29310
4
          }
29311
14.8k
          (yyval.node) = (Node *)n;
29312
14.8k
        }
29313
0
#line 29314 "gram.c"
29314
0
    break;
29315
29316
310
  case 447:
29317
310
#line 3365 "gram.y"
29318
310
    {
29319
310
          CreateStmt *n = makeNode(CreateStmt);
29320
0
          (yyvsp[-10].range)->relpersistence = (yyvsp[-15].ival);
29321
310
          n->relation = (yyvsp[-10].range);
29322
310
          n->tableElts = (yyvsp[-8].list);
29323
310
          n->inhRelations = (yyvsp[-6].list);
29324
310
          n->partspec = (yyvsp[-5].partspec);
29325
310
          n->ofTypename = NULL;
29326
310
          n->constraints = NIL;
29327
310
          n->options = (yyvsp[-4].list);
29328
310
          n->oncommit = (yyvsp[-3].oncommit);
29329
310
          n->tablespacename = (yyvsp[-2].str);
29330
310
          n->if_not_exists = true;
29331
310
          n->split_options = (yyvsp[-1].splitopt);
29332
310
          n->tablegroup = (yyvsp[0].grpopt);
29333
310
          if ((yyvsp[-1].splitopt) && 
(yyvsp[-15].ival) == 0
RELPERSISTENCE_TEMP0
)
29334
0
          {
29335
0
            ereport(WARNING, (errmsg("Split options on TEMP table will be ignored")));
29336
0
          }
29337
310
          if ((yyvsp[0].grpopt) && 
(yyvsp[-15].ival) == 0
RELPERSISTENCE_TEMP0
)
29338
0
          {
29339
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29340
0
                    errmsg("Cannot use TABLEGROUP with TEMP table.")));
29341
0
          }
29342
310
          if ((yyvsp[-2].str) && 
(yyvsp[0].grpopt)48
)
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
310
          if ((yyvsp[-1].splitopt) && 
(yyvsp[0].grpopt)0
)
29349
0
          {
29350
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29351
0
                    errmsg("Cannot use TABLEGROUP with SPLIT.")));
29352
0
          }
29353
310
          (yyval.node) = (Node *)n;
29354
310
        }
29355
0
#line 29356 "gram.c"
29356
0
    break;
29357
29358
28
  case 448:
29359
28
#line 3405 "gram.y"
29360
28
    {
29361
28
          CreateStmt *n = makeNode(CreateStmt);
29362
0
          (yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
29363
28
          n->relation = (yyvsp[-9].range);
29364
28
          n->tableElts = (yyvsp[-6].list);
29365
28
          n->inhRelations = NIL;
29366
28
          n->partspec = (yyvsp[-5].partspec);
29367
28
          n->ofTypename = makeTypeNameFromNameList((yyvsp[-7].list));
29368
28
          n->ofTypename->location = (yylsp[-7]);
29369
28
          n->constraints = NIL;
29370
28
          n->options = (yyvsp[-4].list);
29371
28
          n->oncommit = (yyvsp[-3].oncommit);
29372
28
          n->tablespacename = (yyvsp[-2].str);
29373
28
          n->if_not_exists = false;
29374
28
          n->split_options = (yyvsp[-1].splitopt);
29375
28
          n->tablegroup = (yyvsp[0].grpopt);
29376
28
          if ((yyvsp[-1].splitopt) && 
(yyvsp[-11].ival) == 0
RELPERSISTENCE_TEMP0
)
29377
0
          {
29378
0
            ereport(WARNING, (errmsg("Split options on TEMP table will be ignored")));
29379
0
          }
29380
28
          if ((yyvsp[0].grpopt) && 
(yyvsp[-11].ival) == 0
RELPERSISTENCE_TEMP0
)
29381
0
          {
29382
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29383
0
                    errmsg("Cannot use TABLEGROUP with TEMP table.")));
29384
0
          }
29385
28
          if ((yyvsp[-2].str) && 
(yyvsp[0].grpopt)0
)
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
28
          if ((yyvsp[-1].splitopt) && 
(yyvsp[0].grpopt)0
)
29392
0
          {
29393
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29394
0
                    errmsg("Cannot use TABLEGROUP with SPLIT.")));
29395
0
          }
29396
28
          (yyval.node) = (Node *)n;
29397
28
        }
29398
0
#line 29399 "gram.c"
29399
0
    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
2.07k
  case 450:
29445
2.07k
#line 3487 "gram.y"
29446
2.07k
    {
29447
2.07k
          CreateStmt *n = makeNode(CreateStmt);
29448
0
          (yyvsp[-11].range)->relpersistence = (yyvsp[-13].ival);
29449
2.07k
          n->relation = (yyvsp[-11].range);
29450
2.07k
          n->tableElts = (yyvsp[-7].list);
29451
2.07k
          n->inhRelations = list_make1((yyvsp[-8].range));
29452
2.07k
          n->partbound = (yyvsp[-6].partboundspec);
29453
2.07k
          n->partspec = (yyvsp[-5].partspec);
29454
2.07k
          n->ofTypename = NULL;
29455
2.07k
          n->constraints = NIL;
29456
2.07k
          n->options = (yyvsp[-4].list);
29457
2.07k
          n->oncommit = (yyvsp[-3].oncommit);
29458
2.07k
          n->tablespacename = (yyvsp[-2].str);
29459
2.07k
          n->if_not_exists = false;
29460
2.07k
          n->split_options = (yyvsp[-1].splitopt);
29461
2.07k
          n->tablegroup = (yyvsp[0].grpopt);
29462
2.07k
          if ((yyvsp[-1].splitopt) && 
(yyvsp[-13].ival) == 0
RELPERSISTENCE_TEMP0
)
29463
0
          {
29464
0
            ereport(WARNING, (errmsg("Split options on TEMP table will be ignored")));
29465
0
          }
29466
2.07k
          if ((yyvsp[0].grpopt) && 
(yyvsp[-13].ival) == 0
RELPERSISTENCE_TEMP0
)
29467
0
          {
29468
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29469
0
                    errmsg("Cannot use TABLEGROUP with TEMP table.")));
29470
0
          }
29471
2.07k
          if ((yyvsp[-2].str) && 
(yyvsp[0].grpopt)84
)
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
2.07k
          if ((yyvsp[-1].splitopt) && 
(yyvsp[0].grpopt)0
)
29478
0
          {
29479
0
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29480
0
                    errmsg("Cannot use TABLEGROUP with SPLIT.")));
29481
0
          }
29482
2.07k
          (yyval.node) = (Node *)n;
29483
2.07k
        }
29484
0
#line 29485 "gram.c"
29485
0
    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
77
  case 452:
29531
77
#line 3579 "gram.y"
29532
77
    { (yyval.ival) = RELPERSISTENCE_TEMP; }
29533
77
#line 29534 "gram.c"
29534
77
    break;
29535
29536
744
  case 453:
29537
744
#line 3580 "gram.y"
29538
744
    { (yyval.ival) = RELPERSISTENCE_TEMP; }
29539
744
#line 29540 "gram.c"
29540
744
    break;
29541
29542
4
  case 454:
29543
4
#line 3581 "gram.y"
29544
4
    { (yyval.ival) = RELPERSISTENCE_TEMP; }
29545
4
#line 29546 "gram.c"
29546
4
    break;
29547
29548
4
  case 455:
29549
4
#line 3582 "gram.y"
29550
4
    { (yyval.ival) = RELPERSISTENCE_TEMP; }
29551
4
#line 29552 "gram.c"
29552
4
    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
4
  case 457:
29566
4
#line 3591 "gram.y"
29567
4
    {
29568
4
          ereport(WARNING,
29569
4
              (errmsg("GLOBAL is deprecated in temporary table creation"),
29570
4
               parser_errposition((yylsp[-1]))));
29571
4
          (yyval.ival) = RELPERSISTENCE_TEMP;
29572
4
        }
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
19.3k
  case 459:
29586
19.3k
#line 3602 "gram.y"
29587
19.3k
    { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
29588
19.3k
#line 29589 "gram.c"
29589
19.3k
    break;
29590
29591
15.4k
  case 460:
29592
15.4k
#line 3606 "gram.y"
29593
15.4k
    { (yyval.list) = (yyvsp[0].list); }
29594
15.4k
#line 29595 "gram.c"
29595
15.4k
    break;
29596
29597
170
  case 461:
29598
170
#line 3607 "gram.y"
29599
170
    { (yyval.list) = NIL; }
29600
170
#line 29601 "gram.c"
29601
170
    break;
29602
29603
48
  case 462:
29604
48
#line 3611 "gram.y"
29605
48
    { (yyval.list) = (yyvsp[-1].list); }
29606
48
#line 29607 "gram.c"
29607
48
    break;
29608
29609
2.09k
  case 463:
29610
2.09k
#line 3612 "gram.y"
29611
2.09k
    { (yyval.list) = NIL; }
29612
2.09k
#line 29613 "gram.c"
29613
2.09k
    break;
29614
29615
15.4k
  case 464:
29616
15.4k
#line 3617 "gram.y"
29617
15.4k
    {
29618
15.4k
          (yyval.list) = list_make1((yyvsp[0].node));
29619
15.4k
        }
29620
15.4k
#line 29621 "gram.c"
29621
15.4k
    break;
29622
29623
21.2k
  case 465:
29624
21.2k
#line 3621 "gram.y"
29625
21.2k
    {
29626
21.2k
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29627
21.2k
        }
29628
21.2k
#line 29629 "gram.c"
29629
21.2k
    break;
29630
29631
48
  case 466:
29632
48
#line 3628 "gram.y"
29633
48
    {
29634
48
          (yyval.list) = list_make1((yyvsp[0].node));
29635
48
        }
29636
48
#line 29637 "gram.c"
29637
48
    break;
29638
29639
32
  case 467:
29640
32
#line 3632 "gram.y"
29641
32
    {
29642
32
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29643
32
        }
29644
32
#line 29645 "gram.c"
29645
32
    break;
29646
29647
33.9k
  case 468:
29648
33.9k
#line 3638 "gram.y"
29649
33.9k
    { (yyval.node) = (yyvsp[0].node); }
29650
33.9k
#line 29651 "gram.c"
29651
33.9k
    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
2.74k
  case 470:
29660
2.74k
#line 3640 "gram.y"
29661
2.74k
    { (yyval.node) = (yyvsp[0].node); }
29662
2.74k
#line 29663 "gram.c"
29663
2.74k
    break;
29664
29665
64
  case 471:
29666
64
#line 3644 "gram.y"
29667
64
    { (yyval.node) = (yyvsp[0].node); }
29668
64
#line 29669 "gram.c"
29669
64
    break;
29670
29671
16
  case 472:
29672
16
#line 3645 "gram.y"
29673
16
    { (yyval.node) = (yyvsp[0].node); }
29674
16
#line 29675 "gram.c"
29675
16
    break;
29676
29677
35.1k
  case 473:
29678
35.1k
#line 3649 "gram.y"
29679
35.1k
    {
29680
35.1k
          ColumnDef *n = makeNode(ColumnDef);
29681
0
          n->colname = (yyvsp[-3].str);
29682
35.1k
          n->typeName = (yyvsp[-2].typnam);
29683
35.1k
          n->inhcount = 0;
29684
35.1k
          n->is_local = true;
29685
35.1k
          n->is_not_null = false;
29686
35.1k
          n->is_from_type = false;
29687
35.1k
          n->storage = 0;
29688
35.1k
          n->raw_default = NULL;
29689
35.1k
          n->cooked_default = NULL;
29690
35.1k
          n->collOid = InvalidOid;
29691
35.1k
          n->fdwoptions = (yyvsp[-1].list);
29692
35.1k
          SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29693
35.1k
                   yyscanner);
29694
35.1k
          n->location = (yylsp[-3]);
29695
35.1k
          (yyval.node) = (Node *)n;
29696
35.1k
        }
29697
0
#line 29698 "gram.c"
29698
0
    break;
29699
29700
56
  case 474:
29701
56
#line 3670 "gram.y"
29702
56
    {
29703
56
          ColumnDef *n = makeNode(ColumnDef);
29704
0
          n->colname = (yyvsp[-1].str);
29705
56
          n->typeName = NULL;
29706
56
          n->inhcount = 0;
29707
56
          n->is_local = true;
29708
56
          n->is_not_null = false;
29709
56
          n->is_from_type = false;
29710
56
          n->storage = 0;
29711
56
          n->raw_default = NULL;
29712
56
          n->cooked_default = NULL;
29713
56
          n->collOid = InvalidOid;
29714
56
          SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29715
56
                   yyscanner);
29716
56
          n->location = (yylsp[-1]);
29717
56
          (yyval.node) = (Node *)n;
29718
56
        }
29719
0
#line 29720 "gram.c"
29720
0
    break;
29721
29722
8
  case 475:
29723
8
#line 3688 "gram.y"
29724
8
    {
29725
8
          ColumnDef *n = makeNode(ColumnDef);
29726
0
          n->colname = (yyvsp[-3].str);
29727
8
          n->typeName = NULL;
29728
8
          n->inhcount = 0;
29729
8
          n->is_local = true;
29730
8
          n->is_not_null = false;
29731
8
          n->is_from_type = false;
29732
8
          n->storage = 0;
29733
8
          n->raw_default = NULL;
29734
8
          n->cooked_default = NULL;
29735
8
          n->collOid = InvalidOid;
29736
8
          SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29737
8
                   yyscanner);
29738
8
          n->location = (yylsp[-3]);
29739
8
          (yyval.node) = (Node *)n;
29740
8
        }
29741
0
#line 29742 "gram.c"
29742
0
    break;
29743
29744
10.0k
  case 476:
29745
10.0k
#line 3708 "gram.y"
29746
10.0k
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
29747
10.0k
#line 29748 "gram.c"
29748
10.0k
    break;
29749
29750
35.4k
  case 477:
29751
35.4k
#line 3709 "gram.y"
29752
35.4k
    { (yyval.list) = NIL; }
29753
35.4k
#line 29754 "gram.c"
29754
35.4k
    break;
29755
29756
71
  case 478:
29757
71
#line 3714 "gram.y"
29758
71
    {
29759
71
          Constraint *n = castNode(Constraint, (yyvsp[0].node));
29760
71
          n->conname = (yyvsp[-1].str);
29761
71
          n->location = (yylsp[-2]);
29762
71
          (yyval.node) = (Node *) n;
29763
71
        }
29764
71
#line 29765 "gram.c"
29765
71
    break;
29766
29767
9.58k
  case 479:
29768
9.58k
#line 3720 "gram.y"
29769
9.58k
    { (yyval.node) = (yyvsp[0].node); }
29770
9.58k
#line 29771 "gram.c"
29771
9.58k
    break;
29772
29773
200
  case 480:
29774
200
#line 3721 "gram.y"
29775
200
    { (yyval.node) = (yyvsp[0].node); }
29776
200
#line 29777 "gram.c"
29777
200
    break;
29778
29779
175
  case 481:
29780
175
#line 3723 "gram.y"
29781
175
    {
29782
175
          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
175
          CollateClause *n = makeNode(CollateClause);
29790
0
          n->arg = NULL;
29791
175
          n->collname = (yyvsp[0].list);
29792
175
          n->location = (yylsp[-1]);
29793
175
          (yyval.node) = (Node *) n;
29794
175
        }
29795
0
#line 29796 "gram.c"
29796
0
    break;
29797
29798
1.95k
  case 482:
29799
1.95k
#line 3756 "gram.y"
29800
1.95k
    {
29801
1.95k
          Constraint *n = makeNode(Constraint);
29802
0
          n->contype = CONSTR_NOTNULL;
29803
1.95k
          n->location = (yylsp[-1]);
29804
1.95k
          (yyval.node) = (Node *)n;
29805
1.95k
        }
29806
0
#line 29807 "gram.c"
29807
0
    break;
29808
29809
24
  case 483:
29810
24
#line 3763 "gram.y"
29811
24
    {
29812
24
          Constraint *n = makeNode(Constraint);
29813
0
          n->contype = CONSTR_NULL;
29814
24
          n->location = (yylsp[0]);
29815
24
          (yyval.node) = (Node *)n;
29816
24
        }
29817
0
#line 29818 "gram.c"
29818
0
    break;
29819
29820
464
  case 484:
29821
464
#line 3770 "gram.y"
29822
464
    {
29823
464
          Constraint *n = makeNode(Constraint);
29824
0
          n->contype = CONSTR_UNIQUE;
29825
464
          n->location = (yylsp[-2]);
29826
464
          n->keys = NULL;
29827
464
          n->options = (yyvsp[-1].list);
29828
464
          n->indexname = NULL;
29829
464
          n->indexspace = (yyvsp[0].str);
29830
464
          (yyval.node) = (Node *)n;
29831
464
        }
29832
0
#line 29833 "gram.c"
29833
0
    break;
29834
29835
5.21k
  case 485:
29836
5.21k
#line 3781 "gram.y"
29837
5.21k
    {
29838
5.21k
          if ((yyvsp[0].str))
29839
2
          {
29840
2
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
29841
2
                errmsg("Cannot set TABLESPACE for PRIMARY KEY INDEX."),
29842
2
                errdetail("The tablespace of the indexed table will be used.")));
29843
2
          }
29844
5.21k
          Constraint *n = makeNode(Constraint);
29845
0
          n->contype = CONSTR_PRIMARY;
29846
5.21k
          n->location = (yylsp[-3]);
29847
5.21k
          n->keys = NULL;
29848
5.21k
          n->options = (yyvsp[-1].list);
29849
5.21k
          n->indexname = NULL;
29850
5.21k
          n->indexspace = (yyvsp[0].str);
29851
5.21k
          (yyval.node) = (Node *)n;
29852
5.21k
        }
29853
0
#line 29854 "gram.c"
29854
0
    break;
29855
29856
283
  case 486:
29857
283
#line 3798 "gram.y"
29858
283
    {
29859
283
          Constraint *n = makeNode(Constraint);
29860
0
          n->contype = CONSTR_CHECK;
29861
283
          n->location = (yylsp[-4]);
29862
283
          n->is_no_inherit = (yyvsp[0].boolean);
29863
283
          n->raw_expr = (yyvsp[-2].node);
29864
283
          n->cooked_expr = NULL;
29865
283
          n->skip_validation = false;
29866
283
          n->initially_valid = true;
29867
283
          (yyval.node) = (Node *)n;
29868
283
        }
29869
0
#line 29870 "gram.c"
29870
0
    break;
29871
29872
732
  case 487:
29873
732
#line 3810 "gram.y"
29874
732
    {
29875
732
          Constraint *n = makeNode(Constraint);
29876
0
          n->contype = CONSTR_DEFAULT;
29877
732
          n->location = (yylsp[-1]);
29878
732
          n->raw_expr = (yyvsp[0].node);
29879
732
          n->cooked_expr = NULL;
29880
732
          (yyval.node) = (Node *)n;
29881
732
        }
29882
0
#line 29883 "gram.c"
29883
0
    break;
29884
29885
100
  case 488:
29886
100
#line 3819 "gram.y"
29887
100
    {
29888
100
          Constraint *n = makeNode(Constraint);
29889
0
          n->contype = CONSTR_IDENTITY;
29890
100
          n->generated_when = (yyvsp[-3].ival);
29891
100
          n->options = (yyvsp[0].list);
29892
100
          n->location = (yylsp[-4]);
29893
100
          (yyval.node) = (Node *)n;
29894
100
        }
29895
0
#line 29896 "gram.c"
29896
0
    break;
29897
29898
888
  case 489:
29899
888
#line 3828 "gram.y"
29900
888
    {
29901
888
          Constraint *n = makeNode(Constraint);
29902
0
          n->contype = CONSTR_FOREIGN;
29903
888
          n->location = (yylsp[-4]);
29904
888
          n->pktable      = (yyvsp[-3].range);
29905
888
          n->fk_attrs     = NIL;
29906
888
          n->pk_attrs     = (yyvsp[-2].list);
29907
888
          n->fk_matchtype   = (yyvsp[-1].ival);
29908
888
          n->fk_upd_action  = (char) ((yyvsp[0].ival) >> 8);
29909
888
          n->fk_del_action  = (char) ((yyvsp[0].ival) & 0xFF);
29910
888
          n->skip_validation  = false;
29911
888
          n->initially_valid  = true;
29912
888
          (yyval.node) = (Node *)n;
29913
888
        }
29914
0
#line 29915 "gram.c"
29915
0
    break;
29916
29917
88
  case 490:
29918
88
#line 3845 "gram.y"
29919
88
    { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
29920
88
#line 29921 "gram.c"
29921
88
    break;
29922
29923
52
  case 491:
29924
52
#line 3846 "gram.y"
29925
52
    { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
29926
52
#line 29927 "gram.c"
29927
52
    break;
29928
29929
88
  case 492:
29930
88
#line 3866 "gram.y"
29931
88
    {
29932
88
          Constraint *n = makeNode(Constraint);
29933
0
          n->contype = CONSTR_ATTR_DEFERRABLE;
29934
88
          n->location = (yylsp[0]);
29935
88
          (yyval.node) = (Node *)n;
29936
88
        }
29937
0
#line 29938 "gram.c"
29938
0
    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
112
  case 494:
29952
112
#line 3880 "gram.y"
29953
112
    {
29954
112
          Constraint *n = makeNode(Constraint);
29955
0
          n->contype = CONSTR_ATTR_DEFERRED;
29956
112
          n->location = (yylsp[-1]);
29957
112
          (yyval.node) = (Node *)n;
29958
112
        }
29959
0
#line 29960 "gram.c"
29960
0
    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
12
  case 496:
29974
12
#line 3898 "gram.y"
29975
12
    {
29976
12
          parser_ybc_signal_unsupported((yylsp[-2]), "LIKE clause", 1129);
29977
12
          TableLikeClause *n = makeNode(TableLikeClause);
29978
0
          n->relation = (yyvsp[-1].range);
29979
12
          n->options = (yyvsp[0].ival);
29980
12
          (yyval.node) = (Node *)n;
29981
12
        }
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
14
  case 499:
29998
14
#line 3910 "gram.y"
29999
14
    { (yyval.ival) = 0; }
30000
14
#line 30001 "gram.c"
30001
14
    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
2
  case 507:
30064
2
#line 3946 "gram.y"
30065
2
    { parser_ybc_signal_unsupported((yylsp[0]), "LIKE ALL", 1129); (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
30066
2
#line 30067 "gram.c"
30067
2
    break;
30068
30069
672
  case 508:
30070
672
#line 3956 "gram.y"
30071
672
    {
30072
672
          Constraint *n = castNode(Constraint, (yyvsp[0].node));
30073
672
          n->conname = (yyvsp[-1].str);
30074
672
          n->location = (yylsp[-2]);
30075
672
          (yyval.node) = (Node *) n;
30076
672
        }
30077
672
#line 30078 "gram.c"
30078
672
    break;
30079
30080
2.77k
  case 509:
30081
2.77k
#line 3962 "gram.y"
30082
2.77k
    { (yyval.node) = (yyvsp[0].node); }
30083
2.77k
#line 30084 "gram.c"
30084
2.77k
    break;
30085
30086
126
  case 510:
30087
126
#line 3967 "gram.y"
30088
126
    {
30089
126
          Constraint *n = makeNode(Constraint);
30090
0
          n->contype = CONSTR_CHECK;
30091
126
          n->location = (yylsp[-4]);
30092
126
          n->raw_expr = (yyvsp[-2].node);
30093
126
          n->cooked_expr = NULL;
30094
126
          processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
30095
126
                   NULL, NULL, &n->skip_validation,
30096
126
                   &n->is_no_inherit, yyscanner);
30097
126
          n->initially_valid = !n->skip_validation;
30098
126
          (yyval.node) = (Node *)n;
30099
126
        }
30100
0
#line 30101 "gram.c"
30101
0
    break;
30102
30103
150
  case 511:
30104
150
#line 3981 "gram.y"
30105
150
    {
30106
150
          Constraint *n = makeNode(Constraint);
30107
0
          n->contype = CONSTR_UNIQUE;
30108
150
          n->location = (yylsp[-7]);
30109
150
          n->keys = (yyvsp[-5].list);
30110
150
          n->including = (yyvsp[-3].list);
30111
150
          n->options = (yyvsp[-2].list);
30112
150
          n->indexname = NULL;
30113
150
          n->indexspace = (yyvsp[-1].str);
30114
150
          processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
30115
150
                   &n->deferrable, &n->initdeferred, NULL,
30116
150
                   NULL, yyscanner);
30117
30118
          /* Make column list available as index params also */
30119
150
          ListCell *lc;
30120
150
          foreach(lc, (yyvsp[-5].list))
30121
224
          {
30122
224
            IndexElem *index_elem = makeNode(IndexElem);
30123
224
            index_elem->name = pstrdup(strVal(lfirst(lc)));
30124
224
            index_elem->expr = NULL;
30125
224
            index_elem->indexcolname = NULL;
30126
224
            index_elem->collation = NIL;
30127
224
            index_elem->opclass = NIL;
30128
224
            index_elem->ordering = SORTBY_DEFAULT;
30129
224
            index_elem->nulls_ordering = SORTBY_NULLS_DEFAULT;
30130
224
            n->yb_index_params = lappend(n->yb_index_params, index_elem);
30131
224
          }
30132
30133
150
          (yyval.node) = (Node *)n;
30134
150
        }
30135
0
#line 30136 "gram.c"
30136
0
    break;
30137
30138
28
  case 512:
30139
28
#line 4012 "gram.y"
30140
28
    {
30141
28
          Constraint *n = makeNode(Constraint);
30142
0
          n->contype = CONSTR_UNIQUE;
30143
28
          n->location = (yylsp[-2]);
30144
28
          n->keys = NIL;
30145
28
          n->including = NIL;
30146
28
          n->options = NIL;
30147
28
          n->indexname = (yyvsp[-1].str);
30148
28
          n->indexspace = NULL;
30149
28
          processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
30150
28
                   &n->deferrable, &n->initdeferred, NULL,
30151
28
                   NULL, yyscanner);
30152
28
          (yyval.node) = (Node *)n;
30153
28
        }
30154
0
#line 30155 "gram.c"
30155
0
    break;
30156
30157
2.81k
  case 513:
30158
2.81k
#line 4028 "gram.y"
30159
2.81k
    {
30160
2.81k
          Constraint *n = makeNode(Constraint);
30161
0
          n->contype = CONSTR_PRIMARY;
30162
2.81k
          n->location = (yylsp[-8]);
30163
          /* For Postgres' purpose, make index params available as a column list also */
30164
2.81k
          ListCell *lc;
30165
2.81k
          foreach(lc, (yyvsp[-5].list))
30166
4.21k
          {
30167
4.21k
            IndexElem *index_elem = (IndexElem *)lfirst(lc);
30168
4.21k
            n->keys = lappend(n->keys, makeString(index_elem->name));
30169
4.21k
          }
30170
2.81k
          n->including = (yyvsp[-3].list);
30171
2.81k
          n->options = (yyvsp[-2].list);
30172
2.81k
          n->indexname = NULL;
30173
2.81k
          if ((yyvsp[-1].str))
30174
2
          {
30175
2
            ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR),
30176
2
                errmsg("Cannot set TABLESPACE for PRIMARY KEY INDEX."),
30177
2
                errdetail("The tablespace of the indexed table will be used.")));
30178
2
          }
30179
2.81k
          n->indexspace = (yyvsp[-1].str);
30180
2.81k
          processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
30181
2.81k
                   &n->deferrable, &n->initdeferred, NULL,
30182
2.81k
                   NULL, yyscanner);
30183
30184
2.81k
          n->yb_index_params = (yyvsp[-5].list);
30185
30186
2.81k
          (yyval.node) = (Node *)n;
30187
2.81k
        }
30188
0
#line 30189 "gram.c"
30189
0
    break;
30190
30191
12
  case 514:
30192
12
#line 4058 "gram.y"
30193
12
    {
30194
12
          Constraint *n = makeNode(Constraint);
30195
0
          n->contype = CONSTR_PRIMARY;
30196
12
          n->location = (yylsp[-3]);
30197
12
          n->keys = NIL;
30198
12
          n->including = NIL;
30199
12
          n->options = NIL;
30200
12
          n->indexname = (yyvsp[-1].str);
30201
12
          n->indexspace = NULL;
30202
12
          processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
30203
12
                   &n->deferrable, &n->initdeferred, NULL,
30204
12
                   NULL, yyscanner);
30205
12
          (yyval.node) = (Node *)n;
30206
12
        }
30207
0
#line 30208 "gram.c"
30208
0
    break;
30209
30210
2
  case 515:
30211
2
#line 4075 "gram.y"
30212
2
    {
30213
2
          parser_ybc_signal_unsupported((yylsp[-9]), "EXCLUDE constraint", 3944);
30214
2
          Constraint *n = makeNode(Constraint);
30215
0
          n->contype = CONSTR_EXCLUSION;
30216
2
          n->location = (yylsp[-9]);
30217
2
          n->access_method  = (yyvsp[-8].str);
30218
2
          n->exclusions   = (yyvsp[-6].list);
30219
2
          n->including    = (yyvsp[-4].list);
30220
2
          n->options      = (yyvsp[-3].list);
30221
2
          n->indexname    = NULL;
30222
2
          n->indexspace   = (yyvsp[-2].str);
30223
2
          n->where_clause   = (yyvsp[-1].node);
30224
2
          processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
30225
2
                   &n->deferrable, &n->initdeferred, NULL,
30226
2
                   NULL, yyscanner);
30227
2
          (yyval.node) = (Node *)n;
30228
2
        }
30229
0
#line 30230 "gram.c"
30230
0
    break;
30231
30232
320
  case 516:
30233
320
#line 4094 "gram.y"
30234
320
    {
30235
320
          Constraint *n = makeNode(Constraint);
30236
0
          n->contype = CONSTR_FOREIGN;
30237
320
          n->location = (yylsp[-10]);
30238
320
          n->pktable      = (yyvsp[-4].range);
30239
320
          n->fk_attrs     = (yyvsp[-7].list);
30240
320
          n->pk_attrs     = (yyvsp[-3].list);
30241
320
          n->fk_matchtype   = (yyvsp[-2].ival);
30242
320
          n->fk_upd_action  = (char) ((yyvsp[-1].ival) >> 8);
30243
320
          n->fk_del_action  = (char) ((yyvsp[-1].ival) & 0xFF);
30244
320
          processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
30245
320
                   &n->deferrable, &n->initdeferred,
30246
320
                   &n->skip_validation, NULL,
30247
320
                   yyscanner);
30248
320
          n->initially_valid = !n->skip_validation;
30249
320
          (yyval.node) = (Node *)n;
30250
320
        }
30251
0
#line 30252 "gram.c"
30252
0
    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
283
  case 518:
30261
283
#line 4114 "gram.y"
30262
283
    {  (yyval.boolean) = false; }
30263
283
#line 30264 "gram.c"
30264
283
    break;
30265
30266
1.38k
  case 519:
30267
1.38k
#line 4118 "gram.y"
30268
1.38k
    { (yyval.list) = (yyvsp[-1].list); }
30269
1.38k
#line 30270 "gram.c"
30270
1.38k
    break;
30271
30272
6.54k
  case 520:
30273
6.54k
#line 4119 "gram.y"
30274
6.54k
    { (yyval.list) = NIL; }
30275
6.54k
#line 30276 "gram.c"
30276
6.54k
    break;
30277
30278
2.05k
  case 521:
30279
2.05k
#line 4123 "gram.y"
30280
2.05k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
30281
2.05k
#line 30282 "gram.c"
30282
2.05k
    break;
30283
30284
1.22k
  case 522:
30285
1.22k
#line 4124 "gram.y"
30286
1.22k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
30287
1.22k
#line 30288 "gram.c"
30288
1.22k
    break;
30289
30290
3.27k
  case 523:
30291
3.27k
#line 4128 "gram.y"
30292
3.27k
    {
30293
3.27k
          (yyval.node) = (Node *) makeString((yyvsp[0].str));
30294
3.27k
        }
30295
3.27k
#line 30296 "gram.c"
30296
3.27k
    break;
30297
30298
48
  case 524:
30299
48
#line 4133 "gram.y"
30300
48
    { (yyval.list) = (yyvsp[-1].list); }
30301
48
#line 30302 "gram.c"
30302
48
    break;
30303
30304
2.91k
  case 525:
30305
2.91k
#line 4134 "gram.y"
30306
2.91k
    { (yyval.list) = NIL; }
30307
2.91k
#line 30308 "gram.c"
30308
2.91k
    break;
30309
30310
36
  case 526:
30311
36
#line 4138 "gram.y"
30312
36
    {
30313
36
        (yyval.ival) = FKCONSTR_MATCH_FULL;
30314
36
      }
30315
36
#line 30316 "gram.c"
30316
36
    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
12
  case 528:
30331
12
#line 4150 "gram.y"
30332
12
    {
30333
12
        (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
30334
12
      }
30335
12
#line 30336 "gram.c"
30336
12
    break;
30337
30338
1.16k
  case 529:
30339
1.16k
#line 4154 "gram.y"
30340
1.16k
    {
30341
1.16k
        (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
30342
1.16k
      }
30343
1.16k
#line 30344 "gram.c"
30344
1.16k
    break;
30345
30346
2
  case 530:
30347
2
#line 4160 "gram.y"
30348
2
    { (yyval.list) = list_make1((yyvsp[0].list)); }
30349
2
#line 30350 "gram.c"
30350
2
    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
2
  case 532:
30359
2
#line 4166 "gram.y"
30360
2
    {
30361
2
        (yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
30362
2
      }
30363
2
#line 30364 "gram.c"
30364
2
    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
2
  case 535:
30381
2
#line 4178 "gram.y"
30382
2
    { (yyval.node) = NULL; }
30383
2
#line 30384 "gram.c"
30384
2
    break;
30385
30386
56
  case 536:
30387
56
#line 4189 "gram.y"
30388
56
    { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
30389
56
#line 30390 "gram.c"
30390
56
    break;
30391
30392
36
  case 537:
30393
36
#line 4191 "gram.y"
30394
36
    { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
30395
36
#line 30396 "gram.c"
30396
36
    break;
30397
30398
32
  case 538:
30399
32
#line 4193 "gram.y"
30400
32
    { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
30401
32
#line 30402 "gram.c"
30402
32
    break;
30403
30404
44
  case 539:
30405
44
#line 4195 "gram.y"
30406
44
    { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
30407
44
#line 30408 "gram.c"
30408
44
    break;
30409
30410
1.04k
  case 540:
30411
1.04k
#line 4197 "gram.y"
30412
1.04k
    { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
30413
1.04k
#line 30414 "gram.c"
30414
1.04k
    break;
30415
30416
132
  case 541:
30417
132
#line 4200 "gram.y"
30418
132
    { (yyval.ival) = (yyvsp[0].ival); }
30419
132
#line 30420 "gram.c"
30420
132
    break;
30421
30422
112
  case 542:
30423
112
#line 4203 "gram.y"
30424
112
    { (yyval.ival) = (yyvsp[0].ival); }
30425
112
#line 30426 "gram.c"
30426
112
    break;
30427
30428
16
  case 543:
30429
16
#line 4207 "gram.y"
30430
16
    { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
30431
16
#line 30432 "gram.c"
30432
16
    break;
30433
30434
16
  case 544:
30435
16
#line 4208 "gram.y"
30436
16
    { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
30437
16
#line 30438 "gram.c"
30438
16
    break;
30439
30440
116
  case 545:
30441
116
#line 4209 "gram.y"
30442
116
    { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
30443
116
#line 30444 "gram.c"
30444
116
    break;
30445
30446
68
  case 546:
30447
68
#line 4210 "gram.y"
30448
68
    { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
30449
68
#line 30450 "gram.c"
30450
68
    break;
30451
30452
28
  case 547:
30453
28
#line 4211 "gram.y"
30454
28
    { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
30455
28
#line 30456 "gram.c"
30456
28
    break;
30457
30458
126
  case 548:
30459
126
#line 4215 "gram.y"
30460
126
    {
30461
126
          parser_ybc_signal_unsupported((yylsp[-3]), "INHERITS", 1129);
30462
126
          (yyval.list) = (yyvsp[-1].list);
30463
126
        }
30464
126
#line 30465 "gram.c"
30465
126
    break;
30466
30467
15.4k
  case 549:
30468
15.4k
#line 4219 "gram.y"
30469
15.4k
    { (yyval.list) = NIL; }
30470
15.4k
#line 30471 "gram.c"
30471
15.4k
    break;
30472
30473
852
  case 550:
30474
852
#line 4223 "gram.y"
30475
852
    { (yyval.partspec) = (yyvsp[0].partspec); }
30476
852
#line 30477 "gram.c"
30477
852
    break;
30478
30479
16.4k
  case 551:
30480
16.4k
#line 4224 "gram.y"
30481
16.4k
    { (yyval.partspec) = NULL; }
30482
16.4k
#line 30483 "gram.c"
30483
16.4k
    break;
30484
30485
852
  case 552:
30486
852
#line 4228 "gram.y"
30487
852
    {
30488
852
          PartitionSpec *n = makeNode(PartitionSpec);
30489
30490
0
          n->strategy = (yyvsp[-3].str);
30491
852
          n->partParams = (yyvsp[-1].list);
30492
852
          n->location = (yylsp[-5]);
30493
30494
852
          (yyval.partspec) = n;
30495
852
        }
30496
0
#line 30497 "gram.c"
30497
0
    break;
30498
30499
416
  case 553:
30500
416
#line 4239 "gram.y"
30501
416
    { (yyval.str) = (yyvsp[0].str); }
30502
416
#line 30503 "gram.c"
30503
416
    break;
30504
30505
436
  case 554:
30506
436
#line 4240 "gram.y"
30507
436
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
30508
436
#line 30509 "gram.c"
30509
436
    break;
30510
30511
852
  case 555:
30512
852
#line 4243 "gram.y"
30513
852
    { (yyval.list) = list_make1((yyvsp[0].partelem)); }
30514
852
#line 30515 "gram.c"
30515
852
    break;
30516
30517
80
  case 556:
30518
80
#line 4244 "gram.y"
30519
80
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
30520
80
#line 30521 "gram.c"
30521
80
    break;
30522
30523
860
  case 557:
30524
860
#line 4248 "gram.y"
30525
860
    {
30526
860
          PartitionElem *n = makeNode(PartitionElem);
30527
30528
0
          n->name = (yyvsp[-2].str);
30529
860
          n->expr = NULL;
30530
860
          n->collation = (yyvsp[-1].list);
30531
860
          n->opclass = (yyvsp[0].list);
30532
860
          n->location = (yylsp[-2]);
30533
860
          (yyval.partelem) = n;
30534
860
        }
30535
0
#line 30536 "gram.c"
30536
0
    break;
30537
30538
40
  case 558:
30539
40
#line 4259 "gram.y"
30540
40
    {
30541
40
          PartitionElem *n = makeNode(PartitionElem);
30542
30543
0
          n->name = NULL;
30544
40
          n->expr = (yyvsp[-2].node);
30545
40
          n->collation = (yyvsp[-1].list);
30546
40
          n->opclass = (yyvsp[0].list);
30547
40
          n->location = (yylsp[-2]);
30548
40
          (yyval.partelem) = n;
30549
40
        }
30550
0
#line 30551 "gram.c"
30551
0
    break;
30552
30553
32
  case 559:
30554
32
#line 4270 "gram.y"
30555
32
    {
30556
32
          PartitionElem *n = makeNode(PartitionElem);
30557
30558
0
          n->name = NULL;
30559
32
          n->expr = (yyvsp[-3].node);
30560
32
          n->collation = (yyvsp[-1].list);
30561
32
          n->opclass = (yyvsp[0].list);
30562
32
          n->location = (yylsp[-4]);
30563
32
          (yyval.partelem) = n;
30564
32
        }
30565
0
#line 30566 "gram.c"
30566
0
    break;
30567
30568
552
  case 560:
30569
552
#line 4283 "gram.y"
30570
552
    { (yyval.list) = (yyvsp[0].list); }
30571
552
#line 30572 "gram.c"
30572
552
    break;
30573
30574
8
  case 561:
30575
8
#line 4285 "gram.y"
30576
8
    {
30577
8
          (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(true), (yylsp[-1])));
30578
8
        }
30579
8
#line 30580 "gram.c"
30580
8
    break;
30581
30582
54
  case 562:
30583
54
#line 4289 "gram.y"
30584
54
    {
30585
54
          (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(false), (yylsp[-1])));
30586
54
        }
30587
54
#line 30588 "gram.c"
30588
54
    break;
30589
30590
16.8k
  case 563:
30591
16.8k
#line 4292 "gram.y"
30592
16.8k
    { (yyval.list) = NIL; }
30593
16.8k
#line 30594 "gram.c"
30594
16.8k
    break;
30595
30596
12
  case 564:
30597
12
#line 4295 "gram.y"
30598
12
    { (yyval.oncommit) = ONCOMMIT_DROP; }
30599
12
#line 30600 "gram.c"
30600
12
    break;
30601
30602
16
  case 565:
30603
16
#line 4296 "gram.y"
30604
16
    { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
30605
16
#line 30606 "gram.c"
30606
16
    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
17.4k
  case 567:
30615
17.4k
#line 4298 "gram.y"
30616
17.4k
    { (yyval.oncommit) = ONCOMMIT_NOOP; }
30617
17.4k
#line 30618 "gram.c"
30618
17.4k
    break;
30619
30620
334
  case 568:
30621
334
#line 4303 "gram.y"
30622
334
    {
30623
334
          parser_ybc_beta_feature((yylsp[-1]), "tablegroup", true);
30624
334
          (yyval.grpopt) = makeNode(OptTableGroup);
30625
0
          (yyval.grpopt)->has_tablegroup = true;
30626
334
          (yyval.grpopt)->tablegroup_name = (yyvsp[0].str);
30627
334
        }
30628
0
#line 30629 "gram.c"
30629
0
    break;
30630
30631
16
  case 569:
30632
16
#line 4310 "gram.y"
30633
16
    {
30634
          /* This is only intended for indexes. */
30635
30636
16
          parser_ybc_beta_feature((yylsp[-1]), "tablegroup", true);
30637
16
          (yyval.grpopt) = makeNode(OptTableGroup);
30638
0
          (yyval.grpopt)->has_tablegroup = false;
30639
16
          (yyval.grpopt)->tablegroup_name = NULL;
30640
16
        }
30641
0
#line 30642 "gram.c"
30642
0
    break;
30643
30644
19.6k
  case 570:
30645
19.6k
#line 4319 "gram.y"
30646
19.6k
    {
30647
19.6k
          (yyval.grpopt) = (OptTableGroup*) NULL;
30648
19.6k
        }
30649
19.6k
#line 30650 "gram.c"
30650
19.6k
    break;
30651
30652
401
  case 571:
30653
401
#line 4325 "gram.y"
30654
401
    { (yyval.str) = (yyvsp[0].str); }
30655
401
#line 30656 "gram.c"
30656
401
    break;
30657
30658
20.2k
  case 572:
30659
20.2k
#line 4326 "gram.y"
30660
20.2k
    { (yyval.str) = NULL; }
30661
20.2k
#line 30662 "gram.c"
30662
20.2k
    break;
30663
30664
32
  case 573:
30665
32
#line 4331 "gram.y"
30666
32
    {
30667
32
          (yyval.str) = (yyvsp[0].str);
30668
32
        }
30669
32
#line 30670 "gram.c"
30670
32
    break;
30671
30672
8.61k
  case 574:
30673
8.61k
#line 4334 "gram.y"
30674
8.61k
    { (yyval.str) = NULL; }
30675
8.61k
#line 30676 "gram.c"
30676
8.61k
    break;
30677
30678
40
  case 575:
30679
40
#line 4337 "gram.y"
30680
40
    { (yyval.str) = (yyvsp[0].str); }
30681
40
#line 30682 "gram.c"
30682
40
    break;
30683
30684
8
  case 576:
30685
8
#line 4342 "gram.y"
30686
8
    {
30687
8
          (yyval.splitopt) = (yyvsp[-1].splitopt);
30688
8
        }
30689
8
#line 30690 "gram.c"
30690
8
    break;
30691
30692
1.62k
  case 577:
30693
1.62k
#line 4346 "gram.y"
30694
1.62k
    {
30695
1.62k
          (yyval.splitopt) = (yyvsp[0].splitopt);
30696
1.62k
        }
30697
1.62k
#line 30698 "gram.c"
30698
1.62k
    break;
30699
30700
18.4k
  case 578:
30701
18.4k
#line 4350 "gram.y"
30702
18.4k
    {
30703
18.4k
          (yyval.splitopt) = (OptSplit*) NULL;
30704
18.4k
        }
30705
18.4k
#line 30706 "gram.c"
30706
18.4k
    break;
30707
30708
1.27k
  case 579:
30709
1.27k
#line 4357 "gram.y"
30710
1.27k
    {
30711
1.27k
          (yyval.splitopt) = makeNode(OptSplit);
30712
0
          (yyval.splitopt)->split_type = NUM_TABLETS;
30713
1.27k
          (yyval.splitopt)->num_tablets = (yyvsp[-1].ival);
30714
1.27k
          (yyval.splitopt)->split_points = NULL;
30715
1.27k
        }
30716
0
#line 30717 "gram.c"
30717
0
    break;
30718
30719
359
  case 580:
30720
359
#line 4364 "gram.y"
30721
359
    {
30722
359
          (yyval.splitopt) = makeNode(OptSplit);
30723
0
          (yyval.splitopt)->split_type = SPLIT_POINTS;
30724
359
          (yyval.splitopt)->num_tablets = -1;
30725
359
          (yyval.splitopt)->split_points = (yyvsp[-1].list);
30726
359
        }
30727
0
#line 30728 "gram.c"
30728
0
    break;
30729
30730
359
  case 581:
30731
359
#line 4373 "gram.y"
30732
359
    { (yyval.list) = list_make1((yyvsp[0].list)); }
30733
359
#line 30734 "gram.c"
30734
359
    break;
30735
30736
411
  case 582:
30737
411
#line 4374 "gram.y"
30738
411
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
30739
411
#line 30740 "gram.c"
30740
411
    break;
30741
30742
770
  case 583:
30743
770
#line 4378 "gram.y"
30744
770
    { (yyval.list) = (yyvsp[-1].list); }
30745
770
#line 30746 "gram.c"
30746
770
    break;
30747
30748
0
  case 584:
30749
0
#line 4398 "gram.y"
30750
0
    {
30751
0
          parser_ybc_not_support((yylsp[-7]), "CREATE STATISTICS");
30752
0
          CreateStatsStmt *n = makeNode(CreateStatsStmt);
30753
0
          n->defnames = (yyvsp[-5].list);
30754
0
          n->stat_types = (yyvsp[-4].list);
30755
0
          n->exprs = (yyvsp[-2].list);
30756
0
          n->relations = (yyvsp[0].list);
30757
0
          n->stxcomment = NULL;
30758
0
          n->if_not_exists = false;
30759
0
          (yyval.node) = (Node *)n;
30760
0
        }
30761
0
#line 30762 "gram.c"
30762
0
    break;
30763
30764
0
  case 585:
30765
0
#line 4411 "gram.y"
30766
0
    {
30767
0
          parser_ybc_not_support((yylsp[-10]), "CREATE STATISTICS");
30768
0
          CreateStatsStmt *n = makeNode(CreateStatsStmt);
30769
0
          n->defnames = (yyvsp[-5].list);
30770
0
          n->stat_types = (yyvsp[-4].list);
30771
0
          n->exprs = (yyvsp[-2].list);
30772
0
          n->relations = (yyvsp[0].list);
30773
0
          n->stxcomment = NULL;
30774
0
          n->if_not_exists = true;
30775
0
          (yyval.node) = (Node *)n;
30776
0
        }
30777
0
#line 30778 "gram.c"
30778
0
    break;
30779
30780
216
  case 586:
30781
216
#line 4436 "gram.y"
30782
216
    {
30783
216
          CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30784
0
          ctas->query = (yyvsp[-1].node);
30785
216
          ctas->into = (yyvsp[-3].into);
30786
216
          ctas->relkind = OBJECT_TABLE;
30787
216
          ctas->is_select_into = false;
30788
216
          ctas->if_not_exists = false;
30789
          /* cram additional flags into the IntoClause */
30790
216
          (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
30791
216
          (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30792
216
          (yyval.node) = (Node *) ctas;
30793
216
        }
30794
0
#line 30795 "gram.c"
30795
0
    break;
30796
30797
0
  case 587:
30798
0
#line 4449 "gram.y"
30799
0
    {
30800
0
          CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30801
0
          ctas->query = (yyvsp[-1].node);
30802
0
          ctas->into = (yyvsp[-3].into);
30803
0
          ctas->relkind = OBJECT_TABLE;
30804
0
          ctas->is_select_into = false;
30805
0
          ctas->if_not_exists = true;
30806
          /* cram additional flags into the IntoClause */
30807
0
          (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
30808
0
          (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30809
0
          (yyval.node) = (Node *) ctas;
30810
0
        }
30811
0
#line 30812 "gram.c"
30812
0
    break;
30813
30814
218
  case 588:
30815
218
#line 4465 "gram.y"
30816
218
    {
30817
218
          (yyval.into) = makeNode(IntoClause);
30818
0
          (yyval.into)->rel = (yyvsp[-4].range);
30819
218
          (yyval.into)->colNames = (yyvsp[-3].list);
30820
218
          (yyval.into)->options = (yyvsp[-2].list);
30821
218
          (yyval.into)->onCommit = (yyvsp[-1].oncommit);
30822
218
          (yyval.into)->tableSpaceName = (yyvsp[0].str);
30823
218
          (yyval.into)->viewQuery = NULL;
30824
218
          (yyval.into)->skipData = false;   /* might get changed later */
30825
218
        }
30826
0
#line 30827 "gram.c"
30827
0
    break;
30828
30829
0
  case 589:
30830
0
#line 4478 "gram.y"
30831
0
    { (yyval.boolean) = true; }
30832
0
#line 30833 "gram.c"
30833
0
    break;
30834
30835
84
  case 590:
30836
84
#line 4479 "gram.y"
30837
84
    { (yyval.boolean) = false; }
30838
84
#line 30839 "gram.c"
30839
84
    break;
30840
30841
474
  case 591:
30842
474
#line 4480 "gram.y"
30843
474
    { (yyval.boolean) = true; }
30844
474
#line 30845 "gram.c"
30845
474
    break;
30846
30847
176
  case 592:
30848
176
#line 4493 "gram.y"
30849
176
    {
30850
176
          CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30851
0
          ctas->query = (yyvsp[-1].node);
30852
176
          ctas->into = (yyvsp[-3].into);
30853
176
          ctas->relkind = OBJECT_MATVIEW;
30854
176
          ctas->is_select_into = false;
30855
176
          ctas->if_not_exists = false;
30856
          /* cram additional flags into the IntoClause */
30857
176
          (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
30858
176
          (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30859
176
          (yyval.node) = (Node *) ctas;
30860
176
        }
30861
0
#line 30862 "gram.c"
30862
0
    break;
30863
30864
4
  case 593:
30865
4
#line 4506 "gram.y"
30866
4
    {
30867
4
          CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30868
0
          ctas->query = (yyvsp[-1].node);
30869
4
          ctas->into = (yyvsp[-3].into);
30870
4
          ctas->relkind = OBJECT_MATVIEW;
30871
4
          ctas->is_select_into = false;
30872
4
          ctas->if_not_exists = true;
30873
          /* cram additional flags into the IntoClause */
30874
4
          (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
30875
4
          (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30876
4
          (yyval.node) = (Node *) ctas;
30877
4
        }
30878
0
#line 30879 "gram.c"
30879
0
    break;
30880
30881
180
  case 594:
30882
180
#line 4522 "gram.y"
30883
180
    {
30884
180
          (yyval.into) = makeNode(IntoClause);
30885
0
          (yyval.into)->rel = (yyvsp[-3].range);
30886
180
          (yyval.into)->colNames = (yyvsp[-2].list);
30887
180
          (yyval.into)->options = (yyvsp[-1].list);
30888
180
          (yyval.into)->onCommit = ONCOMMIT_NOOP;
30889
180
          (yyval.into)->tableSpaceName = (yyvsp[0].str);
30890
180
          (yyval.into)->viewQuery = NULL;   /* filled at analysis time */
30891
180
          (yyval.into)->skipData = false;   /* might get changed later */
30892
180
        }
30893
0
#line 30894 "gram.c"
30894
0
    break;
30895
30896
0
  case 595:
30897
0
#line 4534 "gram.y"
30898
0
    { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
30899
0
#line 30900 "gram.c"
30900
0
    break;
30901
30902
180
  case 596:
30903
180
#line 4535 "gram.y"
30904
180
    { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
30905
180
#line 30906 "gram.c"
30906
180
    break;
30907
30908
160
  case 597:
30909
160
#line 4548 "gram.y"
30910
160
    {
30911
160
          RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
30912
0
          n->concurrent = (yyvsp[-2].boolean);
30913
160
          n->relation = (yyvsp[-1].range);
30914
160
          n->skipData = !((yyvsp[0].boolean));
30915
160
          (yyval.node) = (Node *) n;
30916
160
        }
30917
0
#line 30918 "gram.c"
30918
0
    break;
30919
30920
60
  case 598:
30921
60
#line 4559 "gram.y"
30922
60
    {
30923
60
          (yyval.boolean) = true;
30924
60
        }
30925
60
#line 30926 "gram.c"
30926
60
    break;
30927
30928
100
  case 600:
30929
100
#line 4564 "gram.y"
30930
100
    {
30931
100
          (yyval.boolean) = false;
30932
100
        }
30933
100
#line 30934 "gram.c"
30934
100
    break;
30935
30936
481
  case 601:
30937
481
#line 4579 "gram.y"
30938
481
    {
30939
481
          CreateSeqStmt *n = makeNode(CreateSeqStmt);
30940
0
          (yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
30941
481
          n->sequence = (yyvsp[-1].range);
30942
481
          n->options = (yyvsp[0].list);
30943
481
          n->ownerId = InvalidOid;
30944
481
          n->if_not_exists = false;
30945
481
          (yyval.node) = (Node *)n;
30946
481
        }
30947
0
#line 30948 "gram.c"
30948
0
    break;
30949
30950
16
  case 602:
30951
16
#line 4589 "gram.y"
30952
16
    {
30953
16
          CreateSeqStmt *n = makeNode(CreateSeqStmt);
30954
0
          (yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
30955
16
          n->sequence = (yyvsp[-1].range);
30956
16
          n->options = (yyvsp[0].list);
30957
16
          n->ownerId = InvalidOid;
30958
16
          n->if_not_exists = true;
30959
16
          (yyval.node) = (Node *)n;
30960
16
        }
30961
0
#line 30962 "gram.c"
30962
0
    break;
30963
30964
132
  case 603:
30965
132
#line 4602 "gram.y"
30966
132
    {
30967
132
          AlterSeqStmt *n = makeNode(AlterSeqStmt);
30968
0
          n->sequence = (yyvsp[-1].range);
30969
132
          n->options = (yyvsp[0].list);
30970
132
          n->missing_ok = false;
30971
132
          (yyval.node) = (Node *)n;
30972
132
        }
30973
0
#line 30974 "gram.c"
30974
0
    break;
30975
30976
0
  case 604:
30977
0
#line 4610 "gram.y"
30978
0
    {
30979
0
          AlterSeqStmt *n = makeNode(AlterSeqStmt);
30980
0
          n->sequence = (yyvsp[-1].range);
30981
0
          n->options = (yyvsp[0].list);
30982
0
          n->missing_ok = true;
30983
0
          (yyval.node) = (Node *)n;
30984
0
        }
30985
0
#line 30986 "gram.c"
30986
0
    break;
30987
30988
281
  case 605:
30989
281
#line 4620 "gram.y"
30990
281
    { (yyval.list) = (yyvsp[0].list); }
30991
281
#line 30992 "gram.c"
30992
281
    break;
30993
30994
216
  case 606:
30995
216
#line 4621 "gram.y"
30996
216
    { (yyval.list) = NIL; }
30997
216
#line 30998 "gram.c"
30998
216
    break;
30999
31000
20
  case 607:
31001
20
#line 4624 "gram.y"
31002
20
    { (yyval.list) = (yyvsp[-1].list); }
31003
20
#line 31004 "gram.c"
31004
20
    break;
31005
31006
112
  case 608:
31007
112
#line 4625 "gram.y"
31008
112
    { (yyval.list) = NIL; }
31009
112
#line 31010 "gram.c"
31010
112
    break;
31011
31012
433
  case 609:
31013
433
#line 4628 "gram.y"
31014
433
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31015
433
#line 31016 "gram.c"
31016
433
    break;
31017
31018
328
  case 610:
31019
328
#line 4629 "gram.y"
31020
328
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31021
328
#line 31022 "gram.c"
31022
328
    break;
31023
31024
8
  case 611:
31025
8
#line 4633 "gram.y"
31026
8
    {
31027
8
          (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
31028
8
        }
31029
8
#line 31030 "gram.c"
31030
8
    break;
31031
31032
108
  case 612:
31033
108
#line 4637 "gram.y"
31034
108
    {
31035
108
          (yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
31036
108
        }
31037
108
#line 31038 "gram.c"
31038
108
    break;
31039
31040
52
  case 613:
31041
52
#line 4641 "gram.y"
31042
52
    {
31043
52
          (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[0]));
31044
52
        }
31045
52
#line 31046 "gram.c"
31046
52
    break;
31047
31048
8
  case 614:
31049
8
#line 4645 "gram.y"
31050
8
    {
31051
8
          (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[-1]));
31052
8
        }
31053
8
#line 31054 "gram.c"
31054
8
    break;
31055
31056
140
  case 615:
31057
140
#line 4649 "gram.y"
31058
140
    {
31059
140
          (yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
31060
140
        }
31061
140
#line 31062 "gram.c"
31062
140
    break;
31063
31064
96
  case 616:
31065
96
#line 4653 "gram.y"
31066
96
    {
31067
96
          (yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
31068
96
        }
31069
96
#line 31070 "gram.c"
31070
96
    break;
31071
31072
100
  case 617:
31073
100
#line 4657 "gram.y"
31074
100
    {
31075
100
          (yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
31076
100
        }
31077
100
#line 31078 "gram.c"
31078
100
    break;
31079
31080
8
  case 618:
31081
8
#line 4661 "gram.y"
31082
8
    {
31083
8
          (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
31084
8
        }
31085
8
#line 31086 "gram.c"
31086
8
    break;
31087
31088
8
  case 619:
31089
8
#line 4665 "gram.y"
31090
8
    {
31091
8
          (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
31092
8
        }
31093
8
#line 31094 "gram.c"
31094
8
    break;
31095
31096
52
  case 620:
31097
52
#line 4669 "gram.y"
31098
52
    {
31099
52
          (yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
31100
52
        }
31101
52
#line 31102 "gram.c"
31102
52
    break;
31103
31104
0
  case 621:
31105
0
#line 4673 "gram.y"
31106
0
    {
31107
          /* not documented, only used by pg_dump */
31108
0
          (yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
31109
0
        }
31110
0
#line 31111 "gram.c"
31111
0
    break;
31112
31113
145
  case 622:
31114
145
#line 4678 "gram.y"
31115
145
    {
31116
145
          (yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
31117
145
        }
31118
145
#line 31119 "gram.c"
31119
145
    break;
31120
31121
20
  case 623:
31122
20
#line 4682 "gram.y"
31123
20
    {
31124
20
          (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
31125
20
        }
31126
20
#line 31127 "gram.c"
31127
20
    break;
31128
31129
24
  case 624:
31130
24
#line 4686 "gram.y"
31131
24
    {
31132
24
          (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
31133
24
        }
31134
24
#line 31135 "gram.c"
31135
24
    break;
31136
31137
24
  case 625:
31138
24
#line 4691 "gram.y"
31139
24
    {}
31140
24
#line 31141 "gram.c"
31141
24
    break;
31142
31143
116
  case 626:
31144
116
#line 4692 "gram.y"
31145
116
    {}
31146
116
#line 31147 "gram.c"
31147
116
    break;
31148
31149
228
  case 627:
31150
228
#line 4696 "gram.y"
31151
228
    { (yyval.value) = makeFloat((yyvsp[0].str)); }
31152
228
#line 31153 "gram.c"
31153
228
    break;
31154
31155
0
  case 628:
31156
0
#line 4697 "gram.y"
31157
0
    { (yyval.value) = makeFloat((yyvsp[0].str)); }
31158
0
#line 31159 "gram.c"
31159
0
    break;
31160
31161
84
  case 629:
31162
84
#line 4699 "gram.y"
31163
84
    {
31164
84
          (yyval.value) = makeFloat((yyvsp[0].str));
31165
84
          doNegateFloat((yyval.value));
31166
84
        }
31167
84
#line 31168 "gram.c"
31168
84
    break;
31169
31170
18.7k
  case 630:
31171
18.7k
#line 4703 "gram.y"
31172
18.7k
    { (yyval.value) = makeInteger((yyvsp[0].ival)); }
31173
18.7k
#line 31174 "gram.c"
31174
18.7k
    break;
31175
31176
48
  case 631:
31177
48
#line 4706 "gram.y"
31178
48
    { (yyval.list) = list_make1((yyvsp[0].value)); }
31179
48
#line 31180 "gram.c"
31180
48
    break;
31181
31182
4
  case 632:
31183
4
#line 4707 "gram.y"
31184
4
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
31185
4
#line 31186 "gram.c"
31186
4
    break;
31187
31188
2
  case 633:
31189
2
#line 4720 "gram.y"
31190
2
    {
31191
2
        parser_ybc_not_support((yylsp[-5]), "CREATE LANGUAGE");
31192
2
        CreatePLangStmt *n = makeNode(CreatePLangStmt);
31193
0
        n->replace = (yyvsp[-4].boolean);
31194
2
        n->plname = (yyvsp[0].str);
31195
        /* parameters are all to be supplied by system */
31196
2
        n->plhandler = NIL;
31197
2
        n->plinline = NIL;
31198
2
        n->plvalidator = NIL;
31199
2
        n->pltrusted = false;
31200
2
        (yyval.node) = (Node *)n;
31201
2
      }
31202
0
#line 31203 "gram.c"
31203
0
    break;
31204
31205
0
  case 634:
31206
0
#line 4734 "gram.y"
31207
0
    {
31208
0
        parser_ybc_not_support((yylsp[-9]), "CREATE LANGUAGE");
31209
0
        CreatePLangStmt *n = makeNode(CreatePLangStmt);
31210
0
        n->replace = (yyvsp[-8].boolean);
31211
0
        n->plname = (yyvsp[-4].str);
31212
0
        n->plhandler = (yyvsp[-2].list);
31213
0
        n->plinline = (yyvsp[-1].list);
31214
0
        n->plvalidator = (yyvsp[0].list);
31215
0
        n->pltrusted = (yyvsp[-7].boolean);
31216
0
        (yyval.node) = (Node *)n;
31217
0
      }
31218
0
#line 31219 "gram.c"
31219
0
    break;
31220
31221
0
  case 635:
31222
0
#line 4748 "gram.y"
31223
0
    { (yyval.boolean) = true; }
31224
0
#line 31225 "gram.c"
31225
0
    break;
31226
31227
4
  case 636:
31228
4
#line 4749 "gram.y"
31229
4
    { (yyval.boolean) = false; }
31230
4
#line 31231 "gram.c"
31231
4
    break;
31232
31233
66
  case 637:
31234
66
#line 4757 "gram.y"
31235
66
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
31236
66
#line 31237 "gram.c"
31237
66
    break;
31238
31239
0
  case 638:
31240
0
#line 4758 "gram.y"
31241
0
    { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
31242
0
#line 31243 "gram.c"
31243
0
    break;
31244
31245
0
  case 639:
31246
0
#line 4762 "gram.y"
31247
0
    { (yyval.list) = (yyvsp[0].list); }
31248
0
#line 31249 "gram.c"
31249
0
    break;
31250
31251
0
  case 640:
31252
0
#line 4763 "gram.y"
31253
0
    { (yyval.list) = NIL; }
31254
0
#line 31255 "gram.c"
31255
0
    break;
31256
31257
0
  case 641:
31258
0
#line 4767 "gram.y"
31259
0
    { (yyval.list) = (yyvsp[0].list); }
31260
0
#line 31261 "gram.c"
31261
0
    break;
31262
31263
0
  case 642:
31264
0
#line 4768 "gram.y"
31265
0
    { (yyval.list) = NIL; }
31266
0
#line 31267 "gram.c"
31267
0
    break;
31268
31269
0
  case 643:
31270
0
#line 4772 "gram.y"
31271
0
    { (yyval.list) = (yyvsp[0].list); }
31272
0
#line 31273 "gram.c"
31273
0
    break;
31274
31275
0
  case 644:
31276
0
#line 4773 "gram.y"
31277
0
    { (yyval.list) = NIL; }
31278
0
#line 31279 "gram.c"
31279
0
    break;
31280
31281
0
  case 645:
31282
0
#line 4778 "gram.y"
31283
0
    {
31284
0
          parser_ybc_not_support((yylsp[-4]), "DROP LANGUAGE");
31285
0
          DropStmt *n = makeNode(DropStmt);
31286
0
          n->removeType = OBJECT_LANGUAGE;
31287
0
          n->objects = list_make1(makeString((yyvsp[-1].str)));
31288
0
          n->behavior = (yyvsp[0].dbehavior);
31289
0
          n->missing_ok = false;
31290
0
          n->concurrent = false;
31291
0
          (yyval.node) = (Node *)n;
31292
0
        }
31293
0
#line 31294 "gram.c"
31294
0
    break;
31295
31296
0
  case 646:
31297
0
#line 4789 "gram.y"
31298
0
    {
31299
0
          parser_ybc_not_support((yylsp[-6]), "DROP LANGUAGE");
31300
0
          DropStmt *n = makeNode(DropStmt);
31301
0
          n->removeType = OBJECT_LANGUAGE;
31302
0
          n->objects = list_make1(makeString((yyvsp[-1].str)));
31303
0
          n->behavior = (yyvsp[0].dbehavior);
31304
0
          n->missing_ok = true;
31305
0
          n->concurrent = false;
31306
0
          (yyval.node) = (Node *)n;
31307
0
        }
31308
0
#line 31309 "gram.c"
31309
0
    break;
31310
31311
4
  case 647:
31312
4
#line 4802 "gram.y"
31313
4
    {}
31314
4
#line 31315 "gram.c"
31315
4
    break;
31316
31317
16
  case 648:
31318
16
#line 4803 "gram.y"
31319
16
    {}
31320
16
#line 31321 "gram.c"
31321
16
    break;
31322
31323
236
  case 649:
31324
236
#line 4816 "gram.y"
31325
236
    {
31326
236
          parser_ybc_beta_feature((yylsp[-5]), "tablegroup", true);
31327
236
          CreateTableGroupStmt *n = makeNode(CreateTableGroupStmt);
31328
0
          n->tablegroupname = (yyvsp[-3].str);
31329
236
          n->owner = (yyvsp[-2].rolespec);
31330
236
          n->options = (yyvsp[-1].list);
31331
236
          n->tablespacename = (yyvsp[0].str);
31332
236
          (yyval.node) = (Node *) n;
31333
236
        }
31334
0
#line 31335 "gram.c"
31335
0
    break;
31336
31337
36
  case 650:
31338
36
#line 4827 "gram.y"
31339
36
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
31340
36
#line 31341 "gram.c"
31341
36
    break;
31342
31343
200
  case 651:
31344
200
#line 4828 "gram.y"
31345
200
    { (yyval.rolespec) = NULL; }
31346
200
#line 31347 "gram.c"
31347
200
    break;
31348
31349
172
  case 652:
31350
172
#line 4840 "gram.y"
31351
172
    {
31352
172
          CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
31353
0
          n->tablespacename = (yyvsp[-3].str);
31354
172
          n->owner = (yyvsp[-2].rolespec);
31355
172
          n->options = (yyvsp[0].list);
31356
172
          if (n->options == NULL && 
(yyvsp[-1].str) == NULL20
) {
31357
4
            parser_yyerror("While creating tablespaces, one of "
31358
4
                     "LOCATION or WITH options should be present");
31359
4
          }
31360
168
          (yyval.node) = (Node *) n;
31361
31362
168
        }
31363
0
#line 31364 "gram.c"
31364
0
    break;
31365
31366
20
  case 653:
31367
20
#line 4854 "gram.y"
31368
20
    { parser_ybc_warn_ignored((yylsp[-1]), "LOCATION", 6569); (yyval.str) = (yyvsp[0].str); }
31369
20
#line 31370 "gram.c"
31370
20
    break;
31371
31372
152
  case 654:
31373
152
#line 4855 "gram.y"
31374
152
    { (yyval.str) = NULL; }
31375
152
#line 31376 "gram.c"
31376
152
    break;
31377
31378
10
  case 655:
31379
10
#line 4858 "gram.y"
31380
10
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
31381
10
#line 31382 "gram.c"
31382
10
    break;
31383
31384
162
  case 656:
31385
162
#line 4859 "gram.y"
31386
162
    { (yyval.rolespec) = NULL; }
31387
162
#line 31388 "gram.c"
31388
162
    break;
31389
31390
60
  case 657:
31391
60
#line 4873 "gram.y"
31392
60
    {
31393
60
          DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
31394
0
          n->tablespacename = (yyvsp[0].str);
31395
60
          n->missing_ok = false;
31396
60
          (yyval.node) = (Node *) n;
31397
60
        }
31398
0
#line 31399 "gram.c"
31399
0
    break;
31400
31401
24
  case 658:
31402
24
#line 4880 "gram.y"
31403
24
    {
31404
24
          DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
31405
0
          n->tablespacename = (yyvsp[0].str);
31406
24
          n->missing_ok = true;
31407
24
          (yyval.node) = (Node *) n;
31408
24
        }
31409
0
#line 31410 "gram.c"
31410
0
    break;
31411
31412
197
  case 659:
31413
197
#line 4897 "gram.y"
31414
197
    {
31415
197
          CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
31416
0
          n->extname = (yyvsp[-2].str);
31417
197
          n->if_not_exists = false;
31418
197
          n->options = (yyvsp[0].list);
31419
197
          (yyval.node) = (Node *) n;
31420
197
        }
31421
0
#line 31422 "gram.c"
31422
0
    break;
31423
31424
56
  case 660:
31425
56
#line 4905 "gram.y"
31426
56
    {
31427
56
          CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
31428
0
          n->extname = (yyvsp[-2].str);
31429
56
          n->if_not_exists = true;
31430
56
          n->options = (yyvsp[0].list);
31431
56
          (yyval.node) = (Node *) n;
31432
56
        }
31433
0
#line 31434 "gram.c"
31434
0
    break;
31435
31436
58
  case 661:
31437
58
#line 4916 "gram.y"
31438
58
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31439
58
#line 31440 "gram.c"
31440
58
    break;
31441
31442
253
  case 662:
31443
253
#line 4918 "gram.y"
31444
253
    { (yyval.list) = NIL; }
31445
253
#line 31446 "gram.c"
31446
253
    break;
31447
31448
58
  case 663:
31449
58
#line 4923 "gram.y"
31450
58
    {
31451
58
          (yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31452
58
        }
31453
58
#line 31454 "gram.c"
31454
58
    break;
31455
31456
0
  case 664:
31457
0
#line 4927 "gram.y"
31458
0
    {
31459
0
          (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31460
0
        }
31461
0
#line 31462 "gram.c"
31462
0
    break;
31463
31464
0
  case 665:
31465
0
#line 4931 "gram.y"
31466
0
    {
31467
0
          (yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31468
0
        }
31469
0
#line 31470 "gram.c"
31470
0
    break;
31471
31472
0
  case 666:
31473
0
#line 4935 "gram.y"
31474
0
    {
31475
0
          (yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[0]));
31476
0
        }
31477
0
#line 31478 "gram.c"
31478
0
    break;
31479
31480
4
  case 667:
31481
4
#line 4947 "gram.y"
31482
4
    {
31483
4
          AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
31484
0
          n->extname = (yyvsp[-2].str);
31485
4
          n->options = (yyvsp[0].list);
31486
4
          (yyval.node) = (Node *) n;
31487
4
        }
31488
0
#line 31489 "gram.c"
31489
0
    break;
31490
31491
4
  case 668:
31492
4
#line 4957 "gram.y"
31493
4
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31494
4
#line 31495 "gram.c"
31495
4
    break;
31496
31497
4
  case 669:
31498
4
#line 4959 "gram.y"
31499
4
    { (yyval.list) = NIL; }
31500
4
#line 31501 "gram.c"
31501
4
    break;
31502
31503
4
  case 670:
31504
4
#line 4964 "gram.y"
31505
4
    {
31506
4
          (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31507
4
        }
31508
4
#line 31509 "gram.c"
31509
4
    break;
31510
31511
0
  case 671:
31512
0
#line 4977 "gram.y"
31513
0
    {
31514
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31515
0
          n->extname = (yyvsp[-4].str);
31516
0
          n->action = (yyvsp[-3].ival);
31517
0
          n->objtype = OBJECT_ACCESS_METHOD;
31518
0
          n->object = (Node *) makeString((yyvsp[0].str));
31519
0
          (yyval.node) = (Node *)n;
31520
0
        }
31521
0
#line 31522 "gram.c"
31522
0
    break;
31523
31524
8
  case 672:
31525
8
#line 4986 "gram.y"
31526
8
    {
31527
8
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31528
0
          n->extname = (yyvsp[-3].str);
31529
8
          n->action = (yyvsp[-2].ival);
31530
8
          n->objtype = OBJECT_AGGREGATE;
31531
8
          n->object = (Node *) (yyvsp[0].objwithargs);
31532
8
          (yyval.node) = (Node *)n;
31533
8
        }
31534
0
#line 31535 "gram.c"
31535
0
    break;
31536
31537
0
  case 673:
31538
0
#line 4995 "gram.y"
31539
0
    {
31540
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31541
0
          n->extname = (yyvsp[-7].str);
31542
0
          n->action = (yyvsp[-6].ival);
31543
0
          n->objtype = OBJECT_CAST;
31544
0
          n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
31545
0
          (yyval.node) = (Node *) n;
31546
0
        }
31547
0
#line 31548 "gram.c"
31548
0
    break;
31549
31550
0
  case 674:
31551
0
#line 5004 "gram.y"
31552
0
    {
31553
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31554
0
          n->extname = (yyvsp[-3].str);
31555
0
          n->action = (yyvsp[-2].ival);
31556
0
          n->objtype = OBJECT_COLLATION;
31557
0
          n->object = (Node *) (yyvsp[0].list);
31558
0
          (yyval.node) = (Node *)n;
31559
0
        }
31560
0
#line 31561 "gram.c"
31561
0
    break;
31562
31563
0
  case 675:
31564
0
#line 5013 "gram.y"
31565
0
    {
31566
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31567
0
          n->extname = (yyvsp[-3].str);
31568
0
          n->action = (yyvsp[-2].ival);
31569
0
          n->objtype = OBJECT_CONVERSION;
31570
0
          n->object = (Node *) (yyvsp[0].list);
31571
0
          (yyval.node) = (Node *)n;
31572
0
        }
31573
0
#line 31574 "gram.c"
31574
0
    break;
31575
31576
0
  case 676:
31577
0
#line 5022 "gram.y"
31578
0
    {
31579
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31580
0
          n->extname = (yyvsp[-3].str);
31581
0
          n->action = (yyvsp[-2].ival);
31582
0
          n->objtype = OBJECT_DOMAIN;
31583
0
          n->object = (Node *) (yyvsp[0].typnam);
31584
0
          (yyval.node) = (Node *)n;
31585
0
        }
31586
0
#line 31587 "gram.c"
31587
0
    break;
31588
31589
26
  case 677:
31590
26
#line 5031 "gram.y"
31591
26
    {
31592
26
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31593
0
          n->extname = (yyvsp[-3].str);
31594
26
          n->action = (yyvsp[-2].ival);
31595
26
          n->objtype = OBJECT_FUNCTION;
31596
26
          n->object = (Node *) (yyvsp[0].objwithargs);
31597
26
          (yyval.node) = (Node *)n;
31598
26
        }
31599
0
#line 31600 "gram.c"
31600
0
    break;
31601
31602
0
  case 678:
31603
0
#line 5040 "gram.y"
31604
0
    {
31605
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31606
0
          n->extname = (yyvsp[-4].str);
31607
0
          n->action = (yyvsp[-3].ival);
31608
0
          n->objtype = OBJECT_LANGUAGE;
31609
0
          n->object = (Node *) makeString((yyvsp[0].str));
31610
0
          (yyval.node) = (Node *)n;
31611
0
        }
31612
0
#line 31613 "gram.c"
31613
0
    break;
31614
31615
28
  case 679:
31616
28
#line 5049 "gram.y"
31617
28
    {
31618
28
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31619
0
          n->extname = (yyvsp[-3].str);
31620
28
          n->action = (yyvsp[-2].ival);
31621
28
          n->objtype = OBJECT_OPERATOR;
31622
28
          n->object = (Node *) (yyvsp[0].objwithargs);
31623
28
          (yyval.node) = (Node *)n;
31624
28
        }
31625
0
#line 31626 "gram.c"
31626
0
    break;
31627
31628
8
  case 680:
31629
8
#line 5058 "gram.y"
31630
8
    {
31631
8
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31632
0
          n->extname = (yyvsp[-6].str);
31633
8
          n->action = (yyvsp[-5].ival);
31634
8
          n->objtype = OBJECT_OPCLASS;
31635
8
          n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
31636
8
          (yyval.node) = (Node *)n;
31637
8
        }
31638
0
#line 31639 "gram.c"
31639
0
    break;
31640
31641
8
  case 681:
31642
8
#line 5067 "gram.y"
31643
8
    {
31644
8
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31645
0
          n->extname = (yyvsp[-6].str);
31646
8
          n->action = (yyvsp[-5].ival);
31647
8
          n->objtype = OBJECT_OPFAMILY;
31648
8
          n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
31649
8
          (yyval.node) = (Node *)n;
31650
8
        }
31651
0
#line 31652 "gram.c"
31652
0
    break;
31653
31654
0
  case 682:
31655
0
#line 5076 "gram.y"
31656
0
    {
31657
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31658
0
          n->extname = (yyvsp[-3].str);
31659
0
          n->action = (yyvsp[-2].ival);
31660
0
          n->objtype = OBJECT_PROCEDURE;
31661
0
          n->object = (Node *) (yyvsp[0].objwithargs);
31662
0
          (yyval.node) = (Node *)n;
31663
0
        }
31664
0
#line 31665 "gram.c"
31665
0
    break;
31666
31667
0
  case 683:
31668
0
#line 5085 "gram.y"
31669
0
    {
31670
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31671
0
          n->extname = (yyvsp[-3].str);
31672
0
          n->action = (yyvsp[-2].ival);
31673
0
          n->objtype = OBJECT_ROUTINE;
31674
0
          n->object = (Node *) (yyvsp[0].objwithargs);
31675
0
          (yyval.node) = (Node *)n;
31676
0
        }
31677
0
#line 31678 "gram.c"
31678
0
    break;
31679
31680
0
  case 684:
31681
0
#line 5094 "gram.y"
31682
0
    {
31683
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31684
0
          n->extname = (yyvsp[-3].str);
31685
0
          n->action = (yyvsp[-2].ival);
31686
0
          n->objtype = OBJECT_SCHEMA;
31687
0
          n->object = (Node *) makeString((yyvsp[0].str));
31688
0
          (yyval.node) = (Node *)n;
31689
0
        }
31690
0
#line 31691 "gram.c"
31691
0
    break;
31692
31693
0
  case 685:
31694
0
#line 5103 "gram.y"
31695
0
    {
31696
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31697
0
          n->extname = (yyvsp[-4].str);
31698
0
          n->action = (yyvsp[-3].ival);
31699
0
          n->objtype = OBJECT_EVENT_TRIGGER;
31700
0
          n->object = (Node *) makeString((yyvsp[0].str));
31701
0
          (yyval.node) = (Node *)n;
31702
0
        }
31703
0
#line 31704 "gram.c"
31704
0
    break;
31705
31706
0
  case 686:
31707
0
#line 5112 "gram.y"
31708
0
    {
31709
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31710
0
          n->extname = (yyvsp[-3].str);
31711
0
          n->action = (yyvsp[-2].ival);
31712
0
          n->objtype = OBJECT_TABLE;
31713
0
          n->object = (Node *) (yyvsp[0].list);
31714
0
          (yyval.node) = (Node *)n;
31715
0
        }
31716
0
#line 31717 "gram.c"
31717
0
    break;
31718
31719
0
  case 687:
31720
0
#line 5121 "gram.y"
31721
0
    {
31722
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31723
0
          n->extname = (yyvsp[-5].str);
31724
0
          n->action = (yyvsp[-4].ival);
31725
0
          n->objtype = OBJECT_TSPARSER;
31726
0
          n->object = (Node *) (yyvsp[0].list);
31727
0
          (yyval.node) = (Node *)n;
31728
0
        }
31729
0
#line 31730 "gram.c"
31730
0
    break;
31731
31732
0
  case 688:
31733
0
#line 5130 "gram.y"
31734
0
    {
31735
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31736
0
          n->extname = (yyvsp[-5].str);
31737
0
          n->action = (yyvsp[-4].ival);
31738
0
          n->objtype = OBJECT_TSDICTIONARY;
31739
0
          n->object = (Node *) (yyvsp[0].list);
31740
0
          (yyval.node) = (Node *)n;
31741
0
        }
31742
0
#line 31743 "gram.c"
31743
0
    break;
31744
31745
0
  case 689:
31746
0
#line 5139 "gram.y"
31747
0
    {
31748
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31749
0
          n->extname = (yyvsp[-5].str);
31750
0
          n->action = (yyvsp[-4].ival);
31751
0
          n->objtype = OBJECT_TSTEMPLATE;
31752
0
          n->object = (Node *) (yyvsp[0].list);
31753
0
          (yyval.node) = (Node *)n;
31754
0
        }
31755
0
#line 31756 "gram.c"
31756
0
    break;
31757
31758
0
  case 690:
31759
0
#line 5148 "gram.y"
31760
0
    {
31761
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31762
0
          n->extname = (yyvsp[-5].str);
31763
0
          n->action = (yyvsp[-4].ival);
31764
0
          n->objtype = OBJECT_TSCONFIGURATION;
31765
0
          n->object = (Node *) (yyvsp[0].list);
31766
0
          (yyval.node) = (Node *)n;
31767
0
        }
31768
0
#line 31769 "gram.c"
31769
0
    break;
31770
31771
0
  case 691:
31772
0
#line 5157 "gram.y"
31773
0
    {
31774
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31775
0
          n->extname = (yyvsp[-3].str);
31776
0
          n->action = (yyvsp[-2].ival);
31777
0
          n->objtype = OBJECT_SEQUENCE;
31778
0
          n->object = (Node *) (yyvsp[0].list);
31779
0
          (yyval.node) = (Node *)n;
31780
0
        }
31781
0
#line 31782 "gram.c"
31782
0
    break;
31783
31784
0
  case 692:
31785
0
#line 5166 "gram.y"
31786
0
    {
31787
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31788
0
          n->extname = (yyvsp[-3].str);
31789
0
          n->action = (yyvsp[-2].ival);
31790
0
          n->objtype = OBJECT_VIEW;
31791
0
          n->object = (Node *) (yyvsp[0].list);
31792
0
          (yyval.node) = (Node *)n;
31793
0
        }
31794
0
#line 31795 "gram.c"
31795
0
    break;
31796
31797
0
  case 693:
31798
0
#line 5175 "gram.y"
31799
0
    {
31800
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31801
0
          n->extname = (yyvsp[-4].str);
31802
0
          n->action = (yyvsp[-3].ival);
31803
0
          n->objtype = OBJECT_MATVIEW;
31804
0
          n->object = (Node *) (yyvsp[0].list);
31805
0
          (yyval.node) = (Node *)n;
31806
0
        }
31807
0
#line 31808 "gram.c"
31808
0
    break;
31809
31810
0
  case 694:
31811
0
#line 5184 "gram.y"
31812
0
    {
31813
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31814
0
          n->extname = (yyvsp[-4].str);
31815
0
          n->action = (yyvsp[-3].ival);
31816
0
          n->objtype = OBJECT_FOREIGN_TABLE;
31817
0
          n->object = (Node *) (yyvsp[0].list);
31818
0
          (yyval.node) = (Node *)n;
31819
0
        }
31820
0
#line 31821 "gram.c"
31821
0
    break;
31822
31823
0
  case 695:
31824
0
#line 5193 "gram.y"
31825
0
    {
31826
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31827
0
          n->extname = (yyvsp[-5].str);
31828
0
          n->action = (yyvsp[-4].ival);
31829
0
          n->objtype = OBJECT_FDW;
31830
0
          n->object = (Node *) makeString((yyvsp[0].str));
31831
0
          (yyval.node) = (Node *)n;
31832
0
        }
31833
0
#line 31834 "gram.c"
31834
0
    break;
31835
31836
0
  case 696:
31837
0
#line 5202 "gram.y"
31838
0
    {
31839
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31840
0
          n->extname = (yyvsp[-3].str);
31841
0
          n->action = (yyvsp[-2].ival);
31842
0
          n->objtype = OBJECT_FOREIGN_SERVER;
31843
0
          n->object = (Node *) makeString((yyvsp[0].str));
31844
0
          (yyval.node) = (Node *)n;
31845
0
        }
31846
0
#line 31847 "gram.c"
31847
0
    break;
31848
31849
0
  case 697:
31850
0
#line 5211 "gram.y"
31851
0
    {
31852
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31853
0
          n->extname = (yyvsp[-6].str);
31854
0
          n->action = (yyvsp[-5].ival);
31855
0
          n->objtype = OBJECT_TRANSFORM;
31856
0
          n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
31857
0
          (yyval.node) = (Node *)n;
31858
0
        }
31859
0
#line 31860 "gram.c"
31860
0
    break;
31861
31862
0
  case 698:
31863
0
#line 5220 "gram.y"
31864
0
    {
31865
0
          AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31866
0
          n->extname = (yyvsp[-3].str);
31867
0
          n->action = (yyvsp[-2].ival);
31868
0
          n->objtype = OBJECT_TYPE;
31869
0
          n->object = (Node *) (yyvsp[0].typnam);
31870
0
          (yyval.node) = (Node *)n;
31871
0
        }
31872
0
#line 31873 "gram.c"
31873
0
    break;
31874
31875
99
  case 699:
31876
99
#line 5238 "gram.y"
31877
99
    {
31878
99
          CreateFdwStmt *n = makeNode(CreateFdwStmt);
31879
0
          n->fdwname = (yyvsp[-2].str);
31880
99
          n->func_options = (yyvsp[-1].list);
31881
99
          n->options = (yyvsp[0].list);
31882
99
          (yyval.node) = (Node *) n;
31883
99
        }
31884
0
#line 31885 "gram.c"
31885
0
    break;
31886
31887
39
  case 700:
31888
39
#line 5248 "gram.y"
31889
39
    { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
31890
39
#line 31891 "gram.c"
31891
39
    break;
31892
31893
0
  case 701:
31894
0
#line 5249 "gram.y"
31895
0
    { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
31896
0
#line 31897 "gram.c"
31897
0
    break;
31898
31899
27
  case 702:
31900
27
#line 5250 "gram.y"
31901
27
    { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
31902
27
#line 31903 "gram.c"
31903
27
    break;
31904
31905
8
  case 703:
31906
8
#line 5251 "gram.y"
31907
8
    { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
31908
8
#line 31909 "gram.c"
31909
8
    break;
31910
31911
59
  case 704:
31912
59
#line 5255 "gram.y"
31913
59
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31914
59
#line 31915 "gram.c"
31915
59
    break;
31916
31917
15
  case 705:
31918
15
#line 5256 "gram.y"
31919
15
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31920
15
#line 31921 "gram.c"
31921
15
    break;
31922
31923
31
  case 706:
31924
31
#line 5260 "gram.y"
31925
31
    { (yyval.list) = (yyvsp[0].list); }
31926
31
#line 31927 "gram.c"
31927
31
    break;
31928
31929
126
  case 707:
31930
126
#line 5261 "gram.y"
31931
126
    { (yyval.list) = NIL; }
31932
126
#line 31933 "gram.c"
31933
126
    break;
31934
31935
56
  case 708:
31936
56
#line 5272 "gram.y"
31937
56
    {
31938
56
          AlterFdwStmt *n = makeNode(AlterFdwStmt);
31939
0
          n->fdwname = (yyvsp[-2].str);
31940
56
          n->func_options = (yyvsp[-1].list);
31941
56
          n->options = (yyvsp[0].list);
31942
56
          (yyval.node) = (Node *) n;
31943
56
        }
31944
0
#line 31945 "gram.c"
31945
0
    break;
31946
31947
28
  case 709:
31948
28
#line 5280 "gram.y"
31949
28
    {
31950
28
          AlterFdwStmt *n = makeNode(AlterFdwStmt);
31951
0
          n->fdwname = (yyvsp[-1].str);
31952
28
          n->func_options = (yyvsp[0].list);
31953
28
          n->options = NIL;
31954
28
          (yyval.node) = (Node *) n;
31955
28
        }
31956
0
#line 31957 "gram.c"
31957
0
    break;
31958
31959
572
  case 710:
31960
572
#line 5292 "gram.y"
31961
572
    {
31962
572
          (yyval.list) = (yyvsp[-1].list);
31963
572
        }
31964
572
#line 31965 "gram.c"
31965
572
    break;
31966
31967
35.4k
  case 711:
31968
35.4k
#line 5295 "gram.y"
31969
35.4k
    { (yyval.list) = NIL; }
31970
35.4k
#line 31971 "gram.c"
31971
35.4k
    break;
31972
31973
572
  case 712:
31974
572
#line 5300 "gram.y"
31975
572
    {
31976
572
          (yyval.list) = list_make1((yyvsp[0].defelt));
31977
572
        }
31978
572
#line 31979 "gram.c"
31979
572
    break;
31980
31981
389
  case 713:
31982
389
#line 5304 "gram.y"
31983
389
    {
31984
389
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
31985
389
        }
31986
389
#line 31987 "gram.c"
31987
389
    break;
31988
31989
307
  case 714:
31990
307
#line 5312 "gram.y"
31991
307
    {
31992
307
          (yyval.list) = (yyvsp[-1].list);
31993
307
        }
31994
307
#line 31995 "gram.c"
31995
307
    break;
31996
31997
307
  case 715:
31998
307
#line 5319 "gram.y"
31999
307
    {
32000
307
          (yyval.list) = list_make1((yyvsp[0].defelt));
32001
307
        }
32002
307
#line 32003 "gram.c"
32003
307
    break;
32004
32005
156
  case 716:
32006
156
#line 5323 "gram.y"
32007
156
    {
32008
156
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
32009
156
        }
32010
156
#line 32011 "gram.c"
32011
156
    break;
32012
32013
186
  case 717:
32014
186
#line 5330 "gram.y"
32015
186
    {
32016
186
          (yyval.defelt) = (yyvsp[0].defelt);
32017
186
        }
32018
186
#line 32019 "gram.c"
32019
186
    break;
32020
32021
97
  case 718:
32022
97
#line 5334 "gram.y"
32023
97
    {
32024
97
          (yyval.defelt) = (yyvsp[0].defelt);
32025
97
          (yyval.defelt)->defaction = DEFELEM_SET;
32026
97
        }
32027
97
#line 32028 "gram.c"
32028
97
    break;
32029
32030
112
  case 719:
32031
112
#line 5339 "gram.y"
32032
112
    {
32033
112
          (yyval.defelt) = (yyvsp[0].defelt);
32034
112
          (yyval.defelt)->defaction = DEFELEM_ADD;
32035
112
        }
32036
112
#line 32037 "gram.c"
32037
112
    break;
32038
32039
68
  case 720:
32040
68
#line 5344 "gram.y"
32041
68
    {
32042
68
          (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
32043
68
        }
32044
68
#line 32045 "gram.c"
32045
68
    break;
32046
32047
1.35k
  case 721:
32048
1.35k
#line 5351 "gram.y"
32049
1.35k
    {
32050
1.35k
          (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
32051
1.35k
        }
32052
1.35k
#line 32053 "gram.c"
32053
1.35k
    break;
32054
32055
1.42k
  case 722:
32056
1.42k
#line 5357 "gram.y"
32057
1.42k
    { (yyval.str) = (yyvsp[0].str); }
32058
1.42k
#line 32059 "gram.c"
32059
1.42k
    break;
32060
32061
1.35k
  case 723:
32062
1.35k
#line 5362 "gram.y"
32063
1.35k
    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
32064
1.35k
#line 32065 "gram.c"
32065
1.35k
    break;
32066
32067
166
  case 724:
32068
166
#line 5374 "gram.y"
32069
166
    {
32070
166
          CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
32071
0
          n->servername = (yyvsp[-7].str);
32072
166
          n->servertype = (yyvsp[-6].str);
32073
166
          n->version = (yyvsp[-5].str);
32074
166
          n->fdwname = (yyvsp[-1].str);
32075
166
          n->options = (yyvsp[0].list);
32076
166
          n->if_not_exists = false;
32077
166
          (yyval.node) = (Node *) n;
32078
166
        }
32079
0
#line 32080 "gram.c"
32080
0
    break;
32081
32082
4
  case 725:
32083
4
#line 5386 "gram.y"
32084
4
    {
32085
4
          CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
32086
0
          n->servername = (yyvsp[-7].str);
32087
4
          n->servertype = (yyvsp[-6].str);
32088
4
          n->version = (yyvsp[-5].str);
32089
4
          n->fdwname = (yyvsp[-1].str);
32090
4
          n->options = (yyvsp[0].list);
32091
4
          n->if_not_exists = true;
32092
4
          (yyval.node) = (Node *) n;
32093
4
        }
32094
0
#line 32095 "gram.c"
32095
0
    break;
32096
32097
12
  case 726:
32098
12
#line 5399 "gram.y"
32099
12
    { (yyval.str) = (yyvsp[0].str); }
32100
12
#line 32101 "gram.c"
32101
12
    break;
32102
32103
158
  case 727:
32104
158
#line 5400 "gram.y"
32105
158
    { (yyval.str) = NULL; }
32106
158
#line 32107 "gram.c"
32107
158
    break;
32108
32109
44
  case 728:
32110
44
#line 5405 "gram.y"
32111
44
    { (yyval.str) = (yyvsp[0].str); }
32112
44
#line 32113 "gram.c"
32113
44
    break;
32114
32115
0
  case 729:
32116
0
#line 5406 "gram.y"
32117
0
    { (yyval.str) = NULL; }
32118
0
#line 32119 "gram.c"
32119
0
    break;
32120
32121
12
  case 730:
32122
12
#line 5410 "gram.y"
32123
12
    { (yyval.str) = (yyvsp[0].str); }
32124
12
#line 32125 "gram.c"
32125
12
    break;
32126
32127
158
  case 731:
32128
158
#line 5411 "gram.y"
32129
158
    { (yyval.str) = NULL; }
32130
158
#line 32131 "gram.c"
32131
158
    break;
32132
32133
4
  case 732:
32134
4
#line 5422 "gram.y"
32135
4
    {
32136
4
          AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32137
0
          n->servername = (yyvsp[-2].str);
32138
4
          n->version = (yyvsp[-1].str);
32139
4
          n->options = (yyvsp[0].list);
32140
4
          n->has_version = true;
32141
4
          (yyval.node) = (Node *) n;
32142
4
        }
32143
0
#line 32144 "gram.c"
32144
0
    break;
32145
32146
28
  case 733:
32147
28
#line 5431 "gram.y"
32148
28
    {
32149
28
          AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32150
0
          n->servername = (yyvsp[-1].str);
32151
28
          n->version = (yyvsp[0].str);
32152
28
          n->has_version = true;
32153
28
          (yyval.node) = (Node *) n;
32154
28
        }
32155
0
#line 32156 "gram.c"
32156
0
    break;
32157
32158
93
  case 734:
32159
93
#line 5439 "gram.y"
32160
93
    {
32161
93
          AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32162
0
          n->servername = (yyvsp[-1].str);
32163
93
          n->options = (yyvsp[0].list);
32164
93
          (yyval.node) = (Node *) n;
32165
93
        }
32166
0
#line 32167 "gram.c"
32167
0
    break;
32168
32169
263
  case 735:
32170
263
#line 5458 "gram.y"
32171
263
    {
32172
263
          CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32173
263
          (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32174
263
          n->base.relation = (yyvsp[-7].range);
32175
263
          n->base.tableElts = (yyvsp[-5].list);
32176
263
          n->base.inhRelations = (yyvsp[-3].list);
32177
263
          n->base.ofTypename = NULL;
32178
263
          n->base.constraints = NIL;
32179
263
          n->base.options = NIL;
32180
263
          n->base.oncommit = ONCOMMIT_NOOP;
32181
263
          n->base.tablespacename = NULL;
32182
263
          n->base.if_not_exists = false;
32183
          /* FDW-specific data */
32184
263
          n->servername = (yyvsp[-1].str);
32185
263
          n->options = (yyvsp[0].list);
32186
263
          (yyval.node) = (Node *) n;
32187
263
        }
32188
0
#line 32189 "gram.c"
32189
0
    break;
32190
32191
0
  case 736:
32192
0
#line 5478 "gram.y"
32193
0
    {
32194
0
          CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32195
0
          (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32196
0
          n->base.relation = (yyvsp[-7].range);
32197
0
          n->base.tableElts = (yyvsp[-5].list);
32198
0
          n->base.inhRelations = (yyvsp[-3].list);
32199
0
          n->base.ofTypename = NULL;
32200
0
          n->base.constraints = NIL;
32201
0
          n->base.options = NIL;
32202
0
          n->base.oncommit = ONCOMMIT_NOOP;
32203
0
          n->base.tablespacename = NULL;
32204
0
          n->base.if_not_exists = true;
32205
          /* FDW-specific data */
32206
0
          n->servername = (yyvsp[-1].str);
32207
0
          n->options = (yyvsp[0].list);
32208
0
          (yyval.node) = (Node *) n;
32209
0
        }
32210
0
#line 32211 "gram.c"
32211
0
    break;
32212
32213
40
  case 737:
32214
40
#line 5498 "gram.y"
32215
40
    {
32216
40
          CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32217
40
          (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32218
40
          n->base.relation = (yyvsp[-8].range);
32219
40
          n->base.inhRelations = list_make1((yyvsp[-5].range));
32220
40
          n->base.tableElts = (yyvsp[-4].list);
32221
40
          n->base.partbound = (yyvsp[-3].partboundspec);
32222
40
          n->base.ofTypename = NULL;
32223
40
          n->base.constraints = NIL;
32224
40
          n->base.options = NIL;
32225
40
          n->base.oncommit = ONCOMMIT_NOOP;
32226
40
          n->base.tablespacename = NULL;
32227
40
          n->base.if_not_exists = false;
32228
          /* FDW-specific data */
32229
40
          n->servername = (yyvsp[-1].str);
32230
40
          n->options = (yyvsp[0].list);
32231
40
          (yyval.node) = (Node *) n;
32232
40
        }
32233
0
#line 32234 "gram.c"
32234
0
    break;
32235
32236
0
  case 738:
32237
0
#line 5519 "gram.y"
32238
0
    {
32239
0
          CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32240
0
          (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32241
0
          n->base.relation = (yyvsp[-8].range);
32242
0
          n->base.inhRelations = list_make1((yyvsp[-5].range));
32243
0
          n->base.tableElts = (yyvsp[-4].list);
32244
0
          n->base.partbound = (yyvsp[-3].partboundspec);
32245
0
          n->base.ofTypename = NULL;
32246
0
          n->base.constraints = NIL;
32247
0
          n->base.options = NIL;
32248
0
          n->base.oncommit = ONCOMMIT_NOOP;
32249
0
          n->base.tablespacename = NULL;
32250
0
          n->base.if_not_exists = true;
32251
          /* FDW-specific data */
32252
0
          n->servername = (yyvsp[-1].str);
32253
0
          n->options = (yyvsp[0].list);
32254
0
          (yyval.node) = (Node *) n;
32255
0
        }
32256
0
#line 32257 "gram.c"
32257
0
    break;
32258
32259
200
  case 739:
32260
200
#line 5548 "gram.y"
32261
200
    {
32262
200
          AlterTableStmt *n = makeNode(AlterTableStmt);
32263
0
          n->relation = (yyvsp[-1].range);
32264
200
          n->cmds = (yyvsp[0].list);
32265
200
          n->relkind = OBJECT_FOREIGN_TABLE;
32266
200
          n->missing_ok = false;
32267
200
          (yyval.node) = (Node *)n;
32268
200
        }
32269
0
#line 32270 "gram.c"
32270
0
    break;
32271
32272
68
  case 740:
32273
68
#line 5557 "gram.y"
32274
68
    {
32275
68
          AlterTableStmt *n = makeNode(AlterTableStmt);
32276
0
          n->relation = (yyvsp[-1].range);
32277
68
          n->cmds = (yyvsp[0].list);
32278
68
          n->relkind = OBJECT_FOREIGN_TABLE;
32279
68
          n->missing_ok = true;
32280
68
          (yyval.node) = (Node *)n;
32281
68
        }
32282
0
#line 32283 "gram.c"
32283
0
    break;
32284
32285
56
  case 741:
32286
56
#line 5579 "gram.y"
32287
56
    {
32288
56
        ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
32289
0
        n->server_name = (yyvsp[-3].str);
32290
56
        n->remote_schema = (yyvsp[-7].str);
32291
56
        n->local_schema = (yyvsp[-1].str);
32292
56
        n->list_type = (yyvsp[-6].importqual)->type;
32293
56
        n->table_list = (yyvsp[-6].importqual)->table_names;
32294
56
        n->options = (yyvsp[0].list);
32295
56
        (yyval.node) = (Node *) n;
32296
56
      }
32297
0
#line 32298 "gram.c"
32298
0
    break;
32299
32300
12
  case 742:
32301
12
#line 5592 "gram.y"
32302
12
    { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
32303
12
#line 32304 "gram.c"
32304
12
    break;
32305
32306
12
  case 743:
32307
12
#line 5593 "gram.y"
32308
12
    { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
32309
12
#line 32310 "gram.c"
32310
12
    break;
32311
32312
24
  case 744:
32313
24
#line 5598 "gram.y"
32314
24
    {
32315
24
        ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
32316
24
        n->type = (yyvsp[-3].ival);
32317
24
        n->table_names = (yyvsp[-1].list);
32318
24
        (yyval.importqual) = n;
32319
24
      }
32320
24
#line 32321 "gram.c"
32321
24
    break;
32322
32323
32
  case 745:
32324
32
#line 5605 "gram.y"
32325
32
    {
32326
32
        ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
32327
32
        n->type = FDW_IMPORT_SCHEMA_ALL;
32328
32
        n->table_names = NIL;
32329
32
        (yyval.importqual) = n;
32330
32
      }
32331
32
#line 32332 "gram.c"
32332
32
    break;
32333
32334
208
  case 746:
32335
208
#line 5621 "gram.y"
32336
208
    {
32337
208
          CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
32338
0
          n->user = (yyvsp[-3].rolespec);
32339
208
          n->servername = (yyvsp[-1].str);
32340
208
          n->options = (yyvsp[0].list);
32341
208
          n->if_not_exists = false;
32342
208
          (yyval.node) = (Node *) n;
32343
208
        }
32344
0
#line 32345 "gram.c"
32345
0
    break;
32346
32347
4
  case 747:
32348
4
#line 5630 "gram.y"
32349
4
    {
32350
4
          CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
32351
0
          n->user = (yyvsp[-3].rolespec);
32352
4
          n->servername = (yyvsp[-1].str);
32353
4
          n->options = (yyvsp[0].list);
32354
4
          n->if_not_exists = true;
32355
4
          (yyval.node) = (Node *) n;
32356
4
        }
32357
0
#line 32358 "gram.c"
32358
0
    break;
32359
32360
384
  case 748:
32361
384
#line 5641 "gram.y"
32362
384
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
32363
384
#line 32364 "gram.c"
32364
384
    break;
32365
32366
44
  case 749:
32367
44
#line 5642 "gram.y"
32368
44
    { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
32369
44
#line 32370 "gram.c"
32370
44
    break;
32371
32372
76
  case 750:
32373
76
#line 5655 "gram.y"
32374
76
    {
32375
76
          DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
32376
0
          n->user = (yyvsp[-2].rolespec);
32377
76
          n->servername = (yyvsp[0].str);
32378
76
          n->missing_ok = false;
32379
76
          (yyval.node) = (Node *) n;
32380
76
        }
32381
0
#line 32382 "gram.c"
32382
0
    break;
32383
32384
48
  case 751:
32385
48
#line 5663 "gram.y"
32386
48
    {
32387
48
          DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
32388
0
          n->user = (yyvsp[-2].rolespec);
32389
48
          n->servername = (yyvsp[0].str);
32390
48
          n->missing_ok = true;
32391
48
          (yyval.node) = (Node *) n;
32392
48
        }
32393
0
#line 32394 "gram.c"
32394
0
    break;
32395
32396
92
  case 752:
32397
92
#line 5680 "gram.y"
32398
92
    {
32399
92
          AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
32400
0
          n->user = (yyvsp[-3].rolespec);
32401
92
          n->servername = (yyvsp[-1].str);
32402
92
          n->options = (yyvsp[0].list);
32403
92
          (yyval.node) = (Node *) n;
32404
92
        }
32405
0
#line 32406 "gram.c"
32406
0
    break;
32407
32408
376
  case 753:
32409
376
#line 5706 "gram.y"
32410
376
    {
32411
376
          CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
32412
0
          n->policy_name = (yyvsp[-7].str);
32413
376
          n->table = (yyvsp[-5].range);
32414
376
          n->permissive = (yyvsp[-4].boolean);
32415
376
          n->cmd_name = (yyvsp[-3].str);
32416
376
          n->roles = (yyvsp[-2].list);
32417
376
          n->qual = (yyvsp[-1].node);
32418
376
          n->with_check = (yyvsp[0].node);
32419
376
          (yyval.node) = (Node *) n;
32420
376
        }
32421
0
#line 32422 "gram.c"
32422
0
    break;
32423
32424
56
  case 754:
32425
56
#line 5722 "gram.y"
32426
56
    {
32427
56
          AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
32428
0
          n->policy_name = (yyvsp[-5].str);
32429
56
          n->table = (yyvsp[-3].range);
32430
56
          n->roles = (yyvsp[-2].list);
32431
56
          n->qual = (yyvsp[-1].node);
32432
56
          n->with_check = (yyvsp[0].node);
32433
56
          (yyval.node) = (Node *) n;
32434
56
        }
32435
0
#line 32436 "gram.c"
32436
0
    break;
32437
32438
396
  case 755:
32439
396
#line 5734 "gram.y"
32440
396
    { (yyval.node) = (yyvsp[-1].node); }
32441
396
#line 32442 "gram.c"
32442
396
    break;
32443
32444
36
  case 756:
32445
36
#line 5735 "gram.y"
32446
36
    { (yyval.node) = NULL; }
32447
36
#line 32448 "gram.c"
32448
36
    break;
32449
32450
72
  case 757:
32451
72
#line 5739 "gram.y"
32452
72
    { (yyval.node) = (yyvsp[-1].node); }
32453
72
#line 32454 "gram.c"
32454
72
    break;
32455
32456
360
  case 758:
32457
360
#line 5740 "gram.y"
32458
360
    { (yyval.node) = NULL; }
32459
360
#line 32460 "gram.c"
32460
360
    break;
32461
32462
72
  case 759:
32463
72
#line 5744 "gram.y"
32464
72
    { (yyval.list) = (yyvsp[0].list); }
32465
72
#line 32466 "gram.c"
32466
72
    break;
32467
32468
304
  case 760:
32469
304
#line 5745 "gram.y"
32470
304
    { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
32471
304
#line 32472 "gram.c"
32472
304
    break;
32473
32474
8
  case 761:
32475
8
#line 5749 "gram.y"
32476
8
    { (yyval.list) = (yyvsp[0].list); }
32477
8
#line 32478 "gram.c"
32478
8
    break;
32479
32480
48
  case 762:
32481
48
#line 5750 "gram.y"
32482
48
    { (yyval.list) = NULL; }
32483
48
#line 32484 "gram.c"
32484
48
    break;
32485
32486
42
  case 763:
32487
42
#line 5755 "gram.y"
32488
42
    {
32489
42
          if (strcmp((yyvsp[0].str), "permissive") == 0)
32490
12
            (yyval.boolean) = true;
32491
30
          else if (strcmp((yyvsp[0].str), "restrictive") == 0)
32492
28
            (yyval.boolean) = false;
32493
2
          else
32494
2
            ereport(ERROR,
32495
42
                (errcode(ERRCODE_SYNTAX_ERROR),
32496
42
               errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
32497
42
                 errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
32498
42
                   parser_errposition((yylsp[0]))));
32499
32500
42
        }
32501
42
#line 32502 "gram.c"
32502
42
    break;
32503
32504
336
  case 764:
32505
336
#line 5768 "gram.y"
32506
336
    { (yyval.boolean) = true; }
32507
336
#line 32508 "gram.c"
32508
336
    break;
32509
32510
180
  case 765:
32511
180
#line 5772 "gram.y"
32512
180
    { (yyval.str) = (yyvsp[0].str); }
32513
180
#line 32514 "gram.c"
32514
180
    break;
32515
32516
196
  case 766:
32517
196
#line 5773 "gram.y"
32518
196
    { (yyval.str) = "all"; }
32519
196
#line 32520 "gram.c"
32520
196
    break;
32521
32522
32
  case 767:
32523
32
#line 5777 "gram.y"
32524
32
    { (yyval.str) = "all"; }
32525
32
#line 32526 "gram.c"
32526
32
    break;
32527
32528
44
  case 768:
32529
44
#line 5778 "gram.y"
32530
44
    { (yyval.str) = "select"; }
32531
44
#line 32532 "gram.c"
32532
44
    break;
32533
32534
32
  case 769:
32535
32
#line 5779 "gram.y"
32536
32
    { (yyval.str) = "insert"; }
32537
32
#line 32538 "gram.c"
32538
32
    break;
32539
32540
52
  case 770:
32541
52
#line 5780 "gram.y"
32542
52
    { (yyval.str) = "update"; }
32543
52
#line 32544 "gram.c"
32544
52
    break;
32545
32546
20
  case 771:
32547
20
#line 5781 "gram.y"
32548
20
    { (yyval.str) = "delete"; }
32549
20
#line 32550 "gram.c"
32550
20
    break;
32551
32552
0
  case 772:
32553
0
#line 5792 "gram.y"
32554
0
    {
32555
0
          parser_ybc_not_support((yylsp[-7]), "CREATE ACCESS METHOD");
32556
0
          CreateAmStmt *n = makeNode(CreateAmStmt);
32557
0
          n->amname = (yyvsp[-4].str);
32558
0
          n->handler_name = (yyvsp[0].list);
32559
0
          n->amtype = AMTYPE_INDEX;
32560
0
          (yyval.node) = (Node *) n;
32561
0
        }
32562
0
#line 32563 "gram.c"
32563
0
    break;
32564
32565
1.40k
  case 773:
32566
1.40k
#line 5813 "gram.y"
32567
1.40k
    {
32568
1.40k
          CreateTrigStmt *n = makeNode(CreateTrigStmt);
32569
0
          n->trigname = (yyvsp[-13].str);
32570
1.40k
          n->relation = (yyvsp[-9].range);
32571
1.40k
          n->funcname = (yyvsp[-3].list);
32572
1.40k
          n->args = (yyvsp[-1].list);
32573
1.40k
          n->row = (yyvsp[-7].boolean);
32574
1.40k
          n->timing = (yyvsp[-12].ival);
32575
1.40k
          n->events = intVal(linitial((yyvsp[-11].list)));
32576
1.40k
          n->columns = (List *) lsecond((yyvsp[-11].list));
32577
1.40k
          n->whenClause = (yyvsp[-6].node);
32578
1.40k
          n->transitionRels = (yyvsp[-8].list);
32579
1.40k
          n->isconstraint  = false;
32580
1.40k
          n->deferrable  = false;
32581
1.40k
          n->initdeferred  = false;
32582
1.40k
          n->constrrel = NULL;
32583
1.40k
          (yyval.node) = (Node *)n;
32584
1.40k
        }
32585
0
#line 32586 "gram.c"
32586
0
    break;
32587
32588
21
  case 774:
32589
21
#line 5835 "gram.y"
32590
21
    {
32591
21
          parser_ybc_signal_unsupported((yylsp[-19]), "CREATE CONSTRAINT TRIGGER", 1709);
32592
21
          CreateTrigStmt *n = makeNode(CreateTrigStmt);
32593
0
          n->trigname = (yyvsp[-16].str);
32594
21
          n->relation = (yyvsp[-12].range);
32595
21
          n->funcname = (yyvsp[-3].list);
32596
21
          n->args = (yyvsp[-1].list);
32597
21
          n->row = true;
32598
21
          n->timing = TRIGGER_TYPE_AFTER;
32599
21
          n->events = intVal(linitial((yyvsp[-14].list)));
32600
21
          n->columns = (List *) lsecond((yyvsp[-14].list));
32601
21
          n->whenClause = (yyvsp[-6].node);
32602
21
          n->transitionRels = NIL;
32603
21
          n->isconstraint  = true;
32604
21
          processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
32605
21
                   &n->deferrable, &n->initdeferred, NULL,
32606
21
                   NULL, yyscanner);
32607
21
          n->constrrel = (yyvsp[-11].range);
32608
21
          (yyval.node) = (Node *)n;
32609
21
        }
32610
0
#line 32611 "gram.c"
32611
0
    break;
32612
32613
704
  case 775:
32614
704
#line 5858 "gram.y"
32615
704
    { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
32616
704
#line 32617 "gram.c"
32617
704
    break;
32618
32619
642
  case 776:
32620
642
#line 5859 "gram.y"
32621
642
    { (yyval.ival) = TRIGGER_TYPE_AFTER; }
32622
642
#line 32623 "gram.c"
32623
642
    break;
32624
32625
92
  case 777:
32626
92
#line 5860 "gram.y"
32627
92
    { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
32628
92
#line 32629 "gram.c"
32629
92
    break;
32630
32631
1.45k
  case 778:
32632
1.45k
#line 5865 "gram.y"
32633
1.45k
    { (yyval.list) = (yyvsp[0].list); }
32634
1.45k
#line 32635 "gram.c"
32635
1.45k
    break;
32636
32637
360
  case 779:
32638
360
#line 5867 "gram.y"
32639
360
    {
32640
360
          int   events1 = intVal(linitial((yyvsp[-2].list)));
32641
360
          int   events2 = intVal(linitial((yyvsp[0].list)));
32642
360
          List   *columns1 = (List *) lsecond((yyvsp[-2].list));
32643
360
          List   *columns2 = (List *) lsecond((yyvsp[0].list));
32644
32645
360
          if (events1 & events2)
32646
2
            parser_yyerror("duplicate trigger events specified");
32647
          /*
32648
           * concat'ing the columns lists loses information about
32649
           * which columns went with which event, but so long as
32650
           * only UPDATE carries columns and we disallow multiple
32651
           * UPDATE items, it doesn't matter.  Command execution
32652
           * should just ignore the columns for non-UPDATE events.
32653
           */
32654
358
          (yyval.list) = list_make2(makeInteger(events1 | events2),
32655
358
                  list_concat(columns1, columns2));
32656
358
        }
32657
0
#line 32658 "gram.c"
32658
0
    break;
32659
32660
717
  case 780:
32661
717
#line 5889 "gram.y"
32662
717
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
32663
717
#line 32664 "gram.c"
32664
717
    break;
32665
32666
372
  case 781:
32667
372
#line 5891 "gram.y"
32668
372
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
32669
372
#line 32670 "gram.c"
32670
372
    break;
32671
32672
594
  case 782:
32673
594
#line 5893 "gram.y"
32674
594
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
32675
594
#line 32676 "gram.c"
32676
594
    break;
32677
32678
110
  case 783:
32679
110
#line 5895 "gram.y"
32680
110
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
32681
110
#line 32682 "gram.c"
32682
110
    break;
32683
32684
26
  case 784:
32685
26
#line 5897 "gram.y"
32686
26
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
32687
26
#line 32688 "gram.c"
32688
26
    break;
32689
32690
34
  case 785:
32691
34
#line 5902 "gram.y"
32692
34
    {
32693
34
          parser_ybc_signal_unsupported((yylsp[-1]), "REFERENCING clause (transition tables)", 1668);
32694
34
          (yyval.list) = (yyvsp[0].list);
32695
34
        }
32696
34
#line 32697 "gram.c"
32697
34
    break;
32698
32699
1.40k
  case 786:
32700
1.40k
#line 5906 "gram.y"
32701
1.40k
    { (yyval.list) = NIL; }
32702
1.40k
#line 32703 "gram.c"
32703
1.40k
    break;
32704
32705
34
  case 787:
32706
34
#line 5910 "gram.y"
32707
34
    { (yyval.list) = list_make1((yyvsp[0].node)); }
32708
34
#line 32709 "gram.c"
32709
34
    break;
32710
32711
14
  case 788:
32712
14
#line 5911 "gram.y"
32713
14
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
32714
14
#line 32715 "gram.c"
32715
14
    break;
32716
32717
48
  case 789:
32718
48
#line 5916 "gram.y"
32719
48
    {
32720
48
          TriggerTransition *n = makeNode(TriggerTransition);
32721
0
          n->name = (yyvsp[0].str);
32722
48
          n->isNew = (yyvsp[-3].boolean);
32723
48
          n->isTable = (yyvsp[-2].boolean);
32724
48
          (yyval.node) = (Node *)n;
32725
48
        }
32726
0
#line 32727 "gram.c"
32727
0
    break;
32728
32729
26
  case 790:
32730
26
#line 5926 "gram.y"
32731
26
    { (yyval.boolean) = true; }
32732
26
#line 32733 "gram.c"
32733
26
    break;
32734
32735
22
  case 791:
32736
22
#line 5927 "gram.y"
32737
22
    { (yyval.boolean) = false; }
32738
22
#line 32739 "gram.c"
32739
22
    break;
32740
32741
48
  case 792:
32742
48
#line 5931 "gram.y"
32743
48
    { (yyval.boolean) = true; }
32744
48
#line 32745 "gram.c"
32745
48
    break;
32746
32747
0
  case 793:
32748
0
#line 5940 "gram.y"
32749
0
    { (yyval.boolean) = false; }
32750
0
#line 32751 "gram.c"
32751
0
    break;
32752
32753
48
  case 794:
32754
48
#line 5944 "gram.y"
32755
48
    { (yyval.str) = (yyvsp[0].str); }
32756
48
#line 32757 "gram.c"
32757
48
    break;
32758
32759
1.37k
  case 795:
32760
1.37k
#line 5949 "gram.y"
32761
1.37k
    {
32762
1.37k
          (yyval.boolean) = (yyvsp[0].boolean);
32763
1.37k
        }
32764
1.37k
#line 32765 "gram.c"
32765
1.37k
    break;
32766
32767
28
  case 796:
32768
28
#line 5953 "gram.y"
32769
28
    {
32770
          /*
32771
           * If ROW/STATEMENT not specified, default to
32772
           * STATEMENT, per SQL
32773
           */
32774
28
          (yyval.boolean) = false;
32775
28
        }
32776
28
#line 32777 "gram.c"
32777
28
    break;
32778
32779
1.37k
  case 797:
32780
1.37k
#line 5963 "gram.y"
32781
1.37k
    {}
32782
1.37k
#line 32783 "gram.c"
32783
1.37k
    break;
32784
32785
0
  case 798:
32786
0
#line 5964 "gram.y"
32787
0
    {}
32788
0
#line 32789 "gram.c"
32789
0
    break;
32790
32791
1.00k
  case 799:
32792
1.00k
#line 5968 "gram.y"
32793
1.00k
    { (yyval.boolean) = true; }
32794
1.00k
#line 32795 "gram.c"
32795
1.00k
    break;
32796
32797
368
  case 800:
32798
368
#line 5969 "gram.y"
32799
368
    { (yyval.boolean) = false; }
32800
368
#line 32801 "gram.c"
32801
368
    break;
32802
32803
96
  case 801:
32804
96
#line 5973 "gram.y"
32805
96
    { (yyval.node) = (yyvsp[-1].node); }
32806
96
#line 32807 "gram.c"
32807
96
    break;
32808
32809
1.32k
  case 802:
32810
1.32k
#line 5974 "gram.y"
32811
1.32k
    { (yyval.node) = NULL; }
32812
1.32k
#line 32813 "gram.c"
32813
1.32k
    break;
32814
32815
440
  case 805:
32816
440
#line 5983 "gram.y"
32817
440
    { (yyval.list) = list_make1((yyvsp[0].value)); }
32818
440
#line 32819 "gram.c"
32819
440
    break;
32820
32821
152
  case 806:
32822
152
#line 5984 "gram.y"
32823
152
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
32824
152
#line 32825 "gram.c"
32825
152
    break;
32826
32827
981
  case 807:
32828
981
#line 5985 "gram.y"
32829
981
    { (yyval.list) = NIL; }
32830
981
#line 32831 "gram.c"
32831
981
    break;
32832
32833
60
  case 808:
32834
60
#line 5990 "gram.y"
32835
60
    {
32836
60
          (yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
32837
60
        }
32838
60
#line 32839 "gram.c"
32839
60
    break;
32840
32841
0
  case 809:
32842
0
#line 5993 "gram.y"
32843
0
    { (yyval.value) = makeString((yyvsp[0].str)); }
32844
0
#line 32845 "gram.c"
32845
0
    break;
32846
32847
512
  case 810:
32848
512
#line 5994 "gram.y"
32849
512
    { (yyval.value) = makeString((yyvsp[0].str)); }
32850
512
#line 32851 "gram.c"
32851
512
    break;
32852
32853
20
  case 811:
32854
20
#line 5995 "gram.y"
32855
20
    { (yyval.value) = makeString((yyvsp[0].str)); }
32856
20
#line 32857 "gram.c"
32857
20
    break;
32858
32859
2
  case 812:
32860
2
#line 5999 "gram.y"
32861
2
    { (yyval.range) = (yyvsp[0].range); }
32862
2
#line 32863 "gram.c"
32863
2
    break;
32864
32865
19
  case 813:
32866
19
#line 6000 "gram.y"
32867
19
    { (yyval.range) = NULL; }
32868
19
#line 32869 "gram.c"
32869
19
    break;
32870
32871
3.48k
  case 814:
32872
3.48k
#line 6005 "gram.y"
32873
3.48k
    { (yyval.ival) = 0; }
32874
3.48k
#line 32875 "gram.c"
32875
3.48k
    break;
32876
32877
85
  case 815:
32878
85
#line 6007 "gram.y"
32879
85
    {
32880
          /*
32881
           * We must complain about conflicting options.
32882
           * We could, but choose not to, complain about redundant
32883
           * options (ie, where $2's bit is already set in $1).
32884
           */
32885
85
          int   newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
32886
32887
          /* special message for this case */
32888
85
          if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
32889
85
            ereport(ERROR,
32890
85
                (errcode(ERRCODE_SYNTAX_ERROR),
32891
85
                 errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
32892
85
                 parser_errposition((yylsp[0]))));
32893
          /* generic message for other conflicts */
32894
85
          if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
32895
85
            
(newspec & (83
CAS_INITIALLY_IMMEDIATE83
|
CAS_INITIALLY_DEFERRED83
)) == (
CAS_INITIALLY_IMMEDIATE83
|
CAS_INITIALLY_DEFERRED83
))
32896
85
            ereport(ERROR,
32897
85
                (errcode(ERRCODE_SYNTAX_ERROR),
32898
85
                 errmsg("conflicting constraint properties"),
32899
85
                 parser_errposition((yylsp[0]))));
32900
85
          (yyval.ival) = newspec;
32901
85
        }
32902
0
#line 32903 "gram.c"
32903
0
    break;
32904
32905
8
  case 816:
32906
8
#line 6033 "gram.y"
32907
8
    { (yyval.ival) = CAS_NOT_DEFERRABLE; }
32908
8
#line 32909 "gram.c"
32909
8
    break;
32910
32911
26
  case 817:
32912
26
#line 6034 "gram.y"
32913
26
    {
32914
26
        (yyval.ival) = CAS_DEFERRABLE;
32915
26
        }
32916
26
#line 32917 "gram.c"
32917
26
    break;
32918
32919
10
  case 818:
32920
10
#line 6037 "gram.y"
32921
10
    {
32922
10
        (yyval.ival) = CAS_INITIALLY_IMMEDIATE;
32923
10
      }
32924
10
#line 32925 "gram.c"
32925
10
    break;
32926
32927
25
  case 819:
32928
25
#line 6040 "gram.y"
32929
25
    {
32930
25
        (yyval.ival) = CAS_INITIALLY_DEFERRED;
32931
25
      }
32932
25
#line 32933 "gram.c"
32933
25
    break;
32934
32935
12
  case 820:
32936
12
#line 6043 "gram.y"
32937
12
    { (yyval.ival) = CAS_NOT_VALID; }
32938
12
#line 32939 "gram.c"
32939
12
    break;
32940
32941
4
  case 821:
32942
4
#line 6044 "gram.y"
32943
4
    { (yyval.ival) = CAS_NO_INHERIT; }
32944
4
#line 32945 "gram.c"
32945
4
    break;
32946
32947
90
  case 822:
32948
90
#line 6059 "gram.y"
32949
90
    {
32950
90
          CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
32951
0
          n->trigname = (yyvsp[-7].str);
32952
90
          n->eventname = (yyvsp[-5].str);
32953
90
          n->whenclause = NULL;
32954
90
          n->funcname = (yyvsp[-2].list);
32955
90
          (yyval.node) = (Node *)n;
32956
90
        }
32957
0
#line 32958 "gram.c"
32958
0
    break;
32959
32960
52
  case 823:
32961
52
#line 6070 "gram.y"
32962
52
    {
32963
52
          CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
32964
0
          n->trigname = (yyvsp[-9].str);
32965
52
          n->eventname = (yyvsp[-7].str);
32966
52
          n->whenclause = (yyvsp[-5].list);
32967
52
          n->funcname = (yyvsp[-2].list);
32968
52
          (yyval.node) = (Node *)n;
32969
52
        }
32970
0
#line 32971 "gram.c"
32971
0
    break;
32972
32973
52
  case 824:
32974
52
#line 6082 "gram.y"
32975
52
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32976
52
#line 32977 "gram.c"
32977
52
    break;
32978
32979
4
  case 825:
32980
4
#line 6084 "gram.y"
32981
4
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
32982
4
#line 32983 "gram.c"
32983
4
    break;
32984
32985
56
  case 826:
32986
56
#line 6089 "gram.y"
32987
56
    { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
32988
56
#line 32989 "gram.c"
32989
56
    break;
32990
32991
56
  case 827:
32992
56
#line 6094 "gram.y"
32993
56
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32994
56
#line 32995 "gram.c"
32995
56
    break;
32996
32997
44
  case 828:
32998
44
#line 6096 "gram.y"
32999
44
    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
33000
44
#line 33001 "gram.c"
33001
44
    break;
33002
33003
20
  case 829:
33004
20
#line 6101 "gram.y"
33005
20
    {
33006
20
          AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
33007
0
          n->trigname = (yyvsp[-1].str);
33008
20
          n->tgenabled = (yyvsp[0].chr);
33009
20
          (yyval.node) = (Node *) n;
33010
20
        }
33011
0
#line 33012 "gram.c"
33012
0
    break;
33013
33014
4
  case 830:
33015
4
#line 6110 "gram.y"
33016
4
    { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
33017
4
#line 33018 "gram.c"
33018
4
    break;
33019
33020
4
  case 831:
33021
4
#line 6111 "gram.y"
33022
4
    { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
33023
4
#line 33024 "gram.c"
33024
4
    break;
33025
33026
4
  case 832:
33027
4
#line 6112 "gram.y"
33028
4
    { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
33029
4
#line 33030 "gram.c"
33030
4
    break;
33031
33032
8
  case 833:
33033
8
#line 6113 "gram.y"
33034
8
    { (yyval.chr) = TRIGGER_DISABLED; }
33035
8
#line 33036 "gram.c"
33036
8
    break;
33037
33038
0
  case 834:
33039
0
#line 6127 "gram.y"
33040
0
    {
33041
0
          parser_ybc_not_support((yylsp[-7]), "CREATE ASSERTION");
33042
0
          CreateTrigStmt *n = makeNode(CreateTrigStmt);
33043
0
          n->trigname = (yyvsp[-5].str);
33044
0
          n->args = list_make1((yyvsp[-2].node));
33045
0
          n->isconstraint  = true;
33046
0
          processCASbits((yyvsp[0].ival), (yylsp[0]), "ASSERTION",
33047
0
                   &n->deferrable, &n->initdeferred, NULL,
33048
0
                   NULL, yyscanner);
33049
33050
0
          ereport(ERROR,
33051
0
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33052
0
               errmsg("CREATE ASSERTION is not yet implemented")));
33053
33054
0
          (yyval.node) = (Node *)n;
33055
0
        }
33056
0
#line 33057 "gram.c"
33057
0
    break;
33058
33059
0
  case 835:
33060
0
#line 6147 "gram.y"
33061
0
    {
33062
0
          parser_ybc_not_support((yylsp[-3]), "DROP ASSERTION");
33063
0
          DropStmt *n = makeNode(DropStmt);
33064
0
          n->objects = NIL;
33065
0
          n->behavior = (yyvsp[0].dbehavior);
33066
0
          n->removeType = OBJECT_TRIGGER; /* XXX */
33067
0
          ereport(ERROR,
33068
0
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33069
0
               errmsg("DROP ASSERTION is not yet implemented")));
33070
0
          (yyval.node) = (Node *) n;
33071
0
        }
33072
0
#line 33073 "gram.c"
33073
0
    break;
33074
33075
62
  case 836:
33076
62
#line 6170 "gram.y"
33077
62
    {
33078
62
          DefineStmt *n = makeNode(DefineStmt);
33079
0
          n->kind = OBJECT_AGGREGATE;
33080
62
          n->oldstyle = false;
33081
62
          n->defnames = (yyvsp[-2].list);
33082
62
          n->args = (yyvsp[-1].list);
33083
62
          n->definition = (yyvsp[0].list);
33084
62
          (yyval.node) = (Node *)n;
33085
62
        }
33086
0
#line 33087 "gram.c"
33087
0
    break;
33088
33089
28
  case 837:
33090
28
#line 6180 "gram.y"
33091
28
    {
33092
          /* old-style (pre-8.2) syntax for CREATE AGGREGATE */
33093
28
          DefineStmt *n = makeNode(DefineStmt);
33094
0
          n->kind = OBJECT_AGGREGATE;
33095
28
          n->oldstyle = true;
33096
28
          n->defnames = (yyvsp[-1].list);
33097
28
          n->args = NIL;
33098
28
          n->definition = (yyvsp[0].list);
33099
28
          (yyval.node) = (Node *)n;
33100
28
        }
33101
0
#line 33102 "gram.c"
33102
0
    break;
33103
33104
435
  case 838:
33105
435
#line 6191 "gram.y"
33106
435
    {
33107
435
          DefineStmt *n = makeNode(DefineStmt);
33108
0
          n->kind = OBJECT_OPERATOR;
33109
435
          n->oldstyle = false;
33110
435
          n->defnames = (yyvsp[-1].list);
33111
435
          n->args = NIL;
33112
435
          n->definition = (yyvsp[0].list);
33113
435
          (yyval.node) = (Node *)n;
33114
435
        }
33115
0
#line 33116 "gram.c"
33116
0
    break;
33117
33118
400
  case 839:
33119
400
#line 6201 "gram.y"
33120
400
    {
33121
400
          DefineStmt *n = makeNode(DefineStmt);
33122
0
          n->kind = OBJECT_TYPE;
33123
400
          n->oldstyle = false;
33124
400
          n->defnames = (yyvsp[-1].list);
33125
400
          n->args = NIL;
33126
400
          n->definition = (yyvsp[0].list);
33127
400
          (yyval.node) = (Node *)n;
33128
400
        }
33129
0
#line 33130 "gram.c"
33130
0
    break;
33131
33132
338
  case 840:
33133
338
#line 6211 "gram.y"
33134
338
    {
33135
          /* Shell type (identified by lack of definition) */
33136
338
          DefineStmt *n = makeNode(DefineStmt);
33137
0
          n->kind = OBJECT_TYPE;
33138
338
          n->oldstyle = false;
33139
338
          n->defnames = (yyvsp[0].list);
33140
338
          n->args = NIL;
33141
338
          n->definition = NIL;
33142
338
          (yyval.node) = (Node *)n;
33143
338
        }
33144
0
#line 33145 "gram.c"
33145
0
    break;
33146
33147
319
  case 841:
33148
319
#line 6222 "gram.y"
33149
319
    {
33150
319
          CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
33151
33152
          /* can't use qualified_name, sigh */
33153
0
          n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
33154
319
          n->coldeflist = (yyvsp[-1].list);
33155
319
          (yyval.node) = (Node *)n;
33156
319
        }
33157
0
#line 33158 "gram.c"
33158
0
    break;
33159
33160
116
  case 842:
33161
116
#line 6231 "gram.y"
33162
116
    {
33163
116
          CreateEnumStmt *n = makeNode(CreateEnumStmt);
33164
0
          n->typeName = (yyvsp[-5].list);
33165
116
          n->vals = (yyvsp[-1].list);
33166
116
          (yyval.node) = (Node *)n;
33167
116
        }
33168
0
#line 33169 "gram.c"
33169
0
    break;
33170
33171
60
  case 843:
33172
60
#line 6238 "gram.y"
33173
60
    {
33174
60
          CreateRangeStmt *n = makeNode(CreateRangeStmt);
33175
0
          n->typeName = (yyvsp[-3].list);
33176
60
          n->params = (yyvsp[0].list);
33177
60
          (yyval.node) = (Node *)n;
33178
60
        }
33179
0
#line 33180 "gram.c"
33180
0
    break;
33181
33182
16
  case 844:
33183
16
#line 6245 "gram.y"
33184
16
    {
33185
16
          DefineStmt *n = makeNode(DefineStmt);
33186
0
          n->kind = OBJECT_TSPARSER;
33187
16
          n->args = NIL;
33188
16
          n->defnames = (yyvsp[-1].list);
33189
16
          n->definition = (yyvsp[0].list);
33190
16
          (yyval.node) = (Node *)n;
33191
16
        }
33192
0
#line 33193 "gram.c"
33193
0
    break;
33194
33195
122
  case 845:
33196
122
#line 6254 "gram.y"
33197
122
    {
33198
122
          DefineStmt *n = makeNode(DefineStmt);
33199
0
          n->kind = OBJECT_TSDICTIONARY;
33200
122
          n->args = NIL;
33201
122
          n->defnames = (yyvsp[-1].list);
33202
122
          n->definition = (yyvsp[0].list);
33203
122
          (yyval.node) = (Node *)n;
33204
122
        }
33205
0
#line 33206 "gram.c"
33206
0
    break;
33207
33208
22
  case 846:
33209
22
#line 6263 "gram.y"
33210
22
    {
33211
22
          DefineStmt *n = makeNode(DefineStmt);
33212
0
          n->kind = OBJECT_TSTEMPLATE;
33213
22
          n->args = NIL;
33214
22
          n->defnames = (yyvsp[-1].list);
33215
22
          n->definition = (yyvsp[0].list);
33216
22
          (yyval.node) = (Node *)n;
33217
22
        }
33218
0
#line 33219 "gram.c"
33219
0
    break;
33220
33221
94
  case 847:
33222
94
#line 6272 "gram.y"
33223
94
    {
33224
94
          DefineStmt *n = makeNode(DefineStmt);
33225
0
          n->kind = OBJECT_TSCONFIGURATION;
33226
94
          n->args = NIL;
33227
94
          n->defnames = (yyvsp[-1].list);
33228
94
          n->definition = (yyvsp[0].list);
33229
94
          (yyval.node) = (Node *)n;
33230
94
        }
33231
0
#line 33232 "gram.c"
33232
0
    break;
33233
33234
18
  case 848:
33235
18
#line 6281 "gram.y"
33236
18
    {
33237
18
          if (!YBIsCollationEnabled())
33238
0
            parser_ybc_not_support((yylsp[-3]), "CREATE COLLATION");
33239
18
          DefineStmt *n = makeNode(DefineStmt);
33240
0
          n->kind = OBJECT_COLLATION;
33241
18
          n->args = NIL;
33242
18
          n->defnames = (yyvsp[-1].list);
33243
18
          n->definition = (yyvsp[0].list);
33244
18
          (yyval.node) = (Node *)n;
33245
18
        }
33246
0
#line 33247 "gram.c"
33247
0
    break;
33248
33249
0
  case 849:
33250
0
#line 6292 "gram.y"
33251
0
    {
33252
0
          if (!YBIsCollationEnabled())
33253
0
            parser_ybc_not_support((yylsp[-6]), "CREATE COLLATION");
33254
0
          DefineStmt *n = makeNode(DefineStmt);
33255
0
          n->kind = OBJECT_COLLATION;
33256
0
          n->args = NIL;
33257
0
          n->defnames = (yyvsp[-1].list);
33258
0
          n->definition = (yyvsp[0].list);
33259
0
          n->if_not_exists = true;
33260
0
          (yyval.node) = (Node *)n;
33261
0
        }
33262
0
#line 33263 "gram.c"
33263
0
    break;
33264
33265
28
  case 850:
33266
28
#line 6304 "gram.y"
33267
28
    {
33268
28
          if (!YBIsCollationEnabled())
33269
0
            parser_ybc_not_support((yylsp[-4]), "CREATE COLLATION");
33270
28
          DefineStmt *n = makeNode(DefineStmt);
33271
0
          n->kind = OBJECT_COLLATION;
33272
28
          n->args = NIL;
33273
28
          n->defnames = (yyvsp[-2].list);
33274
28
          n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
33275
28
          (yyval.node) = (Node *)n;
33276
28
        }
33277
0
#line 33278 "gram.c"
33278
0
    break;
33279
33280
0
  case 851:
33281
0
#line 6315 "gram.y"
33282
0
    {
33283
0
          if (!YBIsCollationEnabled())
33284
0
            parser_ybc_not_support((yylsp[-7]), "CREATE COLLATION");
33285
0
          DefineStmt *n = makeNode(DefineStmt);
33286
0
          n->kind = OBJECT_COLLATION;
33287
0
          n->args = NIL;
33288
0
          n->defnames = (yyvsp[-2].list);
33289
0
          n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
33290
0
          n->if_not_exists = true;
33291
0
          (yyval.node) = (Node *)n;
33292
0
        }
33293
0
#line 33294 "gram.c"
33294
0
    break;
33295
33296
1.44k
  case 852:
33297
1.44k
#line 6328 "gram.y"
33298
1.44k
    { (yyval.list) = (yyvsp[-1].list); }
33299
1.44k
#line 33300 "gram.c"
33300
1.44k
    break;
33301
33302
1.44k
  case 853:
33303
1.44k
#line 6331 "gram.y"
33304
1.44k
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33305
1.44k
#line 33306 "gram.c"
33306
1.44k
    break;
33307
33308
3.81k
  case 854:
33309
3.81k
#line 6332 "gram.y"
33310
3.81k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33311
3.81k
#line 33312 "gram.c"
33312
3.81k
    break;
33313
33314
5.07k
  case 855:
33315
5.07k
#line 6336 "gram.y"
33316
5.07k
    {
33317
5.07k
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
33318
5.07k
        }
33319
5.07k
#line 33320 "gram.c"
33320
5.07k
    break;
33321
33322
185
  case 856:
33323
185
#line 6340 "gram.y"
33324
185
    {
33325
185
          (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
33326
185
        }
33327
185
#line 33328 "gram.c"
33328
185
    break;
33329
33330
3.90k
  case 857:
33331
3.90k
#line 6346 "gram.y"
33332
3.90k
    { (yyval.node) = (Node *)(yyvsp[0].typnam); }
33333
3.90k
#line 33334 "gram.c"
33334
3.90k
    break;
33335
33336
476
  case 858:
33337
476
#line 6347 "gram.y"
33338
476
    { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
33339
476
#line 33340 "gram.c"
33340
476
    break;
33341
33342
412
  case 859:
33343
412
#line 6348 "gram.y"
33344
412
    { (yyval.node) = (Node *)(yyvsp[0].list); }
33345
412
#line 33346 "gram.c"
33346
412
    break;
33347
33348
1.28k
  case 860:
33349
1.28k
#line 6349 "gram.y"
33350
1.28k
    { (yyval.node) = (Node *)(yyvsp[0].value); }
33351
1.28k
#line 33352 "gram.c"
33352
1.28k
    break;
33353
33354
440
  case 861:
33355
440
#line 6350 "gram.y"
33356
440
    { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
33357
440
#line 33358 "gram.c"
33358
440
    break;
33359
33360
0
  case 862:
33361
0
#line 6351 "gram.y"
33362
0
    { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
33363
0
#line 33364 "gram.c"
33364
0
    break;
33365
33366
28
  case 863:
33367
28
#line 6354 "gram.y"
33368
28
    { (yyval.list) = (yyvsp[-1].list); }
33369
28
#line 33370 "gram.c"
33370
28
    break;
33371
33372
28
  case 864:
33373
28
#line 6357 "gram.y"
33374
28
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33375
28
#line 33376 "gram.c"
33376
28
    break;
33377
33378
80
  case 865:
33379
80
#line 6358 "gram.y"
33380
80
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33381
80
#line 33382 "gram.c"
33382
80
    break;
33383
33384
108
  case 866:
33385
108
#line 6367 "gram.y"
33386
108
    {
33387
108
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
33388
108
        }
33389
108
#line 33390 "gram.c"
33390
108
    break;
33391
33392
116
  case 867:
33393
116
#line 6373 "gram.y"
33394
116
    { (yyval.list) = (yyvsp[0].list); }
33395
116
#line 33396 "gram.c"
33396
116
    break;
33397
33398
0
  case 868:
33399
0
#line 6374 "gram.y"
33400
0
    { (yyval.list) = NIL; }
33401
0
#line 33402 "gram.c"
33402
0
    break;
33403
33404
116
  case 869:
33405
116
#line 6378 "gram.y"
33406
116
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33407
116
#line 33408 "gram.c"
33408
116
    break;
33409
33410
232
  case 870:
33411
232
#line 6380 "gram.y"
33412
232
    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
33413
232
#line 33414 "gram.c"
33414
232
    break;
33415
33416
40
  case 871:
33417
40
#line 6391 "gram.y"
33418
40
    {
33419
40
        AlterEnumStmt *n = makeNode(AlterEnumStmt);
33420
0
        n->typeName = (yyvsp[-4].list);
33421
40
        n->oldVal = NULL;
33422
40
        n->newVal = (yyvsp[0].str);
33423
40
        n->newValNeighbor = NULL;
33424
40
        n->newValIsAfter = true;
33425
40
        n->skipIfNewValExists = (yyvsp[-1].boolean);
33426
40
        (yyval.node) = (Node *) n;
33427
40
      }
33428
0
#line 33429 "gram.c"
33429
0
    break;
33430
33431
132
  case 872:
33432
132
#line 6402 "gram.y"
33433
132
    {
33434
132
        AlterEnumStmt *n = makeNode(AlterEnumStmt);
33435
0
        n->typeName = (yyvsp[-6].list);
33436
132
        n->oldVal = NULL;
33437
132
        n->newVal = (yyvsp[-2].str);
33438
132
        n->newValNeighbor = (yyvsp[0].str);
33439
132
        n->newValIsAfter = false;
33440
132
        n->skipIfNewValExists = (yyvsp[-3].boolean);
33441
132
        (yyval.node) = (Node *) n;
33442
132
      }
33443
0
#line 33444 "gram.c"
33444
0
    break;
33445
33446
12
  case 873:
33447
12
#line 6413 "gram.y"
33448
12
    {
33449
12
        AlterEnumStmt *n = makeNode(AlterEnumStmt);
33450
0
        n->typeName = (yyvsp[-6].list);
33451
12
        n->oldVal = NULL;
33452
12
        n->newVal = (yyvsp[-2].str);
33453
12
        n->newValNeighbor = (yyvsp[0].str);
33454
12
        n->newValIsAfter = true;
33455
12
        n->skipIfNewValExists = (yyvsp[-3].boolean);
33456
12
        (yyval.node) = (Node *) n;
33457
12
      }
33458
0
#line 33459 "gram.c"
33459
0
    break;
33460
33461
16
  case 874:
33462
16
#line 6424 "gram.y"
33463
16
    {
33464
16
        AlterEnumStmt *n = makeNode(AlterEnumStmt);
33465
0
        n->typeName = (yyvsp[-5].list);
33466
16
        n->oldVal = (yyvsp[-2].str);
33467
16
        n->newVal = (yyvsp[0].str);
33468
16
        n->newValNeighbor = NULL;
33469
16
        n->newValIsAfter = false;
33470
16
        n->skipIfNewValExists = false;
33471
16
        (yyval.node) = (Node *) n;
33472
16
      }
33473
0
#line 33474 "gram.c"
33474
0
    break;
33475
33476
8
  case 875:
33477
8
#line 6436 "gram.y"
33478
8
    { (yyval.boolean) = true; }
33479
8
#line 33480 "gram.c"
33480
8
    break;
33481
33482
176
  case 876:
33483
176
#line 6437 "gram.y"
33484
176
    { (yyval.boolean) = false; }
33485
176
#line 33486 "gram.c"
33486
176
    break;
33487
33488
57
  case 877:
33489
57
#line 6455 "gram.y"
33490
57
    {
33491
57
          CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
33492
0
          n->opclassname = (yyvsp[-9].list);
33493
57
          n->isDefault = (yyvsp[-8].boolean);
33494
57
          n->datatype = (yyvsp[-5].typnam);
33495
57
          n->amname = (yyvsp[-3].str);
33496
57
          n->opfamilyname = (yyvsp[-2].list);
33497
57
          n->items = (yyvsp[0].list);
33498
57
          (yyval.node) = (Node *) n;
33499
57
        }
33500
0
#line 33501 "gram.c"
33501
0
    break;
33502
33503
193
  case 878:
33504
193
#line 6468 "gram.y"
33505
193
    { (yyval.list) = list_make1((yyvsp[0].node)); }
33506
193
#line 33507 "gram.c"
33507
193
    break;
33508
33509
484
  case 879:
33510
484
#line 6469 "gram.y"
33511
484
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
33512
484
#line 33513 "gram.c"
33513
484
    break;
33514
33515
142
  case 880:
33516
142
#line 6474 "gram.y"
33517
142
    {
33518
142
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33519
142
          ObjectWithArgs *owa = makeNode(ObjectWithArgs);
33520
0
          owa->objname = (yyvsp[-2].list);
33521
142
          owa->objargs = NIL;
33522
142
          n->itemtype = OPCLASS_ITEM_OPERATOR;
33523
142
          n->name = owa;
33524
142
          n->number = (yyvsp[-3].ival);
33525
142
          n->order_family = (yyvsp[-1].list);
33526
142
          (yyval.node) = (Node *) n;
33527
142
        }
33528
0
#line 33529 "gram.c"
33529
0
    break;
33530
33531
327
  case 881:
33532
327
#line 6487 "gram.y"
33533
327
    {
33534
327
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33535
327
          n->itemtype = OPCLASS_ITEM_OPERATOR;
33536
327
          n->name = (yyvsp[-2].objwithargs);
33537
327
          n->number = (yyvsp[-3].ival);
33538
327
          n->order_family = (yyvsp[-1].list);
33539
327
          (yyval.node) = (Node *) n;
33540
327
        }
33541
0
#line 33542 "gram.c"
33542
0
    break;
33543
33544
193
  case 882:
33545
193
#line 6496 "gram.y"
33546
193
    {
33547
193
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33548
193
          n->itemtype = OPCLASS_ITEM_FUNCTION;
33549
193
          n->name = (yyvsp[0].objwithargs);
33550
193
          n->number = (yyvsp[-1].ival);
33551
193
          (yyval.node) = (Node *) n;
33552
193
        }
33553
0
#line 33554 "gram.c"
33554
0
    break;
33555
33556
3
  case 883:
33557
3
#line 6504 "gram.y"
33558
3
    {
33559
3
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33560
3
          n->itemtype = OPCLASS_ITEM_FUNCTION;
33561
3
          n->name = (yyvsp[0].objwithargs);
33562
3
          n->number = (yyvsp[-4].ival);
33563
3
          n->class_args = (yyvsp[-2].list);
33564
3
          (yyval.node) = (Node *) n;
33565
3
        }
33566
0
#line 33567 "gram.c"
33567
0
    break;
33568
33569
12
  case 884:
33570
12
#line 6513 "gram.y"
33571
12
    {
33572
12
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33573
12
          n->itemtype = OPCLASS_ITEM_STORAGETYPE;
33574
12
          n->storedtype = (yyvsp[0].typnam);
33575
12
          (yyval.node) = (Node *) n;
33576
12
        }
33577
0
#line 33578 "gram.c"
33578
0
    break;
33579
33580
28
  case 885:
33581
28
#line 6521 "gram.y"
33582
28
    { (yyval.boolean) = true; }
33583
28
#line 33584 "gram.c"
33584
28
    break;
33585
33586
31
  case 886:
33587
31
#line 6522 "gram.y"
33588
31
    { (yyval.boolean) = false; }
33589
31
#line 33590 "gram.c"
33590
31
    break;
33591
33592
20
  case 887:
33593
20
#line 6525 "gram.y"
33594
20
    { (yyval.list) = (yyvsp[0].list); }
33595
20
#line 33596 "gram.c"
33596
20
    break;
33597
33598
37
  case 888:
33599
37
#line 6526 "gram.y"
33600
37
    { (yyval.list) = NIL; }
33601
37
#line 33602 "gram.c"
33602
37
    break;
33603
33604
0
  case 889:
33605
0
#line 6529 "gram.y"
33606
0
    { (yyval.list) = NIL; }
33607
0
#line 33608 "gram.c"
33608
0
    break;
33609
33610
27
  case 890:
33611
27
#line 6530 "gram.y"
33612
27
    { (yyval.list) = (yyvsp[0].list); }
33613
27
#line 33614 "gram.c"
33614
27
    break;
33615
33616
442
  case 891:
33617
442
#line 6531 "gram.y"
33618
442
    { (yyval.list) = NIL; }
33619
442
#line 33620 "gram.c"
33620
442
    break;
33621
33622
0
  case 892:
33623
0
#line 6535 "gram.y"
33624
0
    {
33625
          /*
33626
           * RECHECK no longer does anything in opclass definitions,
33627
           * but we still accept it to ease porting of old database
33628
           * dumps.
33629
           */
33630
0
          ereport(NOTICE,
33631
0
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33632
0
               errmsg("RECHECK is no longer required"),
33633
0
               errhint("Update your data type."),
33634
0
               parser_errposition((yylsp[0]))));
33635
0
          (yyval.boolean) = true;
33636
0
        }
33637
0
#line 33638 "gram.c"
33638
0
    break;
33639
33640
469
  case 893:
33641
469
#line 6548 "gram.y"
33642
469
    { (yyval.boolean) = false; }
33643
469
#line 33644 "gram.c"
33644
469
    break;
33645
33646
86
  case 894:
33647
86
#line 6554 "gram.y"
33648
86
    {
33649
86
          CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
33650
0
          n->opfamilyname = (yyvsp[-2].list);
33651
86
          n->amname = (yyvsp[0].str);
33652
86
          (yyval.node) = (Node *) n;
33653
86
        }
33654
0
#line 33655 "gram.c"
33655
0
    break;
33656
33657
136
  case 895:
33658
136
#line 6564 "gram.y"
33659
136
    {
33660
136
          AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
33661
0
          n->opfamilyname = (yyvsp[-4].list);
33662
136
          n->amname = (yyvsp[-2].str);
33663
136
          n->isDrop = false;
33664
136
          n->items = (yyvsp[0].list);
33665
136
          (yyval.node) = (Node *) n;
33666
136
        }
33667
0
#line 33668 "gram.c"
33668
0
    break;
33669
33670
26
  case 896:
33671
26
#line 6573 "gram.y"
33672
26
    {
33673
26
          AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
33674
0
          n->opfamilyname = (yyvsp[-4].list);
33675
26
          n->amname = (yyvsp[-2].str);
33676
26
          n->isDrop = true;
33677
26
          n->items = (yyvsp[0].list);
33678
26
          (yyval.node) = (Node *) n;
33679
26
        }
33680
0
#line 33681 "gram.c"
33681
0
    break;
33682
33683
26
  case 897:
33684
26
#line 6584 "gram.y"
33685
26
    { (yyval.list) = list_make1((yyvsp[0].node)); }
33686
26
#line 33687 "gram.c"
33687
26
    break;
33688
33689
20
  case 898:
33690
20
#line 6585 "gram.y"
33691
20
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
33692
20
#line 33693 "gram.c"
33693
20
    break;
33694
33695
32
  case 899:
33696
32
#line 6590 "gram.y"
33697
32
    {
33698
32
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33699
32
          n->itemtype = OPCLASS_ITEM_OPERATOR;
33700
32
          n->number = (yyvsp[-3].ival);
33701
32
          n->class_args = (yyvsp[-1].list);
33702
32
          (yyval.node) = (Node *) n;
33703
32
        }
33704
0
#line 33705 "gram.c"
33705
0
    break;
33706
33707
14
  case 900:
33708
14
#line 6598 "gram.y"
33709
14
    {
33710
14
          CreateOpClassItem *n = makeNode(CreateOpClassItem);
33711
14
          n->itemtype = OPCLASS_ITEM_FUNCTION;
33712
14
          n->number = (yyvsp[-3].ival);
33713
14
          n->class_args = (yyvsp[-1].list);
33714
14
          (yyval.node) = (Node *) n;
33715
14
        }
33716
0
#line 33717 "gram.c"
33717
0
    break;
33718
33719
16
  case 901:
33720
16
#line 6610 "gram.y"
33721
16
    {
33722
16
          DropStmt *n = makeNode(DropStmt);
33723
16
          n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33724
16
          n->removeType = OBJECT_OPCLASS;
33725
16
          n->behavior = (yyvsp[0].dbehavior);
33726
16
          n->missing_ok = false;
33727
16
          n->concurrent = false;
33728
16
          (yyval.node) = (Node *) n;
33729
16
        }
33730
0
#line 33731 "gram.c"
33731
0
    break;
33732
33733
12
  case 902:
33734
12
#line 6620 "gram.y"
33735
12
    {
33736
12
          DropStmt *n = makeNode(DropStmt);
33737
12
          n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33738
12
          n->removeType = OBJECT_OPCLASS;
33739
12
          n->behavior = (yyvsp[0].dbehavior);
33740
12
          n->missing_ok = true;
33741
12
          n->concurrent = false;
33742
12
          (yyval.node) = (Node *) n;
33743
12
        }
33744
0
#line 33745 "gram.c"
33745
0
    break;
33746
33747
72
  case 903:
33748
72
#line 6633 "gram.y"
33749
72
    {
33750
72
          DropStmt *n = makeNode(DropStmt);
33751
72
          n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33752
72
          n->removeType = OBJECT_OPFAMILY;
33753
72
          n->behavior = (yyvsp[0].dbehavior);
33754
72
          n->missing_ok = false;
33755
72
          n->concurrent = false;
33756
72
          (yyval.node) = (Node *) n;
33757
72
        }
33758
0
#line 33759 "gram.c"
33759
0
    break;
33760
33761
12
  case 904:
33762
12
#line 6643 "gram.y"
33763
12
    {
33764
12
          DropStmt *n = makeNode(DropStmt);
33765
12
          n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33766
12
          n->removeType = OBJECT_OPFAMILY;
33767
12
          n->behavior = (yyvsp[0].dbehavior);
33768
12
          n->missing_ok = true;
33769
12
          n->concurrent = false;
33770
12
          (yyval.node) = (Node *) n;
33771
12
        }
33772
0
#line 33773 "gram.c"
33773
0
    break;
33774
33775
13.1k
  case 905:
33776
13.1k
#line 6665 "gram.y"
33777
13.1k
    {
33778
13.1k
          DropOwnedStmt *n = makeNode(DropOwnedStmt);
33779
0
          n->roles = (yyvsp[-1].list);
33780
13.1k
          n->behavior = (yyvsp[0].dbehavior);
33781
13.1k
          (yyval.node) = (Node *)n;
33782
13.1k
        }
33783
0
#line 33784 "gram.c"
33784
0
    break;
33785
33786
68
  case 906:
33787
68
#line 6675 "gram.y"
33788
68
    {
33789
68
          ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
33790
0
          n->roles = (yyvsp[-2].list);
33791
68
          n->newrole = (yyvsp[0].rolespec);
33792
68
          (yyval.node) = (Node *)n;
33793
68
        }
33794
0
#line 33795 "gram.c"
33795
0
    break;
33796
33797
968
  case 907:
33798
968
#line 6693 "gram.y"
33799
968
    {
33800
968
          DropStmt *n = makeNode(DropStmt);
33801
0
          n->removeType = (yyvsp[-4].objtype);
33802
968
          n->missing_ok = true;
33803
968
          n->objects = (yyvsp[-1].list);
33804
968
          if (list_length((yyvsp[-1].list)) > 1 && 
n->removeType != OBJECT_TABLE24
)
33805
0
            parser_ybc_signal_unsupported((yylsp[-1]), "DROP multiple objects", 880);
33806
968
          n->behavior = (yyvsp[0].dbehavior);
33807
968
          n->concurrent = false;
33808
968
          (yyval.node) = (Node *)n;
33809
968
        }
33810
0
#line 33811 "gram.c"
33811
0
    break;
33812
33813
5.31k
  case 908:
33814
5.31k
#line 6705 "gram.y"
33815
5.31k
    {
33816
5.31k
          DropStmt *n = makeNode(DropStmt);
33817
0
          n->removeType = (yyvsp[-2].objtype);
33818
5.31k
          n->missing_ok = false;
33819
5.31k
          n->objects = (yyvsp[-1].list);
33820
5.31k
          if (list_length((yyvsp[-1].list)) > 1 && 
n->removeType != OBJECT_TABLE354
)
33821
4
            parser_ybc_signal_unsupported((yylsp[-1]), "DROP multiple objects", 880);
33822
5.31k
          n->behavior = (yyvsp[0].dbehavior);
33823
5.31k
          n->concurrent = false;
33824
5.31k
          (yyval.node) = (Node *)n;
33825
5.31k
        }
33826
0
#line 33827 "gram.c"
33827
0
    break;
33828
33829
56
  case 909:
33830
56
#line 6717 "gram.y"
33831
56
    {
33832
56
          DropStmt *n = makeNode(DropStmt);
33833
0
          n->removeType = (yyvsp[-4].objtype);
33834
56
          n->missing_ok = true;
33835
56
          n->objects = (yyvsp[-1].list);
33836
56
          if (list_length((yyvsp[-1].list)) > 1 && 
n->removeType != OBJECT_TABLE0
)
33837
0
            parser_ybc_signal_unsupported((yylsp[-1]), "DROP multiple objects", 880);
33838
56
          n->behavior = (yyvsp[0].dbehavior);
33839
56
          n->concurrent = false;
33840
56
          (yyval.node) = (Node *)n;
33841
56
        }
33842
0
#line 33843 "gram.c"
33843
0
    break;
33844
33845
533
  case 910:
33846
533
#line 6729 "gram.y"
33847
533
    {
33848
533
          DropStmt *n = makeNode(DropStmt);
33849
0
          n->removeType = (yyvsp[-2].objtype);
33850
533
          n->missing_ok = false;
33851
533
          n->objects = (yyvsp[-1].list);
33852
533
          if (list_length((yyvsp[-1].list)) > 1 && 
n->removeType != OBJECT_TABLE6
)
33853
6
            parser_ybc_signal_unsupported((yylsp[-1]), "DROP multiple objects", 880);
33854
533
          n->behavior = (yyvsp[0].dbehavior);
33855
533
          n->concurrent = false;
33856
533
          (yyval.node) = (Node *)n;
33857
533
        }
33858
0
#line 33859 "gram.c"
33859
0
    break;
33860
33861
504
  case 911:
33862
504
#line 6741 "gram.y"
33863
504
    {
33864
504
          DropStmt *n = makeNode(DropStmt);
33865
0
          n->removeType = (yyvsp[-4].objtype);
33866
504
          n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
33867
504
          n->behavior = (yyvsp[0].dbehavior);
33868
504
          n->missing_ok = false;
33869
504
          n->concurrent = false;
33870
504
          (yyval.node) = (Node *) n;
33871
504
        }
33872
0
#line 33873 "gram.c"
33873
0
    break;
33874
33875
32
  case 912:
33876
32
#line 6751 "gram.y"
33877
32
    {
33878
32
          DropStmt *n = makeNode(DropStmt);
33879
0
          n->removeType = (yyvsp[-6].objtype);
33880
32
          n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
33881
32
          n->behavior = (yyvsp[0].dbehavior);
33882
32
          n->missing_ok = true;
33883
32
          n->concurrent = false;
33884
32
          (yyval.node) = (Node *) n;
33885
32
        }
33886
0
#line 33887 "gram.c"
33887
0
    break;
33888
33889
528
  case 913:
33890
528
#line 6761 "gram.y"
33891
528
    {
33892
528
          DropStmt *n = makeNode(DropStmt);
33893
0
          n->removeType = OBJECT_TYPE;
33894
528
          n->missing_ok = false;
33895
528
          n->objects = (yyvsp[-1].list);
33896
528
          n->behavior = (yyvsp[0].dbehavior);
33897
528
          n->concurrent = false;
33898
528
          (yyval.node) = (Node *) n;
33899
528
        }
33900
0
#line 33901 "gram.c"
33901
0
    break;
33902
33903
12
  case 914:
33904
12
#line 6771 "gram.y"
33905
12
    {
33906
12
          DropStmt *n = makeNode(DropStmt);
33907
0
          n->removeType = OBJECT_TYPE;
33908
12
          n->missing_ok = true;
33909
12
          n->objects = (yyvsp[-1].list);
33910
12
          n->behavior = (yyvsp[0].dbehavior);
33911
12
          n->concurrent = false;
33912
12
          (yyval.node) = (Node *) n;
33913
12
        }
33914
0
#line 33915 "gram.c"
33915
0
    break;
33916
33917
120
  case 915:
33918
120
#line 6781 "gram.y"
33919
120
    {
33920
120
          DropStmt *n = makeNode(DropStmt);
33921
0
          n->removeType = OBJECT_DOMAIN;
33922
120
          n->missing_ok = false;
33923
120
          n->objects = (yyvsp[-1].list);
33924
120
          n->behavior = (yyvsp[0].dbehavior);
33925
120
          n->concurrent = false;
33926
120
          (yyval.node) = (Node *) n;
33927
120
        }
33928
0
#line 33929 "gram.c"
33929
0
    break;
33930
33931
12
  case 916:
33932
12
#line 6791 "gram.y"
33933
12
    {
33934
12
          DropStmt *n = makeNode(DropStmt);
33935
0
          n->removeType = OBJECT_DOMAIN;
33936
12
          n->missing_ok = true;
33937
12
          n->objects = (yyvsp[-1].list);
33938
12
          n->behavior = (yyvsp[0].dbehavior);
33939
12
          n->concurrent = false;
33940
12
          (yyval.node) = (Node *) n;
33941
12
        }
33942
0
#line 33943 "gram.c"
33943
0
    break;
33944
33945
0
  case 917:
33946
0
#line 6801 "gram.y"
33947
0
    {
33948
0
          parser_ybc_not_support((yylsp[-4]), "DROP INDEX CONCURRENTLY");
33949
0
          DropStmt *n = makeNode(DropStmt);
33950
0
          n->removeType = OBJECT_INDEX;
33951
0
          n->missing_ok = false;
33952
0
          n->objects = (yyvsp[-1].list);
33953
0
          n->behavior = (yyvsp[0].dbehavior);
33954
0
          n->concurrent = true;
33955
0
          (yyval.node) = (Node *)n;
33956
0
        }
33957
0
#line 33958 "gram.c"
33958
0
    break;
33959
33960
0
  case 918:
33961
0
#line 6812 "gram.y"
33962
0
    {
33963
0
          parser_ybc_not_support((yylsp[-6]), "DROP INDEX CONCURRENTLY");
33964
0
          DropStmt *n = makeNode(DropStmt);
33965
0
          n->removeType = OBJECT_INDEX;
33966
0
          n->missing_ok = true;
33967
0
          n->objects = (yyvsp[-1].list);
33968
0
          n->behavior = (yyvsp[0].dbehavior);
33969
0
          n->concurrent = true;
33970
0
          (yyval.node) = (Node *)n;
33971
0
        }
33972
0
#line 33973 "gram.c"
33973
0
    break;
33974
33975
4.46k
  case 919:
33976
4.46k
#line 6826 "gram.y"
33977
4.46k
    { (yyval.objtype) = OBJECT_TABLE; }
33978
4.46k
#line 33979 "gram.c"
33979
4.46k
    break;
33980
33981
776
  case 920:
33982
776
#line 6827 "gram.y"
33983
776
    { (yyval.objtype) = OBJECT_SEQUENCE; }
33984
776
#line 33985 "gram.c"
33985
776
    break;
33986
33987
356
  case 921:
33988
356
#line 6828 "gram.y"
33989
356
    { (yyval.objtype) = OBJECT_VIEW; }
33990
356
#line 33991 "gram.c"
33991
356
    break;
33992
33993
16
  case 922:
33994
16
#line 6830 "gram.y"
33995
16
    {
33996
16
          (yyval.objtype) = OBJECT_MATVIEW;
33997
16
        }
33998
16
#line 33999 "gram.c"
33999
16
    break;
34000
34001
518
  case 923:
34002
518
#line 6833 "gram.y"
34003
518
    { (yyval.objtype) = OBJECT_INDEX; }
34004
518
#line 34005 "gram.c"
34005
518
    break;
34006
34007
56
  case 924:
34008
56
#line 6835 "gram.y"
34009
56
    {
34010
56
          (yyval.objtype) = OBJECT_FOREIGN_TABLE;
34011
56
        }
34012
56
#line 34013 "gram.c"
34013
56
    break;
34014
34015
42
  case 925:
34016
42
#line 6838 "gram.y"
34017
42
    {
34018
42
          if (!YBIsCollationEnabled())
34019
0
            parser_ybc_not_support((yylsp[0]), "DROP COLLATION");
34020
42
          (yyval.objtype) = OBJECT_COLLATION;
34021
42
        }
34022
42
#line 34023 "gram.c"
34023
42
    break;
34024
34025
0
  case 926:
34026
0
#line 6843 "gram.y"
34027
0
    { parser_ybc_not_support((yylsp[0]), "DROP CONVERSION"); (yyval.objtype) = OBJECT_CONVERSION; }
34028
0
#line 34029 "gram.c"
34029
0
    break;
34030
34031
0
  case 927:
34032
0
#line 6844 "gram.y"
34033
0
    { parser_ybc_not_support((yylsp[0]), "DROP STATISTICS"); (yyval.objtype) = OBJECT_STATISTIC_EXT; }
34034
0
#line 34035 "gram.c"
34035
0
    break;
34036
34037
12
  case 928:
34038
12
#line 6846 "gram.y"
34039
12
    {
34040
12
          (yyval.objtype) = OBJECT_TSPARSER;
34041
12
        }
34042
12
#line 34043 "gram.c"
34043
12
    break;
34044
34045
16
  case 929:
34046
16
#line 6850 "gram.y"
34047
16
    {
34048
16
          (yyval.objtype) = OBJECT_TSDICTIONARY;
34049
16
        }
34050
16
#line 34051 "gram.c"
34051
16
    break;
34052
34053
12
  case 930:
34054
12
#line 6854 "gram.y"
34055
12
    {
34056
12
          (yyval.objtype) = OBJECT_TSTEMPLATE;
34057
12
        }
34058
12
#line 34059 "gram.c"
34059
12
    break;
34060
34061
16
  case 931:
34062
16
#line 6858 "gram.y"
34063
16
    {
34064
16
          (yyval.objtype) = OBJECT_TSCONFIGURATION;
34065
16
        }
34066
16
#line 34067 "gram.c"
34067
16
    break;
34068
34069
0
  case 932:
34070
0
#line 6865 "gram.y"
34071
0
    { parser_ybc_not_support((yylsp[-1]), "DROP ACCESS METHOD"); (yyval.objtype) = OBJECT_ACCESS_METHOD; }
34072
0
#line 34073 "gram.c"
34073
0
    break;
34074
34075
48
  case 933:
34076
48
#line 6867 "gram.y"
34077
48
    {
34078
48
          (yyval.objtype) = OBJECT_EVENT_TRIGGER;
34079
48
        }
34080
48
#line 34081 "gram.c"
34081
48
    break;
34082
34083
143
  case 934:
34084
143
#line 6871 "gram.y"
34085
143
    {
34086
143
          (yyval.objtype) = OBJECT_EXTENSION;
34087
143
        }
34088
143
#line 34089 "gram.c"
34089
143
    break;
34090
34091
72
  case 935:
34092
72
#line 6875 "gram.y"
34093
72
    {
34094
72
          (yyval.objtype) = OBJECT_FDW;
34095
72
        }
34096
72
#line 34097 "gram.c"
34097
72
    break;
34098
34099
0
  case 936:
34100
0
#line 6878 "gram.y"
34101
0
    { parser_ybc_not_support((yylsp[0]), "DROP PUBLICATION"); (yyval.objtype) = OBJECT_PUBLICATION; }
34102
0
#line 34103 "gram.c"
34103
0
    break;
34104
34105
150
  case 937:
34106
150
#line 6879 "gram.y"
34107
150
    { (yyval.objtype) = OBJECT_SCHEMA; }
34108
150
#line 34109 "gram.c"
34109
150
    break;
34110
34111
76
  case 938:
34112
76
#line 6880 "gram.y"
34113
76
    { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
34114
76
#line 34115 "gram.c"
34115
76
    break;
34116
34117
100
  case 939:
34118
100
#line 6882 "gram.y"
34119
100
    {
34120
100
          parser_ybc_beta_feature((yylsp[0]), "tablegroup", true);
34121
100
          (yyval.objtype) = OBJECT_YBTABLEGROUP;
34122
100
        }
34123
100
#line 34124 "gram.c"
34124
100
    break;
34125
34126
88
  case 940:
34127
88
#line 6890 "gram.y"
34128
88
    { (yyval.objtype) = OBJECT_POLICY; }
34129
88
#line 34130 "gram.c"
34130
88
    break;
34131
34132
112
  case 941:
34133
112
#line 6891 "gram.y"
34134
112
    { (yyval.objtype) = OBJECT_RULE; }
34135
112
#line 34136 "gram.c"
34136
112
    break;
34137
34138
340
  case 942:
34139
340
#line 6892 "gram.y"
34140
340
    { (yyval.objtype) = OBJECT_TRIGGER; }
34141
340
#line 34142 "gram.c"
34142
340
    break;
34143
34144
6.63k
  case 943:
34145
6.63k
#line 6896 "gram.y"
34146
6.63k
    { (yyval.list) = list_make1((yyvsp[0].list)); }
34147
6.63k
#line 34148 "gram.c"
34148
6.63k
    break;
34149
34150
1.18k
  case 944:
34151
1.18k
#line 6897 "gram.y"
34152
1.18k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
34153
1.18k
#line 34154 "gram.c"
34154
1.18k
    break;
34155
34156
12.5k
  case 945:
34157
12.5k
#line 6900 "gram.y"
34158
12.5k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
34159
12.5k
#line 34160 "gram.c"
34160
12.5k
    break;
34161
34162
457
  case 946:
34163
457
#line 6901 "gram.y"
34164
457
    { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
34165
457
#line 34166 "gram.c"
34166
457
    break;
34167
34168
15.0k
  case 947:
34169
15.0k
#line 6905 "gram.y"
34170
15.0k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
34171
15.0k
#line 34172 "gram.c"
34172
15.0k
    break;
34173
34174
8
  case 948:
34175
8
#line 6907 "gram.y"
34176
8
    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
34177
8
#line 34178 "gram.c"
34178
8
    break;
34179
34180
672
  case 949:
34181
672
#line 6911 "gram.y"
34182
672
    { (yyval.list) = list_make1((yyvsp[0].typnam)); }
34183
672
#line 34184 "gram.c"
34184
672
    break;
34185
34186
32
  case 950:
34187
32
#line 6912 "gram.y"
34188
32
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
34189
32
#line 34190 "gram.c"
34190
32
    break;
34191
34192
1.36k
  case 951:
34193
1.36k
#line 6923 "gram.y"
34194
1.36k
    {
34195
1.36k
          TruncateStmt *n = makeNode(TruncateStmt);
34196
0
          n->relations = (yyvsp[-2].list);
34197
1.36k
          n->restart_seqs = (yyvsp[-1].boolean);
34198
1.36k
          n->behavior = (yyvsp[0].dbehavior);
34199
1.36k
          (yyval.node) = (Node *)n;
34200
1.36k
        }
34201
0
#line 34202 "gram.c"
34202
0
    break;
34203
34204
4
  case 952:
34205
4
#line 6933 "gram.y"
34206
4
    { (yyval.boolean) = false;  }
34207
4
#line 34208 "gram.c"
34208
4
    break;
34209
34210
16
  case 953:
34211
16
#line 6934 "gram.y"
34212
16
    { (yyval.boolean) = true; }
34213
16
#line 34214 "gram.c"
34214
16
    break;
34215
34216
1.34k
  case 954:
34217
1.34k
#line 6935 "gram.y"
34218
1.34k
    { (yyval.boolean) = false; }
34219
1.34k
#line 34220 "gram.c"
34220
1.34k
    break;
34221
34222
386
  case 955:
34223
386
#line 6970 "gram.y"
34224
386
    {
34225
386
          CommentStmt *n = makeNode(CommentStmt);
34226
0
          n->objtype = (yyvsp[-3].objtype);
34227
386
          n->object = (Node *) (yyvsp[-2].list);
34228
386
          n->comment = (yyvsp[0].str);
34229
386
          (yyval.node) = (Node *) n;
34230
386
        }
34231
0
#line 34232 "gram.c"
34232
0
    break;
34233
34234
106
  case 956:
34235
106
#line 6978 "gram.y"
34236
106
    {
34237
106
          CommentStmt *n = makeNode(CommentStmt);
34238
0
          n->objtype = (yyvsp[-3].objtype);
34239
106
          n->object = (Node *) makeString((yyvsp[-2].str));
34240
106
          n->comment = (yyvsp[0].str);
34241
106
          (yyval.node) = (Node *) n;
34242
106
        }
34243
0
#line 34244 "gram.c"
34244
0
    break;
34245
34246
139
  case 957:
34247
139
#line 6986 "gram.y"
34248
139
    {
34249
139
          CommentStmt *n = makeNode(CommentStmt);
34250
0
          n->objtype = OBJECT_TYPE;
34251
139
          n->object = (Node *) (yyvsp[-2].typnam);
34252
139
          n->comment = (yyvsp[0].str);
34253
139
          (yyval.node) = (Node *) n;
34254
139
        }
34255
0
#line 34256 "gram.c"
34256
0
    break;
34257
34258
0
  case 958:
34259
0
#line 6994 "gram.y"
34260
0
    {
34261
0
          CommentStmt *n = makeNode(CommentStmt);
34262
0
          n->objtype = OBJECT_DOMAIN;
34263
0
          n->object = (Node *) (yyvsp[-2].typnam);
34264
0
          n->comment = (yyvsp[0].str);
34265
0
          (yyval.node) = (Node *) n;
34266
0
        }
34267
0
#line 34268 "gram.c"
34268
0
    break;
34269
34270
8
  case 959:
34271
8
#line 7002 "gram.y"
34272
8
    {
34273
8
          CommentStmt *n = makeNode(CommentStmt);
34274
0
          n->objtype = OBJECT_AGGREGATE;
34275
8
          n->object = (Node *) (yyvsp[-2].objwithargs);
34276
8
          n->comment = (yyvsp[0].str);
34277
8
          (yyval.node) = (Node *) n;
34278
8
        }
34279
0
#line 34280 "gram.c"
34280
0
    break;
34281
34282
567
  case 960:
34283
567
#line 7010 "gram.y"
34284
567
    {
34285
567
          CommentStmt *n = makeNode(CommentStmt);
34286
0
          n->objtype = OBJECT_FUNCTION;
34287
567
          n->object = (Node *) (yyvsp[-2].objwithargs);
34288
567
          n->comment = (yyvsp[0].str);
34289
567
          (yyval.node) = (Node *) n;
34290
567
        }
34291
0
#line 34292 "gram.c"
34292
0
    break;
34293
34294
12
  case 961:
34295
12
#line 7018 "gram.y"
34296
12
    {
34297
12
          CommentStmt *n = makeNode(CommentStmt);
34298
0
          n->objtype = OBJECT_OPERATOR;
34299
12
          n->object = (Node *) (yyvsp[-2].objwithargs);
34300
12
          n->comment = (yyvsp[0].str);
34301
12
          (yyval.node) = (Node *) n;
34302
12
        }
34303
0
#line 34304 "gram.c"
34304
0
    break;
34305
34306
20
  case 962:
34307
20
#line 7026 "gram.y"
34308
20
    {
34309
20
          CommentStmt *n = makeNode(CommentStmt);
34310
0
          n->objtype = OBJECT_TABCONSTRAINT;
34311
20
          n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34312
20
          n->comment = (yyvsp[0].str);
34313
20
          (yyval.node) = (Node *) n;
34314
20
        }
34315
0
#line 34316 "gram.c"
34316
0
    break;
34317
34318
0
  case 963:
34319
0
#line 7034 "gram.y"
34320
0
    {
34321
0
          CommentStmt *n = makeNode(CommentStmt);
34322
0
          n->objtype = OBJECT_DOMCONSTRAINT;
34323
          /*
34324
           * should use Typename not any_name in the production, but
34325
           * there's a shift/reduce conflict if we do that, so fix it
34326
           * up here.
34327
           */
34328
0
          n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
34329
0
          n->comment = (yyvsp[0].str);
34330
0
          (yyval.node) = (Node *) n;
34331
0
        }
34332
0
#line 34333 "gram.c"
34333
0
    break;
34334
34335
0
  case 964:
34336
0
#line 7047 "gram.y"
34337
0
    {
34338
0
          CommentStmt *n = makeNode(CommentStmt);
34339
0
          n->objtype = OBJECT_POLICY;
34340
0
          n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34341
0
          n->comment = (yyvsp[0].str);
34342
0
          (yyval.node) = (Node *) n;
34343
0
        }
34344
0
#line 34345 "gram.c"
34345
0
    break;
34346
34347
0
  case 965:
34348
0
#line 7055 "gram.y"
34349
0
    {
34350
0
          CommentStmt *n = makeNode(CommentStmt);
34351
0
          n->objtype = OBJECT_PROCEDURE;
34352
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34353
0
          n->comment = (yyvsp[0].str);
34354
0
          (yyval.node) = (Node *) n;
34355
0
        }
34356
0
#line 34357 "gram.c"
34357
0
    break;
34358
34359
0
  case 966:
34360
0
#line 7063 "gram.y"
34361
0
    {
34362
0
          CommentStmt *n = makeNode(CommentStmt);
34363
0
          n->objtype = OBJECT_ROUTINE;
34364
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34365
0
          n->comment = (yyvsp[0].str);
34366
0
          (yyval.node) = (Node *) n;
34367
0
        }
34368
0
#line 34369 "gram.c"
34369
0
    break;
34370
34371
20
  case 967:
34372
20
#line 7071 "gram.y"
34373
20
    {
34374
20
          CommentStmt *n = makeNode(CommentStmt);
34375
0
          n->objtype = OBJECT_RULE;
34376
20
          n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34377
20
          n->comment = (yyvsp[0].str);
34378
20
          (yyval.node) = (Node *) n;
34379
20
        }
34380
0
#line 34381 "gram.c"
34381
0
    break;
34382
34383
0
  case 968:
34384
0
#line 7079 "gram.y"
34385
0
    {
34386
0
          CommentStmt *n = makeNode(CommentStmt);
34387
0
          n->objtype = OBJECT_TRANSFORM;
34388
0
          n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
34389
0
          n->comment = (yyvsp[0].str);
34390
0
          (yyval.node) = (Node *) n;
34391
0
        }
34392
0
#line 34393 "gram.c"
34393
0
    break;
34394
34395
12
  case 969:
34396
12
#line 7087 "gram.y"
34397
12
    {
34398
12
          CommentStmt *n = makeNode(CommentStmt);
34399
0
          n->objtype = OBJECT_TRIGGER;
34400
12
          n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34401
12
          n->comment = (yyvsp[0].str);
34402
12
          (yyval.node) = (Node *) n;
34403
12
        }
34404
0
#line 34405 "gram.c"
34405
0
    break;
34406
34407
0
  case 970:
34408
0
#line 7095 "gram.y"
34409
0
    {
34410
0
          CommentStmt *n = makeNode(CommentStmt);
34411
0
          n->objtype = OBJECT_OPCLASS;
34412
0
          n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
34413
0
          n->comment = (yyvsp[0].str);
34414
0
          (yyval.node) = (Node *) n;
34415
0
        }
34416
0
#line 34417 "gram.c"
34417
0
    break;
34418
34419
0
  case 971:
34420
0
#line 7103 "gram.y"
34421
0
    {
34422
0
          CommentStmt *n = makeNode(CommentStmt);
34423
0
          n->objtype = OBJECT_OPFAMILY;
34424
0
          n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
34425
0
          n->comment = (yyvsp[0].str);
34426
0
          (yyval.node) = (Node *) n;
34427
0
        }
34428
0
#line 34429 "gram.c"
34429
0
    break;
34430
34431
8
  case 972:
34432
8
#line 7111 "gram.y"
34433
8
    {
34434
8
          CommentStmt *n = makeNode(CommentStmt);
34435
0
          n->objtype = OBJECT_LARGEOBJECT;
34436
8
          n->object = (Node *) (yyvsp[-2].value);
34437
8
          n->comment = (yyvsp[0].str);
34438
8
          (yyval.node) = (Node *) n;
34439
8
        }
34440
0
#line 34441 "gram.c"
34441
0
    break;
34442
34443
8
  case 973:
34444
8
#line 7119 "gram.y"
34445
8
    {
34446
8
          CommentStmt *n = makeNode(CommentStmt);
34447
0
          n->objtype = OBJECT_CAST;
34448
8
          n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
34449
8
          n->comment = (yyvsp[0].str);
34450
8
          (yyval.node) = (Node *) n;
34451
8
        }
34452
0
#line 34453 "gram.c"
34453
0
    break;
34454
34455
140
  case 974:
34456
140
#line 7130 "gram.y"
34457
140
    { (yyval.objtype) = OBJECT_COLUMN; }
34458
140
#line 34459 "gram.c"
34459
140
    break;
34460
34461
8
  case 975:
34462
8
#line 7131 "gram.y"
34463
8
    { (yyval.objtype) = OBJECT_INDEX; }
34464
8
#line 34465 "gram.c"
34465
8
    break;
34466
34467
8
  case 976:
34468
8
#line 7132 "gram.y"
34469
8
    { (yyval.objtype) = OBJECT_SEQUENCE; }
34470
8
#line 34471 "gram.c"
34471
8
    break;
34472
34473
0
  case 977:
34474
0
#line 7133 "gram.y"
34475
0
    { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
34476
0
#line 34477 "gram.c"
34477
0
    break;
34478
34479
12
  case 978:
34480
12
#line 7134 "gram.y"
34481
12
    { (yyval.objtype) = OBJECT_TABLE; }
34482
12
#line 34483 "gram.c"
34483
12
    break;
34484
34485
8
  case 979:
34486
8
#line 7135 "gram.y"
34487
8
    { (yyval.objtype) = OBJECT_VIEW; }
34488
8
#line 34489 "gram.c"
34489
8
    break;
34490
34491
0
  case 980:
34492
0
#line 7136 "gram.y"
34493
0
    { (yyval.objtype) = OBJECT_MATVIEW; }
34494
0
#line 34495 "gram.c"
34495
0
    break;
34496
34497
12
  case 981:
34498
12
#line 7137 "gram.y"
34499
12
    { (yyval.objtype) = OBJECT_COLLATION; }
34500
12
#line 34501 "gram.c"
34501
12
    break;
34502
34503
0
  case 982:
34504
0
#line 7138 "gram.y"
34505
0
    { (yyval.objtype) = OBJECT_CONVERSION; }
34506
0
#line 34507 "gram.c"
34507
0
    break;
34508
34509
12
  case 983:
34510
12
#line 7139 "gram.y"
34511
12
    { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
34512
12
#line 34513 "gram.c"
34513
12
    break;
34514
34515
90
  case 984:
34516
90
#line 7140 "gram.y"
34517
90
    { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
34518
90
#line 34519 "gram.c"
34519
90
    break;
34520
34521
90
  case 985:
34522
90
#line 7141 "gram.y"
34523
90
    { (yyval.objtype) = OBJECT_TSDICTIONARY; }
34524
90
#line 34525 "gram.c"
34525
90
    break;
34526
34527
0
  case 986:
34528
0
#line 7142 "gram.y"
34529
0
    { (yyval.objtype) = OBJECT_TSPARSER; }
34530
0
#line 34531 "gram.c"
34531
0
    break;
34532
34533
6
  case 987:
34534
6
#line 7143 "gram.y"
34535
6
    { (yyval.objtype) = OBJECT_TSTEMPLATE; }
34536
6
#line 34537 "gram.c"
34537
6
    break;
34538
34539
8
  case 988:
34540
8
#line 7147 "gram.y"
34541
8
    { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
34542
8
#line 34543 "gram.c"
34543
8
    break;
34544
34545
40
  case 989:
34546
40
#line 7148 "gram.y"
34547
40
    { (yyval.objtype) = OBJECT_DATABASE; }
34548
40
#line 34549 "gram.c"
34549
40
    break;
34550
34551
4
  case 990:
34552
4
#line 7149 "gram.y"
34553
4
    { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
34554
4
#line 34555 "gram.c"
34555
4
    break;
34556
34557
0
  case 991:
34558
0
#line 7150 "gram.y"
34559
0
    { (yyval.objtype) = OBJECT_EXTENSION; }
34560
0
#line 34561 "gram.c"
34561
0
    break;
34562
34563
4
  case 992:
34564
4
#line 7151 "gram.y"
34565
4
    { (yyval.objtype) = OBJECT_FDW; }
34566
4
#line 34567 "gram.c"
34567
4
    break;
34568
34569
10
  case 993:
34570
10
#line 7152 "gram.y"
34571
10
    { (yyval.objtype) = OBJECT_LANGUAGE; }
34572
10
#line 34573 "gram.c"
34573
10
    break;
34574
34575
0
  case 994:
34576
0
#line 7153 "gram.y"
34577
0
    { (yyval.objtype) = OBJECT_PUBLICATION; }
34578
0
#line 34579 "gram.c"
34579
0
    break;
34580
34581
8
  case 995:
34582
8
#line 7154 "gram.y"
34583
8
    { (yyval.objtype) = OBJECT_ROLE; }
34584
8
#line 34585 "gram.c"
34585
8
    break;
34586
34587
8
  case 996:
34588
8
#line 7155 "gram.y"
34589
8
    { (yyval.objtype) = OBJECT_SCHEMA; }
34590
8
#line 34591 "gram.c"
34591
8
    break;
34592
34593
4
  case 997:
34594
4
#line 7156 "gram.y"
34595
4
    { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
34596
4
#line 34597 "gram.c"
34597
4
    break;
34598
34599
0
  case 998:
34600
0
#line 7157 "gram.y"
34601
0
    { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
34602
0
#line 34603 "gram.c"
34603
0
    break;
34604
34605
12
  case 999:
34606
12
#line 7158 "gram.y"
34607
12
    { (yyval.objtype) = OBJECT_YBTABLEGROUP; }
34608
12
#line 34609 "gram.c"
34609
12
    break;
34610
34611
8
  case 1000:
34612
8
#line 7159 "gram.y"
34613
8
    { (yyval.objtype) = OBJECT_TABLESPACE; }
34614
8
#line 34615 "gram.c"
34615
8
    break;
34616
34617
1.17k
  case 1001:
34618
1.17k
#line 7163 "gram.y"
34619
1.17k
    { (yyval.str) = (yyvsp[0].str); }
34620
1.17k
#line 34621 "gram.c"
34621
1.17k
    break;
34622
34623
108
  case 1002:
34624
108
#line 7164 "gram.y"
34625
108
    { (yyval.str) = NULL; }
34626
108
#line 34627 "gram.c"
34627
108
    break;
34628
34629
0
  case 1003:
34630
0
#line 7180 "gram.y"
34631
0
    {
34632
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34633
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34634
0
          n->provider = (yyvsp[-5].str);
34635
0
          n->objtype = (yyvsp[-3].objtype);
34636
0
          n->object = (Node *) (yyvsp[-2].list);
34637
0
          n->label = (yyvsp[0].str);
34638
0
          (yyval.node) = (Node *) n;
34639
0
        }
34640
0
#line 34641 "gram.c"
34641
0
    break;
34642
34643
0
  case 1004:
34644
0
#line 7191 "gram.y"
34645
0
    {
34646
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34647
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34648
0
          n->provider = (yyvsp[-5].str);
34649
0
          n->objtype = (yyvsp[-3].objtype);
34650
0
          n->object = (Node *) makeString((yyvsp[-2].str));
34651
0
          n->label = (yyvsp[0].str);
34652
0
          (yyval.node) = (Node *) n;
34653
0
        }
34654
0
#line 34655 "gram.c"
34655
0
    break;
34656
34657
0
  case 1005:
34658
0
#line 7202 "gram.y"
34659
0
    {
34660
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34661
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34662
0
          n->provider = (yyvsp[-5].str);
34663
0
          n->objtype = OBJECT_TYPE;
34664
0
          n->object = (Node *) (yyvsp[-2].typnam);
34665
0
          n->label = (yyvsp[0].str);
34666
0
          (yyval.node) = (Node *) n;
34667
0
        }
34668
0
#line 34669 "gram.c"
34669
0
    break;
34670
34671
0
  case 1006:
34672
0
#line 7213 "gram.y"
34673
0
    {
34674
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34675
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34676
0
          n->provider = (yyvsp[-5].str);
34677
0
          n->objtype = OBJECT_DOMAIN;
34678
0
          n->object = (Node *) (yyvsp[-2].typnam);
34679
0
          n->label = (yyvsp[0].str);
34680
0
          (yyval.node) = (Node *) n;
34681
0
        }
34682
0
#line 34683 "gram.c"
34683
0
    break;
34684
34685
0
  case 1007:
34686
0
#line 7224 "gram.y"
34687
0
    {
34688
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34689
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34690
0
          n->provider = (yyvsp[-5].str);
34691
0
          n->objtype = OBJECT_AGGREGATE;
34692
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34693
0
          n->label = (yyvsp[0].str);
34694
0
          (yyval.node) = (Node *) n;
34695
0
        }
34696
0
#line 34697 "gram.c"
34697
0
    break;
34698
34699
0
  case 1008:
34700
0
#line 7235 "gram.y"
34701
0
    {
34702
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34703
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34704
0
          n->provider = (yyvsp[-5].str);
34705
0
          n->objtype = OBJECT_FUNCTION;
34706
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34707
0
          n->label = (yyvsp[0].str);
34708
0
          (yyval.node) = (Node *) n;
34709
0
        }
34710
0
#line 34711 "gram.c"
34711
0
    break;
34712
34713
0
  case 1009:
34714
0
#line 7246 "gram.y"
34715
0
    {
34716
0
          parser_ybc_not_support((yylsp[-8]), "SECURITY LABEL");
34717
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34718
0
          n->provider = (yyvsp[-6].str);
34719
0
          n->objtype = OBJECT_LARGEOBJECT;
34720
0
          n->object = (Node *) (yyvsp[-2].value);
34721
0
          n->label = (yyvsp[0].str);
34722
0
          (yyval.node) = (Node *) n;
34723
0
        }
34724
0
#line 34725 "gram.c"
34725
0
    break;
34726
34727
0
  case 1010:
34728
0
#line 7257 "gram.y"
34729
0
    {
34730
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34731
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34732
0
          n->provider = (yyvsp[-5].str);
34733
0
          n->objtype = OBJECT_PROCEDURE;
34734
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34735
0
          n->label = (yyvsp[0].str);
34736
0
          (yyval.node) = (Node *) n;
34737
0
        }
34738
0
#line 34739 "gram.c"
34739
0
    break;
34740
34741
0
  case 1011:
34742
0
#line 7268 "gram.y"
34743
0
    {
34744
0
          parser_ybc_not_support((yylsp[-7]), "SECURITY LABEL");
34745
0
          SecLabelStmt *n = makeNode(SecLabelStmt);
34746
0
          n->provider = (yyvsp[-5].str);
34747
0
          n->objtype = OBJECT_ROUTINE;
34748
0
          n->object = (Node *) (yyvsp[-2].objwithargs);
34749
0
          n->label = (yyvsp[0].str);
34750
0
          (yyval.node) = (Node *) n;
34751
0
        }
34752
0
#line 34753 "gram.c"
34753
0
    break;
34754
34755
0
  case 1012:
34756
0
#line 7279 "gram.y"
34757
0
    { (yyval.str) = (yyvsp[0].str); }
34758
0
#line 34759 "gram.c"
34759
0
    break;
34760
34761
0
  case 1013:
34762
0
#line 7280 "gram.y"
34763
0
    { (yyval.str) = NULL; }
34764
0
#line 34765 "gram.c"
34765
0
    break;
34766
34767
0
  case 1014:
34768
0
#line 7285 "gram.y"
34769
0
    { (yyval.objtype) = OBJECT_COLUMN; }
34770
0
#line 34771 "gram.c"
34771
0
    break;
34772
34773
0
  case 1015:
34774
0
#line 7286 "gram.y"
34775
0
    { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
34776
0
#line 34777 "gram.c"
34777
0
    break;
34778
34779
0
  case 1016:
34780
0
#line 7287 "gram.y"
34781
0
    { (yyval.objtype) = OBJECT_SEQUENCE; }
34782
0
#line 34783 "gram.c"
34783
0
    break;
34784
34785
0
  case 1017:
34786
0
#line 7288 "gram.y"
34787
0
    { (yyval.objtype) = OBJECT_TABLE; }
34788
0
#line 34789 "gram.c"
34789
0
    break;
34790
34791
0
  case 1018:
34792
0
#line 7289 "gram.y"
34793
0
    { (yyval.objtype) = OBJECT_VIEW; }
34794
0
#line 34795 "gram.c"
34795
0
    break;
34796
34797
0
  case 1019:
34798
0
#line 7290 "gram.y"
34799
0
    { (yyval.objtype) = OBJECT_MATVIEW; }
34800
0
#line 34801 "gram.c"
34801
0
    break;
34802
34803
0
  case 1020:
34804
0
#line 7295 "gram.y"
34805
0
    { (yyval.objtype) = OBJECT_DATABASE; }
34806
0
#line 34807 "gram.c"
34807
0
    break;
34808
34809
0
  case 1021:
34810
0
#line 7296 "gram.y"
34811
0
    { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
34812
0
#line 34813 "gram.c"
34813
0
    break;
34814
34815
0
  case 1022:
34816
0
#line 7297 "gram.y"
34817
0
    { (yyval.objtype) = OBJECT_LANGUAGE; }
34818
0
#line 34819 "gram.c"
34819
0
    break;
34820
34821
0
  case 1023:
34822
0
#line 7298 "gram.y"
34823
0
    { (yyval.objtype) = OBJECT_PUBLICATION; }
34824
0
#line 34825 "gram.c"
34825
0
    break;
34826
34827
0
  case 1024:
34828
0
#line 7299 "gram.y"
34829
0
    { (yyval.objtype) = OBJECT_ROLE; }
34830
0
#line 34831 "gram.c"
34831
0
    break;
34832
34833
0
  case 1025:
34834
0
#line 7300 "gram.y"
34835
0
    { (yyval.objtype) = OBJECT_SCHEMA; }
34836
0
#line 34837 "gram.c"
34837
0
    break;
34838
34839
0
  case 1026:
34840
0
#line 7301 "gram.y"
34841
0
    { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
34842
0
#line 34843 "gram.c"
34843
0
    break;
34844
34845
0
  case 1027:
34846
0
#line 7302 "gram.y"
34847
0
    { (yyval.objtype) = OBJECT_TABLESPACE; }
34848
0
#line 34849 "gram.c"
34849
0
    break;
34850
34851
0
  case 1028:
34852
0
#line 7305 "gram.y"
34853
0
    { (yyval.str) = (yyvsp[0].str); }
34854
0
#line 34855 "gram.c"
34855
0
    break;
34856
34857
0
  case 1029:
34858
0
#line 7306 "gram.y"
34859
0
    { (yyval.str) = NULL; }
34860
0
#line 34861 "gram.c"
34861
0
    break;
34862
34863
13.3k
  case 1030:
34864
13.3k
#line 7317 "gram.y"
34865
13.3k
    {
34866
13.3k
          FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
34867
13.3k
          n->ismove = false;
34868
13.3k
          (yyval.node) = (Node *)n;
34869
13.3k
        }
34870
13.3k
#line 34871 "gram.c"
34871
13.3k
    break;
34872
34873
0
  case 1031:
34874
0
#line 7323 "gram.y"
34875
0
    {
34876
0
          parser_ybc_not_support((yylsp[-1]), "MOVE");
34877
0
          FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
34878
0
          n->ismove = true;
34879
0
          (yyval.node) = (Node *)n;
34880
0
        }
34881
0
#line 34882 "gram.c"
34882
0
    break;
34883
34884
44
  case 1032:
34885
44
#line 7332 "gram.y"
34886
44
    {
34887
44
          FetchStmt *n = makeNode(FetchStmt);
34888
0
          n->portalname = (yyvsp[0].str);
34889
44
          n->direction = FETCH_FORWARD;
34890
44
          n->howMany = 1;
34891
44
          (yyval.node) = (Node *)n;
34892
44
        }
34893
0
#line 34894 "gram.c"
34894
0
    break;
34895
34896
52
  case 1033:
34897
52
#line 7340 "gram.y"
34898
52
    {
34899
52
          FetchStmt *n = makeNode(FetchStmt);
34900
0
          n->portalname = (yyvsp[0].str);
34901
52
          n->direction = FETCH_FORWARD;
34902
52
          n->howMany = 1;
34903
52
          (yyval.node) = (Node *)n;
34904
52
        }
34905
0
#line 34906 "gram.c"
34906
0
    break;
34907
34908
8
  case 1034:
34909
8
#line 7348 "gram.y"
34910
8
    {
34911
8
          FetchStmt *n = makeNode(FetchStmt);
34912
0
          n->portalname = (yyvsp[0].str);
34913
8
          n->direction = FETCH_FORWARD;
34914
8
          n->howMany = 1;
34915
8
          (yyval.node) = (Node *)n;
34916
8
        }
34917
0
#line 34918 "gram.c"
34918
0
    break;
34919
34920
0
  case 1035:
34921
0
#line 7356 "gram.y"
34922
0
    {
34923
0
          parser_ybc_signal_unsupported((yylsp[-2]), "FETCH PRIOR", 6514);
34924
34925
0
          FetchStmt *n = makeNode(FetchStmt);
34926
0
          n->portalname = (yyvsp[0].str);
34927
0
          n->direction = FETCH_BACKWARD;
34928
0
          n->howMany = 1;
34929
0
          (yyval.node) = (Node *)n;
34930
0
        }
34931
0
#line 34932 "gram.c"
34932
0
    break;
34933
34934
0
  case 1036:
34935
0
#line 7366 "gram.y"
34936
0
    {
34937
0
          parser_ybc_signal_unsupported((yylsp[-2]), "FETCH FIRST", 6514);
34938
34939
0
          FetchStmt *n = makeNode(FetchStmt);
34940
0
          n->portalname = (yyvsp[0].str);
34941
0
          n->direction = FETCH_ABSOLUTE;
34942
0
          n->howMany = 1;
34943
0
          (yyval.node) = (Node *)n;
34944
0
        }
34945
0
#line 34946 "gram.c"
34946
0
    break;
34947
34948
0
  case 1037:
34949
0
#line 7376 "gram.y"
34950
0
    {
34951
0
          parser_ybc_signal_unsupported((yylsp[-2]), "FETCH LAST", 6514);
34952
34953
0
          FetchStmt *n = makeNode(FetchStmt);
34954
0
          n->portalname = (yyvsp[0].str);
34955
0
          n->direction = FETCH_ABSOLUTE;
34956
0
          n->howMany = -1;
34957
0
          (yyval.node) = (Node *)n;
34958
0
        }
34959
0
#line 34960 "gram.c"
34960
0
    break;
34961
34962
4
  case 1038:
34963
4
#line 7386 "gram.y"
34964
4
    {
34965
4
          parser_ybc_signal_unsupported((yylsp[-3]), "FETCH ABSOLUTE", 6514);
34966
34967
4
          FetchStmt *n = makeNode(FetchStmt);
34968
0
          n->portalname = (yyvsp[0].str);
34969
4
          n->direction = FETCH_ABSOLUTE;
34970
4
          n->howMany = (yyvsp[-2].ival);
34971
4
          (yyval.node) = (Node *)n;
34972
4
        }
34973
0
#line 34974 "gram.c"
34974
0
    break;
34975
34976
4
  case 1039:
34977
4
#line 7396 "gram.y"
34978
4
    {
34979
4
          parser_ybc_signal_unsupported((yylsp[-3]), "FETCH RELATIVE", 6514);
34980
34981
4
          FetchStmt *n = makeNode(FetchStmt);
34982
0
          n->portalname = (yyvsp[0].str);
34983
4
          n->direction = FETCH_RELATIVE;
34984
4
          n->howMany = (yyvsp[-2].ival);
34985
4
          (yyval.node) = (Node *)n;
34986
4
        }
34987
0
#line 34988 "gram.c"
34988
0
    break;
34989
34990
13.0k
  case 1040:
34991
13.0k
#line 7406 "gram.y"
34992
13.0k
    {
34993
13.0k
          if ((yyvsp[-2].ival) < 0) {
34994
2
            parser_ybc_signal_unsupported((yylsp[-2]), "FETCH -", 6514);
34995
2
          }
34996
13.0k
          FetchStmt *n = makeNode(FetchStmt);
34997
0
          n->portalname = (yyvsp[0].str);
34998
13.0k
          n->direction = FETCH_FORWARD;
34999
13.0k
          n->howMany = (yyvsp[-2].ival);
35000
13.0k
          (yyval.node) = (Node *)n;
35001
13.0k
        }
35002
0
#line 35003 "gram.c"
35003
0
    break;
35004
35005
120
  case 1041:
35006
120
#line 7417 "gram.y"
35007
120
    {
35008
120
          FetchStmt *n = makeNode(FetchStmt);
35009
0
          n->portalname = (yyvsp[0].str);
35010
120
          n->direction = FETCH_FORWARD;
35011
120
          n->howMany = FETCH_ALL;
35012
120
          (yyval.node) = (Node *)n;
35013
120
        }
35014
0
#line 35015 "gram.c"
35015
0
    break;
35016
35017
4
  case 1042:
35018
4
#line 7425 "gram.y"
35019
4
    {
35020
4
          FetchStmt *n = makeNode(FetchStmt);
35021
0
          n->portalname = (yyvsp[0].str);
35022
4
          n->direction = FETCH_FORWARD;
35023
4
          n->howMany = 1;
35024
4
          (yyval.node) = (Node *)n;
35025
4
        }
35026
0
#line 35027 "gram.c"
35027
0
    break;
35028
35029
4
  case 1043:
35030
4
#line 7433 "gram.y"
35031
4
    {
35032
4
          if ((yyvsp[-2].ival) < 0) {
35033
0
            parser_ybc_signal_unsupported((yylsp[-3]), "FETCH FORWARD -", 6514);
35034
0
          }
35035
4
          FetchStmt *n = makeNode(FetchStmt);
35036
0
          n->portalname = (yyvsp[0].str);
35037
4
          n->direction = FETCH_FORWARD;
35038
4
          n->howMany = (yyvsp[-2].ival);
35039
4
          (yyval.node) = (Node *)n;
35040
4
        }
35041
0
#line 35042 "gram.c"
35042
0
    break;
35043
35044
4
  case 1044:
35045
4
#line 7444 "gram.y"
35046
4
    {
35047
4
          FetchStmt *n = makeNode(FetchStmt);
35048
0
          n->portalname = (yyvsp[0].str);
35049
4
          n->direction = FETCH_FORWARD;
35050
4
          n->howMany = FETCH_ALL;
35051
4
          (yyval.node) = (Node *)n;
35052
4
        }
35053
0
#line 35054 "gram.c"
35054
0
    break;
35055
35056
0
  case 1045:
35057
0
#line 7452 "gram.y"
35058
0
    {
35059
0
          parser_ybc_signal_unsupported((yylsp[-2]), "FETCH BACKWARD", 6514);
35060
35061
0
          FetchStmt *n = makeNode(FetchStmt);
35062
0
          n->portalname = (yyvsp[0].str);
35063
0
          n->direction = FETCH_BACKWARD;
35064
0
          n->howMany = 1;
35065
0
          (yyval.node) = (Node *)n;
35066
0
        }
35067
0
#line 35068 "gram.c"
35068
0
    break;
35069
35070
0
  case 1046:
35071
0
#line 7462 "gram.y"
35072
0
    {
35073
0
          parser_ybc_signal_unsupported((yylsp[-3]), "FETCH BACKWARD", 6514);
35074
35075
0
          FetchStmt *n = makeNode(FetchStmt);
35076
0
          n->portalname = (yyvsp[0].str);
35077
0
          n->direction = FETCH_BACKWARD;
35078
0
          n->howMany = (yyvsp[-2].ival);
35079
0
          (yyval.node) = (Node *)n;
35080
0
        }
35081
0
#line 35082 "gram.c"
35082
0
    break;
35083
35084
8
  case 1047:
35085
8
#line 7472 "gram.y"
35086
8
    {
35087
8
          parser_ybc_signal_unsupported((yylsp[-3]), "FETCH BACKWARD", 6514);
35088
35089
8
          FetchStmt *n = makeNode(FetchStmt);
35090
0
          n->portalname = (yyvsp[0].str);
35091
8
          n->direction = FETCH_BACKWARD;
35092
8
          n->howMany = FETCH_ALL;
35093
8
          (yyval.node) = (Node *)n;
35094
8
        }
35095
0
#line 35096 "gram.c"
35096
0
    break;
35097
35098
13.1k
  case 1048:
35099
13.1k
#line 7483 "gram.y"
35100
13.1k
    {}
35101
13.1k
#line 35102 "gram.c"
35102
13.1k
    break;
35103
35104
176
  case 1049:
35105
176
#line 7484 "gram.y"
35106
176
    {}
35107
176
#line 35108 "gram.c"
35108
176
    break;
35109
35110
13.2k
  case 1050:
35111
13.2k
#line 7487 "gram.y"
35112
13.2k
    {}
35113
13.2k
#line 35114 "gram.c"
35114
13.2k
    break;
35115
35116
0
  case 1051:
35117
0
#line 7488 "gram.y"
35118
0
    {}
35119
0
#line 35120 "gram.c"
35120
0
    break;
35121
35122
2.30k
  case 1052:
35123
2.30k
#line 7500 "gram.y"
35124
2.30k
    {
35125
2.30k
          GrantStmt *n = makeNode(GrantStmt);
35126
0
          n->is_grant = true;
35127
2.30k
          n->privileges = (yyvsp[-5].list);
35128
2.30k
          n->targtype = ((yyvsp[-3].privtarget))->targtype;
35129
2.30k
          n->objtype = ((yyvsp[-3].privtarget))->objtype;
35130
2.30k
          n->objects = ((yyvsp[-3].privtarget))->objs;
35131
2.30k
          n->grantees = (yyvsp[-1].list);
35132
2.30k
          n->grant_option = (yyvsp[0].boolean);
35133
2.30k
          (yyval.node) = (Node*)n;
35134
2.30k
        }
35135
0
#line 35136 "gram.c"
35136
0
    break;
35137
35138
1.15k
  case 1053:
35139
1.15k
#line 7516 "gram.y"
35140
1.15k
    {
35141
1.15k
          GrantStmt *n = makeNode(GrantStmt);
35142
0
          n->is_grant = false;
35143
1.15k
          n->grant_option = false;
35144
1.15k
          n->privileges = (yyvsp[-5].list);
35145
1.15k
          n->targtype = ((yyvsp[-3].privtarget))->targtype;
35146
1.15k
          n->objtype = ((yyvsp[-3].privtarget))->objtype;
35147
1.15k
          n->objects = ((yyvsp[-3].privtarget))->objs;
35148
1.15k
          n->grantees = (yyvsp[-1].list);
35149
1.15k
          n->behavior = (yyvsp[0].dbehavior);
35150
1.15k
          (yyval.node) = (Node *)n;
35151
1.15k
        }
35152
0
#line 35153 "gram.c"
35153
0
    break;
35154
35155
8
  case 1054:
35156
8
#line 7530 "gram.y"
35157
8
    {
35158
8
          GrantStmt *n = makeNode(GrantStmt);
35159
0
          n->is_grant = false;
35160
8
          n->grant_option = true;
35161
8
          n->privileges = (yyvsp[-5].list);
35162
8
          n->targtype = ((yyvsp[-3].privtarget))->targtype;
35163
8
          n->objtype = ((yyvsp[-3].privtarget))->objtype;
35164
8
          n->objects = ((yyvsp[-3].privtarget))->objs;
35165
8
          n->grantees = (yyvsp[-1].list);
35166
8
          n->behavior = (yyvsp[0].dbehavior);
35167
8
          (yyval.node) = (Node *)n;
35168
8
        }
35169
0
#line 35170 "gram.c"
35170
0
    break;
35171
35172
2.42k
  case 1055:
35173
2.42k
#line 7555 "gram.y"
35174
2.42k
    { (yyval.list) = (yyvsp[0].list); }
35175
2.42k
#line 35176 "gram.c"
35176
2.42k
    break;
35177
35178
992
  case 1056:
35179
992
#line 7557 "gram.y"
35180
992
    { (yyval.list) = NIL; }
35181
992
#line 35182 "gram.c"
35182
992
    break;
35183
35184
136
  case 1057:
35185
136
#line 7559 "gram.y"
35186
136
    { (yyval.list) = NIL; }
35187
136
#line 35188 "gram.c"
35188
136
    break;
35189
35190
28
  case 1058:
35191
28
#line 7561 "gram.y"
35192
28
    {
35193
28
          AccessPriv *n = makeNode(AccessPriv);
35194
0
          n->priv_name = NULL;
35195
28
          n->cols = (yyvsp[-1].list);
35196
28
          (yyval.list) = list_make1(n);
35197
28
        }
35198
0
#line 35199 "gram.c"
35199
0
    break;
35200
35201
0
  case 1059:
35202
0
#line 7568 "gram.y"
35203
0
    {
35204
0
          AccessPriv *n = makeNode(AccessPriv);
35205
0
          n->priv_name = NULL;
35206
0
          n->cols = (yyvsp[-1].list);
35207
0
          (yyval.list) = list_make1(n);
35208
0
        }
35209
0
#line 35210 "gram.c"
35210
0
    break;
35211
35212
2.62k
  case 1060:
35213
2.62k
#line 7576 "gram.y"
35214
2.62k
    { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
35215
2.62k
#line 35216 "gram.c"
35216
2.62k
    break;
35217
35218
146
  case 1061:
35219
146
#line 7577 "gram.y"
35220
146
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
35221
146
#line 35222 "gram.c"
35222
146
    break;
35223
35224
1.46k
  case 1062:
35225
1.46k
#line 7581 "gram.y"
35226
1.46k
    {
35227
1.46k
        AccessPriv *n = makeNode(AccessPriv);
35228
0
        n->priv_name = pstrdup((yyvsp[-1].keyword));
35229
1.46k
        n->cols = (yyvsp[0].list);
35230
1.46k
        (yyval.accesspriv) = n;
35231
1.46k
      }
35232
0
#line 35233 "gram.c"
35233
0
    break;
35234
35235
34
  case 1063:
35236
34
#line 7588 "gram.y"
35237
34
    {
35238
34
        AccessPriv *n = makeNode(AccessPriv);
35239
0
        n->priv_name = pstrdup((yyvsp[-1].keyword));
35240
34
        n->cols = (yyvsp[0].list);
35241
34
        (yyval.accesspriv) = n;
35242
34
      }
35243
0
#line 35244 "gram.c"
35244
0
    break;
35245
35246
74
  case 1064:
35247
74
#line 7595 "gram.y"
35248
74
    {
35249
74
        AccessPriv *n = makeNode(AccessPriv);
35250
0
        n->priv_name = pstrdup((yyvsp[-1].keyword));
35251
74
        n->cols = (yyvsp[0].list);
35252
74
        (yyval.accesspriv) = n;
35253
74
      }
35254
0
#line 35255 "gram.c"
35255
0
    break;
35256
35257
1.19k
  case 1065:
35258
1.19k
#line 7602 "gram.y"
35259
1.19k
    {
35260
1.19k
        AccessPriv *n = makeNode(AccessPriv);
35261
0
        n->priv_name = (yyvsp[-1].str);
35262
1.19k
        n->cols = (yyvsp[0].list);
35263
1.19k
        (yyval.accesspriv) = n;
35264
1.19k
      }
35265
0
#line 35266 "gram.c"
35266
0
    break;
35267
35268
1.45k
  case 1066:
35269
1.45k
#line 7616 "gram.y"
35270
1.45k
    {
35271
1.45k
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35272
1.45k
          n->targtype = ACL_TARGET_OBJECT;
35273
1.45k
          n->objtype = OBJECT_TABLE;
35274
1.45k
          n->objs = (yyvsp[0].list);
35275
1.45k
          (yyval.privtarget) = n;
35276
1.45k
        }
35277
1.45k
#line 35278 "gram.c"
35278
1.45k
    break;
35279
35280
649
  case 1067:
35281
649
#line 7624 "gram.y"
35282
649
    {
35283
649
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35284
649
          n->targtype = ACL_TARGET_OBJECT;
35285
649
          n->objtype = OBJECT_TABLE;
35286
649
          n->objs = (yyvsp[0].list);
35287
649
          (yyval.privtarget) = n;
35288
649
        }
35289
649
#line 35290 "gram.c"
35290
649
    break;
35291
35292
40
  case 1068:
35293
40
#line 7632 "gram.y"
35294
40
    {
35295
40
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35296
40
          n->targtype = ACL_TARGET_OBJECT;
35297
40
          n->objtype = OBJECT_SEQUENCE;
35298
40
          n->objs = (yyvsp[0].list);
35299
40
          (yyval.privtarget) = n;
35300
40
        }
35301
40
#line 35302 "gram.c"
35302
40
    break;
35303
35304
56
  case 1069:
35305
56
#line 7640 "gram.y"
35306
56
    {
35307
56
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35308
56
          n->targtype = ACL_TARGET_OBJECT;
35309
56
          n->objtype = OBJECT_FDW;
35310
56
          n->objs = (yyvsp[0].list);
35311
56
          (yyval.privtarget) = n;
35312
56
        }
35313
56
#line 35314 "gram.c"
35314
56
    break;
35315
35316
48
  case 1070:
35317
48
#line 7648 "gram.y"
35318
48
    {
35319
48
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35320
48
          n->targtype = ACL_TARGET_OBJECT;
35321
48
          n->objtype = OBJECT_FOREIGN_SERVER;
35322
48
          n->objs = (yyvsp[0].list);
35323
48
          (yyval.privtarget) = n;
35324
48
        }
35325
48
#line 35326 "gram.c"
35326
48
    break;
35327
35328
766
  case 1071:
35329
766
#line 7656 "gram.y"
35330
766
    {
35331
766
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35332
766
          n->targtype = ACL_TARGET_OBJECT;
35333
766
          n->objtype = OBJECT_FUNCTION;
35334
766
          n->objs = (yyvsp[0].list);
35335
766
          (yyval.privtarget) = n;
35336
766
        }
35337
766
#line 35338 "gram.c"
35338
766
    break;
35339
35340
16
  case 1072:
35341
16
#line 7664 "gram.y"
35342
16
    {
35343
16
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35344
16
          n->targtype = ACL_TARGET_OBJECT;
35345
16
          n->objtype = OBJECT_PROCEDURE;
35346
16
          n->objs = (yyvsp[0].list);
35347
16
          (yyval.privtarget) = n;
35348
16
        }
35349
16
#line 35350 "gram.c"
35350
16
    break;
35351
35352
0
  case 1073:
35353
0
#line 7672 "gram.y"
35354
0
    {
35355
0
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35356
0
          n->targtype = ACL_TARGET_OBJECT;
35357
0
          n->objtype = OBJECT_ROUTINE;
35358
0
          n->objs = (yyvsp[0].list);
35359
0
          (yyval.privtarget) = n;
35360
0
        }
35361
0
#line 35362 "gram.c"
35362
0
    break;
35363
35364
48
  case 1074:
35365
48
#line 7680 "gram.y"
35366
48
    {
35367
48
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35368
48
          n->targtype = ACL_TARGET_OBJECT;
35369
48
          n->objtype = OBJECT_DATABASE;
35370
48
          n->objs = (yyvsp[0].list);
35371
48
          (yyval.privtarget) = n;
35372
48
        }
35373
48
#line 35374 "gram.c"
35374
48
    break;
35375
35376
36
  case 1075:
35377
36
#line 7688 "gram.y"
35378
36
    {
35379
36
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35380
36
          n->targtype = ACL_TARGET_OBJECT;
35381
36
          n->objtype = OBJECT_DOMAIN;
35382
36
          n->objs = (yyvsp[0].list);
35383
36
          (yyval.privtarget) = n;
35384
36
        }
35385
36
#line 35386 "gram.c"
35386
36
    break;
35387
35388
24
  case 1076:
35389
24
#line 7696 "gram.y"
35390
24
    {
35391
24
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35392
24
          n->targtype = ACL_TARGET_OBJECT;
35393
24
          n->objtype = OBJECT_LANGUAGE;
35394
24
          n->objs = (yyvsp[0].list);
35395
24
          (yyval.privtarget) = n;
35396
24
        }
35397
24
#line 35398 "gram.c"
35398
24
    break;
35399
35400
48
  case 1077:
35401
48
#line 7704 "gram.y"
35402
48
    {
35403
48
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35404
48
          n->targtype = ACL_TARGET_OBJECT;
35405
48
          n->objtype = OBJECT_LARGEOBJECT;
35406
48
          n->objs = (yyvsp[0].list);
35407
48
          (yyval.privtarget) = n;
35408
48
        }
35409
48
#line 35410 "gram.c"
35410
48
    break;
35411
35412
183
  case 1078:
35413
183
#line 7712 "gram.y"
35414
183
    {
35415
183
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35416
183
          n->targtype = ACL_TARGET_OBJECT;
35417
183
          n->objtype = OBJECT_SCHEMA;
35418
183
          n->objs = (yyvsp[0].list);
35419
183
          (yyval.privtarget) = n;
35420
183
        }
35421
183
#line 35422 "gram.c"
35422
183
    break;
35423
35424
32
  case 1079:
35425
32
#line 7720 "gram.y"
35426
32
    {
35427
32
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35428
32
          n->targtype = ACL_TARGET_OBJECT;
35429
32
          n->objtype = OBJECT_YBTABLEGROUP;
35430
32
          n->objs = (yyvsp[0].list);
35431
32
          (yyval.privtarget) = n;
35432
32
        }
35433
32
#line 35434 "gram.c"
35434
32
    break;
35435
35436
0
  case 1080:
35437
0
#line 7728 "gram.y"
35438
0
    {
35439
0
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35440
0
          n->targtype = ACL_TARGET_OBJECT;
35441
0
          n->objtype = OBJECT_TABLESPACE;
35442
0
          n->objs = (yyvsp[0].list);
35443
0
          (yyval.privtarget) = n;
35444
0
        }
35445
0
#line 35446 "gram.c"
35446
0
    break;
35447
35448
48
  case 1081:
35449
48
#line 7736 "gram.y"
35450
48
    {
35451
48
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35452
48
          n->targtype = ACL_TARGET_OBJECT;
35453
48
          n->objtype = OBJECT_TYPE;
35454
48
          n->objs = (yyvsp[0].list);
35455
48
          (yyval.privtarget) = n;
35456
48
        }
35457
48
#line 35458 "gram.c"
35458
48
    break;
35459
35460
16
  case 1082:
35461
16
#line 7744 "gram.y"
35462
16
    {
35463
16
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35464
16
          n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35465
16
          n->objtype = OBJECT_TABLE;
35466
16
          n->objs = (yyvsp[0].list);
35467
16
          (yyval.privtarget) = n;
35468
16
        }
35469
16
#line 35470 "gram.c"
35470
16
    break;
35471
35472
0
  case 1083:
35473
0
#line 7752 "gram.y"
35474
0
    {
35475
0
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35476
0
          n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35477
0
          n->objtype = OBJECT_SEQUENCE;
35478
0
          n->objs = (yyvsp[0].list);
35479
0
          (yyval.privtarget) = n;
35480
0
        }
35481
0
#line 35482 "gram.c"
35482
0
    break;
35483
35484
12
  case 1084:
35485
12
#line 7760 "gram.y"
35486
12
    {
35487
12
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35488
12
          n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35489
12
          n->objtype = OBJECT_FUNCTION;
35490
12
          n->objs = (yyvsp[0].list);
35491
12
          (yyval.privtarget) = n;
35492
12
        }
35493
12
#line 35494 "gram.c"
35494
12
    break;
35495
35496
4
  case 1085:
35497
4
#line 7768 "gram.y"
35498
4
    {
35499
4
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35500
4
          n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35501
4
          n->objtype = OBJECT_PROCEDURE;
35502
4
          n->objs = (yyvsp[0].list);
35503
4
          (yyval.privtarget) = n;
35504
4
        }
35505
4
#line 35506 "gram.c"
35506
4
    break;
35507
35508
4
  case 1086:
35509
4
#line 7776 "gram.y"
35510
4
    {
35511
4
          PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35512
4
          n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35513
4
          n->objtype = OBJECT_ROUTINE;
35514
4
          n->objs = (yyvsp[0].list);
35515
4
          (yyval.privtarget) = n;
35516
4
        }
35517
4
#line 35518 "gram.c"
35518
4
    break;
35519
35520
3.56k
  case 1087:
35521
3.56k
#line 7787 "gram.y"
35522
3.56k
    { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
35523
3.56k
#line 35524 "gram.c"
35524
3.56k
    break;
35525
35526
76
  case 1088:
35527
76
#line 7788 "gram.y"
35528
76
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
35529
76
#line 35530 "gram.c"
35530
76
    break;
35531
35532
3.63k
  case 1089:
35533
3.63k
#line 7792 "gram.y"
35534
3.63k
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
35535
3.63k
#line 35536 "gram.c"
35536
3.63k
    break;
35537
35538
8
  case 1090:
35539
8
#line 7793 "gram.y"
35540
8
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
35541
8
#line 35542 "gram.c"
35542
8
    break;
35543
35544
48
  case 1091:
35545
48
#line 7798 "gram.y"
35546
48
    { (yyval.boolean) = true; }
35547
48
#line 35548 "gram.c"
35548
48
    break;
35549
35550
2.31k
  case 1092:
35551
2.31k
#line 7799 "gram.y"
35552
2.31k
    { (yyval.boolean) = false; }
35553
2.31k
#line 35554 "gram.c"
35554
2.31k
    break;
35555
35556
150
  case 1093:
35557
150
#line 7810 "gram.y"
35558
150
    {
35559
150
          GrantRoleStmt *n = makeNode(GrantRoleStmt);
35560
0
          n->is_grant = true;
35561
150
          n->granted_roles = (yyvsp[-4].list);
35562
150
          n->grantee_roles = (yyvsp[-2].list);
35563
150
          n->admin_opt = (yyvsp[-1].boolean);
35564
150
          n->grantor = (yyvsp[0].rolespec);
35565
150
          (yyval.node) = (Node*)n;
35566
150
        }
35567
0
#line 35568 "gram.c"
35568
0
    break;
35569
35570
40
  case 1094:
35571
40
#line 7823 "gram.y"
35572
40
    {
35573
40
          GrantRoleStmt *n = makeNode(GrantRoleStmt);
35574
0
          n->is_grant = false;
35575
40
          n->admin_opt = false;
35576
40
          n->granted_roles = (yyvsp[-4].list);
35577
40
          n->grantee_roles = (yyvsp[-2].list);
35578
40
          n->behavior = (yyvsp[0].dbehavior);
35579
40
          (yyval.node) = (Node*)n;
35580
40
        }
35581
0
#line 35582 "gram.c"
35582
0
    break;
35583
35584
8
  case 1095:
35585
8
#line 7833 "gram.y"
35586
8
    {
35587
8
          GrantRoleStmt *n = makeNode(GrantRoleStmt);
35588
0
          n->is_grant = false;
35589
8
          n->admin_opt = true;
35590
8
          n->granted_roles = (yyvsp[-4].list);
35591
8
          n->grantee_roles = (yyvsp[-2].list);
35592
8
          n->behavior = (yyvsp[0].dbehavior);
35593
8
          (yyval.node) = (Node*)n;
35594
8
        }
35595
0
#line 35596 "gram.c"
35596
0
    break;
35597
35598
8
  case 1096:
35599
8
#line 7844 "gram.y"
35600
8
    { (yyval.boolean) = true; }
35601
8
#line 35602 "gram.c"
35602
8
    break;
35603
35604
142
  case 1097:
35605
142
#line 7845 "gram.y"
35606
142
    { (yyval.boolean) = false; }
35607
142
#line 35608 "gram.c"
35608
142
    break;
35609
35610
0
  case 1098:
35611
0
#line 7848 "gram.y"
35612
0
    { (yyval.rolespec) = (yyvsp[0].rolespec); }
35613
0
#line 35614 "gram.c"
35614
0
    break;
35615
35616
198
  case 1099:
35617
198
#line 7849 "gram.y"
35618
198
    { (yyval.rolespec) = NULL; }
35619
198
#line 35620 "gram.c"
35620
198
    break;
35621
35622
100
  case 1100:
35623
100
#line 7860 "gram.y"
35624
100
    {
35625
100
          AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
35626
0
          n->options = (yyvsp[-1].list);
35627
100
          n->action = (GrantStmt *) (yyvsp[0].node);
35628
100
          (yyval.node) = (Node*)n;
35629
100
        }
35630
0
#line 35631 "gram.c"
35631
0
    break;
35632
35633
68
  case 1101:
35634
68
#line 7869 "gram.y"
35635
68
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35636
68
#line 35637 "gram.c"
35637
68
    break;
35638
35639
100
  case 1102:
35640
100
#line 7870 "gram.y"
35641
100
    { (yyval.list) = NIL; }
35642
100
#line 35643 "gram.c"
35643
100
    break;
35644
35645
56
  case 1103:
35646
56
#line 7875 "gram.y"
35647
56
    {
35648
56
          (yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
35649
56
        }
35650
56
#line 35651 "gram.c"
35651
56
    break;
35652
35653
12
  case 1104:
35654
12
#line 7879 "gram.y"
35655
12
    {
35656
12
          (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
35657
12
        }
35658
12
#line 35659 "gram.c"
35659
12
    break;
35660
35661
0
  case 1105:
35662
0
#line 7883 "gram.y"
35663
0
    {
35664
0
          (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
35665
0
        }
35666
0
#line 35667 "gram.c"
35667
0
    break;
35668
35669
56
  case 1106:
35670
56
#line 7895 "gram.y"
35671
56
    {
35672
56
          GrantStmt *n = makeNode(GrantStmt);
35673
0
          n->is_grant = true;
35674
56
          n->privileges = (yyvsp[-5].list);
35675
56
          n->targtype = ACL_TARGET_DEFAULTS;
35676
56
          n->objtype = (yyvsp[-3].ival);
35677
56
          n->objects = NIL;
35678
56
          n->grantees = (yyvsp[-1].list);
35679
56
          n->grant_option = (yyvsp[0].boolean);
35680
56
          (yyval.node) = (Node*)n;
35681
56
        }
35682
0
#line 35683 "gram.c"
35683
0
    break;
35684
35685
44
  case 1107:
35686
44
#line 7908 "gram.y"
35687
44
    {
35688
44
          GrantStmt *n = makeNode(GrantStmt);
35689
0
          n->is_grant = false;
35690
44
          n->grant_option = false;
35691
44
          n->privileges = (yyvsp[-5].list);
35692
44
          n->targtype = ACL_TARGET_DEFAULTS;
35693
44
          n->objtype = (yyvsp[-3].ival);
35694
44
          n->objects = NIL;
35695
44
          n->grantees = (yyvsp[-1].list);
35696
44
          n->behavior = (yyvsp[0].dbehavior);
35697
44
          (yyval.node) = (Node *)n;
35698
44
        }
35699
0
#line 35700 "gram.c"
35700
0
    break;
35701
35702
0
  case 1108:
35703
0
#line 7922 "gram.y"
35704
0
    {
35705
0
          GrantStmt *n = makeNode(GrantStmt);
35706
0
          n->is_grant = false;
35707
0
          n->grant_option = true;
35708
0
          n->privileges = (yyvsp[-5].list);
35709
0
          n->targtype = ACL_TARGET_DEFAULTS;
35710
0
          n->objtype = (yyvsp[-3].ival);
35711
0
          n->objects = NIL;
35712
0
          n->grantees = (yyvsp[-1].list);
35713
0
          n->behavior = (yyvsp[0].dbehavior);
35714
0
          (yyval.node) = (Node *)n;
35715
0
        }
35716
0
#line 35717 "gram.c"
35717
0
    break;
35718
35719
40
  case 1109:
35720
40
#line 7937 "gram.y"
35721
40
    { (yyval.ival) = OBJECT_TABLE; }
35722
40
#line 35723 "gram.c"
35723
40
    break;
35724
35725
20
  case 1110:
35726
20
#line 7938 "gram.y"
35727
20
    { (yyval.ival) = OBJECT_FUNCTION; }
35728
20
#line 35729 "gram.c"
35729
20
    break;
35730
35731
4
  case 1111:
35732
4
#line 7939 "gram.y"
35733
4
    { (yyval.ival) = OBJECT_FUNCTION; }
35734
4
#line 35735 "gram.c"
35735
4
    break;
35736
35737
0
  case 1112:
35738
0
#line 7940 "gram.y"
35739
0
    { (yyval.ival) = OBJECT_SEQUENCE; }
35740
0
#line 35741 "gram.c"
35741
0
    break;
35742
35743
8
  case 1113:
35744
8
#line 7941 "gram.y"
35745
8
    { (yyval.ival) = OBJECT_YBTABLEGROUP; }
35746
8
#line 35747 "gram.c"
35747
8
    break;
35748
35749
8
  case 1114:
35750
8
#line 7942 "gram.y"
35751
8
    { (yyval.ival) = OBJECT_TYPE; }
35752
8
#line 35753 "gram.c"
35753
8
    break;
35754
35755
20
  case 1115:
35756
20
#line 7943 "gram.y"
35757
20
    { (yyval.ival) = OBJECT_SCHEMA; }
35758
20
#line 35759 "gram.c"
35759
20
    break;
35760
35761
2.70k
  case 1116:
35762
2.70k
#line 7958 "gram.y"
35763
2.70k
    {
35764
2.70k
          IndexStmt *n = makeNode(IndexStmt);
35765
0
          n->unique = (yyvsp[-15].boolean);
35766
2.70k
          n->concurrent = (yyvsp[-13].boolean);
35767
2.70k
          n->idxname = (yyvsp[-12].str);
35768
2.70k
          n->relation = (yyvsp[-10].range);
35769
2.70k
          n->relationId = InvalidOid;
35770
2.70k
          n->accessMethod = (yyvsp[-9].str);
35771
2.70k
          n->indexParams = (yyvsp[-7].list);
35772
2.70k
          n->indexIncludingParams = (yyvsp[-5].list);
35773
2.70k
          n->options = (yyvsp[-4].list);
35774
2.70k
          n->tableSpace = (yyvsp[-3].str);
35775
2.70k
          n->split_options = (yyvsp[-2].splitopt);
35776
2.70k
          n->tablegroup = (yyvsp[-1].grpopt);
35777
2.70k
          n->whereClause = (yyvsp[0].node);
35778
2.70k
          n->excludeOpNames = NIL;
35779
2.70k
          n->idxcomment = NULL;
35780
2.70k
          n->indexOid = InvalidOid;
35781
2.70k
          n->oldNode = InvalidOid;
35782
2.70k
          n->primary = false;
35783
2.70k
          n->isconstraint = false;
35784
2.70k
          n->deferrable = false;
35785
2.70k
          n->initdeferred = false;
35786
2.70k
          n->transformed = false;
35787
2.70k
          n->if_not_exists = false;
35788
2.70k
          (yyval.node) = (Node *)n;
35789
2.70k
        }
35790
0
#line 35791 "gram.c"
35791
0
    break;
35792
35793
57
  case 1117:
35794
57
#line 7988 "gram.y"
35795
57
    {
35796
57
          IndexStmt *n = makeNode(IndexStmt);
35797
0
          n->unique = (yyvsp[-18].boolean);
35798
57
          n->concurrent = (yyvsp[-16].boolean);
35799
57
          n->idxname = (yyvsp[-12].str);
35800
57
          n->relation = (yyvsp[-10].range);
35801
57
          n->relationId = InvalidOid;
35802
57
          n->accessMethod = (yyvsp[-9].str);
35803
57
          n->indexParams = (yyvsp[-7].list);
35804
57
          n->indexIncludingParams = (yyvsp[-5].list);
35805
57
          n->options = (yyvsp[-4].list);
35806
57
          n->tableSpace = (yyvsp[-3].str);
35807
57
          n->split_options = (yyvsp[-2].splitopt);
35808
57
          n->tablegroup = (yyvsp[-1].grpopt);
35809
57
          n->whereClause = (yyvsp[0].node);
35810
57
          n->excludeOpNames = NIL;
35811
57
          n->idxcomment = NULL;
35812
57
          n->indexOid = InvalidOid;
35813
57
          n->oldNode = InvalidOid;
35814
57
          n->primary = false;
35815
57
          n->isconstraint = false;
35816
57
          n->deferrable = false;
35817
57
          n->initdeferred = false;
35818
57
          n->transformed = false;
35819
57
          n->if_not_exists = true;
35820
57
          (yyval.node) = (Node *)n;
35821
57
        }
35822
0
#line 35823 "gram.c"
35823
0
    break;
35824
35825
582
  case 1118:
35826
582
#line 8018 "gram.y"
35827
582
    { (yyval.boolean) = true; }
35828
582
#line 35829 "gram.c"
35829
582
    break;
35830
35831
2.19k
  case 1119:
35832
2.19k
#line 8019 "gram.y"
35833
2.19k
    { (yyval.boolean) = false; }
35834
2.19k
#line 35835 "gram.c"
35835
2.19k
    break;
35836
35837
4
  case 1120:
35838
4
#line 8024 "gram.y"
35839
4
    {
35840
4
          parser_ybc_not_support((yylsp[0]), "CREATE INDEX CONCURRENTLY");
35841
4
          (yyval.boolean) = true;
35842
4
        }
35843
4
#line 35844 "gram.c"
35844
4
    break;
35845
35846
67
  case 1121:
35847
67
#line 8029 "gram.y"
35848
67
    {
35849
67
          (yyval.boolean) = false;
35850
67
        }
35851
67
#line 35852 "gram.c"
35852
67
    break;
35853
35854
2.70k
  case 1122:
35855
2.70k
#line 8033 "gram.y"
35856
2.70k
    {
35857
2.70k
          (yyval.boolean) = !*YBCGetGFlags()->ysql_disable_index_backfill;
35858
2.70k
        }
35859
2.70k
#line 35860 "gram.c"
35860
2.70k
    break;
35861
35862
1.87k
  case 1123:
35863
1.87k
#line 8039 "gram.y"
35864
1.87k
    { (yyval.str) = (yyvsp[0].str); }
35865
1.87k
#line 35866 "gram.c"
35866
1.87k
    break;
35867
35868
840
  case 1124:
35869
840
#line 8040 "gram.y"
35870
840
    { (yyval.str) = NULL; }
35871
840
#line 35872 "gram.c"
35872
840
    break;
35873
35874
577
  case 1125:
35875
577
#line 8044 "gram.y"
35876
577
    { (yyval.str) = (yyvsp[0].str); }
35877
577
#line 35878 "gram.c"
35878
577
    break;
35879
35880
2.19k
  case 1126:
35881
2.19k
#line 8045 "gram.y"
35882
2.19k
    { (yyval.str) = IsYugaByteEnabled() ?
35883
2.19k
                               NULL : 
DEFAULT_INDEX_TYPE0
; }
35884
2.19k
#line 35885 "gram.c"
35885
2.19k
    break;
35886
35887
38.1k
  case 1127:
35888
38.1k
#line 8050 "gram.y"
35889
38.1k
    {
35890
38.1k
          (yyval.list) = list_make1((yyvsp[0].ielem));
35891
38.1k
        }
35892
38.1k
#line 35893 "gram.c"
35893
38.1k
    break;
35894
35895
180
  case 1128:
35896
180
#line 8054 "gram.y"
35897
180
    {
35898
180
          (yyval.list) = (yyvsp[0].list);
35899
180
        }
35900
180
#line 35901 "gram.c"
35901
180
    break;
35902
35903
2.17k
  case 1129:
35904
2.17k
#line 8058 "gram.y"
35905
2.17k
    {
35906
2.17k
          if ((yyvsp[0].ielem)->ordering == SORTBY_HASH)
35907
4
          {
35908
4
            IndexElem *last_elem = (IndexElem *)llast((yyvsp[-2].list));
35909
4
            if (last_elem->ordering == SORTBY_HASH)
35910
4
              ereport(ERROR,
35911
2
                  (errcode(ERRCODE_WRONG_OBJECT_TYPE),
35912
2
                   errmsg("multiple hash columns must be defined as a "
35913
2
                      "single hash column group"),
35914
2
                   parser_errposition((yylsp[0]))));
35915
2
            else
35916
4
              ereport(ERROR,
35917
4
                  (errcode(ERRCODE_WRONG_OBJECT_TYPE),
35918
4
                   errmsg("hash column not allowed after an ASC/DESC column"),
35919
4
                   parser_errposition((yylsp[0]))));
35920
4
          }
35921
2.17k
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem));
35922
2.17k
        }
35923
0
#line 35924 "gram.c"
35924
0
    break;
35925
35926
4
  case 1130:
35927
4
#line 8077 "gram.y"
35928
4
    {
35929
4
            ereport(ERROR,
35930
4
                (errcode(ERRCODE_WRONG_OBJECT_TYPE),
35931
4
                 errmsg("hash column not allowed after an ASC/DESC column"),
35932
4
                 parser_errposition((yylsp[0]))));
35933
4
        }
35934
4
#line 35935 "gram.c"
35935
4
    break;
35936
35937
40.2k
  case 1131:
35938
40.2k
#line 8091 "gram.y"
35939
40.2k
    {
35940
40.2k
          (yyval.ielem) = makeNode(IndexElem);
35941
0
          (yyval.ielem)->name = (yyvsp[-4].str);
35942
40.2k
          (yyval.ielem)->expr = NULL;
35943
40.2k
          (yyval.ielem)->indexcolname = NULL;
35944
40.2k
          (yyval.ielem)->collation = (yyvsp[-3].list);
35945
40.2k
          (yyval.ielem)->opclass = (yyvsp[-2].list);
35946
40.2k
          (yyval.ielem)->ordering = (yyvsp[-1].ival);
35947
40.2k
          (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35948
40.2k
        }
35949
0
#line 35950 "gram.c"
35950
0
    break;
35951
35952
181
  case 1132:
35953
181
#line 8102 "gram.y"
35954
181
    {
35955
181
          (yyval.ielem) = makeNode(IndexElem);
35956
0
          (yyval.ielem)->name = NULL;
35957
181
          (yyval.ielem)->expr = (yyvsp[-4].node);
35958
181
          (yyval.ielem)->indexcolname = NULL;
35959
181
          (yyval.ielem)->collation = (yyvsp[-3].list);
35960
181
          (yyval.ielem)->opclass = (yyvsp[-2].list);
35961
181
          (yyval.ielem)->ordering = (yyvsp[-1].ival);
35962
181
          (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35963
181
        }
35964
0
#line 35965 "gram.c"
35965
0
    break;
35966
35967
128
  case 1133:
35968
128
#line 8113 "gram.y"
35969
128
    {
35970
128
          (yyval.ielem) = makeNode(IndexElem);
35971
0
          Node *node = (yyvsp[-5].node);
35972
128
          if (node->type == T_ColumnRef) {
35973
44
              (yyval.ielem)->name = strVal(linitial(((ColumnRef *)node)->fields));
35974
44
              (yyval.ielem)->expr = NULL;
35975
84
          } else {
35976
84
              (yyval.ielem)->name = NULL;
35977
84
              (yyval.ielem)->expr = node;
35978
84
          }
35979
128
          (yyval.ielem)->indexcolname = NULL;
35980
128
          (yyval.ielem)->collation = (yyvsp[-3].list);
35981
128
          (yyval.ielem)->opclass = (yyvsp[-2].list);
35982
128
          (yyval.ielem)->ordering = (yyvsp[-1].ival);
35983
128
          (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35984
128
        }
35985
0
#line 35986 "gram.c"
35986
0
    break;
35987
35988
174
  case 1134:
35989
174
#line 8134 "gram.y"
35990
174
    { (yyval.ival) = (yyvsp[0].ival); }
35991
174
#line 35992 "gram.c"
35992
174
    break;
35993
35994
10
  case 1135:
35995
10
#line 8135 "gram.y"
35996
10
    { (yyval.ival) = SORTBY_HASH; }
35997
10
#line 35998 "gram.c"
35998
10
    break;
35999
36000
184
  case 1136:
36001
184
#line 8139 "gram.y"
36002
184
    {
36003
184
          (yyval.list) = NULL;
36004
184
          ListCell *lc;
36005
184
          foreach (lc, (yyvsp[-2].list))
36006
392
          {
36007
392
              IndexElem *index_elem = makeNode(IndexElem);
36008
392
              Node *node = lfirst(lc);
36009
392
              if (node->type == T_ColumnRef) {
36010
376
                  index_elem->name = strVal(linitial(((ColumnRef *)node)->fields));
36011
376
                  index_elem->expr = NULL;
36012
376
              } else {
36013
16
                  index_elem->name = NULL;
36014
16
                  index_elem->expr = copyObject(node);
36015
16
              }
36016
392
              index_elem->indexcolname = NULL;
36017
392
              index_elem->collation = NIL;
36018
392
              index_elem->opclass = NIL;
36019
392
              index_elem->ordering = (yyvsp[0].ival);
36020
392
              index_elem->nulls_ordering = SORTBY_NULLS_DEFAULT;
36021
392
              (yyval.list) = lappend((yyval.list), index_elem);
36022
392
          }
36023
184
        }
36024
184
#line 36025 "gram.c"
36025
184
    break;
36026
36027
136
  case 1137:
36028
136
#line 8163 "gram.y"
36029
136
    { (yyval.list) = (yyvsp[-1].list); }
36030
136
#line 36031 "gram.c"
36031
136
    break;
36032
36033
2.62k
  case 1138:
36034
2.62k
#line 8164 "gram.y"
36035
2.62k
    { (yyval.list) = NIL; }
36036
2.62k
#line 36037 "gram.c"
36037
2.62k
    break;
36038
36039
136
  case 1139:
36040
136
#line 8167 "gram.y"
36041
136
    { (yyval.list) = list_make1((yyvsp[0].ielem)); }
36042
136
#line 36043 "gram.c"
36043
136
    break;
36044
36045
76
  case 1140:
36046
76
#line 8168 "gram.y"
36047
76
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
36048
76
#line 36049 "gram.c"
36049
76
    break;
36050
36051
89
  case 1141:
36052
89
#line 8171 "gram.y"
36053
89
    {
36054
89
          if (!YBIsCollationEnabled())
36055
0
            parser_ybc_not_support((yylsp[-1]), "CREATE INDEX COLLATE");
36056
89
                                                      (yyval.list) = (yyvsp[0].list); }
36057
89
#line 36058 "gram.c"
36058
89
    break;
36059
36060
41.4k
  case 1142:
36061
41.4k
#line 8175 "gram.y"
36062
41.4k
    { (yyval.list) = NIL; }
36063
41.4k
#line 36064 "gram.c"
36064
41.4k
    break;
36065
36066
268
  case 1143:
36067
268
#line 8178 "gram.y"
36068
268
    { (yyval.list) = (yyvsp[0].list); }
36069
268
#line 36070 "gram.c"
36070
268
    break;
36071
36072
41.2k
  case 1144:
36073
41.2k
#line 8179 "gram.y"
36074
41.2k
    { (yyval.list) = NIL; }
36075
41.2k
#line 36076 "gram.c"
36076
41.2k
    break;
36077
36078
4.00k
  case 1145:
36079
4.00k
#line 8182 "gram.y"
36080
4.00k
    { (yyval.ival) = SORTBY_ASC; }
36081
4.00k
#line 36082 "gram.c"
36082
4.00k
    break;
36083
36084
2.67k
  case 1146:
36085
2.67k
#line 8183 "gram.y"
36086
2.67k
    { (yyval.ival) = SORTBY_DESC; }
36087
2.67k
#line 36088 "gram.c"
36088
2.67k
    break;
36089
36090
84.6k
  case 1147:
36091
84.6k
#line 8184 "gram.y"
36092
84.6k
    { (yyval.ival) = SORTBY_DEFAULT; }
36093
84.6k
#line 36094 "gram.c"
36094
84.6k
    break;
36095
36096
530
  case 1148:
36097
530
#line 8190 "gram.y"
36098
530
    { (yyval.ival) = SORTBY_HASH; }
36099
530
#line 36100 "gram.c"
36100
530
    break;
36101
36102
40.1k
  case 1149:
36103
40.1k
#line 8193 "gram.y"
36104
40.1k
    { (yyval.ival) = (yyvsp[0].ival); }
36105
40.1k
#line 36106 "gram.c"
36106
40.1k
    break;
36107
36108
356
  case 1150:
36109
356
#line 8194 "gram.y"
36110
356
    { (yyval.ival) = (yyvsp[0].ival); }
36111
356
#line 36112 "gram.c"
36112
356
    break;
36113
36114
148
  case 1151:
36115
148
#line 8197 "gram.y"
36116
148
    { (yyval.ival) = SORTBY_NULLS_FIRST; }
36117
148
#line 36118 "gram.c"
36118
148
    break;
36119
36120
1.63k
  case 1152:
36121
1.63k
#line 8198 "gram.y"
36122
1.63k
    { (yyval.ival) = SORTBY_NULLS_LAST; }
36123
1.63k
#line 36124 "gram.c"
36124
1.63k
    break;
36125
36126
90.0k
  case 1153:
36127
90.0k
#line 8199 "gram.y"
36128
90.0k
    { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
36129
90.0k
#line 36130 "gram.c"
36130
90.0k
    break;
36131
36132
9.08k
  case 1154:
36133
9.08k
#line 8205 "gram.y"
36134
9.08k
    {
36135
9.08k
          BackfillIndexStmt *n = makeNode(BackfillIndexStmt);
36136
0
          n->oid_list = (yyvsp[-5].list);
36137
36138
9.08k
          n->bfinfo = makeNode(YbBackfillInfo);
36139
0
          n->bfinfo->bfinstr = (yyvsp[-4].str);
36140
9.08k
          {
36141
9.08k
            char *nptr = (yyvsp[-1].str);
36142
9.08k
            char *end;
36143
9.08k
            errno = 0;
36144
9.08k
            n->bfinfo->read_time = pg_strtouint64(nptr, &end, 10);
36145
9.08k
            if (!(*nptr != '\0' && *end == '\0')
36146
9.08k
                || errno == ERANGE)
36147
9.08k
              ereport(ERROR,
36148
9.08k
                  (errcode(ERRCODE_SYNTAX_ERROR),
36149
9.08k
                   errmsg("read time must be uint64"),
36150
9.08k
                   parser_errposition((yylsp[-2]))));
36151
9.08k
            if (!n->bfinfo->read_time)
36152
9.08k
              ereport(ERROR,
36153
9.08k
                  (errcode(ERRCODE_SYNTAX_ERROR),
36154
9.08k
                   errmsg("read time must be larger than 0"),
36155
9.08k
                   parser_errposition((yylsp[-2]))));
36156
9.08k
          }
36157
9.08k
          n->bfinfo->row_bounds = (yyvsp[0].rowbounds);
36158
9.08k
          (yyval.node) = (Node *)n;
36159
9.08k
        }
36160
0
#line 36161 "gram.c"
36161
0
    break;
36162
36163
0
  case 1155:
36164
0
#line 8234 "gram.y"
36165
0
    { (yyval.str) = NULL; }
36166
0
#line 36167 "gram.c"
36167
0
    break;
36168
36169
9.08k
  case 1156:
36170
9.08k
#line 8236 "gram.y"
36171
9.08k
    { (yyval.str) = (yyvsp[0].str) + 1; }
36172
9.08k
#line 36173 "gram.c"
36173
9.08k
    break;
36174
36175
9.08k
  case 1157:
36176
9.08k
#line 8239 "gram.y"
36177
9.08k
    {
36178
9.08k
          (yyval.list) = list_make1_oid((yyvsp[0].ival));
36179
9.08k
        }
36180
9.08k
#line 36181 "gram.c"
36181
9.08k
    break;
36182
36183
0
  case 1158:
36184
0
#line 8243 "gram.y"
36185
0
    {
36186
0
          (yyval.list) = lappend_oid((yyvsp[-2].list), (yyvsp[0].ival));
36187
0
        }
36188
0
#line 36189 "gram.c"
36189
0
    break;
36190
36191
9.08k
  case 1159:
36192
9.08k
#line 8249 "gram.y"
36193
9.08k
    {
36194
9.08k
          A_Const *con = (A_Const *)(yyvsp[0].node);
36195
9.08k
          if (con->val.type == T_Integer)
36196
0
            (yyval.str) = psprintf("%d", con->val.val.ival);
36197
9.08k
          else
36198
9.08k
            (yyval.str) = con->val.val.str;
36199
9.08k
        }
36200
9.08k
#line 36201 "gram.c"
36201
9.08k
    break;
36202
36203
9.08k
  case 1160:
36204
9.08k
#line 8259 "gram.y"
36205
9.08k
    {
36206
9.08k
          (yyval.rowbounds) = makeNode(RowBounds);
36207
          /* Strip the leading 'x' */
36208
0
          (yyval.rowbounds)->partition_key = (yyvsp[0].str) + 1;
36209
9.08k
          (yyval.rowbounds)->row_key_start = NULL;
36210
9.08k
          (yyval.rowbounds)->row_key_end = NULL;
36211
9.08k
        }
36212
0
#line 36213 "gram.c"
36213
0
    break;
36214
36215
0
  case 1161:
36216
0
#line 8267 "gram.y"
36217
0
    {
36218
0
          (yyval.rowbounds) = makeNode(RowBounds);
36219
          /* Strip the leading 'x' */
36220
0
          (yyval.rowbounds)->partition_key = (yyvsp[-2].str) + 1;
36221
0
          (yyval.rowbounds)->row_key_start = (yyvsp[0].str) + 1;
36222
0
          (yyval.rowbounds)->row_key_end = NULL;
36223
0
        }
36224
0
#line 36225 "gram.c"
36225
0
    break;
36226
36227
0
  case 1162:
36228
0
#line 8275 "gram.y"
36229
0
    {
36230
0
          (yyval.rowbounds) = makeNode(RowBounds);
36231
          /* Strip the leading 'x' */
36232
0
          (yyval.rowbounds)->partition_key = (yyvsp[-4].str) + 1;
36233
0
          (yyval.rowbounds)->row_key_start = (yyvsp[-2].str) + 1;
36234
0
          (yyval.rowbounds)->row_key_end = (yyvsp[0].str) + 1;
36235
0
        }
36236
0
#line 36237 "gram.c"
36237
0
    break;
36238
36239
9.08k
  case 1163:
36240
9.08k
#line 8285 "gram.y"
36241
9.08k
    { (yyval.str) = (yyvsp[0].str); }
36242
9.08k
#line 36243 "gram.c"
36243
9.08k
    break;
36244
36245
0
  case 1164:
36246
0
#line 8288 "gram.y"
36247
0
    { (yyval.str) = (yyvsp[0].str); }
36248
0
#line 36249 "gram.c"
36249
0
    break;
36250
36251
0
  case 1165:
36252
0
#line 8291 "gram.y"
36253
0
    { (yyval.str) = (yyvsp[0].str); }
36254
0
#line 36255 "gram.c"
36255
0
    break;
36256
36257
0
  case 1166:
36258
0
#line 8293 "gram.y"
36259
0
    { (yyval.str) = (yyvsp[0].str); }
36260
0
#line 36261 "gram.c"
36261
0
    break;
36262
36263
8.40k
  case 1167:
36264
8.40k
#line 8310 "gram.y"
36265
8.40k
    {
36266
8.40k
          CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
36267
0
          n->is_procedure = false;
36268
8.40k
          n->replace = (yyvsp[-6].boolean);
36269
8.40k
          n->funcname = (yyvsp[-4].list);
36270
8.40k
          n->parameters = (yyvsp[-3].list);
36271
8.40k
          n->returnType = (yyvsp[-1].typnam);
36272
8.40k
          n->options = (yyvsp[0].list);
36273
8.40k
          (yyval.node) = (Node *)n;
36274
8.40k
        }
36275
0
#line 36276 "gram.c"
36276
0
    break;
36277
36278
36
  case 1168:
36279
36
#line 8322 "gram.y"
36280
36
    {
36281
36
          CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
36282
0
          n->is_procedure = false;
36283
36
          n->replace = (yyvsp[-9].boolean);
36284
36
          n->funcname = (yyvsp[-7].list);
36285
36
          n->parameters = mergeTableFuncParameters((yyvsp[-6].list), (yyvsp[-2].list));
36286
36
          n->returnType = TableFuncTypeName((yyvsp[-2].list));
36287
36
          n->returnType->location = (yylsp[-4]);
36288
36
          n->options = (yyvsp[0].list);
36289
36
          (yyval.node) = (Node *)n;
36290
36
        }
36291
0
#line 36292 "gram.c"
36292
0
    break;
36293
36294
48
  case 1169:
36295
48
#line 8335 "gram.y"
36296
48
    {
36297
48
          CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
36298
0
          n->is_procedure = false;
36299
48
          n->replace = (yyvsp[-4].boolean);
36300
48
          n->funcname = (yyvsp[-2].list);
36301
48
          n->parameters = (yyvsp[-1].list);
36302
48
          n->returnType = NULL;
36303
48
          n->options = (yyvsp[0].list);
36304
48
          (yyval.node) = (Node *)n;
36305
48
        }
36306
0
#line 36307 "gram.c"
36307
0
    break;
36308
36309
100
  case 1170:
36310
100
#line 8347 "gram.y"
36311
100
    {
36312
100
          CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
36313
0
          n->is_procedure = true;
36314
100
          n->replace = (yyvsp[-4].boolean);
36315
100
          n->funcname = (yyvsp[-2].list);
36316
100
          n->parameters = (yyvsp[-1].list);
36317
100
          n->returnType = NULL;
36318
100
          n->options = (yyvsp[0].list);
36319
100
          (yyval.node) = (Node *)n;
36320
100
        }
36321
0
#line 36322 "gram.c"
36322
0
    break;
36323
36324
1.87k
  case 1171:
36325
1.87k
#line 8360 "gram.y"
36326
1.87k
    { (yyval.boolean) = true; }
36327
1.87k
#line 36328 "gram.c"
36328
1.87k
    break;
36329
36330
6.99k
  case 1172:
36331
6.99k
#line 8361 "gram.y"
36332
6.99k
    { (yyval.boolean) = false; }
36333
6.99k
#line 36334 "gram.c"
36334
6.99k
    break;
36335
36336
1.63k
  case 1173:
36337
1.63k
#line 8364 "gram.y"
36338
1.63k
    { (yyval.list) = (yyvsp[-1].list); }
36339
1.63k
#line 36340 "gram.c"
36340
1.63k
    break;
36341
36342
1.14k
  case 1174:
36343
1.14k
#line 8365 "gram.y"
36344
1.14k
    { (yyval.list) = NIL; }
36345
1.14k
#line 36346 "gram.c"
36346
1.14k
    break;
36347
36348
1.63k
  case 1175:
36349
1.63k
#line 8369 "gram.y"
36350
1.63k
    { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36351
1.63k
#line 36352 "gram.c"
36352
1.63k
    break;
36353
36354
1.03k
  case 1176:
36355
1.03k
#line 8370 "gram.y"
36356
1.03k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36357
1.03k
#line 36358 "gram.c"
36358
1.03k
    break;
36359
36360
1.83k
  case 1177:
36361
1.83k
#line 8374 "gram.y"
36362
1.83k
    { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
36363
1.83k
#line 36364 "gram.c"
36364
1.83k
    break;
36365
36366
40
  case 1178:
36367
40
#line 8376 "gram.y"
36368
40
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36369
40
#line 36370 "gram.c"
36370
40
    break;
36371
36372
2.77k
  case 1179:
36373
2.77k
#line 8381 "gram.y"
36374
2.77k
    {
36375
2.77k
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
36376
0
          n->objname = (yyvsp[-1].list);
36377
2.77k
          n->objargs = extractArgTypes((yyvsp[0].list));
36378
2.77k
          (yyval.objwithargs) = n;
36379
2.77k
        }
36380
0
#line 36381 "gram.c"
36381
0
    break;
36382
36383
0
  case 1180:
36384
0
#line 8393 "gram.y"
36385
0
    {
36386
0
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
36387
0
          n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
36388
0
          n->args_unspecified = true;
36389
0
          (yyval.objwithargs) = n;
36390
0
        }
36391
0
#line 36392 "gram.c"
36392
0
    break;
36393
36394
84
  case 1181:
36395
84
#line 8400 "gram.y"
36396
84
    {
36397
84
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
36398
84
          n->objname = list_make1(makeString((yyvsp[0].str)));
36399
84
          n->args_unspecified = true;
36400
84
          (yyval.objwithargs) = n;
36401
84
        }
36402
0
#line 36403 "gram.c"
36403
0
    break;
36404
36405
0
  case 1182:
36406
0
#line 8407 "gram.y"
36407
0
    {
36408
0
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
36409
0
          n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
36410
0
                          yyscanner);
36411
0
          n->args_unspecified = true;
36412
0
          (yyval.objwithargs) = n;
36413
0
        }
36414
0
#line 36415 "gram.c"
36415
0
    break;
36416
36417
5.60k
  case 1183:
36418
5.60k
#line 8421 "gram.y"
36419
5.60k
    { (yyval.list) = (yyvsp[-1].list); }
36420
5.60k
#line 36421 "gram.c"
36421
5.60k
    break;
36422
36423
2.98k
  case 1184:
36424
2.98k
#line 8422 "gram.y"
36425
2.98k
    { (yyval.list) = NIL; }
36426
2.98k
#line 36427 "gram.c"
36427
2.98k
    break;
36428
36429
5.60k
  case 1185:
36430
5.60k
#line 8426 "gram.y"
36431
5.60k
    { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36432
5.60k
#line 36433 "gram.c"
36433
5.60k
    break;
36434
36435
18.4k
  case 1186:
36436
18.4k
#line 8428 "gram.y"
36437
18.4k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36438
18.4k
#line 36439 "gram.c"
36439
18.4k
    break;
36440
36441
16.1k
  case 1187:
36442
16.1k
#line 8443 "gram.y"
36443
16.1k
    {
36444
16.1k
          FunctionParameter *n = makeNode(FunctionParameter);
36445
0
          n->name = (yyvsp[-1].str);
36446
16.1k
          n->argType = (yyvsp[0].typnam);
36447
16.1k
          n->mode = (yyvsp[-2].fun_param_mode);
36448
16.1k
          n->defexpr = NULL;
36449
16.1k
          (yyval.fun_param) = n;
36450
16.1k
        }
36451
0
#line 36452 "gram.c"
36452
0
    break;
36453
36454
26
  case 1188:
36455
26
#line 8452 "gram.y"
36456
26
    {
36457
26
          FunctionParameter *n = makeNode(FunctionParameter);
36458
0
          n->name = (yyvsp[-2].str);
36459
26
          n->argType = (yyvsp[0].typnam);
36460
26
          n->mode = (yyvsp[-1].fun_param_mode);
36461
26
          n->defexpr = NULL;
36462
26
          (yyval.fun_param) = n;
36463
26
        }
36464
0
#line 36465 "gram.c"
36465
0
    break;
36466
36467
3.16k
  case 1189:
36468
3.16k
#line 8461 "gram.y"
36469
3.16k
    {
36470
3.16k
          FunctionParameter *n = makeNode(FunctionParameter);
36471
0
          n->name = (yyvsp[-1].str);
36472
3.16k
          n->argType = (yyvsp[0].typnam);
36473
3.16k
          n->mode = FUNC_PARAM_IN;
36474
3.16k
          n->defexpr = NULL;
36475
3.16k
          (yyval.fun_param) = n;
36476
3.16k
        }
36477
0
#line 36478 "gram.c"
36478
0
    break;
36479
36480
70
  case 1190:
36481
70
#line 8470 "gram.y"
36482
70
    {
36483
70
          FunctionParameter *n = makeNode(FunctionParameter);
36484
0
          n->name = NULL;
36485
70
          n->argType = (yyvsp[0].typnam);
36486
70
          n->mode = (yyvsp[-1].fun_param_mode);
36487
70
          n->defexpr = NULL;
36488
70
          (yyval.fun_param) = n;
36489
70
        }
36490
0
#line 36491 "gram.c"
36491
0
    break;
36492
36493
7.46k
  case 1191:
36494
7.46k
#line 8479 "gram.y"
36495
7.46k
    {
36496
7.46k
          FunctionParameter *n = makeNode(FunctionParameter);
36497
0
          n->name = NULL;
36498
7.46k
          n->argType = (yyvsp[0].typnam);
36499
7.46k
          n->mode = FUNC_PARAM_IN;
36500
7.46k
          n->defexpr = NULL;
36501
7.46k
          (yyval.fun_param) = n;
36502
7.46k
        }
36503
0
#line 36504 "gram.c"
36504
0
    break;
36505
36506
486
  case 1192:
36507
486
#line 8490 "gram.y"
36508
486
    { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
36509
486
#line 36510 "gram.c"
36510
486
    break;
36511
36512
15.7k
  case 1193:
36513
15.7k
#line 8491 "gram.y"
36514
15.7k
    { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
36515
15.7k
#line 36516 "gram.c"
36516
15.7k
    break;
36517
36518
20
  case 1194:
36519
20
#line 8492 "gram.y"
36520
20
    { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
36521
20
#line 36522 "gram.c"
36522
20
    break;
36523
36524
0
  case 1195:
36525
0
#line 8493 "gram.y"
36526
0
    { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
36527
0
#line 36528 "gram.c"
36528
0
    break;
36529
36530
64
  case 1196:
36531
64
#line 8494 "gram.y"
36532
64
    { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
36533
64
#line 36534 "gram.c"
36534
64
    break;
36535
36536
8.40k
  case 1198:
36537
8.40k
#line 8505 "gram.y"
36538
8.40k
    {
36539
          /* We can catch over-specified results here if we want to,
36540
           * but for now better to silently swallow typmod, etc.
36541
           * - thomas 2000-03-22
36542
           */
36543
8.40k
          (yyval.typnam) = (yyvsp[0].typnam);
36544
8.40k
        }
36545
8.40k
#line 36546 "gram.c"
36546
8.40k
    break;
36547
36548
39.4k
  case 1199:
36549
39.4k
#line 8519 "gram.y"
36550
39.4k
    { (yyval.typnam) = (yyvsp[0].typnam); }
36551
39.4k
#line 36552 "gram.c"
36552
39.4k
    break;
36553
36554
12
  case 1200:
36555
12
#line 8521 "gram.y"
36556
12
    {
36557
12
          (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
36558
12
          (yyval.typnam)->pct_type = true;
36559
12
          (yyval.typnam)->location = (yylsp[-3]);
36560
12
        }
36561
12
#line 36562 "gram.c"
36562
12
    break;
36563
36564
4
  case 1201:
36565
4
#line 8527 "gram.y"
36566
4
    {
36567
4
          (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
36568
4
          (yyval.typnam)->pct_type = true;
36569
4
          (yyval.typnam)->setof = true;
36570
4
          (yyval.typnam)->location = (yylsp[-3]);
36571
4
        }
36572
4
#line 36573 "gram.c"
36573
4
    break;
36574
36575
23.7k
  case 1202:
36576
23.7k
#line 8537 "gram.y"
36577
23.7k
    {
36578
23.7k
          (yyval.fun_param) = (yyvsp[0].fun_param);
36579
23.7k
        }
36580
23.7k
#line 36581 "gram.c"
36581
23.7k
    break;
36582
36583
280
  case 1203:
36584
280
#line 8541 "gram.y"
36585
280
    {
36586
280
          (yyval.fun_param) = (yyvsp[-2].fun_param);
36587
280
          (yyval.fun_param)->defexpr = (yyvsp[0].node);
36588
280
        }
36589
280
#line 36590 "gram.c"
36590
280
    break;
36591
36592
4
  case 1204:
36593
4
#line 8546 "gram.y"
36594
4
    {
36595
4
          (yyval.fun_param) = (yyvsp[-2].fun_param);
36596
4
          (yyval.fun_param)->defexpr = (yyvsp[0].node);
36597
4
        }
36598
4
#line 36599 "gram.c"
36599
4
    break;
36600
36601
176
  case 1205:
36602
176
#line 8554 "gram.y"
36603
176
    {
36604
176
          if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
36605
176
              
(yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC16
))
36606
176
            ereport(ERROR,
36607
176
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
36608
176
                 errmsg("aggregates cannot have output arguments"),
36609
176
                 parser_errposition((yylsp[0]))));
36610
176
          (yyval.fun_param) = (yyvsp[0].fun_param);
36611
176
        }
36612
0
#line 36613 "gram.c"
36613
0
    break;
36614
36615
8
  case 1206:
36616
8
#line 8595 "gram.y"
36617
8
    {
36618
8
          (yyval.list) = list_make2(NIL, makeInteger(-1));
36619
8
        }
36620
8
#line 36621 "gram.c"
36621
8
    break;
36622
36623
174
  case 1207:
36624
174
#line 8599 "gram.y"
36625
174
    {
36626
174
          (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
36627
174
        }
36628
174
#line 36629 "gram.c"
36629
174
    break;
36630
36631
0
  case 1208:
36632
0
#line 8603 "gram.y"
36633
0
    {
36634
0
          (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
36635
0
        }
36636
0
#line 36637 "gram.c"
36637
0
    break;
36638
36639
0
  case 1209:
36640
0
#line 8607 "gram.y"
36641
0
    {
36642
          /* this is the only case requiring consistency checking */
36643
0
          (yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
36644
0
        }
36645
0
#line 36646 "gram.c"
36646
0
    break;
36647
36648
174
  case 1210:
36649
174
#line 8614 "gram.y"
36650
174
    { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36651
174
#line 36652 "gram.c"
36652
174
    break;
36653
36654
2
  case 1211:
36655
2
#line 8615 "gram.y"
36656
2
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36657
2
#line 36658 "gram.c"
36658
2
    break;
36659
36660
120
  case 1212:
36661
120
#line 8620 "gram.y"
36662
120
    {
36663
120
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
36664
0
          n->objname = (yyvsp[-1].list);
36665
120
          n->objargs = extractAggrArgTypes((yyvsp[0].list));
36666
120
          (yyval.objwithargs) = n;
36667
120
        }
36668
0
#line 36669 "gram.c"
36669
0
    break;
36670
36671
64
  case 1213:
36672
64
#line 8629 "gram.y"
36673
64
    { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
36674
64
#line 36675 "gram.c"
36675
64
    break;
36676
36677
0
  case 1214:
36678
0
#line 8631 "gram.y"
36679
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36680
0
#line 36681 "gram.c"
36681
0
    break;
36682
36683
8.59k
  case 1215:
36684
8.59k
#line 8636 "gram.y"
36685
8.59k
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36686
8.59k
#line 36687 "gram.c"
36687
8.59k
    break;
36688
36689
18.1k
  case 1216:
36690
18.1k
#line 8637 "gram.y"
36691
18.1k
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36692
18.1k
#line 36693 "gram.c"
36693
18.1k
    break;
36694
36695
18
  case 1217:
36696
18
#line 8645 "gram.y"
36697
18
    {
36698
18
          (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[-3]));
36699
18
        }
36700
18
#line 36701 "gram.c"
36701
18
    break;
36702
36703
58
  case 1218:
36704
58
#line 8649 "gram.y"
36705
58
    {
36706
58
          (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[-4]));
36707
58
        }
36708
58
#line 36709 "gram.c"
36709
58
    break;
36710
36711
2.84k
  case 1219:
36712
2.84k
#line 8653 "gram.y"
36713
2.84k
    {
36714
2.84k
          (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[0]));
36715
2.84k
        }
36716
2.84k
#line 36717 "gram.c"
36717
2.84k
    break;
36718
36719
2.26k
  case 1220:
36720
2.26k
#line 8657 "gram.y"
36721
2.26k
    {
36722
2.26k
          (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
36723
2.26k
        }
36724
2.26k
#line 36725 "gram.c"
36725
2.26k
    break;
36726
36727
165
  case 1221:
36728
165
#line 8661 "gram.y"
36729
165
    {
36730
165
          (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
36731
165
        }
36732
165
#line 36733 "gram.c"
36733
165
    break;
36734
36735
888
  case 1222:
36736
888
#line 8665 "gram.y"
36737
888
    {
36738
888
          (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
36739
888
        }
36740
888
#line 36741 "gram.c"
36741
888
    break;
36742
36743
0
  case 1223:
36744
0
#line 8669 "gram.y"
36745
0
    {
36746
0
          (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-2]));
36747
0
        }
36748
0
#line 36749 "gram.c"
36749
0
    break;
36750
36751
0
  case 1224:
36752
0
#line 8673 "gram.y"
36753
0
    {
36754
0
          (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-2]));
36755
0
        }
36756
0
#line 36757 "gram.c"
36757
0
    break;
36758
36759
32
  case 1225:
36760
32
#line 8677 "gram.y"
36761
32
    {
36762
32
          (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-1]));
36763
32
        }
36764
32
#line 36765 "gram.c"
36765
32
    break;
36766
36767
8
  case 1226:
36768
8
#line 8681 "gram.y"
36769
8
    {
36770
8
          (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-1]));
36771
8
        }
36772
8
#line 36773 "gram.c"
36773
8
    break;
36774
36775
16
  case 1227:
36776
16
#line 8685 "gram.y"
36777
16
    {
36778
16
          (yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[0]));
36779
16
        }
36780
16
#line 36781 "gram.c"
36781
16
    break;
36782
36783
8
  case 1228:
36784
8
#line 8689 "gram.y"
36785
8
    {
36786
8
          (yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[-1]));
36787
8
        }
36788
8
#line 36789 "gram.c"
36789
8
    break;
36790
36791
32
  case 1229:
36792
32
#line 8693 "gram.y"
36793
32
    {
36794
32
          (yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
36795
32
        }
36796
32
#line 36797 "gram.c"
36797
32
    break;
36798
36799
30
  case 1230:
36800
30
#line 8697 "gram.y"
36801
30
    {
36802
30
          (yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
36803
30
        }
36804
30
#line 36805 "gram.c"
36805
30
    break;
36806
36807
4
  case 1231:
36808
4
#line 8701 "gram.y"
36809
4
    {
36810
          /* we abuse the normal content of a DefElem here */
36811
4
          (yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt), (yylsp[0]));
36812
4
        }
36813
4
#line 36814 "gram.c"
36814
4
    break;
36815
36816
3.25k
  case 1232:
36817
3.25k
#line 8706 "gram.y"
36818
3.25k
    {
36819
3.25k
          (yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36820
3.25k
        }
36821
3.25k
#line 36822 "gram.c"
36822
3.25k
    break;
36823
36824
8.59k
  case 1233:
36825
8.59k
#line 8713 "gram.y"
36826
8.59k
    {
36827
8.59k
          (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
36828
8.59k
        }
36829
8.59k
#line 36830 "gram.c"
36830
8.59k
    break;
36831
36832
8.59k
  case 1234:
36833
8.59k
#line 8717 "gram.y"
36834
8.59k
    {
36835
8.59k
          (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36836
8.59k
        }
36837
8.59k
#line 36838 "gram.c"
36838
8.59k
    break;
36839
36840
0
  case 1235:
36841
0
#line 8721 "gram.y"
36842
0
    {
36843
0
          (yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
36844
0
        }
36845
0
#line 36846 "gram.c"
36846
0
    break;
36847
36848
8
  case 1236:
36849
8
#line 8725 "gram.y"
36850
8
    {
36851
8
          (yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[0]));
36852
8
        }
36853
8
#line 36854 "gram.c"
36854
8
    break;
36855
36856
9.56k
  case 1237:
36857
9.56k
#line 8729 "gram.y"
36858
9.56k
    {
36859
9.56k
          (yyval.defelt) = (yyvsp[0].defelt);
36860
9.56k
        }
36861
9.56k
#line 36862 "gram.c"
36862
9.56k
    break;
36863
36864
7.01k
  case 1238:
36865
7.01k
#line 8734 "gram.y"
36866
7.01k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
36867
7.01k
#line 36868 "gram.c"
36868
7.01k
    break;
36869
36870
1.57k
  case 1239:
36871
1.57k
#line 8736 "gram.y"
36872
1.57k
    {
36873
1.57k
          (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
36874
1.57k
        }
36875
1.57k
#line 36876 "gram.c"
36876
1.57k
    break;
36877
36878
0
  case 1240:
36879
0
#line 8742 "gram.y"
36880
0
    { (yyval.list) = list_make1((yyvsp[0].typnam)); }
36881
0
#line 36882 "gram.c"
36882
0
    break;
36883
36884
0
  case 1241:
36885
0
#line 8743 "gram.y"
36886
0
    { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
36887
0
#line 36888 "gram.c"
36888
0
    break;
36889
36890
216
  case 1242:
36891
216
#line 8747 "gram.y"
36892
216
    { (yyval.list) = (yyvsp[0].list); }
36893
216
#line 36894 "gram.c"
36894
216
    break;
36895
36896
8.42k
  case 1243:
36897
8.42k
#line 8748 "gram.y"
36898
8.42k
    { (yyval.list) = NIL; }
36899
8.42k
#line 36900 "gram.c"
36900
8.42k
    break;
36901
36902
84
  case 1244:
36903
84
#line 8752 "gram.y"
36904
84
    {
36905
84
          FunctionParameter *n = makeNode(FunctionParameter);
36906
0
          n->name = (yyvsp[-1].str);
36907
84
          n->argType = (yyvsp[0].typnam);
36908
84
          n->mode = FUNC_PARAM_TABLE;
36909
84
          n->defexpr = NULL;
36910
84
          (yyval.fun_param) = n;
36911
84
        }
36912
0
#line 36913 "gram.c"
36913
0
    break;
36914
36915
36
  case 1245:
36916
36
#line 8764 "gram.y"
36917
36
    {
36918
36
          (yyval.list) = list_make1((yyvsp[0].fun_param));
36919
36
        }
36920
36
#line 36921 "gram.c"
36921
36
    break;
36922
36923
48
  case 1246:
36924
48
#line 8768 "gram.y"
36925
48
    {
36926
48
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
36927
48
        }
36928
48
#line 36929 "gram.c"
36929
48
    break;
36930
36931
58
  case 1247:
36932
58
#line 8783 "gram.y"
36933
58
    {
36934
58
          AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36935
0
          n->objtype = OBJECT_FUNCTION;
36936
58
          n->func = (yyvsp[-2].objwithargs);
36937
58
          n->actions = (yyvsp[-1].list);
36938
58
          (yyval.node) = (Node *) n;
36939
58
        }
36940
0
#line 36941 "gram.c"
36941
0
    break;
36942
36943
0
  case 1248:
36944
0
#line 8791 "gram.y"
36945
0
    {
36946
0
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER PROCEDURE", 2717);
36947
0
          AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36948
0
          n->objtype = OBJECT_PROCEDURE;
36949
0
          n->func = (yyvsp[-2].objwithargs);
36950
0
          n->actions = (yyvsp[-1].list);
36951
0
          (yyval.node) = (Node *) n;
36952
0
        }
36953
0
#line 36954 "gram.c"
36954
0
    break;
36955
36956
0
  case 1249:
36957
0
#line 8800 "gram.y"
36958
0
    {
36959
0
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER ROUTINE", 2717);
36960
0
          AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36961
0
          n->objtype = OBJECT_ROUTINE;
36962
0
          n->func = (yyvsp[-2].objwithargs);
36963
0
          n->actions = (yyvsp[-1].list);
36964
0
          (yyval.node) = (Node *) n;
36965
0
        }
36966
0
#line 36967 "gram.c"
36967
0
    break;
36968
36969
58
  case 1250:
36970
58
#line 8812 "gram.y"
36971
58
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36972
58
#line 36973 "gram.c"
36973
58
    break;
36974
36975
0
  case 1251:
36976
0
#line 8813 "gram.y"
36977
0
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36978
0
#line 36979 "gram.c"
36979
0
    break;
36980
36981
963
  case 1254:
36982
963
#line 8837 "gram.y"
36983
963
    {
36984
963
          DropStmt *n = makeNode(DropStmt);
36985
0
          n->removeType = OBJECT_FUNCTION;
36986
963
          n->objects = (yyvsp[-1].list);
36987
963
          n->behavior = (yyvsp[0].dbehavior);
36988
963
          n->missing_ok = false;
36989
963
          n->concurrent = false;
36990
963
          (yyval.node) = (Node *)n;
36991
963
        }
36992
0
#line 36993 "gram.c"
36993
0
    break;
36994
36995
24
  case 1255:
36996
24
#line 8847 "gram.y"
36997
24
    {
36998
24
          DropStmt *n = makeNode(DropStmt);
36999
0
          n->removeType = OBJECT_FUNCTION;
37000
24
          n->objects = (yyvsp[-1].list);
37001
24
          n->behavior = (yyvsp[0].dbehavior);
37002
24
          n->missing_ok = true;
37003
24
          n->concurrent = false;
37004
24
          (yyval.node) = (Node *)n;
37005
24
        }
37006
0
#line 37007 "gram.c"
37007
0
    break;
37008
37009
64
  case 1256:
37010
64
#line 8857 "gram.y"
37011
64
    {
37012
64
          DropStmt *n = makeNode(DropStmt);
37013
0
          n->removeType = OBJECT_PROCEDURE;
37014
64
          n->objects = (yyvsp[-1].list);
37015
64
          n->behavior = (yyvsp[0].dbehavior);
37016
64
          n->missing_ok = false;
37017
64
          n->concurrent = false;
37018
64
          (yyval.node) = (Node *)n;
37019
64
        }
37020
0
#line 37021 "gram.c"
37021
0
    break;
37022
37023
0
  case 1257:
37024
0
#line 8867 "gram.y"
37025
0
    {
37026
0
          DropStmt *n = makeNode(DropStmt);
37027
0
          n->removeType = OBJECT_PROCEDURE;
37028
0
          n->objects = (yyvsp[-1].list);
37029
0
          n->behavior = (yyvsp[0].dbehavior);
37030
0
          n->missing_ok = true;
37031
0
          n->concurrent = false;
37032
0
          (yyval.node) = (Node *)n;
37033
0
        }
37034
0
#line 37035 "gram.c"
37035
0
    break;
37036
37037
0
  case 1258:
37038
0
#line 8877 "gram.y"
37039
0
    {
37040
0
          DropStmt *n = makeNode(DropStmt);
37041
0
          n->removeType = OBJECT_ROUTINE;
37042
0
          n->objects = (yyvsp[-1].list);
37043
0
          n->behavior = (yyvsp[0].dbehavior);
37044
0
          n->missing_ok = false;
37045
0
          n->concurrent = false;
37046
0
          (yyval.node) = (Node *)n;
37047
0
        }
37048
0
#line 37049 "gram.c"
37049
0
    break;
37050
37051
0
  case 1259:
37052
0
#line 8887 "gram.y"
37053
0
    {
37054
0
          DropStmt *n = makeNode(DropStmt);
37055
0
          n->removeType = OBJECT_ROUTINE;
37056
0
          n->objects = (yyvsp[-1].list);
37057
0
          n->behavior = (yyvsp[0].dbehavior);
37058
0
          n->missing_ok = true;
37059
0
          n->concurrent = false;
37060
0
          (yyval.node) = (Node *)n;
37061
0
        }
37062
0
#line 37063 "gram.c"
37063
0
    break;
37064
37065
44
  case 1260:
37066
44
#line 8900 "gram.y"
37067
44
    {
37068
44
          DropStmt *n = makeNode(DropStmt);
37069
0
          n->removeType = OBJECT_AGGREGATE;
37070
44
          n->objects = (yyvsp[-1].list);
37071
44
          n->behavior = (yyvsp[0].dbehavior);
37072
44
          n->missing_ok = false;
37073
44
          n->concurrent = false;
37074
44
          (yyval.node) = (Node *)n;
37075
44
        }
37076
0
#line 37077 "gram.c"
37077
0
    break;
37078
37079
20
  case 1261:
37080
20
#line 8910 "gram.y"
37081
20
    {
37082
20
          DropStmt *n = makeNode(DropStmt);
37083
0
          n->removeType = OBJECT_AGGREGATE;
37084
20
          n->objects = (yyvsp[-1].list);
37085
20
          n->behavior = (yyvsp[0].dbehavior);
37086
20
          n->missing_ok = true;
37087
20
          n->concurrent = false;
37088
20
          (yyval.node) = (Node *)n;
37089
20
        }
37090
0
#line 37091 "gram.c"
37091
0
    break;
37092
37093
56
  case 1262:
37094
56
#line 8923 "gram.y"
37095
56
    {
37096
56
          DropStmt *n = makeNode(DropStmt);
37097
0
          n->removeType = OBJECT_OPERATOR;
37098
56
          n->objects = (yyvsp[-1].list);
37099
56
          n->behavior = (yyvsp[0].dbehavior);
37100
56
          n->missing_ok = false;
37101
56
          n->concurrent = false;
37102
56
          (yyval.node) = (Node *)n;
37103
56
        }
37104
0
#line 37105 "gram.c"
37105
0
    break;
37106
37107
20
  case 1263:
37108
20
#line 8933 "gram.y"
37109
20
    {
37110
20
          DropStmt *n = makeNode(DropStmt);
37111
0
          n->removeType = OBJECT_OPERATOR;
37112
20
          n->objects = (yyvsp[-1].list);
37113
20
          n->behavior = (yyvsp[0].dbehavior);
37114
20
          n->missing_ok = true;
37115
20
          n->concurrent = false;
37116
20
          (yyval.node) = (Node *)n;
37117
20
        }
37118
0
#line 37119 "gram.c"
37119
0
    break;
37120
37121
4
  case 1264:
37122
4
#line 8946 "gram.y"
37123
4
    {
37124
4
           ereport(ERROR,
37125
4
               (errcode(ERRCODE_SYNTAX_ERROR),
37126
4
              errmsg("missing argument"),
37127
4
              errhint("Use NONE to denote the missing argument of a unary operator."),
37128
4
              parser_errposition((yylsp[0]))));
37129
4
        }
37130
4
#line 37131 "gram.c"
37131
4
    break;
37132
37133
595
  case 1265:
37134
595
#line 8954 "gram.y"
37135
595
    { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
37136
595
#line 37137 "gram.c"
37137
595
    break;
37138
37139
8
  case 1266:
37140
8
#line 8956 "gram.y"
37141
8
    { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
37142
8
#line 37143 "gram.c"
37143
8
    break;
37144
37145
4
  case 1267:
37146
4
#line 8958 "gram.y"
37147
4
    { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
37148
4
#line 37149 "gram.c"
37149
4
    break;
37150
37151
3.00k
  case 1268:
37152
3.00k
#line 8963 "gram.y"
37153
3.00k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
37154
3.00k
#line 37155 "gram.c"
37155
3.00k
    break;
37156
37157
1.90k
  case 1269:
37158
1.90k
#line 8965 "gram.y"
37159
1.90k
    { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
37160
1.90k
#line 37161 "gram.c"
37161
1.90k
    break;
37162
37163
76
  case 1270:
37164
76
#line 8969 "gram.y"
37165
76
    { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
37166
76
#line 37167 "gram.c"
37167
76
    break;
37168
37169
0
  case 1271:
37170
0
#line 8971 "gram.y"
37171
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
37172
0
#line 37173 "gram.c"
37173
0
    break;
37174
37175
607
  case 1272:
37176
607
#line 8976 "gram.y"
37177
607
    {
37178
607
          ObjectWithArgs *n = makeNode(ObjectWithArgs);
37179
0
          n->objname = (yyvsp[-1].list);
37180
607
          n->objargs = (yyvsp[0].list);
37181
607
          (yyval.objwithargs) = n;
37182
607
        }
37183
0
#line 37184 "gram.c"
37184
0
    break;
37185
37186
1.72k
  case 1273:
37187
1.72k
#line 8994 "gram.y"
37188
1.72k
    {
37189
1.72k
          DoStmt *n = makeNode(DoStmt);
37190
0
          n->args = (yyvsp[0].list);
37191
1.72k
          (yyval.node) = (Node *)n;
37192
1.72k
        }
37193
0
#line 37194 "gram.c"
37194
0
    break;
37195
37196
1.72k
  case 1274:
37197
1.72k
#line 9002 "gram.y"
37198
1.72k
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
37199
1.72k
#line 37200 "gram.c"
37200
1.72k
    break;
37201
37202
19
  case 1275:
37203
19
#line 9003 "gram.y"
37204
19
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
37205
19
#line 37206 "gram.c"
37206
19
    break;
37207
37208
1.72k
  case 1276:
37209
1.72k
#line 9008 "gram.y"
37210
1.72k
    {
37211
1.72k
          (yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
37212
1.72k
        }
37213
1.72k
#line 37214 "gram.c"
37214
1.72k
    break;
37215
37216
19
  case 1277:
37217
19
#line 9012 "gram.y"
37218
19
    {
37219
19
          (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
37220
19
        }
37221
19
#line 37222 "gram.c"
37222
19
    break;
37223
37224
30
  case 1278:
37225
30
#line 9025 "gram.y"
37226
30
    {
37227
30
          CreateCastStmt *n = makeNode(CreateCastStmt);
37228
0
          n->sourcetype = (yyvsp[-7].typnam);
37229
30
          n->targettype = (yyvsp[-5].typnam);
37230
30
          n->func = (yyvsp[-1].objwithargs);
37231
30
          n->context = (CoercionContext) (yyvsp[0].ival);
37232
30
          n->inout = false;
37233
30
          (yyval.node) = (Node *)n;
37234
30
        }
37235
0
#line 37236 "gram.c"
37236
0
    break;
37237
37238
45
  case 1279:
37239
45
#line 9036 "gram.y"
37240
45
    {
37241
45
          CreateCastStmt *n = makeNode(CreateCastStmt);
37242
0
          n->sourcetype = (yyvsp[-6].typnam);
37243
45
          n->targettype = (yyvsp[-4].typnam);
37244
45
          n->func = NULL;
37245
45
          n->context = (CoercionContext) (yyvsp[0].ival);
37246
45
          n->inout = false;
37247
45
          (yyval.node) = (Node *)n;
37248
45
        }
37249
0
#line 37250 "gram.c"
37250
0
    break;
37251
37252
76
  case 1280:
37253
76
#line 9047 "gram.y"
37254
76
    {
37255
76
          CreateCastStmt *n = makeNode(CreateCastStmt);
37256
0
          n->sourcetype = (yyvsp[-6].typnam);
37257
76
          n->targettype = (yyvsp[-4].typnam);
37258
76
          n->func = NULL;
37259
76
          n->context = (CoercionContext) (yyvsp[0].ival);
37260
76
          n->inout = true;
37261
76
          (yyval.node) = (Node *)n;
37262
76
        }
37263
0
#line 37264 "gram.c"
37264
0
    break;
37265
37266
108
  case 1281:
37267
108
#line 9058 "gram.y"
37268
108
    { (yyval.ival) = COERCION_IMPLICIT; }
37269
108
#line 37270 "gram.c"
37270
108
    break;
37271
37272
17
  case 1282:
37273
17
#line 9059 "gram.y"
37274
17
    { (yyval.ival) = COERCION_ASSIGNMENT; }
37275
17
#line 37276 "gram.c"
37276
17
    break;
37277
37278
26
  case 1283:
37279
26
#line 9060 "gram.y"
37280
26
    { (yyval.ival) = COERCION_EXPLICIT; }
37281
26
#line 37282 "gram.c"
37282
26
    break;
37283
37284
36
  case 1284:
37285
36
#line 9065 "gram.y"
37286
36
    {
37287
36
          DropStmt *n = makeNode(DropStmt);
37288
0
          n->removeType = OBJECT_CAST;
37289
36
          n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
37290
36
          n->behavior = (yyvsp[0].dbehavior);
37291
36
          n->missing_ok = (yyvsp[-6].boolean);
37292
36
          n->concurrent = false;
37293
36
          (yyval.node) = (Node *)n;
37294
36
        }
37295
0
#line 37296 "gram.c"
37296
0
    break;
37297
37298
20
  case 1285:
37299
20
#line 9076 "gram.y"
37300
20
    { (yyval.boolean) = true; }
37301
20
#line 37302 "gram.c"
37302
20
    break;
37303
37304
16
  case 1286:
37305
16
#line 9077 "gram.y"
37306
16
    { (yyval.boolean) = false; }
37307
16
#line 37308 "gram.c"
37308
16
    break;
37309
37310
0
  case 1287:
37311
0
#line 9088 "gram.y"
37312
0
    {
37313
0
          parser_ybc_not_support((yylsp[-9]), "CREATE TRANSFORM");
37314
0
          CreateTransformStmt *n = makeNode(CreateTransformStmt);
37315
0
          n->replace = (yyvsp[-8].boolean);
37316
0
          n->type_name = (yyvsp[-5].typnam);
37317
0
          n->lang = (yyvsp[-3].str);
37318
0
          n->fromsql = linitial((yyvsp[-1].list));
37319
0
          n->tosql = lsecond((yyvsp[-1].list));
37320
0
          (yyval.node) = (Node *)n;
37321
0
        }
37322
0
#line 37323 "gram.c"
37323
0
    break;
37324
37325
0
  case 1288:
37326
0
#line 9101 "gram.y"
37327
0
    {
37328
0
          (yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
37329
0
        }
37330
0
#line 37331 "gram.c"
37331
0
    break;
37332
37333
0
  case 1289:
37334
0
#line 9105 "gram.y"
37335
0
    {
37336
0
          (yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
37337
0
        }
37338
0
#line 37339 "gram.c"
37339
0
    break;
37340
37341
0
  case 1290:
37342
0
#line 9109 "gram.y"
37343
0
    {
37344
0
          (yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
37345
0
        }
37346
0
#line 37347 "gram.c"
37347
0
    break;
37348
37349
0
  case 1291:
37350
0
#line 9113 "gram.y"
37351
0
    {
37352
0
          (yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
37353
0
        }
37354
0
#line 37355 "gram.c"
37355
0
    break;
37356
37357
0
  case 1292:
37358
0
#line 9120 "gram.y"
37359
0
    {
37360
0
          parser_ybc_not_support((yylsp[-7]), "DROP TRANSFORM");
37361
0
          DropStmt *n = makeNode(DropStmt);
37362
0
          n->removeType = OBJECT_TRANSFORM;
37363
0
          n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
37364
0
          n->behavior = (yyvsp[0].dbehavior);
37365
0
          n->missing_ok = (yyvsp[-5].boolean);
37366
0
          (yyval.node) = (Node *)n;
37367
0
        }
37368
0
#line 37369 "gram.c"
37369
0
    break;
37370
37371
0
  case 1293:
37372
0
#line 9141 "gram.y"
37373
0
    {
37374
0
          parser_ybc_not_support((yylsp[-2]), "REINDEX");
37375
0
          ReindexStmt *n = makeNode(ReindexStmt);
37376
0
          n->kind = (yyvsp[-1].ival);
37377
0
          n->relation = (yyvsp[0].range);
37378
0
          n->name = NULL;
37379
0
          n->options = 0;
37380
0
          (yyval.node) = (Node *)n;
37381
0
        }
37382
0
#line 37383 "gram.c"
37383
0
    break;
37384
37385
0
  case 1294:
37386
0
#line 9151 "gram.y"
37387
0
    {
37388
0
          parser_ybc_not_support((yylsp[-2]), "REINDEX");
37389
0
          ReindexStmt *n = makeNode(ReindexStmt);
37390
0
          n->kind = (yyvsp[-1].ival);
37391
0
          n->name = (yyvsp[0].str);
37392
0
          n->relation = NULL;
37393
0
          n->options = 0;
37394
0
          (yyval.node) = (Node *)n;
37395
0
        }
37396
0
#line 37397 "gram.c"
37397
0
    break;
37398
37399
0
  case 1295:
37400
0
#line 9161 "gram.y"
37401
0
    {
37402
0
          parser_ybc_not_support((yylsp[-5]), "REINDEX");
37403
0
          ReindexStmt *n = makeNode(ReindexStmt);
37404
0
          n->kind = (yyvsp[-1].ival);
37405
0
          n->relation = (yyvsp[0].range);
37406
0
          n->name = NULL;
37407
0
          n->options = (yyvsp[-3].ival);
37408
0
          (yyval.node) = (Node *)n;
37409
0
        }
37410
0
#line 37411 "gram.c"
37411
0
    break;
37412
37413
0
  case 1296:
37414
0
#line 9171 "gram.y"
37415
0
    {
37416
0
          parser_ybc_not_support((yylsp[-5]), "REINDEX");
37417
0
          ReindexStmt *n = makeNode(ReindexStmt);
37418
0
          n->kind = (yyvsp[-1].ival);
37419
0
          n->name = (yyvsp[0].str);
37420
0
          n->relation = NULL;
37421
0
          n->options = (yyvsp[-3].ival);
37422
0
          (yyval.node) = (Node *)n;
37423
0
        }
37424
0
#line 37425 "gram.c"
37425
0
    break;
37426
37427
0
  case 1297:
37428
0
#line 9182 "gram.y"
37429
0
    { (yyval.ival) = REINDEX_OBJECT_INDEX; }
37430
0
#line 37431 "gram.c"
37431
0
    break;
37432
37433
0
  case 1298:
37434
0
#line 9183 "gram.y"
37435
0
    { (yyval.ival) = REINDEX_OBJECT_TABLE; }
37436
0
#line 37437 "gram.c"
37437
0
    break;
37438
37439
0
  case 1299:
37440
0
#line 9186 "gram.y"
37441
0
    { (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
37442
0
#line 37443 "gram.c"
37443
0
    break;
37444
37445
0
  case 1300:
37446
0
#line 9187 "gram.y"
37447
0
    { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
37448
0
#line 37449 "gram.c"
37449
0
    break;
37450
37451
0
  case 1301:
37452
0
#line 9188 "gram.y"
37453
0
    { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
37454
0
#line 37455 "gram.c"
37455
0
    break;
37456
37457
0
  case 1302:
37458
0
#line 9191 "gram.y"
37459
0
    { (yyval.ival) = (yyvsp[0].ival); }
37460
0
#line 37461 "gram.c"
37461
0
    break;
37462
37463
0
  case 1303:
37464
0
#line 9192 "gram.y"
37465
0
    { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
37466
0
#line 37467 "gram.c"
37467
0
    break;
37468
37469
0
  case 1304:
37470
0
#line 9195 "gram.y"
37471
0
    { (yyval.ival) = REINDEXOPT_VERBOSE; }
37472
0
#line 37473 "gram.c"
37473
0
    break;
37474
37475
2
  case 1305:
37476
2
#line 9206 "gram.y"
37477
2
    {
37478
2
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER TABLESPACE", 1153);
37479
2
          AlterTableSpaceOptionsStmt *n =
37480
2
            makeNode(AlterTableSpaceOptionsStmt);
37481
0
          n->tablespacename = (yyvsp[-2].str);
37482
2
          n->options = (yyvsp[0].list);
37483
2
          n->isReset = false;
37484
2
          (yyval.node) = (Node *)n;
37485
2
        }
37486
0
#line 37487 "gram.c"
37487
0
    break;
37488
37489
0
  case 1306:
37490
0
#line 9216 "gram.y"
37491
0
    {
37492
0
          parser_ybc_signal_unsupported((yylsp[-4]), "ALTER TABLESPACE", 1153);
37493
0
          AlterTableSpaceOptionsStmt *n =
37494
0
            makeNode(AlterTableSpaceOptionsStmt);
37495
0
          n->tablespacename = (yyvsp[-2].str);
37496
0
          n->options = (yyvsp[0].list);
37497
0
          n->isReset = true;
37498
0
          (yyval.node) = (Node *)n;
37499
0
        }
37500
0
#line 37501 "gram.c"
37501
0
    break;
37502
37503
12
  case 1307:
37504
12
#line 9234 "gram.y"
37505
12
    {
37506
12
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER AGGREGATE", 2717);
37507
12
          RenameStmt *n = makeNode(RenameStmt);
37508
0
          n->renameType = OBJECT_AGGREGATE;
37509
12
          n->object = (Node *) (yyvsp[-3].objwithargs);
37510
12
          n->newname = (yyvsp[0].str);
37511
12
          n->missing_ok = false;
37512
12
          (yyval.node) = (Node *)n;
37513
12
        }
37514
0
#line 37515 "gram.c"
37515
0
    break;
37516
37517
12
  case 1308:
37518
12
#line 9244 "gram.y"
37519
12
    {
37520
12
          if (!YBIsCollationEnabled())
37521
0
            parser_ybc_not_support((yylsp[-5]), "ALTER COLLATION");
37522
12
          RenameStmt *n = makeNode(RenameStmt);
37523
0
          n->renameType = OBJECT_COLLATION;
37524
12
          n->object = (Node *) (yyvsp[-3].list);
37525
12
          n->newname = (yyvsp[0].str);
37526
12
          n->missing_ok = false;
37527
12
          (yyval.node) = (Node *)n;
37528
12
        }
37529
0
#line 37530 "gram.c"
37530
0
    break;
37531
37532
2
  case 1309:
37533
2
#line 9255 "gram.y"
37534
2
    {
37535
2
          parser_ybc_not_support((yylsp[-5]), "ALTER CONVERSION");
37536
2
          RenameStmt *n = makeNode(RenameStmt);
37537
0
          n->renameType = OBJECT_CONVERSION;
37538
2
          n->object = (Node *) (yyvsp[-3].list);
37539
2
          n->newname = (yyvsp[0].str);
37540
2
          n->missing_ok = false;
37541
2
          (yyval.node) = (Node *)n;
37542
2
        }
37543
0
#line 37544 "gram.c"
37544
0
    break;
37545
37546
16
  case 1310:
37547
16
#line 9265 "gram.y"
37548
16
    {
37549
16
          RenameStmt *n = makeNode(RenameStmt);
37550
0
          n->renameType = OBJECT_DATABASE;
37551
16
          n->subname = (yyvsp[-3].str);
37552
16
          n->newname = (yyvsp[0].str);
37553
16
          n->missing_ok = false;
37554
16
          (yyval.node) = (Node *)n;
37555
16
        }
37556
0
#line 37557 "gram.c"
37557
0
    break;
37558
37559
8
  case 1311:
37560
8
#line 9274 "gram.y"
37561
8
    {
37562
8
          RenameStmt *n = makeNode(RenameStmt);
37563
0
          n->renameType = OBJECT_DOMAIN;
37564
8
          n->object = (Node *) (yyvsp[-3].list);
37565
8
          n->newname = (yyvsp[0].str);
37566
8
          n->missing_ok = false;
37567
8
          (yyval.node) = (Node *)n;
37568
8
        }
37569
0
#line 37570 "gram.c"
37570
0
    break;
37571
37572
0
  case 1312:
37573
0
#line 9283 "gram.y"
37574
0
    {
37575
0
          parser_ybc_not_support((yylsp[-7]), "ALTER DOMAIN RENAME CONSTRAINT");
37576
0
          RenameStmt *n = makeNode(RenameStmt);
37577
0
          n->renameType = OBJECT_DOMCONSTRAINT;
37578
0
          n->object = (Node *) (yyvsp[-5].list);
37579
0
          n->subname = (yyvsp[-2].str);
37580
0
          n->newname = (yyvsp[0].str);
37581
0
          (yyval.node) = (Node *)n;
37582
0
        }
37583
0
#line 37584 "gram.c"
37584
0
    break;
37585
37586
16
  case 1313:
37587
16
#line 9293 "gram.y"
37588
16
    {
37589
16
          RenameStmt *n = makeNode(RenameStmt);
37590
0
          n->renameType = OBJECT_FDW;
37591
16
          n->object = (Node *) makeString((yyvsp[-3].str));
37592
16
          n->newname = (yyvsp[0].str);
37593
16
          n->missing_ok = false;
37594
16
          (yyval.node) = (Node *)n;
37595
16
        }
37596
0
#line 37597 "gram.c"
37597
0
    break;
37598
37599
16
  case 1314:
37600
16
#line 9302 "gram.y"
37601
16
    {
37602
16
          RenameStmt *n = makeNode(RenameStmt);
37603
0
          n->renameType = OBJECT_FUNCTION;
37604
16
          n->object = (Node *) (yyvsp[-3].objwithargs);
37605
16
          n->newname = (yyvsp[0].str);
37606
16
          n->missing_ok = false;
37607
16
          (yyval.node) = (Node *)n;
37608
16
        }
37609
0
#line 37610 "gram.c"
37610
0
    break;
37611
37612
0
  case 1315:
37613
0
#line 9311 "gram.y"
37614
0
    {
37615
0
          RenameStmt *n = makeNode(RenameStmt);
37616
0
          n->renameType = OBJECT_ROLE;
37617
0
          n->subname = (yyvsp[-3].str);
37618
0
          n->newname = (yyvsp[0].str);
37619
0
          n->missing_ok = false;
37620
0
          (yyval.node) = (Node *)n;
37621
0
        }
37622
0
#line 37623 "gram.c"
37623
0
    break;
37624
37625
0
  case 1316:
37626
0
#line 9320 "gram.y"
37627
0
    {
37628
0
          parser_ybc_not_support((yylsp[-6]), "ALTER LANGUAGE");
37629
0
          RenameStmt *n = makeNode(RenameStmt);
37630
0
          n->renameType = OBJECT_LANGUAGE;
37631
0
          n->object = (Node *) makeString((yyvsp[-3].str));
37632
0
          n->newname = (yyvsp[0].str);
37633
0
          n->missing_ok = false;
37634
0
          (yyval.node) = (Node *)n;
37635
0
        }
37636
0
#line 37637 "gram.c"
37637
0
    break;
37638
37639
0
  case 1317:
37640
0
#line 9330 "gram.y"
37641
0
    {
37642
0
          parser_ybc_not_support((yylsp[-8]), "ALTER OPERATOR CLASS");
37643
0
          RenameStmt *n = makeNode(RenameStmt);
37644
0
          n->renameType = OBJECT_OPCLASS;
37645
0
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37646
0
          n->newname = (yyvsp[0].str);
37647
0
          n->missing_ok = false;
37648
0
          (yyval.node) = (Node *)n;
37649
0
        }
37650
0
#line 37651 "gram.c"
37651
0
    break;
37652
37653
16
  case 1318:
37654
16
#line 9340 "gram.y"
37655
16
    {
37656
16
          RenameStmt *n = makeNode(RenameStmt);
37657
0
          n->renameType = OBJECT_OPFAMILY;
37658
16
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37659
16
          n->newname = (yyvsp[0].str);
37660
16
          n->missing_ok = false;
37661
16
          (yyval.node) = (Node *)n;
37662
16
        }
37663
0
#line 37664 "gram.c"
37664
0
    break;
37665
37666
12
  case 1319:
37667
12
#line 9349 "gram.y"
37668
12
    {
37669
12
          RenameStmt *n = makeNode(RenameStmt);
37670
0
          n->renameType = OBJECT_POLICY;
37671
12
          n->relation = (yyvsp[-3].range);
37672
12
          n->subname = (yyvsp[-5].str);
37673
12
          n->newname = (yyvsp[0].str);
37674
12
          n->missing_ok = false;
37675
12
          (yyval.node) = (Node *)n;
37676
12
        }
37677
0
#line 37678 "gram.c"
37678
0
    break;
37679
37680
0
  case 1320:
37681
0
#line 9359 "gram.y"
37682
0
    {
37683
0
          RenameStmt *n = makeNode(RenameStmt);
37684
0
          n->renameType = OBJECT_POLICY;
37685
0
          n->relation = (yyvsp[-3].range);
37686
0
          n->subname = (yyvsp[-5].str);
37687
0
          n->newname = (yyvsp[0].str);
37688
0
          n->missing_ok = true;
37689
0
          (yyval.node) = (Node *)n;
37690
0
        }
37691
0
#line 37692 "gram.c"
37692
0
    break;
37693
37694
0
  case 1321:
37695
0
#line 9369 "gram.y"
37696
0
    {
37697
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER PROCEDURE", 2717);
37698
0
          RenameStmt *n = makeNode(RenameStmt);
37699
0
          n->renameType = OBJECT_PROCEDURE;
37700
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
37701
0
          n->newname = (yyvsp[0].str);
37702
0
          n->missing_ok = false;
37703
0
          (yyval.node) = (Node *)n;
37704
0
        }
37705
0
#line 37706 "gram.c"
37706
0
    break;
37707
37708
0
  case 1322:
37709
0
#line 9379 "gram.y"
37710
0
    {
37711
0
          parser_ybc_not_support((yylsp[-5]), "ALTER PUBLICATION");
37712
0
          RenameStmt *n = makeNode(RenameStmt);
37713
0
          n->renameType = OBJECT_PUBLICATION;
37714
0
          n->object = (Node *) makeString((yyvsp[-3].str));
37715
0
          n->newname = (yyvsp[0].str);
37716
0
          n->missing_ok = false;
37717
0
          (yyval.node) = (Node *)n;
37718
0
        }
37719
0
#line 37720 "gram.c"
37720
0
    break;
37721
37722
0
  case 1323:
37723
0
#line 9389 "gram.y"
37724
0
    {
37725
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER ROUTINE", 2717);
37726
0
          RenameStmt *n = makeNode(RenameStmt);
37727
0
          n->renameType = OBJECT_ROUTINE;
37728
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
37729
0
          n->newname = (yyvsp[0].str);
37730
0
          n->missing_ok = false;
37731
0
          (yyval.node) = (Node *)n;
37732
0
        }
37733
0
#line 37734 "gram.c"
37734
0
    break;
37735
37736
4
  case 1324:
37737
4
#line 9399 "gram.y"
37738
4
    {
37739
4
          RenameStmt *n = makeNode(RenameStmt);
37740
0
          n->renameType = OBJECT_SCHEMA;
37741
4
          n->subname = (yyvsp[-3].str);
37742
4
          n->newname = (yyvsp[0].str);
37743
4
          n->missing_ok = false;
37744
4
          (yyval.node) = (Node *)n;
37745
4
        }
37746
0
#line 37747 "gram.c"
37747
0
    break;
37748
37749
16
  case 1325:
37750
16
#line 9408 "gram.y"
37751
16
    {
37752
16
          RenameStmt *n = makeNode(RenameStmt);
37753
0
          n->renameType = OBJECT_FOREIGN_SERVER;
37754
16
          n->object = (Node *) makeString((yyvsp[-3].str));
37755
16
          n->newname = (yyvsp[0].str);
37756
16
          n->missing_ok = false;
37757
16
          (yyval.node) = (Node *)n;
37758
16
        }
37759
0
#line 37760 "gram.c"
37760
0
    break;
37761
37762
0
  case 1326:
37763
0
#line 9417 "gram.y"
37764
0
    {
37765
0
          parser_ybc_not_support((yylsp[-5]), "ALTER SUBSCRIPTION");
37766
0
          RenameStmt *n = makeNode(RenameStmt);
37767
0
          n->renameType = OBJECT_SUBSCRIPTION;
37768
0
          n->object = (Node *) makeString((yyvsp[-3].str));
37769
0
          n->newname = (yyvsp[0].str);
37770
0
          n->missing_ok = false;
37771
0
          (yyval.node) = (Node *)n;
37772
0
        }
37773
0
#line 37774 "gram.c"
37774
0
    break;
37775
37776
84
  case 1327:
37777
84
#line 9427 "gram.y"
37778
84
    {
37779
84
          RenameStmt *n = makeNode(RenameStmt);
37780
0
          n->renameType = OBJECT_TABLE;
37781
84
          n->relation = (yyvsp[-3].range);
37782
84
          n->subname = NULL;
37783
84
          n->newname = (yyvsp[0].str);
37784
84
          n->missing_ok = false;
37785
84
          (yyval.node) = (Node *)n;
37786
84
        }
37787
0
#line 37788 "gram.c"
37788
0
    break;
37789
37790
16
  case 1328:
37791
16
#line 9437 "gram.y"
37792
16
    {
37793
16
          RenameStmt *n = makeNode(RenameStmt);
37794
0
          n->renameType = OBJECT_TABLE;
37795
16
          n->relation = (yyvsp[-3].range);
37796
16
          n->subname = NULL;
37797
16
          n->newname = (yyvsp[0].str);
37798
16
          n->missing_ok = true;
37799
16
          (yyval.node) = (Node *)n;
37800
16
        }
37801
0
#line 37802 "gram.c"
37802
0
    break;
37803
37804
0
  case 1329:
37805
0
#line 9447 "gram.y"
37806
0
    {
37807
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER SEQUENCE", 1002);
37808
0
          RenameStmt *n = makeNode(RenameStmt);
37809
0
          n->renameType = OBJECT_SEQUENCE;
37810
0
          n->relation = (yyvsp[-3].range);
37811
0
          n->subname = NULL;
37812
0
          n->newname = (yyvsp[0].str);
37813
0
          n->missing_ok = false;
37814
0
          (yyval.node) = (Node *)n;
37815
0
        }
37816
0
#line 37817 "gram.c"
37817
0
    break;
37818
37819
0
  case 1330:
37820
0
#line 9458 "gram.y"
37821
0
    {
37822
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER SEQUENCE", 1002);
37823
0
          RenameStmt *n = makeNode(RenameStmt);
37824
0
          n->renameType = OBJECT_SEQUENCE;
37825
0
          n->relation = (yyvsp[-3].range);
37826
0
          n->subname = NULL;
37827
0
          n->newname = (yyvsp[0].str);
37828
0
          n->missing_ok = true;
37829
0
          (yyval.node) = (Node *)n;
37830
0
        }
37831
0
#line 37832 "gram.c"
37832
0
    break;
37833
37834
0
  case 1331:
37835
0
#line 9469 "gram.y"
37836
0
    {
37837
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER VIEW", 1131);
37838
0
          RenameStmt *n = makeNode(RenameStmt);
37839
0
          n->renameType = OBJECT_VIEW;
37840
0
          n->relation = (yyvsp[-3].range);
37841
0
          n->subname = NULL;
37842
0
          n->newname = (yyvsp[0].str);
37843
0
          n->missing_ok = false;
37844
0
          (yyval.node) = (Node *)n;
37845
0
        }
37846
0
#line 37847 "gram.c"
37847
0
    break;
37848
37849
0
  case 1332:
37850
0
#line 9480 "gram.y"
37851
0
    {
37852
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER VIEW", 1131);
37853
0
          RenameStmt *n = makeNode(RenameStmt);
37854
0
          n->renameType = OBJECT_VIEW;
37855
0
          n->relation = (yyvsp[-3].range);
37856
0
          n->subname = NULL;
37857
0
          n->newname = (yyvsp[0].str);
37858
0
          n->missing_ok = true;
37859
0
          (yyval.node) = (Node *)n;
37860
0
        }
37861
0
#line 37862 "gram.c"
37862
0
    break;
37863
37864
0
  case 1333:
37865
0
#line 9491 "gram.y"
37866
0
    {
37867
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER MATERIALIZED VIEW", 1131);
37868
0
          RenameStmt *n = makeNode(RenameStmt);
37869
0
          n->renameType = OBJECT_MATVIEW;
37870
0
          n->relation = (yyvsp[-3].range);
37871
0
          n->subname = NULL;
37872
0
          n->newname = (yyvsp[0].str);
37873
0
          n->missing_ok = false;
37874
0
          (yyval.node) = (Node *)n;
37875
0
        }
37876
0
#line 37877 "gram.c"
37877
0
    break;
37878
37879
0
  case 1334:
37880
0
#line 9502 "gram.y"
37881
0
    {
37882
0
          parser_ybc_signal_unsupported((yylsp[-8]), "ALTER MATERIALIZED VIEW", 1131);
37883
0
          RenameStmt *n = makeNode(RenameStmt);
37884
0
          n->renameType = OBJECT_MATVIEW;
37885
0
          n->relation = (yyvsp[-3].range);
37886
0
          n->subname = NULL;
37887
0
          n->newname = (yyvsp[0].str);
37888
0
          n->missing_ok = true;
37889
0
          (yyval.node) = (Node *)n;
37890
0
        }
37891
0
#line 37892 "gram.c"
37892
0
    break;
37893
37894
0
  case 1335:
37895
0
#line 9513 "gram.y"
37896
0
    {
37897
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER INDEX", 1130);
37898
0
          RenameStmt *n = makeNode(RenameStmt);
37899
0
          n->renameType = OBJECT_INDEX;
37900
0
          n->relation = (yyvsp[-3].range);
37901
0
          n->subname = NULL;
37902
0
          n->newname = (yyvsp[0].str);
37903
0
          n->missing_ok = false;
37904
0
          (yyval.node) = (Node *)n;
37905
0
        }
37906
0
#line 37907 "gram.c"
37907
0
    break;
37908
37909
0
  case 1336:
37910
0
#line 9524 "gram.y"
37911
0
    {
37912
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER INDEX", 1130);
37913
0
          RenameStmt *n = makeNode(RenameStmt);
37914
0
          n->renameType = OBJECT_INDEX;
37915
0
          n->relation = (yyvsp[-3].range);
37916
0
          n->subname = NULL;
37917
0
          n->newname = (yyvsp[0].str);
37918
0
          n->missing_ok = true;
37919
0
          (yyval.node) = (Node *)n;
37920
0
        }
37921
0
#line 37922 "gram.c"
37922
0
    break;
37923
37924
4
  case 1337:
37925
4
#line 9535 "gram.y"
37926
4
    {
37927
4
          RenameStmt *n = makeNode(RenameStmt);
37928
0
          n->renameType = OBJECT_FOREIGN_TABLE;
37929
4
          n->relation = (yyvsp[-3].range);
37930
4
          n->subname = NULL;
37931
4
          n->newname = (yyvsp[0].str);
37932
4
          n->missing_ok = false;
37933
4
          (yyval.node) = (Node *)n;
37934
4
        }
37935
0
#line 37936 "gram.c"
37936
0
    break;
37937
37938
4
  case 1338:
37939
4
#line 9545 "gram.y"
37940
4
    {
37941
4
          RenameStmt *n = makeNode(RenameStmt);
37942
0
          n->renameType = OBJECT_FOREIGN_TABLE;
37943
4
          n->relation = (yyvsp[-3].range);
37944
4
          n->subname = NULL;
37945
4
          n->newname = (yyvsp[0].str);
37946
4
          n->missing_ok = true;
37947
4
          (yyval.node) = (Node *)n;
37948
4
        }
37949
0
#line 37950 "gram.c"
37950
0
    break;
37951
37952
72
  case 1339:
37953
72
#line 9555 "gram.y"
37954
72
    {
37955
72
          RenameStmt *n = makeNode(RenameStmt);
37956
0
          n->renameType = OBJECT_COLUMN;
37957
72
          n->relationType = OBJECT_TABLE;
37958
72
          n->relation = (yyvsp[-5].range);
37959
72
          n->subname = (yyvsp[-2].str);
37960
72
          n->newname = (yyvsp[0].str);
37961
72
          n->missing_ok = false;
37962
72
          (yyval.node) = (Node *)n;
37963
72
        }
37964
0
#line 37965 "gram.c"
37965
0
    break;
37966
37967
0
  case 1340:
37968
0
#line 9566 "gram.y"
37969
0
    {
37970
0
          parser_ybc_not_support((yylsp[-9]), "ALTER TABLE IF EXISTS");
37971
0
          RenameStmt *n = makeNode(RenameStmt);
37972
0
          n->renameType = OBJECT_COLUMN;
37973
0
          n->relationType = OBJECT_TABLE;
37974
0
          n->relation = (yyvsp[-5].range);
37975
0
          n->subname = (yyvsp[-2].str);
37976
0
          n->newname = (yyvsp[0].str);
37977
0
          n->missing_ok = true;
37978
0
          (yyval.node) = (Node *)n;
37979
0
        }
37980
0
#line 37981 "gram.c"
37981
0
    break;
37982
37983
0
  case 1341:
37984
0
#line 9578 "gram.y"
37985
0
    {
37986
0
          parser_ybc_signal_unsupported((yylsp[-8]), "ALTER MATERIALIZED VIEW", 1131);
37987
0
          RenameStmt *n = makeNode(RenameStmt);
37988
0
          n->renameType = OBJECT_COLUMN;
37989
0
          n->relationType = OBJECT_MATVIEW;
37990
0
          n->relation = (yyvsp[-5].range);
37991
0
          n->subname = (yyvsp[-2].str);
37992
0
          n->newname = (yyvsp[0].str);
37993
0
          n->missing_ok = false;
37994
0
          (yyval.node) = (Node *)n;
37995
0
        }
37996
0
#line 37997 "gram.c"
37997
0
    break;
37998
37999
0
  case 1342:
38000
0
#line 9590 "gram.y"
38001
0
    {
38002
0
          parser_ybc_signal_unsupported((yylsp[-10]), "ALTER MATERIALIZED VIEW", 1131);
38003
0
          RenameStmt *n = makeNode(RenameStmt);
38004
0
          n->renameType = OBJECT_COLUMN;
38005
0
          n->relationType = OBJECT_MATVIEW;
38006
0
          n->relation = (yyvsp[-5].range);
38007
0
          n->subname = (yyvsp[-2].str);
38008
0
          n->newname = (yyvsp[0].str);
38009
0
          n->missing_ok = true;
38010
0
          (yyval.node) = (Node *)n;
38011
0
        }
38012
0
#line 38013 "gram.c"
38013
0
    break;
38014
38015
2
  case 1343:
38016
2
#line 9602 "gram.y"
38017
2
    {
38018
2
          parser_ybc_not_support((yylsp[-7]), "ALTER TABLE RENAME CONSTRAINT");
38019
2
          RenameStmt *n = makeNode(RenameStmt);
38020
0
          n->renameType = OBJECT_TABCONSTRAINT;
38021
2
          n->relation = (yyvsp[-5].range);
38022
2
          n->subname = (yyvsp[-2].str);
38023
2
          n->newname = (yyvsp[0].str);
38024
2
          n->missing_ok = false;
38025
2
          (yyval.node) = (Node *)n;
38026
2
        }
38027
0
#line 38028 "gram.c"
38028
0
    break;
38029
38030
0
  case 1344:
38031
0
#line 9613 "gram.y"
38032
0
    {
38033
0
          parser_ybc_not_support((yylsp[-9]), "ALTER TABLE RENAME CONSTRAINT");
38034
0
          RenameStmt *n = makeNode(RenameStmt);
38035
0
          n->renameType = OBJECT_TABCONSTRAINT;
38036
0
          n->relation = (yyvsp[-5].range);
38037
0
          n->subname = (yyvsp[-2].str);
38038
0
          n->newname = (yyvsp[0].str);
38039
0
          n->missing_ok = true;
38040
0
          (yyval.node) = (Node *)n;
38041
0
        }
38042
0
#line 38043 "gram.c"
38043
0
    break;
38044
38045
4
  case 1345:
38046
4
#line 9624 "gram.y"
38047
4
    {
38048
4
          RenameStmt *n = makeNode(RenameStmt);
38049
0
          n->renameType = OBJECT_COLUMN;
38050
4
          n->relationType = OBJECT_FOREIGN_TABLE;
38051
4
          n->relation = (yyvsp[-5].range);
38052
4
          n->subname = (yyvsp[-2].str);
38053
4
          n->newname = (yyvsp[0].str);
38054
4
          n->missing_ok = false;
38055
4
          (yyval.node) = (Node *)n;
38056
4
        }
38057
0
#line 38058 "gram.c"
38058
0
    break;
38059
38060
4
  case 1346:
38061
4
#line 9635 "gram.y"
38062
4
    {
38063
4
          RenameStmt *n = makeNode(RenameStmt);
38064
0
          n->renameType = OBJECT_COLUMN;
38065
4
          n->relationType = OBJECT_FOREIGN_TABLE;
38066
4
          n->relation = (yyvsp[-5].range);
38067
4
          n->subname = (yyvsp[-2].str);
38068
4
          n->newname = (yyvsp[0].str);
38069
4
          n->missing_ok = true;
38070
4
          (yyval.node) = (Node *)n;
38071
4
        }
38072
0
#line 38073 "gram.c"
38073
0
    break;
38074
38075
0
  case 1347:
38076
0
#line 9646 "gram.y"
38077
0
    {
38078
0
          parser_ybc_not_support((yylsp[-7]), "ALTER RULE");
38079
0
          RenameStmt *n = makeNode(RenameStmt);
38080
0
          n->renameType = OBJECT_RULE;
38081
0
          n->relation = (yyvsp[-3].range);
38082
0
          n->subname = (yyvsp[-5].str);
38083
0
          n->newname = (yyvsp[0].str);
38084
0
          n->missing_ok = false;
38085
0
          (yyval.node) = (Node *)n;
38086
0
        }
38087
0
#line 38088 "gram.c"
38088
0
    break;
38089
38090
4
  case 1348:
38091
4
#line 9657 "gram.y"
38092
4
    {
38093
4
          RenameStmt *n = makeNode(RenameStmt);
38094
0
          n->renameType = OBJECT_TRIGGER;
38095
4
          n->relation = (yyvsp[-3].range);
38096
4
          n->subname = (yyvsp[-5].str);
38097
4
          n->newname = (yyvsp[0].str);
38098
4
          n->missing_ok = false;
38099
4
          (yyval.node) = (Node *)n;
38100
4
        }
38101
0
#line 38102 "gram.c"
38102
0
    break;
38103
38104
8
  case 1349:
38105
8
#line 9667 "gram.y"
38106
8
    {
38107
8
          RenameStmt *n = makeNode(RenameStmt);
38108
0
          n->renameType = OBJECT_EVENT_TRIGGER;
38109
8
          n->object = (Node *) makeString((yyvsp[-3].str));
38110
8
          n->newname = (yyvsp[0].str);
38111
8
          (yyval.node) = (Node *)n;
38112
8
        }
38113
0
#line 38114 "gram.c"
38114
0
    break;
38115
38116
28
  case 1350:
38117
28
#line 9675 "gram.y"
38118
28
    {
38119
28
          RenameStmt *n = makeNode(RenameStmt);
38120
0
          n->renameType = OBJECT_ROLE;
38121
28
          n->subname = (yyvsp[-3].str);
38122
28
          n->newname = (yyvsp[0].str);
38123
28
          n->missing_ok = false;
38124
28
          (yyval.node) = (Node *)n;
38125
28
        }
38126
0
#line 38127 "gram.c"
38127
0
    break;
38128
38129
20
  case 1351:
38130
20
#line 9684 "gram.y"
38131
20
    {
38132
20
          RenameStmt *n = makeNode(RenameStmt);
38133
0
          n->renameType = OBJECT_ROLE;
38134
20
          n->subname = (yyvsp[-3].str);
38135
20
          n->newname = (yyvsp[0].str);
38136
20
          n->missing_ok = false;
38137
20
          (yyval.node) = (Node *)n;
38138
20
        }
38139
0
#line 38140 "gram.c"
38140
0
    break;
38141
38142
20
  case 1352:
38143
20
#line 9693 "gram.y"
38144
20
    {
38145
20
          parser_ybc_beta_feature((yylsp[-5]), "tablegroup", true);
38146
20
          RenameStmt *n = makeNode(RenameStmt);
38147
0
          n->renameType = OBJECT_YBTABLEGROUP;
38148
20
          n->subname = (yyvsp[-3].str);
38149
20
          n->newname = (yyvsp[0].str);
38150
20
          n->missing_ok = false;
38151
20
          (yyval.node) = (Node *)n;
38152
20
        }
38153
0
#line 38154 "gram.c"
38154
0
    break;
38155
38156
2
  case 1353:
38157
2
#line 9703 "gram.y"
38158
2
    {
38159
2
          parser_ybc_not_support((yylsp[-5]), "ALTER TABLESPACE");
38160
2
          RenameStmt *n = makeNode(RenameStmt);
38161
0
          n->renameType = OBJECT_TABLESPACE;
38162
2
          n->subname = (yyvsp[-3].str);
38163
2
          n->newname = (yyvsp[0].str);
38164
2
          n->missing_ok = false;
38165
2
          (yyval.node) = (Node *)n;
38166
2
        }
38167
0
#line 38168 "gram.c"
38168
0
    break;
38169
38170
0
  case 1354:
38171
0
#line 9713 "gram.y"
38172
0
    {
38173
0
          parser_ybc_not_support((yylsp[-5]), "ALTER STATISTICS");
38174
0
          RenameStmt *n = makeNode(RenameStmt);
38175
0
          n->renameType = OBJECT_STATISTIC_EXT;
38176
0
          n->object = (Node *) (yyvsp[-3].list);
38177
0
          n->newname = (yyvsp[0].str);
38178
0
          n->missing_ok = false;
38179
0
          (yyval.node) = (Node *)n;
38180
0
        }
38181
0
#line 38182 "gram.c"
38182
0
    break;
38183
38184
8
  case 1355:
38185
8
#line 9723 "gram.y"
38186
8
    {
38187
8
          RenameStmt *n = makeNode(RenameStmt);
38188
0
          n->renameType = OBJECT_TSPARSER;
38189
8
          n->object = (Node *) (yyvsp[-3].list);
38190
8
          n->newname = (yyvsp[0].str);
38191
8
          n->missing_ok = false;
38192
8
          (yyval.node) = (Node *)n;
38193
8
        }
38194
0
#line 38195 "gram.c"
38195
0
    break;
38196
38197
0
  case 1356:
38198
0
#line 9732 "gram.y"
38199
0
    {
38200
0
          RenameStmt *n = makeNode(RenameStmt);
38201
0
          n->renameType = OBJECT_TSDICTIONARY;
38202
0
          n->object = (Node *) (yyvsp[-3].list);
38203
0
          n->newname = (yyvsp[0].str);
38204
0
          n->missing_ok = false;
38205
0
          (yyval.node) = (Node *)n;
38206
0
        }
38207
0
#line 38208 "gram.c"
38208
0
    break;
38209
38210
8
  case 1357:
38211
8
#line 9741 "gram.y"
38212
8
    {
38213
8
          RenameStmt *n = makeNode(RenameStmt);
38214
0
          n->renameType = OBJECT_TSTEMPLATE;
38215
8
          n->object = (Node *) (yyvsp[-3].list);
38216
8
          n->newname = (yyvsp[0].str);
38217
8
          n->missing_ok = false;
38218
8
          (yyval.node) = (Node *)n;
38219
8
        }
38220
0
#line 38221 "gram.c"
38221
0
    break;
38222
38223
0
  case 1358:
38224
0
#line 9750 "gram.y"
38225
0
    {
38226
0
          RenameStmt *n = makeNode(RenameStmt);
38227
0
          n->renameType = OBJECT_TSCONFIGURATION;
38228
0
          n->object = (Node *) (yyvsp[-3].list);
38229
0
          n->newname = (yyvsp[0].str);
38230
0
          n->missing_ok = false;
38231
0
          (yyval.node) = (Node *)n;
38232
0
        }
38233
0
#line 38234 "gram.c"
38234
0
    break;
38235
38236
24
  case 1359:
38237
24
#line 9759 "gram.y"
38238
24
    {
38239
24
          RenameStmt *n = makeNode(RenameStmt);
38240
0
          n->renameType = OBJECT_TYPE;
38241
24
          n->object = (Node *) (yyvsp[-3].list);
38242
24
          n->newname = (yyvsp[0].str);
38243
24
          n->missing_ok = false;
38244
24
          (yyval.node) = (Node *)n;
38245
24
        }
38246
0
#line 38247 "gram.c"
38247
0
    break;
38248
38249
0
  case 1360:
38250
0
#line 9768 "gram.y"
38251
0
    {
38252
0
          parser_ybc_signal_unsupported((yylsp[-8]), "ALTER TYPE", 1893);
38253
0
          RenameStmt *n = makeNode(RenameStmt);
38254
0
          n->renameType = OBJECT_ATTRIBUTE;
38255
0
          n->relationType = OBJECT_TYPE;
38256
0
          n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
38257
0
          n->subname = (yyvsp[-3].str);
38258
0
          n->newname = (yyvsp[-1].str);
38259
0
          n->behavior = (yyvsp[0].dbehavior);
38260
0
          n->missing_ok = false;
38261
0
          (yyval.node) = (Node *)n;
38262
0
        }
38263
0
#line 38264 "gram.c"
38264
0
    break;
38265
38266
1.26k
  case 1361:
38267
1.26k
#line 9782 "gram.y"
38268
1.26k
    { (yyval.ival) = COLUMN; }
38269
1.26k
#line 38270 "gram.c"
38270
1.26k
    break;
38271
38272
168
  case 1362:
38273
168
#line 9783 "gram.y"
38274
168
    { (yyval.ival) = 0; }
38275
168
#line 38276 "gram.c"
38276
168
    break;
38277
38278
24
  case 1363:
38279
24
#line 9786 "gram.y"
38280
24
    { (yyval.ival) = 1; }
38281
24
#line 38282 "gram.c"
38282
24
    break;
38283
38284
204
  case 1364:
38285
204
#line 9787 "gram.y"
38286
204
    { (yyval.ival) = 0; }
38287
204
#line 38288 "gram.c"
38288
204
    break;
38289
38290
0
  case 1365:
38291
0
#line 9798 "gram.y"
38292
0
    {
38293
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38294
0
          n->objectType = OBJECT_FUNCTION;
38295
0
          n->object = (Node *) (yyvsp[-4].objwithargs);
38296
0
          n->extname = makeString((yyvsp[0].str));
38297
0
          (yyval.node) = (Node *)n;
38298
0
        }
38299
0
#line 38300 "gram.c"
38300
0
    break;
38301
38302
0
  case 1366:
38303
0
#line 9806 "gram.y"
38304
0
    {
38305
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER PROCEDURE DEPENDS ON EXTENSION", 2717);
38306
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38307
0
          n->objectType = OBJECT_PROCEDURE;
38308
0
          n->object = (Node *) (yyvsp[-4].objwithargs);
38309
0
          n->extname = makeString((yyvsp[0].str));
38310
0
          (yyval.node) = (Node *)n;
38311
0
        }
38312
0
#line 38313 "gram.c"
38313
0
    break;
38314
38315
0
  case 1367:
38316
0
#line 9815 "gram.y"
38317
0
    {
38318
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER ROUTINE DEPENDS ON EXTENSION", 2717);
38319
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38320
0
          n->objectType = OBJECT_ROUTINE;
38321
0
          n->object = (Node *) (yyvsp[-4].objwithargs);
38322
0
          n->extname = makeString((yyvsp[0].str));
38323
0
          (yyval.node) = (Node *)n;
38324
0
        }
38325
0
#line 38326 "gram.c"
38326
0
    break;
38327
38328
0
  case 1368:
38329
0
#line 9824 "gram.y"
38330
0
    {
38331
0
          parser_ybc_signal_unsupported((yylsp[-8]), "ALTER TRIGGER DEPENDS ON EXTENSION", 1156);
38332
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38333
0
          n->objectType = OBJECT_TRIGGER;
38334
0
          n->relation = (yyvsp[-4].range);
38335
0
          n->object = (Node *) list_make1(makeString((yyvsp[-6].str)));
38336
0
          n->extname = makeString((yyvsp[0].str));
38337
0
          (yyval.node) = (Node *)n;
38338
0
        }
38339
0
#line 38340 "gram.c"
38340
0
    break;
38341
38342
0
  case 1369:
38343
0
#line 9834 "gram.y"
38344
0
    {
38345
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER MATERIALIZED VIEW DEPENDS ON EXTENSION", 1131);
38346
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38347
0
          n->objectType = OBJECT_MATVIEW;
38348
0
          n->relation = (yyvsp[-4].range);
38349
0
          n->extname = makeString((yyvsp[0].str));
38350
0
          (yyval.node) = (Node *)n;
38351
0
        }
38352
0
#line 38353 "gram.c"
38353
0
    break;
38354
38355
0
  case 1370:
38356
0
#line 9843 "gram.y"
38357
0
    {
38358
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER INDEX DEPENDS ON EXTENSION", 1130);
38359
0
          AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38360
0
          n->objectType = OBJECT_INDEX;
38361
0
          n->relation = (yyvsp[-4].range);
38362
0
          n->extname = makeString((yyvsp[0].str));
38363
0
          (yyval.node) = (Node *)n;
38364
0
        }
38365
0
#line 38366 "gram.c"
38366
0
    break;
38367
38368
8
  case 1371:
38369
8
#line 9861 "gram.y"
38370
8
    {
38371
8
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER AGGREGATE SET SCHEMA", 2717);
38372
8
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38373
0
          n->objectType = OBJECT_AGGREGATE;
38374
8
          n->object = (Node *) (yyvsp[-3].objwithargs);
38375
8
          n->newschema = (yyvsp[0].str);
38376
8
          n->missing_ok = false;
38377
8
          (yyval.node) = (Node *)n;
38378
8
        }
38379
0
#line 38380 "gram.c"
38380
0
    break;
38381
38382
4
  case 1372:
38383
4
#line 9871 "gram.y"
38384
4
    {
38385
4
          if (!YBIsCollationEnabled())
38386
0
            parser_ybc_not_support((yylsp[-5]), "ALTER COLLATION SET SCHEMA");
38387
4
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38388
0
          n->objectType = OBJECT_COLLATION;
38389
4
          n->object = (Node *) (yyvsp[-3].list);
38390
4
          n->newschema = (yyvsp[0].str);
38391
4
          n->missing_ok = false;
38392
4
          (yyval.node) = (Node *)n;
38393
4
        }
38394
0
#line 38395 "gram.c"
38395
0
    break;
38396
38397
0
  case 1373:
38398
0
#line 9882 "gram.y"
38399
0
    {
38400
0
          parser_ybc_not_support((yylsp[-5]), "ALTER CONVERSION SET SCHEMA");
38401
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38402
0
          n->objectType = OBJECT_CONVERSION;
38403
0
          n->object = (Node *) (yyvsp[-3].list);
38404
0
          n->newschema = (yyvsp[0].str);
38405
0
          n->missing_ok = false;
38406
0
          (yyval.node) = (Node *)n;
38407
0
        }
38408
0
#line 38409 "gram.c"
38409
0
    break;
38410
38411
0
  case 1374:
38412
0
#line 9892 "gram.y"
38413
0
    {
38414
0
          parser_ybc_not_support((yylsp[-5]), "ALTER DOMAIN SET SCHEMA");
38415
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38416
0
          n->objectType = OBJECT_DOMAIN;
38417
0
          n->object = (Node *) (yyvsp[-3].list);
38418
0
          n->newschema = (yyvsp[0].str);
38419
0
          n->missing_ok = false;
38420
0
          (yyval.node) = (Node *)n;
38421
0
        }
38422
0
#line 38423 "gram.c"
38423
0
    break;
38424
38425
0
  case 1375:
38426
0
#line 9902 "gram.y"
38427
0
    {
38428
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38429
0
          n->objectType = OBJECT_EXTENSION;
38430
0
          n->object = (Node *) makeString((yyvsp[-3].str));
38431
0
          n->newschema = (yyvsp[0].str);
38432
0
          n->missing_ok = false;
38433
0
          (yyval.node) = (Node *)n;
38434
0
        }
38435
0
#line 38436 "gram.c"
38436
0
    break;
38437
38438
16
  case 1376:
38439
16
#line 9911 "gram.y"
38440
16
    {
38441
16
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38442
0
          n->objectType = OBJECT_FUNCTION;
38443
16
          n->object = (Node *) (yyvsp[-3].objwithargs);
38444
16
          n->newschema = (yyvsp[0].str);
38445
16
          n->missing_ok = false;
38446
16
          (yyval.node) = (Node *)n;
38447
16
        }
38448
0
#line 38449 "gram.c"
38449
0
    break;
38450
38451
16
  case 1377:
38452
16
#line 9920 "gram.y"
38453
16
    {
38454
16
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38455
0
          n->objectType = OBJECT_OPERATOR;
38456
16
          n->object = (Node *) (yyvsp[-3].objwithargs);
38457
16
          n->newschema = (yyvsp[0].str);
38458
16
          n->missing_ok = false;
38459
16
          (yyval.node) = (Node *)n;
38460
16
        }
38461
0
#line 38462 "gram.c"
38462
0
    break;
38463
38464
0
  case 1378:
38465
0
#line 9929 "gram.y"
38466
0
    {
38467
0
          parser_ybc_not_support((yylsp[-8]), "ALTER OPERATOR CLASS SET SCHEMA");
38468
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38469
0
          n->objectType = OBJECT_OPCLASS;
38470
0
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38471
0
          n->newschema = (yyvsp[0].str);
38472
0
          n->missing_ok = false;
38473
0
          (yyval.node) = (Node *)n;
38474
0
        }
38475
0
#line 38476 "gram.c"
38476
0
    break;
38477
38478
12
  case 1379:
38479
12
#line 9939 "gram.y"
38480
12
    {
38481
12
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38482
0
          n->objectType = OBJECT_OPFAMILY;
38483
12
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38484
12
          n->newschema = (yyvsp[0].str);
38485
12
          n->missing_ok = false;
38486
12
          (yyval.node) = (Node *)n;
38487
12
        }
38488
0
#line 38489 "gram.c"
38489
0
    break;
38490
38491
0
  case 1380:
38492
0
#line 9948 "gram.y"
38493
0
    {
38494
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER PROCEDURE SET SCHEMA", 2717);
38495
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38496
0
          n->objectType = OBJECT_PROCEDURE;
38497
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38498
0
          n->newschema = (yyvsp[0].str);
38499
0
          n->missing_ok = false;
38500
0
          (yyval.node) = (Node *)n;
38501
0
        }
38502
0
#line 38503 "gram.c"
38503
0
    break;
38504
38505
0
  case 1381:
38506
0
#line 9958 "gram.y"
38507
0
    {
38508
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER ROUTINE SET SCHEMA", 2717);
38509
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38510
0
          n->objectType = OBJECT_ROUTINE;
38511
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38512
0
          n->newschema = (yyvsp[0].str);
38513
0
          n->missing_ok = false;
38514
0
          (yyval.node) = (Node *)n;
38515
0
        }
38516
0
#line 38517 "gram.c"
38517
0
    break;
38518
38519
2
  case 1382:
38520
2
#line 9968 "gram.y"
38521
2
    {
38522
2
          parser_ybc_not_support((yylsp[-5]), "ALTER TABLE SET SCHEMA");
38523
2
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38524
0
          n->objectType = OBJECT_TABLE;
38525
2
          n->relation = (yyvsp[-3].range);
38526
2
          n->newschema = (yyvsp[0].str);
38527
2
          n->missing_ok = false;
38528
2
          (yyval.node) = (Node *)n;
38529
2
        }
38530
0
#line 38531 "gram.c"
38531
0
    break;
38532
38533
0
  case 1383:
38534
0
#line 9978 "gram.y"
38535
0
    {
38536
0
          parser_ybc_not_support((yylsp[-7]), "ALTER TABLE SET SCHEMA");
38537
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38538
0
          n->objectType = OBJECT_TABLE;
38539
0
          n->relation = (yyvsp[-3].range);
38540
0
          n->newschema = (yyvsp[0].str);
38541
0
          n->missing_ok = true;
38542
0
          (yyval.node) = (Node *)n;
38543
0
        }
38544
0
#line 38545 "gram.c"
38545
0
    break;
38546
38547
0
  case 1384:
38548
0
#line 9988 "gram.y"
38549
0
    {
38550
0
          parser_ybc_not_support((yylsp[-5]), "ALTER STATISTICS SET SCHEMA");
38551
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38552
0
          n->objectType = OBJECT_STATISTIC_EXT;
38553
0
          n->object = (Node *) (yyvsp[-3].list);
38554
0
          n->newschema = (yyvsp[0].str);
38555
0
          n->missing_ok = false;
38556
0
          (yyval.node) = (Node *)n;
38557
0
        }
38558
0
#line 38559 "gram.c"
38559
0
    break;
38560
38561
8
  case 1385:
38562
8
#line 9998 "gram.y"
38563
8
    {
38564
8
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38565
0
          n->objectType = OBJECT_TSPARSER;
38566
8
          n->object = (Node *) (yyvsp[-3].list);
38567
8
          n->newschema = (yyvsp[0].str);
38568
8
          n->missing_ok = false;
38569
8
          (yyval.node) = (Node *)n;
38570
8
        }
38571
0
#line 38572 "gram.c"
38572
0
    break;
38573
38574
0
  case 1386:
38575
0
#line 10007 "gram.y"
38576
0
    {
38577
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38578
0
          n->objectType = OBJECT_TSDICTIONARY;
38579
0
          n->object = (Node *) (yyvsp[-3].list);
38580
0
          n->newschema = (yyvsp[0].str);
38581
0
          n->missing_ok = false;
38582
0
          (yyval.node) = (Node *)n;
38583
0
        }
38584
0
#line 38585 "gram.c"
38585
0
    break;
38586
38587
8
  case 1387:
38588
8
#line 10016 "gram.y"
38589
8
    {
38590
8
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38591
0
          n->objectType = OBJECT_TSTEMPLATE;
38592
8
          n->object = (Node *) (yyvsp[-3].list);
38593
8
          n->newschema = (yyvsp[0].str);
38594
8
          n->missing_ok = false;
38595
8
          (yyval.node) = (Node *)n;
38596
8
        }
38597
0
#line 38598 "gram.c"
38598
0
    break;
38599
38600
0
  case 1388:
38601
0
#line 10025 "gram.y"
38602
0
    {
38603
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38604
0
          n->objectType = OBJECT_TSCONFIGURATION;
38605
0
          n->object = (Node *) (yyvsp[-3].list);
38606
0
          n->newschema = (yyvsp[0].str);
38607
0
          n->missing_ok = false;
38608
0
          (yyval.node) = (Node *)n;
38609
0
        }
38610
0
#line 38611 "gram.c"
38611
0
    break;
38612
38613
0
  case 1389:
38614
0
#line 10034 "gram.y"
38615
0
    {
38616
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER SEQUENCE SET SCHEMA", 1002);
38617
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38618
0
          n->objectType = OBJECT_SEQUENCE;
38619
0
          n->relation = (yyvsp[-3].range);
38620
0
          n->newschema = (yyvsp[0].str);
38621
0
          n->missing_ok = false;
38622
0
          (yyval.node) = (Node *)n;
38623
0
        }
38624
0
#line 38625 "gram.c"
38625
0
    break;
38626
38627
0
  case 1390:
38628
0
#line 10044 "gram.y"
38629
0
    {
38630
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER SEQUENCE SET SCHEMA", 1002);
38631
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38632
0
          n->objectType = OBJECT_SEQUENCE;
38633
0
          n->relation = (yyvsp[-3].range);
38634
0
          n->newschema = (yyvsp[0].str);
38635
0
          n->missing_ok = true;
38636
0
          (yyval.node) = (Node *)n;
38637
0
        }
38638
0
#line 38639 "gram.c"
38639
0
    break;
38640
38641
0
  case 1391:
38642
0
#line 10054 "gram.y"
38643
0
    {
38644
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER VIEW SET SCHEMA", 1131);
38645
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38646
0
          n->objectType = OBJECT_VIEW;
38647
0
          n->relation = (yyvsp[-3].range);
38648
0
          n->newschema = (yyvsp[0].str);
38649
0
          n->missing_ok = false;
38650
0
          (yyval.node) = (Node *)n;
38651
0
        }
38652
0
#line 38653 "gram.c"
38653
0
    break;
38654
38655
0
  case 1392:
38656
0
#line 10064 "gram.y"
38657
0
    {
38658
0
          parser_ybc_signal_unsupported((yylsp[-7]), "ALTER VIEW SET SCHEMA", 1131);
38659
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38660
0
          n->objectType = OBJECT_VIEW;
38661
0
          n->relation = (yyvsp[-3].range);
38662
0
          n->newschema = (yyvsp[0].str);
38663
0
          n->missing_ok = true;
38664
0
          (yyval.node) = (Node *)n;
38665
0
        }
38666
0
#line 38667 "gram.c"
38667
0
    break;
38668
38669
0
  case 1393:
38670
0
#line 10074 "gram.y"
38671
0
    {
38672
0
          parser_ybc_signal_unsupported((yylsp[-6]), "ALTER MATERIALIZED VIEW SET SCHEMA", 1131);
38673
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38674
0
          n->objectType = OBJECT_MATVIEW;
38675
0
          n->relation = (yyvsp[-3].range);
38676
0
          n->newschema = (yyvsp[0].str);
38677
0
          n->missing_ok = false;
38678
0
          (yyval.node) = (Node *)n;
38679
0
        }
38680
0
#line 38681 "gram.c"
38681
0
    break;
38682
38683
0
  case 1394:
38684
0
#line 10084 "gram.y"
38685
0
    {
38686
0
          parser_ybc_signal_unsupported((yylsp[-8]), "ALTER MATERIALIZED VIEW SET SCHEMA", 1131);
38687
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38688
0
          n->objectType = OBJECT_MATVIEW;
38689
0
          n->relation = (yyvsp[-3].range);
38690
0
          n->newschema = (yyvsp[0].str);
38691
0
          n->missing_ok = true;
38692
0
          (yyval.node) = (Node *)n;
38693
0
        }
38694
0
#line 38695 "gram.c"
38695
0
    break;
38696
38697
4
  case 1395:
38698
4
#line 10094 "gram.y"
38699
4
    {
38700
4
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38701
0
          n->objectType = OBJECT_FOREIGN_TABLE;
38702
4
          n->relation = (yyvsp[-3].range);
38703
4
          n->newschema = (yyvsp[0].str);
38704
4
          n->missing_ok = false;
38705
4
          (yyval.node) = (Node *)n;
38706
4
        }
38707
0
#line 38708 "gram.c"
38708
0
    break;
38709
38710
4
  case 1396:
38711
4
#line 10103 "gram.y"
38712
4
    {
38713
4
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38714
0
          n->objectType = OBJECT_FOREIGN_TABLE;
38715
4
          n->relation = (yyvsp[-3].range);
38716
4
          n->newschema = (yyvsp[0].str);
38717
4
          n->missing_ok = true;
38718
4
          (yyval.node) = (Node *)n;
38719
4
        }
38720
0
#line 38721 "gram.c"
38721
0
    break;
38722
38723
0
  case 1397:
38724
0
#line 10112 "gram.y"
38725
0
    {
38726
0
          parser_ybc_signal_unsupported((yylsp[-5]), "ALTER TYPE SET SCHEMA", 1893);
38727
0
          AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38728
0
          n->objectType = OBJECT_TYPE;
38729
0
          n->object = (Node *) (yyvsp[-3].list);
38730
0
          n->newschema = (yyvsp[0].str);
38731
0
          n->missing_ok = false;
38732
0
          (yyval.node) = (Node *)n;
38733
0
        }
38734
0
#line 38735 "gram.c"
38735
0
    break;
38736
38737
124
  case 1398:
38738
124
#line 10131 "gram.y"
38739
124
    {
38740
124
          AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
38741
0
          n->opername = (yyvsp[-4].objwithargs);
38742
124
          n->options = (yyvsp[-1].list);
38743
124
          (yyval.node) = (Node *)n;
38744
124
        }
38745
0
#line 38746 "gram.c"
38746
0
    break;
38747
38748
124
  case 1399:
38749
124
#line 10139 "gram.y"
38750
124
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
38751
124
#line 38752 "gram.c"
38752
124
    break;
38753
38754
76
  case 1400:
38755
76
#line 10140 "gram.y"
38756
76
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
38757
76
#line 38758 "gram.c"
38758
76
    break;
38759
38760
24
  case 1401:
38761
24
#line 10144 "gram.y"
38762
24
    { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
38763
24
#line 38764 "gram.c"
38764
24
    break;
38765
38766
176
  case 1402:
38767
176
#line 10146 "gram.y"
38768
176
    { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
38769
176
#line 38770 "gram.c"
38770
176
    break;
38771
38772
160
  case 1403:
38773
160
#line 10151 "gram.y"
38774
160
    { (yyval.node) = (Node *)(yyvsp[0].typnam); }
38775
160
#line 38776 "gram.c"
38776
160
    break;
38777
38778
0
  case 1404:
38779
0
#line 10152 "gram.y"
38780
0
    { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
38781
0
#line 38782 "gram.c"
38782
0
    break;
38783
38784
16
  case 1405:
38785
16
#line 10153 "gram.y"
38786
16
    { (yyval.node) = (Node *)(yyvsp[0].list); }
38787
16
#line 38788 "gram.c"
38788
16
    break;
38789
38790
0
  case 1406:
38791
0
#line 10154 "gram.y"
38792
0
    { (yyval.node) = (Node *)(yyvsp[0].value); }
38793
0
#line 38794 "gram.c"
38794
0
    break;
38795
38796
0
  case 1407:
38797
0
#line 10155 "gram.y"
38798
0
    { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
38799
0
#line 38800 "gram.c"
38800
0
    break;
38801
38802
20
  case 1408:
38803
20
#line 10165 "gram.y"
38804
20
    {
38805
20
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38806
0
          n->objectType = OBJECT_AGGREGATE;
38807
20
          n->object = (Node *) (yyvsp[-3].objwithargs);
38808
20
          n->newowner = (yyvsp[0].rolespec);
38809
20
          (yyval.node) = (Node *)n;
38810
20
        }
38811
0
#line 38812 "gram.c"
38812
0
    break;
38813
38814
8
  case 1409:
38815
8
#line 10173 "gram.y"
38816
8
    {
38817
8
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38818
0
          n->objectType = OBJECT_COLLATION;
38819
8
          n->object = (Node *) (yyvsp[-3].list);
38820
8
          n->newowner = (yyvsp[0].rolespec);
38821
8
          (yyval.node) = (Node *)n;
38822
8
        }
38823
0
#line 38824 "gram.c"
38824
0
    break;
38825
38826
0
  case 1410:
38827
0
#line 10181 "gram.y"
38828
0
    {
38829
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38830
0
          n->objectType = OBJECT_CONVERSION;
38831
0
          n->object = (Node *) (yyvsp[-3].list);
38832
0
          n->newowner = (yyvsp[0].rolespec);
38833
0
          (yyval.node) = (Node *)n;
38834
0
        }
38835
0
#line 38836 "gram.c"
38836
0
    break;
38837
38838
32
  case 1411:
38839
32
#line 10189 "gram.y"
38840
32
    {
38841
32
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38842
0
          n->objectType = OBJECT_DATABASE;
38843
32
          n->object = (Node *) makeString((yyvsp[-3].str));
38844
32
          n->newowner = (yyvsp[0].rolespec);
38845
32
          (yyval.node) = (Node *)n;
38846
32
        }
38847
0
#line 38848 "gram.c"
38848
0
    break;
38849
38850
0
  case 1412:
38851
0
#line 10197 "gram.y"
38852
0
    {
38853
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38854
0
          n->objectType = OBJECT_DOMAIN;
38855
0
          n->object = (Node *) (yyvsp[-3].list);
38856
0
          n->newowner = (yyvsp[0].rolespec);
38857
0
          (yyval.node) = (Node *)n;
38858
0
        }
38859
0
#line 38860 "gram.c"
38860
0
    break;
38861
38862
72
  case 1413:
38863
72
#line 10205 "gram.y"
38864
72
    {
38865
72
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38866
0
          n->objectType = OBJECT_FUNCTION;
38867
72
          n->object = (Node *) (yyvsp[-3].objwithargs);
38868
72
          n->newowner = (yyvsp[0].rolespec);
38869
72
          (yyval.node) = (Node *)n;
38870
72
        }
38871
0
#line 38872 "gram.c"
38872
0
    break;
38873
38874
0
  case 1414:
38875
0
#line 10213 "gram.y"
38876
0
    {
38877
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38878
0
          n->objectType = OBJECT_LANGUAGE;
38879
0
          n->object = (Node *) makeString((yyvsp[-3].str));
38880
0
          n->newowner = (yyvsp[0].rolespec);
38881
0
          (yyval.node) = (Node *)n;
38882
0
        }
38883
0
#line 38884 "gram.c"
38884
0
    break;
38885
38886
0
  case 1415:
38887
0
#line 10221 "gram.y"
38888
0
    {
38889
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38890
0
          n->objectType = OBJECT_LARGEOBJECT;
38891
0
          n->object = (Node *) (yyvsp[-3].value);
38892
0
          n->newowner = (yyvsp[0].rolespec);
38893
0
          (yyval.node) = (Node *)n;
38894
0
        }
38895
0
#line 38896 "gram.c"
38896
0
    break;
38897
38898
24
  case 1416:
38899
24
#line 10229 "gram.y"
38900
24
    {
38901
24
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38902
0
          n->objectType = OBJECT_OPERATOR;
38903
24
          n->object = (Node *) (yyvsp[-3].objwithargs);
38904
24
          n->newowner = (yyvsp[0].rolespec);
38905
24
          (yyval.node) = (Node *)n;
38906
24
        }
38907
0
#line 38908 "gram.c"
38908
0
    break;
38909
38910
0
  case 1417:
38911
0
#line 10237 "gram.y"
38912
0
    {
38913
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38914
0
          n->objectType = OBJECT_OPCLASS;
38915
0
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38916
0
          n->newowner = (yyvsp[0].rolespec);
38917
0
          (yyval.node) = (Node *)n;
38918
0
        }
38919
0
#line 38920 "gram.c"
38920
0
    break;
38921
38922
32
  case 1418:
38923
32
#line 10245 "gram.y"
38924
32
    {
38925
32
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38926
0
          n->objectType = OBJECT_OPFAMILY;
38927
32
          n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38928
32
          n->newowner = (yyvsp[0].rolespec);
38929
32
          (yyval.node) = (Node *)n;
38930
32
        }
38931
0
#line 38932 "gram.c"
38932
0
    break;
38933
38934
0
  case 1419:
38935
0
#line 10253 "gram.y"
38936
0
    {
38937
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38938
0
          n->objectType = OBJECT_PROCEDURE;
38939
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38940
0
          n->newowner = (yyvsp[0].rolespec);
38941
0
          (yyval.node) = (Node *)n;
38942
0
        }
38943
0
#line 38944 "gram.c"
38944
0
    break;
38945
38946
0
  case 1420:
38947
0
#line 10261 "gram.y"
38948
0
    {
38949
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38950
0
          n->objectType = OBJECT_ROUTINE;
38951
0
          n->object = (Node *) (yyvsp[-3].objwithargs);
38952
0
          n->newowner = (yyvsp[0].rolespec);
38953
0
          (yyval.node) = (Node *)n;
38954
0
        }
38955
0
#line 38956 "gram.c"
38956
0
    break;
38957
38958
4
  case 1421:
38959
4
#line 10269 "gram.y"
38960
4
    {
38961
4
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38962
0
          n->objectType = OBJECT_SCHEMA;
38963
4
          n->object = (Node *) makeString((yyvsp[-3].str));
38964
4
          n->newowner = (yyvsp[0].rolespec);
38965
4
          (yyval.node) = (Node *)n;
38966
4
        }
38967
0
#line 38968 "gram.c"
38968
0
    break;
38969
38970
0
  case 1422:
38971
0
#line 10277 "gram.y"
38972
0
    {
38973
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38974
0
          n->objectType = OBJECT_TYPE;
38975
0
          n->object = (Node *) (yyvsp[-3].list);
38976
0
          n->newowner = (yyvsp[0].rolespec);
38977
0
          (yyval.node) = (Node *)n;
38978
0
        }
38979
0
#line 38980 "gram.c"
38980
0
    break;
38981
38982
28
  case 1423:
38983
28
#line 10285 "gram.y"
38984
28
    {
38985
28
          parser_ybc_beta_feature((yylsp[-5]), "tablegroup", true);
38986
28
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38987
0
          n->objectType = OBJECT_YBTABLEGROUP;
38988
28
          n->object = (Node *) makeString((yyvsp[-3].str));
38989
28
          n->newowner = (yyvsp[0].rolespec);
38990
28
          (yyval.node) = (Node *)n;
38991
28
        }
38992
0
#line 38993 "gram.c"
38993
0
    break;
38994
38995
4
  case 1424:
38996
4
#line 10294 "gram.y"
38997
4
    {
38998
4
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38999
0
          n->objectType = OBJECT_TABLESPACE;
39000
4
          n->object = (Node *) makeString((yyvsp[-3].str));
39001
4
          n->newowner = (yyvsp[0].rolespec);
39002
4
          (yyval.node) = (Node *)n;
39003
4
        }
39004
0
#line 39005 "gram.c"
39005
0
    break;
39006
39007
0
  case 1425:
39008
0
#line 10302 "gram.y"
39009
0
    {
39010
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39011
0
          n->objectType = OBJECT_STATISTIC_EXT;
39012
0
          n->object = (Node *) (yyvsp[-3].list);
39013
0
          n->newowner = (yyvsp[0].rolespec);
39014
0
          (yyval.node) = (Node *)n;
39015
0
        }
39016
0
#line 39017 "gram.c"
39017
0
    break;
39018
39019
0
  case 1426:
39020
0
#line 10310 "gram.y"
39021
0
    {
39022
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39023
0
          n->objectType = OBJECT_TSDICTIONARY;
39024
0
          n->object = (Node *) (yyvsp[-3].list);
39025
0
          n->newowner = (yyvsp[0].rolespec);
39026
0
          (yyval.node) = (Node *)n;
39027
0
        }
39028
0
#line 39029 "gram.c"
39029
0
    break;
39030
39031
0
  case 1427:
39032
0
#line 10318 "gram.y"
39033
0
    {
39034
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39035
0
          n->objectType = OBJECT_TSCONFIGURATION;
39036
0
          n->object = (Node *) (yyvsp[-3].list);
39037
0
          n->newowner = (yyvsp[0].rolespec);
39038
0
          (yyval.node) = (Node *)n;
39039
0
        }
39040
0
#line 39041 "gram.c"
39041
0
    break;
39042
39043
20
  case 1428:
39044
20
#line 10326 "gram.y"
39045
20
    {
39046
20
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39047
0
          n->objectType = OBJECT_FDW;
39048
20
          n->object = (Node *) makeString((yyvsp[-3].str));
39049
20
          n->newowner = (yyvsp[0].rolespec);
39050
20
          (yyval.node) = (Node *)n;
39051
20
        }
39052
0
#line 39053 "gram.c"
39053
0
    break;
39054
39055
44
  case 1429:
39056
44
#line 10334 "gram.y"
39057
44
    {
39058
44
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39059
0
          n->objectType = OBJECT_FOREIGN_SERVER;
39060
44
          n->object = (Node *) makeString((yyvsp[-3].str));
39061
44
          n->newowner = (yyvsp[0].rolespec);
39062
44
          (yyval.node) = (Node *)n;
39063
44
        }
39064
0
#line 39065 "gram.c"
39065
0
    break;
39066
39067
8
  case 1430:
39068
8
#line 10342 "gram.y"
39069
8
    {
39070
8
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39071
0
          n->objectType = OBJECT_EVENT_TRIGGER;
39072
8
          n->object = (Node *) makeString((yyvsp[-3].str));
39073
8
          n->newowner = (yyvsp[0].rolespec);
39074
8
          (yyval.node) = (Node *)n;
39075
8
        }
39076
0
#line 39077 "gram.c"
39077
0
    break;
39078
39079
0
  case 1431:
39080
0
#line 10350 "gram.y"
39081
0
    {
39082
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39083
0
          n->objectType = OBJECT_PUBLICATION;
39084
0
          n->object = (Node *) makeString((yyvsp[-3].str));
39085
0
          n->newowner = (yyvsp[0].rolespec);
39086
0
          (yyval.node) = (Node *)n;
39087
0
        }
39088
0
#line 39089 "gram.c"
39089
0
    break;
39090
39091
0
  case 1432:
39092
0
#line 10358 "gram.y"
39093
0
    {
39094
0
          AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
39095
0
          n->objectType = OBJECT_SUBSCRIPTION;
39096
0
          n->object = (Node *) makeString((yyvsp[-3].str));
39097
0
          n->newowner = (yyvsp[0].rolespec);
39098
0
          (yyval.node) = (Node *)n;
39099
0
        }
39100
0
#line 39101 "gram.c"
39101
0
    break;
39102
39103
0
  case 1433:
39104
0
#line 10376 "gram.y"
39105
0
    {
39106
0
          parser_ybc_not_support((yylsp[-4]), "CREATE PUBLICATION");
39107
0
          CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
39108
0
          n->pubname = (yyvsp[-2].str);
39109
0
          n->options = (yyvsp[0].list);
39110
0
          if ((yyvsp[-1].node) != NULL)
39111
0
          {
39112
            /* FOR TABLE */
39113
0
            if (IsA((yyvsp[-1].node), List))
39114
0
              n->tables = (List *)(yyvsp[-1].node);
39115
            /* FOR ALL TABLES */
39116
0
            else
39117
0
              n->for_all_tables = true;
39118
0
          }
39119
0
          (yyval.node) = (Node *)n;
39120
0
        }
39121
0
#line 39122 "gram.c"
39122
0
    break;
39123
39124
0
  case 1434:
39125
0
#line 10395 "gram.y"
39126
0
    { (yyval.node) = (yyvsp[0].node); }
39127
0
#line 39128 "gram.c"
39128
0
    break;
39129
39130
0
  case 1435:
39131
0
#line 10396 "gram.y"
39132
0
    { (yyval.node) = NULL; }
39133
0
#line 39134 "gram.c"
39134
0
    break;
39135
39136
0
  case 1436:
39137
0
#line 10401 "gram.y"
39138
0
    {
39139
0
          (yyval.node) = (Node *) (yyvsp[0].list);
39140
0
        }
39141
0
#line 39142 "gram.c"
39142
0
    break;
39143
39144
0
  case 1437:
39145
0
#line 10405 "gram.y"
39146
0
    {
39147
0
          (yyval.node) = (Node *) makeInteger(true);
39148
0
        }
39149
0
#line 39150 "gram.c"
39150
0
    break;
39151
39152
0
  case 1438:
39153
0
#line 10425 "gram.y"
39154
0
    {
39155
0
          parser_ybc_not_support((yylsp[-4]), "ALTER PUBLICATION <name>");
39156
0
          AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
39157
0
          n->pubname = (yyvsp[-2].str);
39158
0
          n->options = (yyvsp[0].list);
39159
0
          (yyval.node) = (Node *)n;
39160
0
        }
39161
0
#line 39162 "gram.c"
39162
0
    break;
39163
39164
0
  case 1439:
39165
0
#line 10433 "gram.y"
39166
0
    {
39167
0
          parser_ybc_not_support((yylsp[-5]), "ALTER PUBLICATION ADD TABLE");
39168
0
          AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
39169
0
          n->pubname = (yyvsp[-3].str);
39170
0
          n->tables = (yyvsp[0].list);
39171
0
          n->tableAction = DEFELEM_ADD;
39172
0
          (yyval.node) = (Node *)n;
39173
0
        }
39174
0
#line 39175 "gram.c"
39175
0
    break;
39176
39177
0
  case 1440:
39178
0
#line 10442 "gram.y"
39179
0
    {
39180
0
          parser_ybc_not_support((yylsp[-5]), "ALTER PUBLICATION SET TABLE");
39181
0
          AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
39182
0
          n->pubname = (yyvsp[-3].str);
39183
0
          n->tables = (yyvsp[0].list);
39184
0
          n->tableAction = DEFELEM_SET;
39185
0
          (yyval.node) = (Node *)n;
39186
0
        }
39187
0
#line 39188 "gram.c"
39188
0
    break;
39189
39190
0
  case 1441:
39191
0
#line 10451 "gram.y"
39192
0
    {
39193
0
          parser_ybc_not_support((yylsp[-5]), "ALTER PUBLICATION DROP TABLE");
39194
0
          AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
39195
0
          n->pubname = (yyvsp[-3].str);
39196
0
          n->tables = (yyvsp[0].list);
39197
0
          n->tableAction = DEFELEM_DROP;
39198
0
          (yyval.node) = (Node *)n;
39199
0
        }
39200
0
#line 39201 "gram.c"
39201
0
    break;
39202
39203
0
  case 1442:
39204
0
#line 10469 "gram.y"
39205
0
    {
39206
0
          parser_ybc_not_support((yylsp[-7]), "CREATE SUBSCRIPTION");
39207
0
          CreateSubscriptionStmt *n =
39208
0
            makeNode(CreateSubscriptionStmt);
39209
0
          n->subname = (yyvsp[-5].str);
39210
0
          n->conninfo = (yyvsp[-3].str);
39211
0
          n->publication = (yyvsp[-1].list);
39212
0
          n->options = (yyvsp[0].list);
39213
0
          (yyval.node) = (Node *)n;
39214
0
        }
39215
0
#line 39216 "gram.c"
39216
0
    break;
39217
39218
0
  case 1443:
39219
0
#line 10483 "gram.y"
39220
0
    {
39221
0
          (yyval.list) = list_make1((yyvsp[0].value));
39222
0
        }
39223
0
#line 39224 "gram.c"
39224
0
    break;
39225
39226
0
  case 1444:
39227
0
#line 10487 "gram.y"
39228
0
    {
39229
0
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value));
39230
0
        }
39231
0
#line 39232 "gram.c"
39232
0
    break;
39233
39234
0
  case 1445:
39235
0
#line 10493 "gram.y"
39236
0
    { (yyval.value) = makeString((yyvsp[0].str)); }
39237
0
#line 39238 "gram.c"
39238
0
    break;
39239
39240
0
  case 1446:
39241
0
#line 10503 "gram.y"
39242
0
    {
39243
0
          parser_ybc_not_support((yylsp[-4]), "ALTER SUBSCRIPTION");
39244
0
          AlterSubscriptionStmt *n =
39245
0
            makeNode(AlterSubscriptionStmt);
39246
0
          n->kind = ALTER_SUBSCRIPTION_OPTIONS;
39247
0
          n->subname = (yyvsp[-2].str);
39248
0
          n->options = (yyvsp[0].list);
39249
0
          (yyval.node) = (Node *)n;
39250
0
        }
39251
0
#line 39252 "gram.c"
39252
0
    break;
39253
39254
0
  case 1447:
39255
0
#line 10513 "gram.y"
39256
0
    {
39257
0
          parser_ybc_not_support((yylsp[-4]), "ALTER SUBSCRIPTION");
39258
0
          AlterSubscriptionStmt *n =
39259
0
            makeNode(AlterSubscriptionStmt);
39260
0
          n->kind = ALTER_SUBSCRIPTION_CONNECTION;
39261
0
          n->subname = (yyvsp[-2].str);
39262
0
          n->conninfo = (yyvsp[0].str);
39263
0
          (yyval.node) = (Node *)n;
39264
0
        }
39265
0
#line 39266 "gram.c"
39266
0
    break;
39267
39268
0
  case 1448:
39269
0
#line 10523 "gram.y"
39270
0
    {
39271
0
          parser_ybc_not_support((yylsp[-5]), "ALTER SUBSCRIPTION");
39272
0
          AlterSubscriptionStmt *n =
39273
0
            makeNode(AlterSubscriptionStmt);
39274
0
          n->kind = ALTER_SUBSCRIPTION_REFRESH;
39275
0
          n->subname = (yyvsp[-3].str);
39276
0
          n->options = (yyvsp[0].list);
39277
0
          (yyval.node) = (Node *)n;
39278
0
        }
39279
0
#line 39280 "gram.c"
39280
0
    break;
39281
39282
0
  case 1449:
39283
0
#line 10533 "gram.y"
39284
0
    {
39285
0
          parser_ybc_not_support((yylsp[-6]), "ALTER SUBSCRIPTION");
39286
0
          AlterSubscriptionStmt *n =
39287
0
            makeNode(AlterSubscriptionStmt);
39288
0
          n->kind = ALTER_SUBSCRIPTION_PUBLICATION;
39289
0
          n->subname = (yyvsp[-4].str);
39290
0
          n->publication = (yyvsp[-1].list);
39291
0
          n->options = (yyvsp[0].list);
39292
0
          (yyval.node) = (Node *)n;
39293
0
        }
39294
0
#line 39295 "gram.c"
39295
0
    break;
39296
39297
0
  case 1450:
39298
0
#line 10544 "gram.y"
39299
0
    {
39300
0
          parser_ybc_not_support((yylsp[-3]), "ALTER SUBSCRIPTION");
39301
0
          AlterSubscriptionStmt *n =
39302
0
            makeNode(AlterSubscriptionStmt);
39303
0
          n->kind = ALTER_SUBSCRIPTION_ENABLED;
39304
0
          n->subname = (yyvsp[-1].str);
39305
0
          n->options = list_make1(makeDefElem("enabled",
39306
0
                      (Node *)makeInteger(true), (yylsp[-3])));
39307
0
          (yyval.node) = (Node *)n;
39308
0
        }
39309
0
#line 39310 "gram.c"
39310
0
    break;
39311
39312
0
  case 1451:
39313
0
#line 10555 "gram.y"
39314
0
    {
39315
0
          parser_ybc_not_support((yylsp[-3]), "ALTER SUBSCRIPTION");
39316
0
          AlterSubscriptionStmt *n =
39317
0
            makeNode(AlterSubscriptionStmt);
39318
0
          n->kind = ALTER_SUBSCRIPTION_ENABLED;
39319
0
          n->subname = (yyvsp[-1].str);
39320
0
          n->options = list_make1(makeDefElem("enabled",
39321
0
                      (Node *)makeInteger(false), (yylsp[-3])));
39322
0
          (yyval.node) = (Node *)n;
39323
0
        }
39324
0
#line 39325 "gram.c"
39325
0
    break;
39326
39327
0
  case 1452:
39328
0
#line 10574 "gram.y"
39329
0
    {
39330
0
          parser_ybc_not_support((yylsp[-3]), "DROP SUBSCRIPTION");
39331
0
          DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
39332
0
          n->subname = (yyvsp[-1].str);
39333
0
          n->missing_ok = false;
39334
0
          n->behavior = (yyvsp[0].dbehavior);
39335
0
          (yyval.node) = (Node *) n;
39336
0
        }
39337
0
#line 39338 "gram.c"
39338
0
    break;
39339
39340
0
  case 1453:
39341
0
#line 10583 "gram.y"
39342
0
    {
39343
0
          parser_ybc_not_support((yylsp[-5]), "DROP SUBSCRIPTION");
39344
0
          DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
39345
0
          n->subname = (yyvsp[-1].str);
39346
0
          n->missing_ok = true;
39347
0
          n->behavior = (yyvsp[0].dbehavior);
39348
0
          (yyval.node) = (Node *) n;
39349
0
        }
39350
0
#line 39351 "gram.c"
39351
0
    break;
39352
39353
272
  case 1454:
39354
272
#line 10602 "gram.y"
39355
272
    {
39356
272
          RuleStmt *n = makeNode(RuleStmt);
39357
0
          n->replace = (yyvsp[-11].boolean);
39358
272
          n->relation = (yyvsp[-4].range);
39359
272
          n->rulename = (yyvsp[-9].str);
39360
272
          n->whereClause = (yyvsp[-3].node);
39361
272
          n->event = (yyvsp[-6].ival);
39362
272
          n->instead = (yyvsp[-1].boolean);
39363
272
          n->actions = (yyvsp[0].list);
39364
272
          (yyval.node) = (Node *)n;
39365
272
        }
39366
0
#line 39367 "gram.c"
39367
0
    break;
39368
39369
34
  case 1455:
39370
34
#line 10616 "gram.y"
39371
34
    { (yyval.list) = NIL; }
39372
34
#line 39373 "gram.c"
39373
34
    break;
39374
39375
214
  case 1456:
39376
214
#line 10617 "gram.y"
39377
214
    { (yyval.list) = list_make1((yyvsp[0].node)); }
39378
214
#line 39379 "gram.c"
39379
214
    break;
39380
39381
24
  case 1457:
39382
24
#line 10618 "gram.y"
39383
24
    { (yyval.list) = (yyvsp[-1].list); }
39384
24
#line 39385 "gram.c"
39385
24
    break;
39386
39387
32
  case 1458:
39388
32
#line 10624 "gram.y"
39389
32
    { if ((yyvsp[0].node) != NULL)
39390
24
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
39391
8
          else
39392
8
          (yyval.list) = (yyvsp[-2].list);
39393
32
        }
39394
32
#line 39395 "gram.c"
39395
32
    break;
39396
39397
24
  case 1459:
39398
24
#line 10630 "gram.y"
39399
24
    { if ((yyvsp[0].node) != NULL)
39400
24
          (yyval.list) = list_make1((yyvsp[0].node));
39401
0
          else
39402
0
          (yyval.list) = NIL;
39403
24
        }
39404
24
#line 39405 "gram.c"
39405
24
    break;
39406
39407
48
  case 1465:
39408
48
#line 10646 "gram.y"
39409
48
    { (yyval.node) = (yyvsp[0].node); }
39410
48
#line 39411 "gram.c"
39411
48
    break;
39412
39413
8
  case 1466:
39414
8
#line 10647 "gram.y"
39415
8
    { (yyval.node) = NULL; }
39416
8
#line 39417 "gram.c"
39417
8
    break;
39418
39419
12
  case 1467:
39420
12
#line 10650 "gram.y"
39421
12
    { (yyval.ival) = CMD_SELECT; }
39422
12
#line 39423 "gram.c"
39423
12
    break;
39424
39425
76
  case 1468:
39426
76
#line 10651 "gram.y"
39427
76
    { (yyval.ival) = CMD_UPDATE; }
39428
76
#line 39429 "gram.c"
39429
76
    break;
39430
39431
52
  case 1469:
39432
52
#line 10652 "gram.y"
39433
52
    { (yyval.ival) = CMD_DELETE; }
39434
52
#line 39435 "gram.c"
39435
52
    break;
39436
39437
132
  case 1470:
39438
132
#line 10653 "gram.y"
39439
132
    { (yyval.ival) = CMD_INSERT; }
39440
132
#line 39441 "gram.c"
39441
132
    break;
39442
39443
194
  case 1471:
39444
194
#line 10657 "gram.y"
39445
194
    { (yyval.boolean) = true; }
39446
194
#line 39447 "gram.c"
39447
194
    break;
39448
39449
40
  case 1472:
39450
40
#line 10658 "gram.y"
39451
40
    { (yyval.boolean) = false; }
39452
40
#line 39453 "gram.c"
39453
40
    break;
39454
39455
38
  case 1473:
39456
38
#line 10659 "gram.y"
39457
38
    { (yyval.boolean) = false; }
39458
38
#line 39459 "gram.c"
39459
38
    break;
39460
39461
8
  case 1474:
39462
8
#line 10672 "gram.y"
39463
8
    {
39464
8
          NotifyStmt *n = makeNode(NotifyStmt);
39465
0
          n->conditionname = (yyvsp[-1].str);
39466
8
          n->payload = (yyvsp[0].str);
39467
8
          (yyval.node) = (Node *)n;
39468
8
        }
39469
0
#line 39470 "gram.c"
39470
0
    break;
39471
39472
4
  case 1475:
39473
4
#line 10681 "gram.y"
39474
4
    { (yyval.str) = (yyvsp[0].str); }
39475
4
#line 39476 "gram.c"
39476
4
    break;
39477
39478
4
  case 1476:
39479
4
#line 10682 "gram.y"
39480
4
    { (yyval.str) = NULL; }
39481
4
#line 39482 "gram.c"
39482
4
    break;
39483
39484
4
  case 1477:
39485
4
#line 10686 "gram.y"
39486
4
    {
39487
4
          ListenStmt *n = makeNode(ListenStmt);
39488
0
          n->conditionname = (yyvsp[0].str);
39489
4
          (yyval.node) = (Node *)n;
39490
4
        }
39491
0
#line 39492 "gram.c"
39492
0
    break;
39493
39494
4
  case 1478:
39495
4
#line 10695 "gram.y"
39496
4
    {
39497
4
          UnlistenStmt *n = makeNode(UnlistenStmt);
39498
0
          n->conditionname = (yyvsp[0].str);
39499
4
          (yyval.node) = (Node *)n;
39500
4
        }
39501
0
#line 39502 "gram.c"
39502
0
    break;
39503
39504
4
  case 1479:
39505
4
#line 10701 "gram.y"
39506
4
    {
39507
4
          UnlistenStmt *n = makeNode(UnlistenStmt);
39508
0
          n->conditionname = NULL;
39509
4
          (yyval.node) = (Node *)n;
39510
4
        }
39511
0
#line 39512 "gram.c"
39512
0
    break;
39513
39514
180
  case 1480:
39515
180
#line 10720 "gram.y"
39516
180
    {
39517
180
          TransactionStmt *n = makeNode(TransactionStmt);
39518
0
          n->kind = TRANS_STMT_ROLLBACK;
39519
180
          n->options = NIL;
39520
180
          (yyval.node) = (Node *)n;
39521
180
        }
39522
0
#line 39523 "gram.c"
39523
0
    break;
39524
39525
147k
  case 1481:
39526
147k
#line 10727 "gram.y"
39527
147k
    {
39528
147k
          TransactionStmt *n = makeNode(TransactionStmt);
39529
0
          n->kind = TRANS_STMT_BEGIN;
39530
147k
          n->options = (yyvsp[0].list);
39531
147k
          (yyval.node) = (Node *)n;
39532
147k
        }
39533
0
#line 39534 "gram.c"
39534
0
    break;
39535
39536
61.1k
  case 1482:
39537
61.1k
#line 10734 "gram.y"
39538
61.1k
    {
39539
61.1k
          TransactionStmt *n = makeNode(TransactionStmt);
39540
0
          n->kind = TRANS_STMT_START;
39541
61.1k
          n->options = (yyvsp[0].list);
39542
61.1k
          (yyval.node) = (Node *)n;
39543
61.1k
        }
39544
0
#line 39545 "gram.c"
39545
0
    break;
39546
39547
120k
  case 1483:
39548
120k
#line 10741 "gram.y"
39549
120k
    {
39550
120k
          TransactionStmt *n = makeNode(TransactionStmt);
39551
0
          n->kind = TRANS_STMT_COMMIT;
39552
120k
          n->options = NIL;
39553
120k
          (yyval.node) = (Node *)n;
39554
120k
        }
39555
0
#line 39556 "gram.c"
39556
0
    break;
39557
39558
4.91k
  case 1484:
39559
4.91k
#line 10748 "gram.y"
39560
4.91k
    {
39561
4.91k
          TransactionStmt *n = makeNode(TransactionStmt);
39562
0
          n->kind = TRANS_STMT_COMMIT;
39563
4.91k
          n->options = NIL;
39564
4.91k
          (yyval.node) = (Node *)n;
39565
4.91k
        }
39566
0
#line 39567 "gram.c"
39567
0
    break;
39568
39569
88.1k
  case 1485:
39570
88.1k
#line 10755 "gram.y"
39571
88.1k
    {
39572
88.1k
          TransactionStmt *n = makeNode(TransactionStmt);
39573
0
          n->kind = TRANS_STMT_ROLLBACK;
39574
88.1k
          n->options = NIL;
39575
88.1k
          (yyval.node) = (Node *)n;
39576
88.1k
        }
39577
0
#line 39578 "gram.c"
39578
0
    break;
39579
39580
5.90k
  case 1486:
39581
5.90k
#line 10762 "gram.y"
39582
5.90k
    {
39583
5.90k
          if (!YBSavepointsEnabled()) {
39584
0
            parser_ybc_signal_unsupported((yylsp[-1]), "SAVEPOINT <transaction>", 1125);
39585
0
          }
39586
5.90k
          TransactionStmt *n = makeNode(TransactionStmt);
39587
0
          n->kind = TRANS_STMT_SAVEPOINT;
39588
5.90k
          n->savepoint_name = (yyvsp[0].str);
39589
5.90k
          (yyval.node) = (Node *)n;
39590
5.90k
        }
39591
0
#line 39592 "gram.c"
39592
0
    break;
39593
39594
96
  case 1487:
39595
96
#line 10772 "gram.y"
39596
96
    {
39597
96
          if (!YBSavepointsEnabled()) {
39598
0
            parser_ybc_signal_unsupported((yylsp[-2]), "RELEASE SAVEPOINT <transaction>", 1125);
39599
0
          }
39600
96
          TransactionStmt *n = makeNode(TransactionStmt);
39601
0
          n->kind = TRANS_STMT_RELEASE;
39602
96
          n->savepoint_name = (yyvsp[0].str);
39603
96
          (yyval.node) = (Node *)n;
39604
96
        }
39605
0
#line 39606 "gram.c"
39606
0
    break;
39607
39608
1.21k
  case 1488:
39609
1.21k
#line 10782 "gram.y"
39610
1.21k
    {
39611
1.21k
          if (!YBSavepointsEnabled()) {
39612
0
            parser_ybc_signal_unsupported((yylsp[-1]), "RELEASE <transaction>", 1125);
39613
0
          }
39614
1.21k
          TransactionStmt *n = makeNode(TransactionStmt);
39615
0
          n->kind = TRANS_STMT_RELEASE;
39616
1.21k
          n->savepoint_name = (yyvsp[0].str);
39617
1.21k
          (yyval.node) = (Node *)n;
39618
1.21k
        }
39619
0
#line 39620 "gram.c"
39620
0
    break;
39621
39622
68
  case 1489:
39623
68
#line 10792 "gram.y"
39624
68
    {
39625
68
          if (!YBSavepointsEnabled()) {
39626
0
            parser_ybc_signal_unsupported((yylsp[-4]), "ROLLBACK <transaction>", 1125);
39627
0
          }
39628
68
          TransactionStmt *n = makeNode(TransactionStmt);
39629
0
          n->kind = TRANS_STMT_ROLLBACK_TO;
39630
68
          n->savepoint_name = (yyvsp[0].str);
39631
68
          (yyval.node) = (Node *)n;
39632
68
        }
39633
0
#line 39634 "gram.c"
39634
0
    break;
39635
39636
2.18k
  case 1490:
39637
2.18k
#line 10802 "gram.y"
39638
2.18k
    {
39639
2.18k
          if (!YBSavepointsEnabled()) {
39640
0
            parser_ybc_signal_unsupported((yylsp[-3]), "ROLLBACK <transaction>", 1125);
39641
0
          }
39642
2.18k
          TransactionStmt *n = makeNode(TransactionStmt);
39643
0
          n->kind = TRANS_STMT_ROLLBACK_TO;
39644
2.18k
          n->savepoint_name = (yyvsp[0].str);
39645
2.18k
          (yyval.node) = (Node *)n;
39646
2.18k
        }
39647
0
#line 39648 "gram.c"
39648
0
    break;
39649
39650
0
  case 1491:
39651
0
#line 10812 "gram.y"
39652
0
    {
39653
0
          parser_ybc_signal_unsupported((yylsp[-2]), "PREPARE TRANSACTION", 1125);
39654
0
          TransactionStmt *n = makeNode(TransactionStmt);
39655
0
          n->kind = TRANS_STMT_PREPARE;
39656
0
          n->gid = (yyvsp[0].str);
39657
0
          (yyval.node) = (Node *)n;
39658
0
        }
39659
0
#line 39660 "gram.c"
39660
0
    break;
39661
39662
0
  case 1492:
39663
0
#line 10820 "gram.y"
39664
0
    {
39665
0
          parser_ybc_signal_unsupported((yylsp[-2]), "COMMIT PREPARED", 1125);
39666
0
          TransactionStmt *n = makeNode(TransactionStmt);
39667
0
          n->kind = TRANS_STMT_COMMIT_PREPARED;
39668
0
          n->gid = (yyvsp[0].str);
39669
0
          (yyval.node) = (Node *)n;
39670
0
        }
39671
0
#line 39672 "gram.c"
39672
0
    break;
39673
39674
0
  case 1493:
39675
0
#line 10828 "gram.y"
39676
0
    {
39677
0
          parser_ybc_signal_unsupported((yylsp[-2]), "ROLLBACK PREPARED", 1125);
39678
0
          TransactionStmt *n = makeNode(TransactionStmt);
39679
0
          n->kind = TRANS_STMT_ROLLBACK_PREPARED;
39680
0
          n->gid = (yyvsp[0].str);
39681
0
          (yyval.node) = (Node *)n;
39682
0
        }
39683
0
#line 39684 "gram.c"
39684
0
    break;
39685
39686
0
  case 1494:
39687
0
#line 10837 "gram.y"
39688
0
    {}
39689
0
#line 39690 "gram.c"
39690
0
    break;
39691
39692
1.57k
  case 1495:
39693
1.57k
#line 10838 "gram.y"
39694
1.57k
    {}
39695
1.57k
#line 39696 "gram.c"
39696
1.57k
    break;
39697
39698
362k
  case 1496:
39699
362k
#line 10839 "gram.y"
39700
362k
    {}
39701
362k
#line 39702 "gram.c"
39702
362k
    break;
39703
39704
56.5k
  case 1497:
39705
56.5k
#line 10844 "gram.y"
39706
56.5k
    { (yyval.defelt) = makeDefElem("transaction_isolation",
39707
56.5k
                     makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
39708
56.5k
#line 39709 "gram.c"
39709
56.5k
    break;
39710
39711
24
  case 1498:
39712
24
#line 10847 "gram.y"
39713
24
    { (yyval.defelt) = makeDefElem("transaction_read_only",
39714
24
                     makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
39715
24
#line 39716 "gram.c"
39716
24
    break;
39717
39718
12
  case 1499:
39719
12
#line 10850 "gram.y"
39720
12
    { (yyval.defelt) = makeDefElem("transaction_read_only",
39721
12
                     makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
39722
12
#line 39723 "gram.c"
39723
12
    break;
39724
39725
20
  case 1500:
39726
20
#line 10853 "gram.y"
39727
20
    {
39728
20
          (yyval.defelt) = makeDefElem("transaction_deferrable",
39729
20
                   makeIntConst(true, (yylsp[0])), (yylsp[0]));
39730
20
        }
39731
20
#line 39732 "gram.c"
39732
20
    break;
39733
39734
0
  case 1501:
39735
0
#line 10858 "gram.y"
39736
0
    {
39737
0
          (yyval.defelt) = makeDefElem("transaction_deferrable",
39738
0
                   makeIntConst(false, (yylsp[-1])), (yylsp[-1]));
39739
0
        }
39740
0
#line 39741 "gram.c"
39741
0
    break;
39742
39743
56.5k
  case 1502:
39744
56.5k
#line 10867 "gram.y"
39745
56.5k
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
39746
56.5k
#line 39747 "gram.c"
39747
56.5k
    break;
39748
39749
40
  case 1503:
39750
40
#line 10869 "gram.y"
39751
40
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
39752
40
#line 39753 "gram.c"
39753
40
    break;
39754
39755
4
  case 1504:
39756
4
#line 10871 "gram.y"
39757
4
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
39758
4
#line 39759 "gram.c"
39759
4
    break;
39760
39761
164k
  case 1506:
39762
164k
#line 10877 "gram.y"
39763
164k
    { (yyval.list) = NIL; }
39764
164k
#line 39765 "gram.c"
39765
164k
    break;
39766
39767
2.00k
  case 1507:
39768
2.00k
#line 10891 "gram.y"
39769
2.00k
    {
39770
2.00k
          ViewStmt *n = makeNode(ViewStmt);
39771
0
          n->view = (yyvsp[-5].range);
39772
2.00k
          n->view->relpersistence = (yyvsp[-7].ival);
39773
2.00k
          n->aliases = (yyvsp[-4].list);
39774
2.00k
          n->query = (yyvsp[-1].node);
39775
2.00k
          n->replace = false;
39776
2.00k
          n->options = (yyvsp[-3].list);
39777
2.00k
          n->withCheckOption = (yyvsp[0].ival);
39778
2.00k
          (yyval.node) = (Node *) n;
39779
2.00k
        }
39780
0
#line 39781 "gram.c"
39781
0
    break;
39782
39783
51
  case 1508:
39784
51
#line 10904 "gram.y"
39785
51
    {
39786
51
          ViewStmt *n = makeNode(ViewStmt);
39787
0
          n->view = (yyvsp[-5].range);
39788
51
          n->view->relpersistence = (yyvsp[-7].ival);
39789
51
          n->aliases = (yyvsp[-4].list);
39790
51
          n->query = (yyvsp[-1].node);
39791
51
          n->replace = true;
39792
51
          n->options = (yyvsp[-3].list);
39793
51
          n->withCheckOption = (yyvsp[0].ival);
39794
51
          (yyval.node) = (Node *) n;
39795
51
        }
39796
0
#line 39797 "gram.c"
39797
0
    break;
39798
39799
2
  case 1509:
39800
2
#line 10917 "gram.y"
39801
2
    {
39802
2
          parser_ybc_not_support((yylsp[-11]), "CREATE RECURSIVE VIEW");
39803
2
          ViewStmt *n = makeNode(ViewStmt);
39804
0
          n->view = (yyvsp[-7].range);
39805
2
          n->view->relpersistence = (yyvsp[-10].ival);
39806
2
          n->aliases = (yyvsp[-5].list);
39807
2
          n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
39808
2
          n->replace = false;
39809
2
          n->options = (yyvsp[-3].list);
39810
2
          n->withCheckOption = (yyvsp[0].ival);
39811
2
          if (n->withCheckOption != NO_CHECK_OPTION)
39812
2
            ereport(ERROR,
39813
2
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
39814
2
                 errmsg("WITH CHECK OPTION not supported on recursive views"),
39815
2
                 parser_errposition((yylsp[0]))));
39816
2
          (yyval.node) = (Node *) n;
39817
2
        }
39818
0
#line 39819 "gram.c"
39819
0
    break;
39820
39821
0
  case 1510:
39822
0
#line 10936 "gram.y"
39823
0
    {
39824
0
          parser_ybc_not_support((yylsp[-13]), "CREATE RECURSIVE VIEW");
39825
0
          ViewStmt *n = makeNode(ViewStmt);
39826
0
          n->view = (yyvsp[-7].range);
39827
0
          n->view->relpersistence = (yyvsp[-10].ival);
39828
0
          n->aliases = (yyvsp[-5].list);
39829
0
          n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
39830
0
          n->replace = true;
39831
0
          n->options = (yyvsp[-3].list);
39832
0
          n->withCheckOption = (yyvsp[0].ival);
39833
0
          if (n->withCheckOption != NO_CHECK_OPTION)
39834
0
            ereport(ERROR,
39835
0
                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
39836
0
                 errmsg("WITH CHECK OPTION not supported on recursive views"),
39837
0
                 parser_errposition((yylsp[0]))));
39838
0
          (yyval.node) = (Node *) n;
39839
0
        }
39840
0
#line 39841 "gram.c"
39841
0
    break;
39842
39843
6
  case 1511:
39844
6
#line 10957 "gram.y"
39845
6
    {
39846
6
        parser_ybc_not_support((yylsp[-2]), "VIEW WITH CHECK OPTION");
39847
6
        (yyval.ival) = CASCADED_CHECK_OPTION;
39848
6
      }
39849
6
#line 39850 "gram.c"
39850
6
    break;
39851
39852
0
  case 1512:
39853
0
#line 10962 "gram.y"
39854
0
    {
39855
0
        parser_ybc_not_support((yylsp[-3]), "VIEW WITH CASCADED CHECK OPTION");
39856
0
        (yyval.ival) = CASCADED_CHECK_OPTION;
39857
0
      }
39858
0
#line 39859 "gram.c"
39859
0
    break;
39860
39861
0
  case 1513:
39862
0
#line 10967 "gram.y"
39863
0
    {
39864
0
        parser_ybc_not_support((yylsp[-3]), "VIEW WITH LOCAL CHECK OPTION");
39865
0
        (yyval.ival) = LOCAL_CHECK_OPTION;
39866
0
      }
39867
0
#line 39868 "gram.c"
39868
0
    break;
39869
39870
2.05k
  case 1514:
39871
2.05k
#line 10971 "gram.y"
39872
2.05k
    { (yyval.ival) = NO_CHECK_OPTION; }
39873
2.05k
#line 39874 "gram.c"
39874
2.05k
    break;
39875
39876
2
  case 1515:
39877
2
#line 10982 "gram.y"
39878
2
    {
39879
2
          parser_ybc_not_support((yylsp[-1]), "LOAD");
39880
2
          LoadStmt *n = makeNode(LoadStmt);
39881
0
          n->filename = (yyvsp[0].str);
39882
2
          (yyval.node) = (Node *)n;
39883
2
        }
39884
0
#line 39885 "gram.c"
39885
0
    break;
39886
39887
562
  case 1516:
39888
562
#line 10999 "gram.y"
39889
562
    {
39890
562
          CreatedbStmt *n = makeNode(CreatedbStmt);
39891
0
          n->dbname = (yyvsp[-2].str);
39892
562
          n->options = (yyvsp[0].list);
39893
562
          (yyval.node) = (Node *)n;
39894
562
        }
39895
0
#line 39896 "gram.c"
39896
0
    break;
39897
39898
126
  case 1517:
39899
126
#line 11008 "gram.y"
39900
126
    { (yyval.list) = (yyvsp[0].list); }
39901
126
#line 39902 "gram.c"
39902
126
    break;
39903
39904
448
  case 1518:
39905
448
#line 11009 "gram.y"
39906
448
    { (yyval.list) = NIL; }
39907
448
#line 39908 "gram.c"
39908
448
    break;
39909
39910
126
  case 1519:
39911
126
#line 11013 "gram.y"
39912
126
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
39913
126
#line 39914 "gram.c"
39914
126
    break;
39915
39916
82
  case 1520:
39917
82
#line 11014 "gram.y"
39918
82
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
39919
82
#line 39920 "gram.c"
39920
82
    break;
39921
39922
8
  case 1521:
39923
8
#line 11019 "gram.y"
39924
8
    {
39925
8
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
39926
8
        }
39927
8
#line 39928 "gram.c"
39928
8
    break;
39929
39930
176
  case 1522:
39931
176
#line 11023 "gram.y"
39932
176
    {
39933
176
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
39934
176
        }
39935
176
#line 39936 "gram.c"
39936
176
    break;
39937
39938
24
  case 1523:
39939
24
#line 11027 "gram.y"
39940
24
    {
39941
24
          (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
39942
24
        }
39943
24
#line 39944 "gram.c"
39944
24
    break;
39945
39946
80
  case 1524:
39947
80
#line 11044 "gram.y"
39948
80
    { (yyval.str) = (yyvsp[0].str); }
39949
80
#line 39950 "gram.c"
39950
80
    break;
39951
39952
8
  case 1525:
39953
8
#line 11045 "gram.y"
39954
8
    { (yyval.str) = pstrdup("connection_limit"); }
39955
8
#line 39956 "gram.c"
39956
8
    break;
39957
39958
28
  case 1526:
39959
28
#line 11046 "gram.y"
39960
28
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39961
28
#line 39962 "gram.c"
39962
28
    break;
39963
39964
0
  case 1527:
39965
0
#line 11047 "gram.y"
39966
0
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39967
0
#line 39968 "gram.c"
39968
0
    break;
39969
39970
0
  case 1528:
39971
0
#line 11048 "gram.y"
39972
0
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39973
0
#line 39974 "gram.c"
39974
0
    break;
39975
39976
12
  case 1529:
39977
12
#line 11049 "gram.y"
39978
12
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39979
12
#line 39980 "gram.c"
39980
12
    break;
39981
39982
28
  case 1530:
39983
28
#line 11050 "gram.y"
39984
28
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39985
28
#line 39986 "gram.c"
39986
28
    break;
39987
39988
52
  case 1531:
39989
52
#line 11052 "gram.y"
39990
52
    {
39991
52
          (yyval.str) = pstrdup((yyvsp[0].keyword));
39992
52
        }
39993
52
#line 39994 "gram.c"
39994
52
    break;
39995
39996
204
  case 1532:
39997
204
#line 11061 "gram.y"
39998
204
    {}
39999
204
#line 40000 "gram.c"
40000
204
    break;
40001
40002
4
  case 1533:
40003
4
#line 11062 "gram.y"
40004
4
    {}
40005
4
#line 40006 "gram.c"
40006
4
    break;
40007
40008
0
  case 1534:
40009
0
#line 11074 "gram.y"
40010
0
    {
40011
0
          AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
40012
0
          n->dbname = (yyvsp[-2].str);
40013
0
          n->options = (yyvsp[0].list);
40014
0
          (yyval.node) = (Node *)n;
40015
0
         }
40016
0
#line 40017 "gram.c"
40017
0
    break;
40018
40019
12
  case 1535:
40020
12
#line 11081 "gram.y"
40021
12
    {
40022
12
          AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
40023
0
          n->dbname = (yyvsp[-1].str);
40024
12
          n->options = (yyvsp[0].list);
40025
12
          (yyval.node) = (Node *)n;
40026
12
         }
40027
0
#line 40028 "gram.c"
40028
0
    break;
40029
40030
2
  case 1536:
40031
2
#line 11088 "gram.y"
40032
2
    {
40033
2
          parser_ybc_not_support((yylsp[-5]), "ALTER DATABASE SET TABLESPACE");
40034
          // TODO(Deepayan): Ensure database shdep on tablespace updates to
40035
          // new tablespace
40036
2
          AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
40037
0
          n->dbname = (yyvsp[-3].str);
40038
2
          n->options = list_make1(makeDefElem("tablespace",
40039
2
                            (Node *)makeString((yyvsp[0].str)), (yylsp[0])));
40040
2
          (yyval.node) = (Node *)n;
40041
2
         }
40042
0
#line 40043 "gram.c"
40043
0
    break;
40044
40045
0
  case 1537:
40046
0
#line 11102 "gram.y"
40047
0
    {
40048
0
          AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
40049
0
          n->dbname = (yyvsp[-1].str);
40050
0
          n->setstmt = (yyvsp[0].vsetstmt);
40051
0
          (yyval.node) = (Node *)n;
40052
0
        }
40053
0
#line 40054 "gram.c"
40054
0
    break;
40055
40056
314
  case 1538:
40057
314
#line 11119 "gram.y"
40058
314
    {
40059
314
          DropdbStmt *n = makeNode(DropdbStmt);
40060
0
          n->dbname = (yyvsp[0].str);
40061
314
          n->missing_ok = false;
40062
314
          n->options = NULL;
40063
314
          (yyval.node) = (Node *)n;
40064
314
        }
40065
0
#line 40066 "gram.c"
40066
0
    break;
40067
40068
8
  case 1539:
40069
8
#line 11127 "gram.y"
40070
8
    {
40071
8
          DropdbStmt *n = makeNode(DropdbStmt);
40072
0
          n->dbname = (yyvsp[0].str);
40073
8
          n->missing_ok = true;
40074
8
          n->options = NULL;
40075
8
          (yyval.node) = (Node *)n;
40076
8
        }
40077
0
#line 40078 "gram.c"
40078
0
    break;
40079
40080
8
  case 1540:
40081
8
#line 11135 "gram.y"
40082
8
    {
40083
8
          DropdbStmt *n = makeNode(DropdbStmt);
40084
0
          n->dbname = (yyvsp[-4].str);
40085
8
          n->missing_ok = false;
40086
8
          n->options = (yyvsp[-1].list);
40087
8
          (yyval.node) = (Node *)n;
40088
8
        }
40089
0
#line 40090 "gram.c"
40090
0
    break;
40091
40092
8
  case 1541:
40093
8
#line 11143 "gram.y"
40094
8
    {
40095
8
          DropdbStmt *n = makeNode(DropdbStmt);
40096
0
          n->dbname = (yyvsp[-4].str);
40097
8
          n->missing_ok = true;
40098
8
          n->options = (yyvsp[-1].list);
40099
8
          (yyval.node) = (Node *)n;
40100
8
        }
40101
0
#line 40102 "gram.c"
40102
0
    break;
40103
40104
16
  case 1542:
40105
16
#line 11154 "gram.y"
40106
16
    {
40107
16
          (yyval.list) = list_make1((Node *) (yyvsp[0].defelt));
40108
16
        }
40109
16
#line 40110 "gram.c"
40110
16
    break;
40111
40112
0
  case 1543:
40113
0
#line 11158 "gram.y"
40114
0
    {
40115
0
          (yyval.list) = lappend((yyvsp[-2].list), (Node *) (yyvsp[0].defelt));
40116
0
        }
40117
0
#line 40118 "gram.c"
40118
0
    break;
40119
40120
16
  case 1544:
40121
16
#line 11169 "gram.y"
40122
16
    {
40123
16
          (yyval.defelt) = makeDefElem("force", NULL, (yylsp[0]));
40124
16
        }
40125
16
#line 40126 "gram.c"
40126
16
    break;
40127
40128
4
  case 1545:
40129
4
#line 11181 "gram.y"
40130
4
    {
40131
4
          if (!YBIsCollationEnabled())
40132
0
            parser_ybc_not_support((yylsp[-4]), "ALTER COLLATION");
40133
4
          AlterCollationStmt *n = makeNode(AlterCollationStmt);
40134
0
          n->collname = (yyvsp[-2].list);
40135
4
          (yyval.node) = (Node *)n;
40136
4
        }
40137
0
#line 40138 "gram.c"
40138
0
    break;
40139
40140
2
  case 1546:
40141
2
#line 11200 "gram.y"
40142
2
    {
40143
2
          parser_ybc_not_support((yylsp[-3]), "ALTER SYSTEM");
40144
2
          AlterSystemStmt *n = makeNode(AlterSystemStmt);
40145
0
          n->setstmt = (yyvsp[0].vsetstmt);
40146
2
          (yyval.node) = (Node *)n;
40147
2
        }
40148
0
#line 40149 "gram.c"
40149
0
    break;
40150
40151
0
  case 1547:
40152
0
#line 11207 "gram.y"
40153
0
    {
40154
0
          parser_ybc_not_support((yylsp[-3]), "ALTER SYSTEM RESET");
40155
0
          AlterSystemStmt *n = makeNode(AlterSystemStmt);
40156
0
          n->setstmt = (yyvsp[0].vsetstmt);
40157
0
          (yyval.node) = (Node *)n;
40158
0
        }
40159
0
#line 40160 "gram.c"
40160
0
    break;
40161
40162
207
  case 1548:
40163
207
#line 11224 "gram.y"
40164
207
    {
40165
207
          CreateDomainStmt *n = makeNode(CreateDomainStmt);
40166
0
          n->domainname = (yyvsp[-3].list);
40167
207
          n->typeName = (yyvsp[-1].typnam);
40168
207
          SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
40169
207
                   yyscanner);
40170
207
          (yyval.node) = (Node *)n;
40171
207
        }
40172
0
#line 40173 "gram.c"
40173
0
    break;
40174
40175
16
  case 1549:
40176
16
#line 11237 "gram.y"
40177
16
    {
40178
16
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40179
0
          n->subtype = 'T';
40180
16
          n->typeName = (yyvsp[-1].list);
40181
16
          n->def = (yyvsp[0].node);
40182
16
          (yyval.node) = (Node *)n;
40183
16
        }
40184
0
#line 40185 "gram.c"
40185
0
    break;
40186
40187
0
  case 1550:
40188
0
#line 11246 "gram.y"
40189
0
    {
40190
0
          parser_ybc_not_support((yylsp[-5]), "ALTER DOMAIN DROP NOT NULL");
40191
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40192
0
          n->subtype = 'N';
40193
0
          n->typeName = (yyvsp[-3].list);
40194
0
          (yyval.node) = (Node *)n;
40195
0
        }
40196
0
#line 40197 "gram.c"
40197
0
    break;
40198
40199
0
  case 1551:
40200
0
#line 11255 "gram.y"
40201
0
    {
40202
0
          parser_ybc_not_support((yylsp[-5]), "ALTER DOMAIN SET NOT NULL");
40203
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40204
0
          n->subtype = 'O';
40205
0
          n->typeName = (yyvsp[-3].list);
40206
0
          (yyval.node) = (Node *)n;
40207
0
        }
40208
0
#line 40209 "gram.c"
40209
0
    break;
40210
40211
0
  case 1552:
40212
0
#line 11264 "gram.y"
40213
0
    {
40214
0
          parser_ybc_not_support((yylsp[-4]), "ALTER DOMAIN ADD CONSTRAINT");
40215
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40216
0
          n->subtype = 'C';
40217
0
          n->typeName = (yyvsp[-2].list);
40218
0
          n->def = (yyvsp[0].node);
40219
0
          (yyval.node) = (Node *)n;
40220
0
        }
40221
0
#line 40222 "gram.c"
40222
0
    break;
40223
40224
0
  case 1553:
40225
0
#line 11274 "gram.y"
40226
0
    {
40227
0
          parser_ybc_not_support((yylsp[-6]), "ALTER DOMAIN DROP CONSTRAINT");
40228
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40229
0
          n->subtype = 'X';
40230
0
          n->typeName = (yyvsp[-4].list);
40231
0
          n->name = (yyvsp[-1].str);
40232
0
          n->behavior = (yyvsp[0].dbehavior);
40233
0
          n->missing_ok = false;
40234
0
          (yyval.node) = (Node *)n;
40235
0
        }
40236
0
#line 40237 "gram.c"
40237
0
    break;
40238
40239
0
  case 1554:
40240
0
#line 11286 "gram.y"
40241
0
    {
40242
0
          parser_ybc_not_support((yylsp[-8]), "ALTER DOMAIN DROP CONSTRAINT");
40243
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40244
0
          n->subtype = 'X';
40245
0
          n->typeName = (yyvsp[-6].list);
40246
0
          n->name = (yyvsp[-1].str);
40247
0
          n->behavior = (yyvsp[0].dbehavior);
40248
0
          n->missing_ok = true;
40249
0
          (yyval.node) = (Node *)n;
40250
0
        }
40251
0
#line 40252 "gram.c"
40252
0
    break;
40253
40254
0
  case 1555:
40255
0
#line 11298 "gram.y"
40256
0
    {
40257
0
          parser_ybc_not_support((yylsp[-5]), "ALTER DOMAIN VALIDATE CONSTRAINT");
40258
0
          AlterDomainStmt *n = makeNode(AlterDomainStmt);
40259
0
          n->subtype = 'V';
40260
0
          n->typeName = (yyvsp[-3].list);
40261
0
          n->name = (yyvsp[0].str);
40262
0
          (yyval.node) = (Node *)n;
40263
0
        }
40264
0
#line 40265 "gram.c"
40265
0
    break;
40266
40267
253
  case 1556:
40268
253
#line 11308 "gram.y"
40269
253
    {}
40270
253
#line 40271 "gram.c"
40271
253
    break;
40272
40273
114
  case 1557:
40274
114
#line 11309 "gram.y"
40275
114
    {}
40276
114
#line 40277 "gram.c"
40277
114
    break;
40278
40279
0
  case 1558:
40280
0
#line 11321 "gram.y"
40281
0
    {
40282
0
          parser_ybc_not_support((yylsp[-5]), "ALTER TEXT SEARCH DICTIONARY");
40283
0
          AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
40284
0
          n->dictname = (yyvsp[-1].list);
40285
0
          n->options = (yyvsp[0].list);
40286
0
          (yyval.node) = (Node *)n;
40287
0
        }
40288
0
#line 40289 "gram.c"
40289
0
    break;
40290
40291
270
  case 1559:
40292
270
#line 11332 "gram.y"
40293
270
    {
40294
270
          parser_ybc_not_support((yylsp[-10]), "ALTER TEXT SEARCH CONFIGURATION");
40295
270
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40296
0
          n->kind = ALTER_TSCONFIG_ADD_MAPPING;
40297
270
          n->cfgname = (yyvsp[-6].list);
40298
270
          n->tokentype = (yyvsp[-2].list);
40299
270
          n->dicts = (yyvsp[0].list);
40300
270
          n->override = false;
40301
270
          n->replace = false;
40302
270
          (yyval.node) = (Node*)n;
40303
270
        }
40304
0
#line 40305 "gram.c"
40305
0
    break;
40306
40307
0
  case 1560:
40308
0
#line 11344 "gram.y"
40309
0
    {
40310
0
          parser_ybc_not_support((yylsp[-10]), "ALTER TEXT SEARCH CONFIGURATION");
40311
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40312
0
          n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
40313
0
          n->cfgname = (yyvsp[-6].list);
40314
0
          n->tokentype = (yyvsp[-2].list);
40315
0
          n->dicts = (yyvsp[0].list);
40316
0
          n->override = true;
40317
0
          n->replace = false;
40318
0
          (yyval.node) = (Node*)n;
40319
0
        }
40320
0
#line 40321 "gram.c"
40321
0
    break;
40322
40323
0
  case 1561:
40324
0
#line 11356 "gram.y"
40325
0
    {
40326
0
          parser_ybc_not_support((yylsp[-10]), "ALTER TEXT SEARCH CONFIGURATION");
40327
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40328
0
          n->kind = ALTER_TSCONFIG_REPLACE_DICT;
40329
0
          n->cfgname = (yyvsp[-6].list);
40330
0
          n->tokentype = NIL;
40331
0
          n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
40332
0
          n->override = false;
40333
0
          n->replace = true;
40334
0
          (yyval.node) = (Node*)n;
40335
0
        }
40336
0
#line 40337 "gram.c"
40337
0
    break;
40338
40339
0
  case 1562:
40340
0
#line 11368 "gram.y"
40341
0
    {
40342
0
          parser_ybc_not_support((yylsp[-12]), "ALTER TEXT SEARCH CONFIGURATION");
40343
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40344
0
          n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
40345
0
          n->cfgname = (yyvsp[-8].list);
40346
0
          n->tokentype = (yyvsp[-4].list);
40347
0
          n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
40348
0
          n->override = false;
40349
0
          n->replace = true;
40350
0
          (yyval.node) = (Node*)n;
40351
0
        }
40352
0
#line 40353 "gram.c"
40353
0
    break;
40354
40355
0
  case 1563:
40356
0
#line 11380 "gram.y"
40357
0
    {
40358
0
          parser_ybc_not_support((yylsp[-8]), "ALTER TEXT SEARCH CONFIGURATION");
40359
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40360
0
          n->kind = ALTER_TSCONFIG_DROP_MAPPING;
40361
0
          n->cfgname = (yyvsp[-4].list);
40362
0
          n->tokentype = (yyvsp[0].list);
40363
0
          n->missing_ok = false;
40364
0
          (yyval.node) = (Node*)n;
40365
0
        }
40366
0
#line 40367 "gram.c"
40367
0
    break;
40368
40369
0
  case 1564:
40370
0
#line 11390 "gram.y"
40371
0
    {
40372
0
          parser_ybc_not_support((yylsp[-10]), "ALTER TEXT SEARCH CONFIGURATION");
40373
0
          AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
40374
0
          n->kind = ALTER_TSCONFIG_DROP_MAPPING;
40375
0
          n->cfgname = (yyvsp[-6].list);
40376
0
          n->tokentype = (yyvsp[0].list);
40377
0
          n->missing_ok = true;
40378
0
          (yyval.node) = (Node*)n;
40379
0
        }
40380
0
#line 40381 "gram.c"
40381
0
    break;
40382
40383
270
  case 1565:
40384
270
#line 11402 "gram.y"
40385
270
    {}
40386
270
#line 40387 "gram.c"
40387
270
    break;
40388
40389
0
  case 1566:
40390
0
#line 11403 "gram.y"
40391
0
    {}
40392
0
#line 40393 "gram.c"
40393
0
    break;
40394
40395
2
  case 1567:
40396
2
#line 11419 "gram.y"
40397
2
    {
40398
2
        parser_ybc_not_support((yylsp[-9]), "CREATE CONVERSION");
40399
2
        CreateConversionStmt *n = makeNode(CreateConversionStmt);
40400
0
        n->conversion_name = (yyvsp[-6].list);
40401
2
        n->for_encoding_name = (yyvsp[-4].str);
40402
2
        n->to_encoding_name = (yyvsp[-2].str);
40403
2
        n->func_name = (yyvsp[0].list);
40404
2
        n->def = (yyvsp[-8].boolean);
40405
2
        (yyval.node) = (Node *)n;
40406
2
      }
40407
0
#line 40408 "gram.c"
40408
0
    break;
40409
40410
0
  case 1568:
40411
0
#line 11442 "gram.y"
40412
0
    {
40413
0
          parser_ybc_not_support((yylsp[-3]), "CLUSTER");
40414
0
          ClusterStmt *n = makeNode(ClusterStmt);
40415
0
          n->relation = (yyvsp[-1].range);
40416
0
          n->indexname = (yyvsp[0].str);
40417
0
          n->verbose = (yyvsp[-2].boolean);
40418
0
          (yyval.node) = (Node*)n;
40419
0
        }
40420
0
#line 40421 "gram.c"
40421
0
    break;
40422
40423
0
  case 1569:
40424
0
#line 11451 "gram.y"
40425
0
    {
40426
0
          parser_ybc_not_support((yylsp[-1]), "CLUSTER");
40427
0
          ClusterStmt *n = makeNode(ClusterStmt);
40428
0
          n->relation = NULL;
40429
0
          n->indexname = NULL;
40430
0
          n->verbose = (yyvsp[0].boolean);
40431
0
          (yyval.node) = (Node*)n;
40432
0
        }
40433
0
#line 40434 "gram.c"
40434
0
    break;
40435
40436
0
  case 1570:
40437
0
#line 11461 "gram.y"
40438
0
    {
40439
0
          parser_ybc_not_support((yylsp[-4]), "CLUSTER");
40440
0
          ClusterStmt *n = makeNode(ClusterStmt);
40441
0
          n->relation = (yyvsp[0].range);
40442
0
          n->indexname = (yyvsp[-2].str);
40443
0
          n->verbose = (yyvsp[-3].boolean);
40444
0
          (yyval.node) = (Node*)n;
40445
0
        }
40446
0
#line 40447 "gram.c"
40447
0
    break;
40448
40449
0
  case 1571:
40450
0
#line 11472 "gram.y"
40451
0
    { (yyval.str) = (yyvsp[0].str); }
40452
0
#line 40453 "gram.c"
40453
0
    break;
40454
40455
0
  case 1572:
40456
0
#line 11473 "gram.y"
40457
0
    { (yyval.str) = NULL; }
40458
0
#line 40459 "gram.c"
40459
0
    break;
40460
40461
36
  case 1573:
40462
36
#line 11486 "gram.y"
40463
36
    {
40464
36
          VacuumStmt *n = makeNode(VacuumStmt);
40465
0
          n->options = VACOPT_VACUUM;
40466
36
          if ((yyvsp[-4].boolean))
40467
0
            n->options |= VACOPT_FULL;
40468
36
          if ((yyvsp[-3].boolean))
40469
0
            n->options |= VACOPT_FREEZE;
40470
36
          if ((yyvsp[-2].boolean))
40471
0
            n->options |= VACOPT_VERBOSE;
40472
36
          if ((yyvsp[-1].boolean))
40473
12
            n->options |= VACOPT_ANALYZE;
40474
36
          n->rels = (yyvsp[0].list);
40475
36
          (yyval.node) = (Node *)n;
40476
36
        }
40477
0
#line 40478 "gram.c"
40478
0
    break;
40479
40480
0
  case 1574:
40481
0
#line 11501 "gram.y"
40482
0
    {
40483
0
          VacuumStmt *n = makeNode(VacuumStmt);
40484
0
          n->options = VACOPT_VACUUM | (yyvsp[-2].ival);
40485
0
          n->rels = (yyvsp[0].list);
40486
0
          (yyval.node) = (Node *) n;
40487
0
        }
40488
0
#line 40489 "gram.c"
40489
0
    break;
40490
40491
0
  case 1575:
40492
0
#line 11510 "gram.y"
40493
0
    { (yyval.ival) = (yyvsp[0].ival); }
40494
0
#line 40495 "gram.c"
40495
0
    break;
40496
40497
0
  case 1576:
40498
0
#line 11511 "gram.y"
40499
0
    { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
40500
0
#line 40501 "gram.c"
40501
0
    break;
40502
40503
0
  case 1577:
40504
0
#line 11515 "gram.y"
40505
0
    { (yyval.ival) = VACOPT_ANALYZE; }
40506
0
#line 40507 "gram.c"
40507
0
    break;
40508
40509
0
  case 1578:
40510
0
#line 11516 "gram.y"
40511
0
    { (yyval.ival) = VACOPT_VERBOSE; }
40512
0
#line 40513 "gram.c"
40513
0
    break;
40514
40515
0
  case 1579:
40516
0
#line 11517 "gram.y"
40517
0
    { (yyval.ival) = VACOPT_FREEZE; }
40518
0
#line 40519 "gram.c"
40519
0
    break;
40520
40521
0
  case 1580:
40522
0
#line 11518 "gram.y"
40523
0
    { (yyval.ival) = VACOPT_FULL; }
40524
0
#line 40525 "gram.c"
40525
0
    break;
40526
40527
0
  case 1581:
40528
0
#line 11520 "gram.y"
40529
0
    {
40530
0
          if (strcmp((yyvsp[0].str), "disable_page_skipping") == 0)
40531
0
            (yyval.ival) = VACOPT_DISABLE_PAGE_SKIPPING;
40532
0
          else
40533
0
            ereport(ERROR,
40534
0
                (errcode(ERRCODE_SYNTAX_ERROR),
40535
0
               errmsg("unrecognized VACUUM option \"%s\"", (yyvsp[0].str)),
40536
0
                   parser_errposition((yylsp[0]))));
40537
0
        }
40538
0
#line 40539 "gram.c"
40539
0
    break;
40540
40541
551
  case 1582:
40542
551
#line 11532 "gram.y"
40543
551
    {
40544
551
          VacuumStmt *n = makeNode(VacuumStmt);
40545
0
          n->options = VACOPT_ANALYZE;
40546
551
          if ((yyvsp[-1].boolean))
40547
0
            n->options |= VACOPT_VERBOSE;
40548
551
          n->rels = (yyvsp[0].list);
40549
551
          (yyval.node) = (Node *)n;
40550
551
        }
40551
0
#line 40552 "gram.c"
40552
0
    break;
40553
40554
0
  case 1583:
40555
0
#line 11541 "gram.y"
40556
0
    {
40557
0
          VacuumStmt *n = makeNode(VacuumStmt);
40558
0
          n->options = VACOPT_ANALYZE | (yyvsp[-2].ival);
40559
0
          n->rels = (yyvsp[0].list);
40560
0
          (yyval.node) = (Node *) n;
40561
0
        }
40562
0
#line 40563 "gram.c"
40563
0
    break;
40564
40565
0
  case 1584:
40566
0
#line 11550 "gram.y"
40567
0
    { (yyval.ival) = (yyvsp[0].ival); }
40568
0
#line 40569 "gram.c"
40569
0
    break;
40570
40571
0
  case 1585:
40572
0
#line 11551 "gram.y"
40573
0
    { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
40574
0
#line 40575 "gram.c"
40575
0
    break;
40576
40577
0
  case 1586:
40578
0
#line 11555 "gram.y"
40579
0
    { (yyval.ival) = VACOPT_VERBOSE; }
40580
0
#line 40581 "gram.c"
40581
0
    break;
40582
40583
3.10k
  case 1587:
40584
3.10k
#line 11559 "gram.y"
40585
3.10k
    {}
40586
3.10k
#line 40587 "gram.c"
40587
3.10k
    break;
40588
40589
0
  case 1588:
40590
0
#line 11560 "gram.y"
40591
0
    {}
40592
0
#line 40593 "gram.c"
40593
0
    break;
40594
40595
12
  case 1589:
40596
12
#line 11564 "gram.y"
40597
12
    { (yyval.boolean) = true; }
40598
12
#line 40599 "gram.c"
40599
12
    break;
40600
40601
24
  case 1590:
40602
24
#line 11565 "gram.y"
40603
24
    { (yyval.boolean) = false; }
40604
24
#line 40605 "gram.c"
40605
24
    break;
40606
40607
0
  case 1591:
40608
0
#line 11569 "gram.y"
40609
0
    { (yyval.boolean) = true; }
40610
0
#line 40611 "gram.c"
40611
0
    break;
40612
40613
759
  case 1592:
40614
759
#line 11570 "gram.y"
40615
759
    { (yyval.boolean) = false; }
40616
759
#line 40617 "gram.c"
40617
759
    break;
40618
40619
0
  case 1593:
40620
0
#line 11573 "gram.y"
40621
0
    { (yyval.boolean) = true; }
40622
0
#line 40623 "gram.c"
40623
0
    break;
40624
40625
36
  case 1594:
40626
36
#line 11574 "gram.y"
40627
36
    { (yyval.boolean) = false; }
40628
36
#line 40629 "gram.c"
40629
36
    break;
40630
40631
0
  case 1595:
40632
0
#line 11577 "gram.y"
40633
0
    { (yyval.boolean) = true; }
40634
0
#line 40635 "gram.c"
40635
0
    break;
40636
40637
36
  case 1596:
40638
36
#line 11578 "gram.y"
40639
36
    { (yyval.boolean) = false; }
40640
36
#line 40641 "gram.c"
40641
36
    break;
40642
40643
2.93k
  case 1597:
40644
2.93k
#line 11582 "gram.y"
40645
2.93k
    { (yyval.list) = (yyvsp[-1].list); }
40646
2.93k
#line 40647 "gram.c"
40647
2.93k
    break;
40648
40649
11.3k
  case 1598:
40650
11.3k
#line 11583 "gram.y"
40651
11.3k
    { (yyval.list) = NIL; }
40652
11.3k
#line 40653 "gram.c"
40653
11.3k
    break;
40654
40655
579
  case 1599:
40656
579
#line 11588 "gram.y"
40657
579
    {
40658
579
          (yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
40659
579
        }
40660
579
#line 40661 "gram.c"
40661
579
    break;
40662
40663
575
  case 1600:
40664
575
#line 11595 "gram.y"
40665
575
    { (yyval.list) = list_make1((yyvsp[0].node)); }
40666
575
#line 40667 "gram.c"
40667
575
    break;
40668
40669
4
  case 1601:
40670
4
#line 11597 "gram.y"
40671
4
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
40672
4
#line 40673 "gram.c"
40673
4
    break;
40674
40675
575
  case 1602:
40676
575
#line 11601 "gram.y"
40677
575
    { (yyval.list) = (yyvsp[0].list); }
40678
575
#line 40679 "gram.c"
40679
575
    break;
40680
40681
12
  case 1603:
40682
12
#line 11602 "gram.y"
40683
12
    { (yyval.list) = NIL; }
40684
12
#line 40685 "gram.c"
40685
12
    break;
40686
40687
3.58k
  case 1604:
40688
3.58k
#line 11616 "gram.y"
40689
3.58k
    {
40690
3.58k
          ExplainStmt *n = makeNode(ExplainStmt);
40691
0
          n->query = (yyvsp[0].node);
40692
3.58k
          n->options = NIL;
40693
3.58k
          (yyval.node) = (Node *) n;
40694
3.58k
        }
40695
0
#line 40696 "gram.c"
40696
0
    break;
40697
40698
172
  case 1605:
40699
172
#line 11623 "gram.y"
40700
172
    {
40701
172
          ExplainStmt *n = makeNode(ExplainStmt);
40702
0
          n->query = (yyvsp[0].node);
40703
172
          n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
40704
172
          if ((yyvsp[-1].boolean))
40705
0
            n->options = lappend(n->options,
40706
0
                       makeDefElem("verbose", NULL, (yylsp[-1])));
40707
172
          (yyval.node) = (Node *) n;
40708
172
        }
40709
0
#line 40710 "gram.c"
40710
0
    break;
40711
40712
0
  case 1606:
40713
0
#line 11633 "gram.y"
40714
0
    {
40715
0
          ExplainStmt *n = makeNode(ExplainStmt);
40716
0
          n->query = (yyvsp[0].node);
40717
0
          n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
40718
0
          (yyval.node) = (Node *) n;
40719
0
        }
40720
0
#line 40721 "gram.c"
40721
0
    break;
40722
40723
7.17k
  case 1607:
40724
7.17k
#line 11640 "gram.y"
40725
7.17k
    {
40726
7.17k
          ExplainStmt *n = makeNode(ExplainStmt);
40727
0
          n->query = (yyvsp[0].node);
40728
7.17k
          n->options = (yyvsp[-2].list);
40729
7.17k
          (yyval.node) = (Node *) n;
40730
7.17k
        }
40731
0
#line 40732 "gram.c"
40732
0
    break;
40733
40734
7.17k
  case 1617:
40735
7.17k
#line 11662 "gram.y"
40736
7.17k
    {
40737
7.17k
          (yyval.list) = list_make1((yyvsp[0].defelt));
40738
7.17k
        }
40739
7.17k
#line 40740 "gram.c"
40740
7.17k
    break;
40741
40742
3.99k
  case 1618:
40743
3.99k
#line 11666 "gram.y"
40744
3.99k
    {
40745
3.99k
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
40746
3.99k
        }
40747
3.99k
#line 40748 "gram.c"
40748
3.99k
    break;
40749
40750
11.1k
  case 1619:
40751
11.1k
#line 11673 "gram.y"
40752
11.1k
    {
40753
11.1k
          (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
40754
11.1k
        }
40755
11.1k
#line 40756 "gram.c"
40756
11.1k
    break;
40757
40758
8.80k
  case 1620:
40759
8.80k
#line 11679 "gram.y"
40760
8.80k
    { (yyval.str) = (yyvsp[0].str); }
40761
8.80k
#line 40762 "gram.c"
40762
8.80k
    break;
40763
40764
2.37k
  case 1621:
40765
2.37k
#line 11680 "gram.y"
40766
2.37k
    { (yyval.str) = "analyze"; }
40767
2.37k
#line 40768 "gram.c"
40768
2.37k
    break;
40769
40770
9.99k
  case 1622:
40771
9.99k
#line 11684 "gram.y"
40772
9.99k
    { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
40773
9.99k
#line 40774 "gram.c"
40774
9.99k
    break;
40775
40776
0
  case 1623:
40777
0
#line 11685 "gram.y"
40778
0
    { (yyval.node) = (Node *) (yyvsp[0].value); }
40779
0
#line 40780 "gram.c"
40780
0
    break;
40781
40782
1.17k
  case 1624:
40783
1.17k
#line 11686 "gram.y"
40784
1.17k
    { (yyval.node) = NULL; }
40785
1.17k
#line 40786 "gram.c"
40786
1.17k
    break;
40787
40788
2.25k
  case 1625:
40789
2.25k
#line 11697 "gram.y"
40790
2.25k
    {
40791
2.25k
          PrepareStmt *n = makeNode(PrepareStmt);
40792
0
          n->name = (yyvsp[-3].str);
40793
2.25k
          n->argtypes = (yyvsp[-2].list);
40794
2.25k
          n->query = (yyvsp[0].node);
40795
2.25k
          (yyval.node) = (Node *) n;
40796
2.25k
        }
40797
0
#line 40798 "gram.c"
40798
0
    break;
40799
40800
2.19k
  case 1626:
40801
2.19k
#line 11706 "gram.y"
40802
2.19k
    { (yyval.list) = (yyvsp[-1].list); }
40803
2.19k
#line 40804 "gram.c"
40804
2.19k
    break;
40805
40806
54
  case 1627:
40807
54
#line 11707 "gram.y"
40808
54
    { (yyval.list) = NIL; }
40809
54
#line 40810 "gram.c"
40810
54
    break;
40811
40812
6.76k
  case 1632:
40813
6.76k
#line 11725 "gram.y"
40814
6.76k
    {
40815
6.76k
          ExecuteStmt *n = makeNode(ExecuteStmt);
40816
0
          n->name = (yyvsp[-1].str);
40817
6.76k
          n->params = (yyvsp[0].list);
40818
6.76k
          (yyval.node) = (Node *) n;
40819
6.76k
        }
40820
0
#line 40821 "gram.c"
40821
0
    break;
40822
40823
2
  case 1633:
40824
2
#line 11733 "gram.y"
40825
2
    {
40826
2
          parser_ybc_not_support((yylsp[-8]), "CREATE TABLE AS EXECUTE");
40827
2
          CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
40828
2
          ExecuteStmt *n = makeNode(ExecuteStmt);
40829
0
          n->name = (yyvsp[-2].str);
40830
2
          n->params = (yyvsp[-1].list);
40831
2
          ctas->query = (Node *) n;
40832
2
          ctas->into = (yyvsp[-5].into);
40833
2
          ctas->relkind = OBJECT_TABLE;
40834
2
          ctas->is_select_into = false;
40835
          /* cram additional flags into the IntoClause */
40836
2
          (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
40837
2
          (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
40838
2
          (yyval.node) = (Node *) ctas;
40839
2
        }
40840
0
#line 40841 "gram.c"
40841
0
    break;
40842
40843
6.68k
  case 1634:
40844
6.68k
#line 11750 "gram.y"
40845
6.68k
    { (yyval.list) = (yyvsp[-1].list); }
40846
6.68k
#line 40847 "gram.c"
40847
6.68k
    break;
40848
40849
91
  case 1635:
40850
91
#line 11751 "gram.y"
40851
91
    { (yyval.list) = NIL; }
40852
91
#line 40853 "gram.c"
40853
91
    break;
40854
40855
180
  case 1636:
40856
180
#line 11762 "gram.y"
40857
180
    {
40858
180
            DeallocateStmt *n = makeNode(DeallocateStmt);
40859
0
            n->name = (yyvsp[0].str);
40860
180
            (yyval.node) = (Node *) n;
40861
180
          }
40862
0
#line 40863 "gram.c"
40863
0
    break;
40864
40865
6
  case 1637:
40866
6
#line 11768 "gram.y"
40867
6
    {
40868
6
            DeallocateStmt *n = makeNode(DeallocateStmt);
40869
0
            n->name = (yyvsp[0].str);
40870
6
            (yyval.node) = (Node *) n;
40871
6
          }
40872
0
#line 40873 "gram.c"
40873
0
    break;
40874
40875
42
  case 1638:
40876
42
#line 11774 "gram.y"
40877
42
    {
40878
42
            DeallocateStmt *n = makeNode(DeallocateStmt);
40879
0
            n->name = NULL;
40880
42
            (yyval.node) = (Node *) n;
40881
42
          }
40882
0
#line 40883 "gram.c"
40883
0
    break;
40884
40885
0
  case 1639:
40886
0
#line 11780 "gram.y"
40887
0
    {
40888
0
            DeallocateStmt *n = makeNode(DeallocateStmt);
40889
0
            n->name = NULL;
40890
0
            (yyval.node) = (Node *) n;
40891
0
          }
40892
0
#line 40893 "gram.c"
40893
0
    break;
40894
40895
1.35M
  case 1640:
40896
1.35M
#line 11797 "gram.y"
40897
1.35M
    {
40898
1.35M
          (yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
40899
1.35M
          (yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
40900
1.35M
          (yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
40901
1.35M
          (yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
40902
1.35M
          (yyval.node) = (Node *) (yyvsp[-2].istmt);
40903
1.35M
        }
40904
1.35M
#line 40905 "gram.c"
40905
1.35M
    break;
40906
40907
1.35M
  case 1641:
40908
1.35M
#line 11814 "gram.y"
40909
1.35M
    {
40910
1.35M
          (yyval.range) = (yyvsp[0].range);
40911
1.35M
        }
40912
1.35M
#line 40913 "gram.c"
40913
1.35M
    break;
40914
40915
57
  case 1642:
40916
57
#line 11818 "gram.y"
40917
57
    {
40918
57
          (yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
40919
57
          (yyval.range) = (yyvsp[-2].range);
40920
57
        }
40921
57
#line 40922 "gram.c"
40922
57
    break;
40923
40924
909k
  case 1643:
40925
909k
#line 11826 "gram.y"
40926
909k
    {
40927
909k
          (yyval.istmt) = makeNode(InsertStmt);
40928
909k
          (yyval.istmt)->cols = NIL;
40929
909k
          (yyval.istmt)->selectStmt = (yyvsp[0].node);
40930
909k
        }
40931
0
#line 40932 "gram.c"
40932
0
    break;
40933
40934
20
  case 1644:
40935
20
#line 11832 "gram.y"
40936
20
    {
40937
20
          (yyval.istmt) = makeNode(InsertStmt);
40938
20
          (yyval.istmt)->cols = NIL;
40939
20
          (yyval.istmt)->override = (yyvsp[-2].ival);
40940
20
          (yyval.istmt)->selectStmt = (yyvsp[0].node);
40941
20
        }
40942
0
#line 40943 "gram.c"
40943
0
    break;
40944
40945
448k
  case 1645:
40946
448k
#line 11839 "gram.y"
40947
448k
    {
40948
448k
          (yyval.istmt) = makeNode(InsertStmt);
40949
0
          (yyval.istmt)->cols = (yyvsp[-2].list);
40950
448k
          (yyval.istmt)->selectStmt = (yyvsp[0].node);
40951
448k
        }
40952
0
#line 40953 "gram.c"
40953
0
    break;
40954
40955
0
  case 1646:
40956
0
#line 11845 "gram.y"
40957
0
    {
40958
0
          (yyval.istmt) = makeNode(InsertStmt);
40959
0
          (yyval.istmt)->cols = (yyvsp[-5].list);
40960
0
          (yyval.istmt)->override = (yyvsp[-2].ival);
40961
0
          (yyval.istmt)->selectStmt = (yyvsp[0].node);
40962
0
        }
40963
0
#line 40964 "gram.c"
40964
0
    break;
40965
40966
264
  case 1647:
40967
264
#line 11852 "gram.y"
40968
264
    {
40969
264
          (yyval.istmt) = makeNode(InsertStmt);
40970
264
          (yyval.istmt)->cols = NIL;
40971
264
          (yyval.istmt)->selectStmt = NULL;
40972
264
        }
40973
0
#line 40974 "gram.c"
40974
0
    break;
40975
40976
10
  case 1648:
40977
10
#line 11860 "gram.y"
40978
10
    { (yyval.ival) = OVERRIDING_USER_VALUE; }
40979
10
#line 40980 "gram.c"
40980
10
    break;
40981
40982
10
  case 1649:
40983
10
#line 11861 "gram.y"
40984
10
    { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
40985
10
#line 40986 "gram.c"
40986
10
    break;
40987
40988
448k
  case 1650:
40989
448k
#line 11866 "gram.y"
40990
448k
    { (yyval.list) = list_make1((yyvsp[0].target)); }
40991
448k
#line 40992 "gram.c"
40992
448k
    break;
40993
40994
706k
  case 1651:
40995
706k
#line 11868 "gram.y"
40996
706k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
40997
706k
#line 40998 "gram.c"
40998
706k
    break;
40999
41000
1.15M
  case 1652:
41001
1.15M
#line 11873 "gram.y"
41002
1.15M
    {
41003
1.15M
          (yyval.target) = makeNode(ResTarget);
41004
0
          (yyval.target)->name = (yyvsp[-1].str);
41005
1.15M
          (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
41006
1.15M
          (yyval.target)->val = NULL;
41007
1.15M
          (yyval.target)->location = (yylsp[-1]);
41008
1.15M
        }
41009
0
#line 41010 "gram.c"
41010
0
    break;
41011
41012
32.7k
  case 1653:
41013
32.7k
#line 11884 "gram.y"
41014
32.7k
    {
41015
32.7k
          (yyval.onconflict) = makeNode(OnConflictClause);
41016
0
          (yyval.onconflict)->action = ONCONFLICT_UPDATE;
41017
32.7k
          (yyval.onconflict)->infer = (yyvsp[-5].infer);
41018
32.7k
          (yyval.onconflict)->targetList = (yyvsp[-1].list);
41019
32.7k
          (yyval.onconflict)->whereClause = (yyvsp[0].node);
41020
32.7k
          (yyval.onconflict)->location = (yylsp[-7]);
41021
32.7k
        }
41022
0
#line 41023 "gram.c"
41023
0
    break;
41024
41025
1.32k
  case 1654:
41026
1.32k
#line 11894 "gram.y"
41027
1.32k
    {
41028
1.32k
          (yyval.onconflict) = makeNode(OnConflictClause);
41029
0
          (yyval.onconflict)->action = ONCONFLICT_NOTHING;
41030
1.32k
          (yyval.onconflict)->infer = (yyvsp[-2].infer);
41031
1.32k
          (yyval.onconflict)->targetList = NIL;
41032
1.32k
          (yyval.onconflict)->whereClause = NULL;
41033
1.32k
          (yyval.onconflict)->location = (yylsp[-4]);
41034
1.32k
        }
41035
0
#line 41036 "gram.c"
41036
0
    break;
41037
41038
1.32M
  case 1655:
41039
1.32M
#line 11903 "gram.y"
41040
1.32M
    {
41041
1.32M
          (yyval.onconflict) = NULL;
41042
1.32M
        }
41043
1.32M
#line 41044 "gram.c"
41044
1.32M
    break;
41045
41046
32.7k
  case 1656:
41047
32.7k
#line 11910 "gram.y"
41048
32.7k
    {
41049
32.7k
          (yyval.infer) = makeNode(InferClause);
41050
0
          (yyval.infer)->indexElems = (yyvsp[-2].list);
41051
32.7k
          (yyval.infer)->whereClause = (yyvsp[0].node);
41052
32.7k
          (yyval.infer)->conname = NULL;
41053
32.7k
          (yyval.infer)->location = (yylsp[-3]);
41054
32.7k
        }
41055
0
#line 41056 "gram.c"
41056
0
    break;
41057
41058
38
  case 1657:
41059
38
#line 11919 "gram.y"
41060
38
    {
41061
38
          (yyval.infer) = makeNode(InferClause);
41062
38
          (yyval.infer)->indexElems = NIL;
41063
38
          (yyval.infer)->whereClause = NULL;
41064
38
          (yyval.infer)->conname = (yyvsp[0].str);
41065
38
          (yyval.infer)->location = (yylsp[-2]);
41066
38
        }
41067
0
#line 41068 "gram.c"
41068
0
    break;
41069
41070
1.23k
  case 1658:
41071
1.23k
#line 11927 "gram.y"
41072
1.23k
    {
41073
1.23k
          (yyval.infer) = NULL;
41074
1.23k
        }
41075
1.23k
#line 41076 "gram.c"
41076
1.23k
    break;
41077
41078
7.27k
  case 1659:
41079
7.27k
#line 11933 "gram.y"
41080
7.27k
    { (yyval.list) = (yyvsp[0].list); }
41081
7.27k
#line 41082 "gram.c"
41082
7.27k
    break;
41083
41084
1.49M
  case 1660:
41085
1.49M
#line 11934 "gram.y"
41086
1.49M
    { (yyval.list) = NIL; }
41087
1.49M
#line 41088 "gram.c"
41088
1.49M
    break;
41089
41090
18.4k
  case 1661:
41091
18.4k
#line 11947 "gram.y"
41092
18.4k
    {
41093
18.4k
          DeleteStmt *n = makeNode(DeleteStmt);
41094
0
          n->relation = (yyvsp[-3].range);
41095
18.4k
          n->usingClause = (yyvsp[-2].list);
41096
18.4k
          n->whereClause = (yyvsp[-1].node);
41097
18.4k
          n->returningList = (yyvsp[0].list);
41098
18.4k
          n->withClause = (yyvsp[-6].with);
41099
18.4k
          (yyval.node) = (Node *)n;
41100
18.4k
        }
41101
0
#line 41102 "gram.c"
41102
0
    break;
41103
41104
23
  case 1662:
41105
23
#line 11959 "gram.y"
41106
23
    { (yyval.list) = (yyvsp[0].list); }
41107
23
#line 41108 "gram.c"
41108
23
    break;
41109
41110
18.4k
  case 1663:
41111
18.4k
#line 11960 "gram.y"
41112
18.4k
    { (yyval.list) = NIL; }
41113
18.4k
#line 41114 "gram.c"
41114
18.4k
    break;
41115
41116
132
  case 1664:
41117
132
#line 11972 "gram.y"
41118
132
    {
41119
132
          LockStmt *n = makeNode(LockStmt);
41120
41121
0
          n->relations = (yyvsp[-2].list);
41122
132
          n->mode = (yyvsp[-1].ival);
41123
132
          n->nowait = (yyvsp[0].boolean);
41124
132
          (yyval.node) = (Node *)n;
41125
132
        }
41126
0
#line 41127 "gram.c"
41127
0
    break;
41128
41129
132
  case 1665:
41130
132
#line 11982 "gram.y"
41131
132
    { (yyval.ival) = (yyvsp[-1].ival); }
41132
132
#line 41133 "gram.c"
41133
132
    break;
41134
41135
0
  case 1666:
41136
0
#line 11984 "gram.y"
41137
0
    {
41138
0
          parser_ybc_not_support((yylsp[0]), "ACCESS EXCLUSIVE lock mode");
41139
0
          (yyval.ival) = AccessExclusiveLock;
41140
0
        }
41141
0
#line 41142 "gram.c"
41142
0
    break;
41143
41144
132
  case 1667:
41145
132
#line 11990 "gram.y"
41146
132
    { (yyval.ival) = AccessShareLock; }
41147
132
#line 41148 "gram.c"
41148
132
    break;
41149
41150
0
  case 1668:
41151
0
#line 11992 "gram.y"
41152
0
    { parser_ybc_not_support((yylsp[-1]), "ROW SHARE");
41153
0
          (yyval.ival) = RowShareLock;
41154
0
        }
41155
0
#line 41156 "gram.c"
41156
0
    break;
41157
41158
2
  case 1669:
41159
2
#line 11996 "gram.y"
41160
2
    {
41161
2
          parser_ybc_not_support((yylsp[-1]), "ROW EXCLUSIVE");
41162
2
          (yyval.ival) = RowExclusiveLock;
41163
2
        }
41164
2
#line 41165 "gram.c"
41165
2
    break;
41166
41167
0
  case 1670:
41168
0
#line 12001 "gram.y"
41169
0
    {
41170
0
          parser_ybc_not_support((yylsp[-2]), "SHARE UPDATE EXCLUSIVE");
41171
0
          (yyval.ival) = ShareUpdateExclusiveLock;
41172
0
        }
41173
0
#line 41174 "gram.c"
41174
0
    break;
41175
41176
0
  case 1671:
41177
0
#line 12006 "gram.y"
41178
0
    {
41179
0
          parser_ybc_not_support((yylsp[0]), "SHARE");
41180
0
          (yyval.ival) = ShareLock;
41181
0
        }
41182
0
#line 41183 "gram.c"
41183
0
    break;
41184
41185
0
  case 1672:
41186
0
#line 12011 "gram.y"
41187
0
    {
41188
0
          parser_ybc_not_support((yylsp[-2]), "SHARE ROW EXCLUSIVE");
41189
0
          (yyval.ival) = ShareRowExclusiveLock;
41190
0
        }
41191
0
#line 41192 "gram.c"
41192
0
    break;
41193
41194
0
  case 1673:
41195
0
#line 12016 "gram.y"
41196
0
    {
41197
0
          parser_ybc_not_support((yylsp[0]), "EXCLUSIVE");
41198
0
          (yyval.ival) = ExclusiveLock;
41199
0
        }
41200
0
#line 41201 "gram.c"
41201
0
    break;
41202
41203
0
  case 1674:
41204
0
#line 12021 "gram.y"
41205
0
    {
41206
0
          parser_ybc_not_support((yylsp[-1]), "ACCESS EXCLUSIVE");
41207
0
          (yyval.ival) = AccessExclusiveLock;
41208
0
        }
41209
0
#line 41210 "gram.c"
41210
0
    break;
41211
41212
0
  case 1675:
41213
0
#line 12027 "gram.y"
41214
0
    { (yyval.boolean) = true; }
41215
0
#line 41216 "gram.c"
41216
0
    break;
41217
41218
132
  case 1676:
41219
132
#line 12028 "gram.y"
41220
132
    { (yyval.boolean) = false; }
41221
132
#line 41222 "gram.c"
41222
132
    break;
41223
41224
0
  case 1677:
41225
0
#line 12032 "gram.y"
41226
0
    { (yyval.ival) = LockWaitError; }
41227
0
#line 41228 "gram.c"
41228
0
    break;
41229
41230
460
  case 1678:
41231
460
#line 12033 "gram.y"
41232
460
    { (yyval.ival) = LockWaitSkip; }
41233
460
#line 41234 "gram.c"
41234
460
    break;
41235
41236
17.4k
  case 1679:
41237
17.4k
#line 12034 "gram.y"
41238
17.4k
    { (yyval.ival) = LockWaitBlock; }
41239
17.4k
#line 41240 "gram.c"
41240
17.4k
    break;
41241
41242
129k
  case 1680:
41243
129k
#line 12050 "gram.y"
41244
129k
    {
41245
129k
          UpdateStmt *n = makeNode(UpdateStmt);
41246
0
          n->relation = (yyvsp[-5].range);
41247
129k
          n->targetList = (yyvsp[-3].list);
41248
129k
          n->fromClause = (yyvsp[-2].list);
41249
129k
          n->whereClause = (yyvsp[-1].node);
41250
129k
          n->returningList = (yyvsp[0].list);
41251
129k
          n->withClause = (yyvsp[-7].with);
41252
129k
          (yyval.node) = (Node *)n;
41253
129k
        }
41254
0
#line 41255 "gram.c"
41255
0
    break;
41256
41257
162k
  case 1681:
41258
162k
#line 12063 "gram.y"
41259
162k
    { (yyval.list) = (yyvsp[0].list); }
41260
162k
#line 41261 "gram.c"
41261
162k
    break;
41262
41263
3.56k
  case 1682:
41264
3.56k
#line 12064 "gram.y"
41265
3.56k
    { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
41266
3.56k
#line 41267 "gram.c"
41267
3.56k
    break;
41268
41269
165k
  case 1683:
41270
165k
#line 12069 "gram.y"
41271
165k
    {
41272
165k
          (yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
41273
165k
          (yyval.list) = list_make1((yyvsp[-2].target));
41274
165k
        }
41275
165k
#line 41276 "gram.c"
41276
165k
    break;
41277
41278
15
  case 1684:
41279
15
#line 12074 "gram.y"
41280
15
    {
41281
15
          int ncolumns = list_length((yyvsp[-3].list));
41282
15
          int i = 1;
41283
15
          ListCell *col_cell;
41284
41285
          /* Create a MultiAssignRef source for each target */
41286
15
          foreach(col_cell, (yyvsp[-3].list))
41287
30
          {
41288
30
            ResTarget *res_col = (ResTarget *) lfirst(col_cell);
41289
30
            MultiAssignRef *r = makeNode(MultiAssignRef);
41290
41291
0
            r->source = (Node *) (yyvsp[0].node);
41292
30
            r->colno = i;
41293
30
            r->ncolumns = ncolumns;
41294
30
            res_col->val = (Node *) r;
41295
30
            i++;
41296
30
          }
41297
41298
15
          (yyval.list) = (yyvsp[-3].list);
41299
15
        }
41300
15
#line 41301 "gram.c"
41301
15
    break;
41302
41303
165k
  case 1685:
41304
165k
#line 12098 "gram.y"
41305
165k
    {
41306
165k
          (yyval.target) = makeNode(ResTarget);
41307
0
          (yyval.target)->name = (yyvsp[-1].str);
41308
165k
          (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
41309
165k
          (yyval.target)->val = NULL; /* upper production sets this */
41310
165k
          (yyval.target)->location = (yylsp[-1]);
41311
165k
        }
41312
0
#line 41313 "gram.c"
41313
0
    break;
41314
41315
15
  case 1686:
41316
15
#line 12108 "gram.y"
41317
15
    { (yyval.list) = list_make1((yyvsp[0].target)); }
41318
15
#line 41319 "gram.c"
41319
15
    break;
41320
41321
15
  case 1687:
41322
15
#line 12109 "gram.y"
41323
15
    { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
41324
15
#line 41325 "gram.c"
41325
15
    break;
41326
41327
6.18k
  case 1688:
41328
6.18k
#line 12120 "gram.y"
41329
6.18k
    {
41330
6.18k
          DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
41331
0
          n->portalname = (yyvsp[-5].str);
41332
          /* currently we always set FAST_PLAN option */
41333
6.18k
          n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
41334
6.18k
          n->query = (yyvsp[0].node);
41335
6.18k
          (yyval.node) = (Node *)n;
41336
6.18k
        }
41337
0
#line 41338 "gram.c"
41338
0
    break;
41339
41340
25.5k
  case 1689:
41341
25.5k
#line 12130 "gram.y"
41342
25.5k
    { (yyval.str) = (yyvsp[0].str); }
41343
25.5k
#line 41344 "gram.c"
41344
25.5k
    break;
41345
41346
6.18k
  case 1690:
41347
6.18k
#line 12133 "gram.y"
41348
6.18k
    { (yyval.ival) = 0; }
41349
6.18k
#line 41350 "gram.c"
41350
6.18k
    break;
41351
41352
4
  case 1691:
41353
4
#line 12134 "gram.y"
41354
4
    { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
41355
4
#line 41356 "gram.c"
41356
4
    break;
41357
41358
128
  case 1692:
41359
128
#line 12135 "gram.y"
41360
128
    { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
41361
128
#line 41362 "gram.c"
41362
128
    break;
41363
41364
4
  case 1693:
41365
4
#line 12136 "gram.y"
41366
4
    { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
41367
4
#line 41368 "gram.c"
41368
4
    break;
41369
41370
0
  case 1694:
41371
0
#line 12137 "gram.y"
41372
0
    { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
41373
0
#line 41374 "gram.c"
41374
0
    break;
41375
41376
6.15k
  case 1695:
41377
6.15k
#line 12140 "gram.y"
41378
6.15k
    { (yyval.ival) = 0; }
41379
6.15k
#line 41380 "gram.c"
41380
6.15k
    break;
41381
41382
28
  case 1696:
41383
28
#line 12141 "gram.y"
41384
28
    { (yyval.ival) = CURSOR_OPT_HOLD; }
41385
28
#line 41386 "gram.c"
41386
28
    break;
41387
41388
4
  case 1697:
41389
4
#line 12142 "gram.y"
41390
4
    { (yyval.ival) = 0; }
41391
4
#line 41392 "gram.c"
41392
4
    break;
41393
41394
34.9k
  case 1700:
41395
34.9k
#line 12195 "gram.y"
41396
34.9k
    { (yyval.node) = (yyvsp[-1].node); }
41397
34.9k
#line 41398 "gram.c"
41398
34.9k
    break;
41399
41400
5
  case 1701:
41401
5
#line 12196 "gram.y"
41402
5
    { (yyval.node) = (yyvsp[-1].node); }
41403
5
#line 41404 "gram.c"
41404
5
    break;
41405
41406
1.87M
  case 1702:
41407
1.87M
#line 12211 "gram.y"
41408
1.87M
    { (yyval.node) = (yyvsp[0].node); }
41409
1.87M
#line 41410 "gram.c"
41410
1.87M
    break;
41411
41412
30.9k
  case 1703:
41413
30.9k
#line 12213 "gram.y"
41414
30.9k
    {
41415
30.9k
          insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
41416
30.9k
                    NULL, NULL, NULL,
41417
30.9k
                    yyscanner);
41418
30.9k
          (yyval.node) = (yyvsp[-1].node);
41419
30.9k
        }
41420
30.9k
#line 41421 "gram.c"
41421
30.9k
    break;
41422
41423
17.7k
  case 1704:
41424
17.7k
#line 12220 "gram.y"
41425
17.7k
    {
41426
17.7k
          insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
41427
17.7k
                    list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
41428
17.7k
                    NULL,
41429
17.7k
                    yyscanner);
41430
17.7k
          (yyval.node) = (yyvsp[-3].node);
41431
17.7k
        }
41432
17.7k
#line 41433 "gram.c"
41433
17.7k
    break;
41434
41435
102k
  case 1705:
41436
102k
#line 12228 "gram.y"
41437
102k
    {
41438
102k
          insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
41439
102k
                    list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
41440
102k
                    NULL,
41441
102k
                    yyscanner);
41442
102k
          (yyval.node) = (yyvsp[-3].node);
41443
102k
        }
41444
102k
#line 41445 "gram.c"
41445
102k
    break;
41446
41447
6.70k
  case 1706:
41448
6.70k
#line 12236 "gram.y"
41449
6.70k
    {
41450
6.70k
          insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
41451
6.70k
                    NULL, NULL,
41452
6.70k
                    (yyvsp[-1].with),
41453
6.70k
                    yyscanner);
41454
6.70k
          (yyval.node) = (yyvsp[0].node);
41455
6.70k
        }
41456
6.70k
#line 41457 "gram.c"
41457
6.70k
    break;
41458
41459
176
  case 1707:
41460
176
#line 12244 "gram.y"
41461
176
    {
41462
176
          insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
41463
176
                    NULL, NULL,
41464
176
                    (yyvsp[-2].with),
41465
176
                    yyscanner);
41466
176
          (yyval.node) = (yyvsp[-1].node);
41467
176
        }
41468
176
#line 41469 "gram.c"
41469
176
    break;
41470
41471
0
  case 1708:
41472
0
#line 12252 "gram.y"
41473
0
    {
41474
0
          insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
41475
0
                    list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
41476
0
                    (yyvsp[-4].with),
41477
0
                    yyscanner);
41478
0
          (yyval.node) = (yyvsp[-3].node);
41479
0
        }
41480
0
#line 41481 "gram.c"
41481
0
    break;
41482
41483
34
  case 1709:
41484
34
#line 12260 "gram.y"
41485
34
    {
41486
34
          insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
41487
34
                    list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
41488
34
                    (yyvsp[-4].with),
41489
34
                    yyscanner);
41490
34
          (yyval.node) = (yyvsp[-3].node);
41491
34
        }
41492
34
#line 41493 "gram.c"
41493
34
    break;
41494
41495
178k
  case 1710:
41496
178k
#line 12270 "gram.y"
41497
178k
    { (yyval.node) = (yyvsp[0].node); }
41498
178k
#line 41499 "gram.c"
41499
178k
    break;
41500
41501
206
  case 1711:
41502
206
#line 12271 "gram.y"
41503
206
    { (yyval.node) = (yyvsp[0].node); }
41504
206
#line 41505 "gram.c"
41505
206
    break;
41506
41507
680k
  case 1712:
41508
680k
#line 12301 "gram.y"
41509
680k
    {
41510
680k
          SelectStmt *n = makeNode(SelectStmt);
41511
0
          n->targetList = (yyvsp[-6].list);
41512
680k
          n->intoClause = (yyvsp[-5].into);
41513
680k
          n->fromClause = (yyvsp[-4].list);
41514
680k
          n->whereClause = (yyvsp[-3].node);
41515
680k
          n->groupClause = (yyvsp[-2].list);
41516
680k
          n->havingClause = (yyvsp[-1].node);
41517
680k
          n->windowClause = (yyvsp[0].list);
41518
680k
          (yyval.node) = (Node *)n;
41519
680k
        }
41520
0
#line 41521 "gram.c"
41521
0
    break;
41522
41523
152
  case 1713:
41524
152
#line 12315 "gram.y"
41525
152
    {
41526
152
          SelectStmt *n = makeNode(SelectStmt);
41527
0
          n->distinctClause = (yyvsp[-7].list);
41528
152
          n->targetList = (yyvsp[-6].list);
41529
152
          n->intoClause = (yyvsp[-5].into);
41530
152
          n->fromClause = (yyvsp[-4].list);
41531
152
          n->whereClause = (yyvsp[-3].node);
41532
152
          n->groupClause = (yyvsp[-2].list);
41533
152
          n->havingClause = (yyvsp[-1].node);
41534
152
          n->windowClause = (yyvsp[0].list);
41535
152
          (yyval.node) = (Node *)n;
41536
152
        }
41537
0
#line 41538 "gram.c"
41538
0
    break;
41539
41540
1.35M
  case 1714:
41541
1.35M
#line 12327 "gram.y"
41542
1.35M
    { (yyval.node) = (yyvsp[0].node); }
41543
1.35M
#line 41544 "gram.c"
41544
1.35M
    break;
41545
41546
170
  case 1715:
41547
170
#line 12329 "gram.y"
41548
170
    {
41549
          /* same as SELECT * FROM relation_expr */
41550
170
          ColumnRef *cr = makeNode(ColumnRef);
41551
170
          ResTarget *rt = makeNode(ResTarget);
41552
170
          SelectStmt *n = makeNode(SelectStmt);
41553
41554
170
          cr->fields = list_make1(makeNode(A_Star));
41555
0
          cr->location = -1;
41556
41557
170
          rt->name = NULL;
41558
170
          rt->indirection = NIL;
41559
170
          rt->val = (Node *)cr;
41560
170
          rt->location = -1;
41561
41562
170
          n->targetList = list_make1(rt);
41563
170
          n->fromClause = list_make1((yyvsp[0].range));
41564
170
          (yyval.node) = (Node *)n;
41565
170
        }
41566
0
#line 41567 "gram.c"
41567
0
    break;
41568
41569
10.0k
  case 1716:
41570
10.0k
#line 12348 "gram.y"
41571
10.0k
    {
41572
10.0k
          (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
41573
10.0k
        }
41574
10.0k
#line 41575 "gram.c"
41575
10.0k
    break;
41576
41577
44
  case 1717:
41578
44
#line 12352 "gram.y"
41579
44
    {
41580
44
          (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
41581
44
        }
41582
44
#line 41583 "gram.c"
41583
44
    break;
41584
41585
100
  case 1718:
41586
100
#line 12356 "gram.y"
41587
100
    {
41588
100
          (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
41589
100
        }
41590
100
#line 41591 "gram.c"
41591
100
    break;
41592
41593
10.7k
  case 1719:
41594
10.7k
#line 12373 "gram.y"
41595
10.7k
    {
41596
10.7k
        (yyval.with) = makeNode(WithClause);
41597
0
        (yyval.with)->ctes = (yyvsp[0].list);
41598
10.7k
        (yyval.with)->recursive = false;
41599
10.7k
        (yyval.with)->location = (yylsp[-1]);
41600
10.7k
      }
41601
0
#line 41602 "gram.c"
41602
0
    break;
41603
41604
5
  case 1720:
41605
5
#line 12380 "gram.y"
41606
5
    {
41607
5
        (yyval.with) = makeNode(WithClause);
41608
0
        (yyval.with)->ctes = (yyvsp[0].list);
41609
5
        (yyval.with)->recursive = false;
41610
5
        (yyval.with)->location = (yylsp[-1]);
41611
5
      }
41612
0
#line 41613 "gram.c"
41613
0
    break;
41614
41615
337
  case 1721:
41616
337
#line 12387 "gram.y"
41617
337
    {
41618
337
        (yyval.with) = makeNode(WithClause);
41619
0
        (yyval.with)->ctes = (yyvsp[0].list);
41620
337
        (yyval.with)->recursive = true;
41621
337
        (yyval.with)->location = (yylsp[-2]);
41622
337
      }
41623
0
#line 41624 "gram.c"
41624
0
    break;
41625
41626
11.1k
  case 1722:
41627
11.1k
#line 12396 "gram.y"
41628
11.1k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
41629
11.1k
#line 41630 "gram.c"
41630
11.1k
    break;
41631
41632
2.59k
  case 1723:
41633
2.59k
#line 12397 "gram.y"
41634
2.59k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41635
2.59k
#line 41636 "gram.c"
41636
2.59k
    break;
41637
41638
13.7k
  case 1724:
41639
13.7k
#line 12401 "gram.y"
41640
13.7k
    {
41641
13.7k
        CommonTableExpr *n = makeNode(CommonTableExpr);
41642
0
        n->ctename = (yyvsp[-5].str);
41643
13.7k
        n->aliascolnames = (yyvsp[-4].list);
41644
13.7k
        n->ctequery = (yyvsp[-1].node);
41645
13.7k
        n->location = (yylsp[-5]);
41646
13.7k
        (yyval.node) = (Node *) n;
41647
13.7k
      }
41648
0
#line 41649 "gram.c"
41649
0
    break;
41650
41651
4.21k
  case 1725:
41652
4.21k
#line 12412 "gram.y"
41653
4.21k
    { (yyval.with) = (yyvsp[0].with); }
41654
4.21k
#line 41655 "gram.c"
41655
4.21k
    break;
41656
41657
1.50M
  case 1726:
41658
1.50M
#line 12413 "gram.y"
41659
1.50M
    { (yyval.with) = NULL; }
41660
1.50M
#line 41661 "gram.c"
41661
1.50M
    break;
41662
41663
12
  case 1727:
41664
12
#line 12418 "gram.y"
41665
12
    {
41666
12
          (yyval.into) = makeNode(IntoClause);
41667
0
          (yyval.into)->rel = (yyvsp[0].range);
41668
12
          (yyval.into)->colNames = NIL;
41669
12
          (yyval.into)->options = NIL;
41670
12
          (yyval.into)->onCommit = ONCOMMIT_NOOP;
41671
12
          (yyval.into)->tableSpaceName = NULL;
41672
12
          (yyval.into)->viewQuery = NULL;
41673
12
          (yyval.into)->skipData = false;
41674
12
        }
41675
0
#line 41676 "gram.c"
41676
0
    break;
41677
41678
680k
  case 1728:
41679
680k
#line 12429 "gram.y"
41680
680k
    { (yyval.into) = NULL; }
41681
680k
#line 41682 "gram.c"
41682
680k
    break;
41683
41684
0
  case 1729:
41685
0
#line 12438 "gram.y"
41686
0
    {
41687
0
          (yyval.range) = (yyvsp[0].range);
41688
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41689
0
        }
41690
0
#line 41691 "gram.c"
41691
0
    break;
41692
41693
4
  case 1730:
41694
4
#line 12443 "gram.y"
41695
4
    {
41696
4
          (yyval.range) = (yyvsp[0].range);
41697
4
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41698
4
        }
41699
4
#line 41700 "gram.c"
41700
4
    break;
41701
41702
0
  case 1731:
41703
0
#line 12448 "gram.y"
41704
0
    {
41705
0
          (yyval.range) = (yyvsp[0].range);
41706
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41707
0
        }
41708
0
#line 41709 "gram.c"
41709
0
    break;
41710
41711
0
  case 1732:
41712
0
#line 12453 "gram.y"
41713
0
    {
41714
0
          (yyval.range) = (yyvsp[0].range);
41715
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41716
0
        }
41717
0
#line 41718 "gram.c"
41718
0
    break;
41719
41720
0
  case 1733:
41721
0
#line 12458 "gram.y"
41722
0
    {
41723
0
          ereport(WARNING,
41724
0
              (errmsg("GLOBAL is deprecated in temporary table creation"),
41725
0
               parser_errposition((yylsp[-3]))));
41726
0
          (yyval.range) = (yyvsp[0].range);
41727
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41728
0
        }
41729
0
#line 41730 "gram.c"
41730
0
    break;
41731
41732
0
  case 1734:
41733
0
#line 12466 "gram.y"
41734
0
    {
41735
0
          ereport(WARNING,
41736
0
              (errmsg("GLOBAL is deprecated in temporary table creation"),
41737
0
               parser_errposition((yylsp[-3]))));
41738
0
          (yyval.range) = (yyvsp[0].range);
41739
0
          (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41740
0
        }
41741
0
#line 41742 "gram.c"
41742
0
    break;
41743
41744
0
  case 1735:
41745
0
#line 12474 "gram.y"
41746
0
    {
41747
0
          (yyval.range) = (yyvsp[0].range);
41748
0
          (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
41749
0
        }
41750
0
#line 41751 "gram.c"
41751
0
    break;
41752
41753
0
  case 1736:
41754
0
#line 12479 "gram.y"
41755
0
    {
41756
0
          (yyval.range) = (yyvsp[0].range);
41757
0
          (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
41758
0
        }
41759
0
#line 41760 "gram.c"
41760
0
    break;
41761
41762
8
  case 1737:
41763
8
#line 12484 "gram.y"
41764
8
    {
41765
8
          (yyval.range) = (yyvsp[0].range);
41766
8
          (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
41767
8
        }
41768
8
#line 41769 "gram.c"
41769
8
    break;
41770
41771
1.27k
  case 1738:
41772
1.27k
#line 12490 "gram.y"
41773
1.27k
    {}
41774
1.27k
#line 41775 "gram.c"
41775
1.27k
    break;
41776
41777
225
  case 1739:
41778
225
#line 12491 "gram.y"
41779
225
    {}
41780
225
#line 41781 "gram.c"
41781
225
    break;
41782
41783
1.86k
  case 1740:
41784
1.86k
#line 12495 "gram.y"
41785
1.86k
    { (yyval.boolean) = true; }
41786
1.86k
#line 41787 "gram.c"
41787
1.86k
    break;
41788
41789
0
  case 1741:
41790
0
#line 12496 "gram.y"
41791
0
    { (yyval.boolean) = false; }
41792
0
#line 41793 "gram.c"
41793
0
    break;
41794
41795
8.37k
  case 1742:
41796
8.37k
#line 12497 "gram.y"
41797
8.37k
    { (yyval.boolean) = false; }
41798
8.37k
#line 41799 "gram.c"
41799
8.37k
    break;
41800
41801
150
  case 1743:
41802
150
#line 12504 "gram.y"
41803
150
    { (yyval.list) = list_make1(NIL); }
41804
150
#line 41805 "gram.c"
41805
150
    break;
41806
41807
4
  case 1744:
41808
4
#line 12505 "gram.y"
41809
4
    { (yyval.list) = (yyvsp[-1].list); }
41810
4
#line 41811 "gram.c"
41811
4
    break;
41812
41813
31
  case 1745:
41814
31
#line 12509 "gram.y"
41815
31
    { (yyval.list) = NIL;}
41816
31
#line 41817 "gram.c"
41817
31
    break;
41818
41819
680k
  case 1746:
41820
680k
#line 12510 "gram.y"
41821
680k
    { (yyval.list) = NIL; }
41822
680k
#line 41823 "gram.c"
41823
680k
    break;
41824
41825
5.34k
  case 1747:
41826
5.34k
#line 12514 "gram.y"
41827
5.34k
    { (yyval.list) = (yyvsp[0].list);}
41828
5.34k
#line 41829 "gram.c"
41829
5.34k
    break;
41830
41831
255k
  case 1748:
41832
255k
#line 12515 "gram.y"
41833
255k
    { (yyval.list) = NIL; }
41834
255k
#line 41835 "gram.c"
41835
255k
    break;
41836
41837
36.4k
  case 1749:
41838
36.4k
#line 12519 "gram.y"
41839
36.4k
    { (yyval.list) = (yyvsp[0].list); }
41840
36.4k
#line 41841 "gram.c"
41841
36.4k
    break;
41842
41843
36.4k
  case 1750:
41844
36.4k
#line 12523 "gram.y"
41845
36.4k
    { (yyval.list) = list_make1((yyvsp[0].sortby)); }
41846
36.4k
#line 41847 "gram.c"
41847
36.4k
    break;
41848
41849
14.7k
  case 1751:
41850
14.7k
#line 12524 "gram.y"
41851
14.7k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
41852
14.7k
#line 41853 "gram.c"
41853
14.7k
    break;
41854
41855
76
  case 1752:
41856
76
#line 12528 "gram.y"
41857
76
    {
41858
76
          (yyval.sortby) = makeNode(SortBy);
41859
0
          (yyval.sortby)->node = (yyvsp[-3].node);
41860
76
          (yyval.sortby)->sortby_dir = SORTBY_USING;
41861
76
          (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
41862
76
          (yyval.sortby)->useOp = (yyvsp[-1].list);
41863
76
          (yyval.sortby)->location = (yylsp[-1]);
41864
76
        }
41865
0
#line 41866 "gram.c"
41866
0
    break;
41867
41868
51.1k
  case 1753:
41869
51.1k
#line 12537 "gram.y"
41870
51.1k
    {
41871
51.1k
          (yyval.sortby) = makeNode(SortBy);
41872
0
          (yyval.sortby)->node = (yyvsp[-2].node);
41873
51.1k
          (yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
41874
51.1k
          (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
41875
51.1k
          (yyval.sortby)->useOp = NIL;
41876
51.1k
          (yyval.sortby)->location = -1;    /* no operator */
41877
51.1k
        }
41878
0
#line 41879 "gram.c"
41879
0
    break;
41880
41881
319
  case 1754:
41882
319
#line 12549 "gram.y"
41883
319
    { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); }
41884
319
#line 41885 "gram.c"
41885
319
    break;
41886
41887
389
  case 1755:
41888
389
#line 12550 "gram.y"
41889
389
    { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); }
41890
389
#line 41891 "gram.c"
41891
389
    break;
41892
41893
102k
  case 1756:
41894
102k
#line 12551 "gram.y"
41895
102k
    { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
41896
102k
#line 41897 "gram.c"
41897
102k
    break;
41898
41899
58
  case 1757:
41900
58
#line 12552 "gram.y"
41901
58
    { (yyval.list) = list_make2((yyvsp[0].node), NULL); }
41902
58
#line 41903 "gram.c"
41903
58
    break;
41904
41905
465
  case 1758:
41906
465
#line 12556 "gram.y"
41907
465
    { (yyval.list) = (yyvsp[0].list); }
41908
465
#line 41909 "gram.c"
41909
465
    break;
41910
41911
17.3k
  case 1759:
41912
17.3k
#line 12557 "gram.y"
41913
17.3k
    { (yyval.list) = list_make2(NULL,NULL); }
41914
17.3k
#line 41915 "gram.c"
41915
17.3k
    break;
41916
41917
103k
  case 1760:
41918
103k
#line 12562 "gram.y"
41919
103k
    { (yyval.node) = (yyvsp[0].node); }
41920
103k
#line 41921 "gram.c"
41921
103k
    break;
41922
41923
0
  case 1761:
41924
0
#line 12564 "gram.y"
41925
0
    {
41926
          /* Disabled because it was too confusing, bjm 2002-02-18 */
41927
0
          ereport(ERROR,
41928
0
              (errcode(ERRCODE_SYNTAX_ERROR),
41929
0
               errmsg("LIMIT #,# syntax is not supported"),
41930
0
               errhint("Use separate LIMIT and OFFSET clauses."),
41931
0
               parser_errposition((yylsp[-3]))));
41932
0
        }
41933
0
#line 41934 "gram.c"
41934
0
    break;
41935
41936
5
  case 1762:
41937
5
#line 12580 "gram.y"
41938
5
    { (yyval.node) = (yyvsp[-2].node); }
41939
5
#line 41940 "gram.c"
41940
5
    break;
41941
41942
0
  case 1763:
41943
0
#line 12582 "gram.y"
41944
0
    { (yyval.node) = makeIntConst(1, -1); }
41945
0
#line 41946 "gram.c"
41946
0
    break;
41947
41948
766
  case 1764:
41949
766
#line 12587 "gram.y"
41950
766
    { (yyval.node) = (yyvsp[0].node); }
41951
766
#line 41952 "gram.c"
41952
766
    break;
41953
41954
0
  case 1765:
41955
0
#line 12590 "gram.y"
41956
0
    { (yyval.node) = (yyvsp[-1].node); }
41957
0
#line 41958 "gram.c"
41958
0
    break;
41959
41960
103k
  case 1766:
41961
103k
#line 12594 "gram.y"
41962
103k
    { (yyval.node) = (yyvsp[0].node); }
41963
103k
#line 41964 "gram.c"
41964
103k
    break;
41965
41966
0
  case 1767:
41967
0
#line 12596 "gram.y"
41968
0
    {
41969
          /* LIMIT ALL is represented as a NULL constant */
41970
0
          (yyval.node) = makeNullAConst((yylsp[0]));
41971
0
        }
41972
0
#line 41973 "gram.c"
41973
0
    break;
41974
41975
766
  case 1768:
41976
766
#line 12603 "gram.y"
41977
766
    { (yyval.node) = (yyvsp[0].node); }
41978
766
#line 41979 "gram.c"
41979
766
    break;
41980
41981
5
  case 1769:
41982
5
#line 12623 "gram.y"
41983
5
    { (yyval.node) = (yyvsp[0].node); }
41984
5
#line 41985 "gram.c"
41985
5
    break;
41986
41987
0
  case 1770:
41988
0
#line 12625 "gram.y"
41989
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
41990
0
#line 41991 "gram.c"
41991
0
    break;
41992
41993
0
  case 1771:
41994
0
#line 12627 "gram.y"
41995
0
    { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
41996
0
#line 41997 "gram.c"
41997
0
    break;
41998
41999
0
  case 1772:
42000
0
#line 12631 "gram.y"
42001
0
    { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
42002
0
#line 42003 "gram.c"
42003
0
    break;
42004
42005
9.08k
  case 1773:
42006
9.08k
#line 12632 "gram.y"
42007
9.08k
    { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
42008
9.08k
#line 42009 "gram.c"
42009
9.08k
    break;
42010
42011
0
  case 1774:
42012
0
#line 12636 "gram.y"
42013
0
    { (yyval.ival) = 0; }
42014
0
#line 42015 "gram.c"
42015
0
    break;
42016
42017
5
  case 1775:
42018
5
#line 12637 "gram.y"
42019
5
    { (yyval.ival) = 0; }
42020
5
#line 42021 "gram.c"
42021
5
    break;
42022
42023
5
  case 1776:
42024
5
#line 12640 "gram.y"
42025
5
    { (yyval.ival) = 0; }
42026
5
#line 42027 "gram.c"
42027
5
    break;
42028
42029
0
  case 1777:
42030
0
#line 12641 "gram.y"
42031
0
    { (yyval.ival) = 0; }
42032
0
#line 42033 "gram.c"
42033
0
    break;
42034
42035
1.11k
  case 1778:
42036
1.11k
#line 12666 "gram.y"
42037
1.11k
    { (yyval.list) = (yyvsp[0].list); }
42038
1.11k
#line 42039 "gram.c"
42039
1.11k
    break;
42040
42041
679k
  case 1779:
42042
679k
#line 12667 "gram.y"
42043
679k
    { (yyval.list) = NIL; }
42044
679k
#line 42045 "gram.c"
42045
679k
    break;
42046
42047
1.12k
  case 1780:
42048
1.12k
#line 12671 "gram.y"
42049
1.12k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
42050
1.12k
#line 42051 "gram.c"
42051
1.12k
    break;
42052
42053
244
  case 1781:
42054
244
#line 12672 "gram.y"
42055
244
    { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
42056
244
#line 42057 "gram.c"
42057
244
    break;
42058
42059
1.32k
  case 1782:
42060
1.32k
#line 12676 "gram.y"
42061
1.32k
    { (yyval.node) = (yyvsp[0].node); }
42062
1.32k
#line 42063 "gram.c"
42063
1.32k
    break;
42064
42065
4
  case 1783:
42066
4
#line 12677 "gram.y"
42067
4
    { (yyval.node) = (yyvsp[0].node); }
42068
4
#line 42069 "gram.c"
42069
4
    break;
42070
42071
9
  case 1784:
42072
9
#line 12678 "gram.y"
42073
9
    { (yyval.node) = (yyvsp[0].node); }
42074
9
#line 42075 "gram.c"
42075
9
    break;
42076
42077
13
  case 1785:
42078
13
#line 12679 "gram.y"
42079
13
    { (yyval.node) = (yyvsp[0].node); }
42080
13
#line 42081 "gram.c"
42081
13
    break;
42082
42083
13
  case 1786:
42084
13
#line 12680 "gram.y"
42085
13
    { (yyval.node) = (yyvsp[0].node); }
42086
13
#line 42087 "gram.c"
42087
13
    break;
42088
42089
4
  case 1787:
42090
4
#line 12685 "gram.y"
42091
4
    {
42092
4
          (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
42093
4
        }
42094
4
#line 42095 "gram.c"
42095
4
    break;
42096
42097
13
  case 1788:
42098
13
#line 12698 "gram.y"
42099
13
    {
42100
13
          (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
42101
13
        }
42102
13
#line 42103 "gram.c"
42103
13
    break;
42104
42105
9
  case 1789:
42106
9
#line 12705 "gram.y"
42107
9
    {
42108
9
          (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
42109
9
        }
42110
9
#line 42111 "gram.c"
42111
9
    break;
42112
42113
13
  case 1790:
42114
13
#line 12712 "gram.y"
42115
13
    {
42116
13
          (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
42117
13
        }
42118
13
#line 42119 "gram.c"
42119
13
    break;
42120
42121
226
  case 1791:
42122
226
#line 12718 "gram.y"
42123
226
    { (yyval.node) = (yyvsp[0].node); }
42124
226
#line 42125 "gram.c"
42125
226
    break;
42126
42127
680k
  case 1792:
42128
680k
#line 12719 "gram.y"
42129
680k
    { (yyval.node) = NULL; }
42130
680k
#line 42131 "gram.c"
42131
680k
    break;
42132
42133
17.7k
  case 1793:
42134
17.7k
#line 12724 "gram.y"
42135
17.7k
    {
42136
17.7k
          (yyval.list) = (yyvsp[0].list);
42137
17.7k
        }
42138
17.7k
#line 42139 "gram.c"
42139
17.7k
    break;
42140
42141
0
  case 1794:
42142
0
#line 12727 "gram.y"
42143
0
    { (yyval.list) = NIL; }
42144
0
#line 42145 "gram.c"
42145
0
    break;
42146
42147
36
  case 1795:
42148
36
#line 12731 "gram.y"
42149
36
    { (yyval.list) = (yyvsp[0].list); }
42150
36
#line 42151 "gram.c"
42151
36
    break;
42152
42153
102k
  case 1796:
42154
102k
#line 12732 "gram.y"
42155
102k
    { (yyval.list) = NIL; }
42156
102k
#line 42157 "gram.c"
42157
102k
    break;
42158
42159
17.7k
  case 1797:
42160
17.7k
#line 12736 "gram.y"
42161
17.7k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
42162
17.7k
#line 42163 "gram.c"
42163
17.7k
    break;
42164
42165
136
  case 1798:
42166
136
#line 12737 "gram.y"
42167
136
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
42168
136
#line 42169 "gram.c"
42169
136
    break;
42170
42171
17.9k
  case 1799:
42172
17.9k
#line 12742 "gram.y"
42173
17.9k
    {
42174
17.9k
          LockingClause *n = makeNode(LockingClause);
42175
0
          n->lockedRels = (yyvsp[-1].list);
42176
17.9k
          n->strength = (yyvsp[-2].ival);
42177
17.9k
          n->waitPolicy = (yyvsp[0].ival);
42178
17.9k
          (yyval.node) = (Node *) n;
42179
17.9k
        }
42180
0
#line 42181 "gram.c"
42181
0
    break;
42182
42183
15.0k
  case 1800:
42184
15.0k
#line 12752 "gram.y"
42185
15.0k
    { (yyval.ival) = LCS_FORUPDATE; }
42186
15.0k
#line 42187 "gram.c"
42187
15.0k
    break;
42188
42189
766
  case 1801:
42190
766
#line 12753 "gram.y"
42191
766
    { (yyval.ival) = LCS_FORNOKEYUPDATE; }
42192
766
#line 42193 "gram.c"
42193
766
    break;
42194
42195
1.53k
  case 1802:
42196
1.53k
#line 12754 "gram.y"
42197
1.53k
    { (yyval.ival) = LCS_FORSHARE; }
42198
1.53k
#line 42199 "gram.c"
42199
1.53k
    break;
42200
42201
539
  case 1803:
42202
539
#line 12755 "gram.y"
42203
539
    { (yyval.ival) = LCS_FORKEYSHARE; }
42204
539
#line 42205 "gram.c"
42205
539
    break;
42206
42207
5.27k
  case 1804:
42208
5.27k
#line 12759 "gram.y"
42209
5.27k
    { (yyval.list) = (yyvsp[0].list); }
42210
5.27k
#line 42211 "gram.c"
42211
5.27k
    break;
42212
42213
12.6k
  case 1805:
42214
12.6k
#line 12760 "gram.y"
42215
12.6k
    { (yyval.list) = NIL; }
42216
12.6k
#line 42217 "gram.c"
42217
12.6k
    break;
42218
42219
1.35M
  case 1806:
42220
1.35M
#line 12771 "gram.y"
42221
1.35M
    {
42222
1.35M
          SelectStmt *n = makeNode(SelectStmt);
42223
1.35M
          n->valuesLists = list_make1((yyvsp[-1].list));
42224
1.35M
          (yyval.node) = (Node *) n;
42225
1.35M
        }
42226
0
#line 42227 "gram.c"
42227
0
    break;
42228
42229
568k
  case 1807:
42230
568k
#line 12777 "gram.y"
42231
568k
    {
42232
568k
          SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
42233
568k
          n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
42234
568k
          (yyval.node) = (Node *) n;
42235
568k
        }
42236
568k
#line 42237 "gram.c"
42237
568k
    break;
42238
42239
609k
  case 1808:
42240
609k
#line 12794 "gram.y"
42241
609k
    { (yyval.list) = (yyvsp[0].list); }
42242
609k
#line 42243 "gram.c"
42243
609k
    break;
42244
42245
200k
  case 1809:
42246
200k
#line 12795 "gram.y"
42247
200k
    { (yyval.list) = NIL; }
42248
200k
#line 42249 "gram.c"
42249
200k
    break;
42250
42251
609k
  case 1810:
42252
609k
#line 12799 "gram.y"
42253
609k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
42254
609k
#line 42255 "gram.c"
42255
609k
    break;
42256
42257
17.1k
  case 1811:
42258
17.1k
#line 12800 "gram.y"
42259
17.1k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
42260
17.1k
#line 42261 "gram.c"
42261
17.1k
    break;
42262
42263
629k
  case 1812:
42264
629k
#line 12807 "gram.y"
42265
629k
    {
42266
629k
          (yyvsp[-1].range)->alias = (yyvsp[0].alias);
42267
629k
          (yyval.node) = (Node *) (yyvsp[-1].range);
42268
629k
        }
42269
629k
#line 42270 "gram.c"
42270
629k
    break;
42271
42272
10
  case 1813:
42273
10
#line 12812 "gram.y"
42274
10
    {
42275
10
          RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
42276
10
          (yyvsp[-2].range)->alias = (yyvsp[-1].alias);
42277
          /* relation_expr goes inside the RangeTableSample node */
42278
10
          n->relation = (Node *) (yyvsp[-2].range);
42279
10
          (yyval.node) = (Node *) n;
42280
10
        }
42281
10
#line 42282 "gram.c"
42282
10
    break;
42283
42284
15.0k
  case 1814:
42285
15.0k
#line 12820 "gram.y"
42286
15.0k
    {
42287
15.0k
          RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
42288
15.0k
          n->alias = linitial((yyvsp[0].list));
42289
15.0k
          n->coldeflist = lsecond((yyvsp[0].list));
42290
15.0k
          (yyval.node) = (Node *) n;
42291
15.0k
        }
42292
15.0k
#line 42293 "gram.c"
42293
15.0k
    break;
42294
42295
9
  case 1815:
42296
9
#line 12827 "gram.y"
42297
9
    {
42298
9
          RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
42299
9
          n->lateral = true;
42300
9
          n->alias = linitial((yyvsp[0].list));
42301
9
          n->coldeflist = lsecond((yyvsp[0].list));
42302
9
          (yyval.node) = (Node *) n;
42303
9
        }
42304
9
#line 42305 "gram.c"
42305
9
    break;
42306
42307
0
  case 1816:
42308
0
#line 12835 "gram.y"
42309
0
    {
42310
0
          RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
42311
0
          n->alias = (yyvsp[0].alias);
42312
0
          (yyval.node) = (Node *) n;
42313
0
        }
42314
0
#line 42315 "gram.c"
42315
0
    break;
42316
42317
0
  case 1817:
42318
0
#line 12841 "gram.y"
42319
0
    {
42320
0
          RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
42321
0
          n->lateral = true;
42322
0
          n->alias = (yyvsp[0].alias);
42323
0
          (yyval.node) = (Node *) n;
42324
0
        }
42325
0
#line 42326 "gram.c"
42326
0
    break;
42327
42328
7.08k
  case 1818:
42329
7.08k
#line 12848 "gram.y"
42330
7.08k
    {
42331
7.08k
          RangeSubselect *n = makeNode(RangeSubselect);
42332
0
          n->lateral = false;
42333
7.08k
          n->subquery = (yyvsp[-1].node);
42334
7.08k
          n->alias = (yyvsp[0].alias);
42335
          /*
42336
           * The SQL spec does not permit a subselect
42337
           * (<derived_table>) without an alias clause,
42338
           * so we don't either.  This avoids the problem
42339
           * of needing to invent a unique refname for it.
42340
           * That could be surmounted if there's sufficient
42341
           * popular demand, but for now let's just implement
42342
           * the spec and see if anyone complains.
42343
           * However, it does seem like a good idea to emit
42344
           * an error message that's better than "syntax error".
42345
           */
42346
7.08k
          if ((yyvsp[0].alias) == NULL)
42347
0
          {
42348
0
            if (IsA((yyvsp[-1].node), SelectStmt) &&
42349
0
              ((SelectStmt *) (yyvsp[-1].node))->valuesLists)
42350
0
              ereport(ERROR,
42351
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
42352
0
                   errmsg("VALUES in FROM must have an alias"),
42353
0
                   errhint("For example, FROM (VALUES ...) [AS] foo."),
42354
0
                   parser_errposition((yylsp[-1]))));
42355
0
            else
42356
0
              ereport(ERROR,
42357
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
42358
0
                   errmsg("subquery in FROM must have an alias"),
42359
0
                   errhint("For example, FROM (SELECT ...) [AS] foo."),
42360
0
                   parser_errposition((yylsp[-1]))));
42361
0
          }
42362
7.08k
          (yyval.node) = (Node *) n;
42363
7.08k
        }
42364
0
#line 42365 "gram.c"
42365
0
    break;
42366
42367
55
  case 1819:
42368
55
#line 12883 "gram.y"
42369
55
    {
42370
55
          RangeSubselect *n = makeNode(RangeSubselect);
42371
0
          n->lateral = true;
42372
55
          n->subquery = (yyvsp[-1].node);
42373
55
          n->alias = (yyvsp[0].alias);
42374
          /* same comment as above */
42375
55
          if ((yyvsp[0].alias) == NULL)
42376
0
          {
42377
0
            if (IsA((yyvsp[-1].node), SelectStmt) &&
42378
0
              ((SelectStmt *) (yyvsp[-1].node))->valuesLists)
42379
0
              ereport(ERROR,
42380
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
42381
0
                   errmsg("VALUES in FROM must have an alias"),
42382
0
                   errhint("For example, FROM (VALUES ...) [AS] foo."),
42383
0
                   parser_errposition((yylsp[-1]))));
42384
0
            else
42385
0
              ereport(ERROR,
42386
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
42387
0
                   errmsg("subquery in FROM must have an alias"),
42388
0
                   errhint("For example, FROM (SELECT ...) [AS] foo."),
42389
0
                   parser_errposition((yylsp[-1]))));
42390
0
          }
42391
55
          (yyval.node) = (Node *) n;
42392
55
        }
42393
0
#line 42394 "gram.c"
42394
0
    break;
42395
42396
24.5k
  case 1820:
42397
24.5k
#line 12908 "gram.y"
42398
24.5k
    {
42399
24.5k
          (yyval.node) = (Node *) (yyvsp[0].jexpr);
42400
24.5k
        }
42401
24.5k
#line 42402 "gram.c"
42402
24.5k
    break;
42403
42404
14
  case 1821:
42405
14
#line 12912 "gram.y"
42406
14
    {
42407
14
          (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
42408
14
          (yyval.node) = (Node *) (yyvsp[-2].jexpr);
42409
14
        }
42410
14
#line 42411 "gram.c"
42411
14
    break;
42412
42413
5.53k
  case 1822:
42414
5.53k
#line 12938 "gram.y"
42415
5.53k
    {
42416
5.53k
          (yyval.jexpr) = (yyvsp[-1].jexpr);
42417
5.53k
        }
42418
5.53k
#line 42419 "gram.c"
42419
5.53k
    break;
42420
42421
43
  case 1823:
42422
43
#line 12942 "gram.y"
42423
43
    {
42424
          /* CROSS JOIN is same as unqualified inner join */
42425
43
          JoinExpr *n = makeNode(JoinExpr);
42426
0
          n->jointype = JOIN_INNER;
42427
43
          n->isNatural = false;
42428
43
          n->larg = (yyvsp[-3].node);
42429
43
          n->rarg = (yyvsp[0].node);
42430
43
          n->usingClause = NIL;
42431
43
          n->quals = NULL;
42432
43
          (yyval.jexpr) = n;
42433
43
        }
42434
0
#line 42435 "gram.c"
42435
0
    break;
42436
42437
18.0k
  case 1824:
42438
18.0k
#line 12954 "gram.y"
42439
18.0k
    {
42440
18.0k
          JoinExpr *n = makeNode(JoinExpr);
42441
0
          n->jointype = (yyvsp[-3].jtype);
42442
18.0k
          n->isNatural = false;
42443
18.0k
          n->larg = (yyvsp[-4].node);
42444
18.0k
          n->rarg = (yyvsp[-1].node);
42445
18.0k
          if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
42446
95
            n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
42447
17.9k
          else
42448
17.9k
            n->quals = (yyvsp[0].node); /* ON clause */
42449
18.0k
          (yyval.jexpr) = n;
42450
18.0k
        }
42451
0
#line 42452 "gram.c"
42452
0
    break;
42453
42454
6.35k
  case 1825:
42455
6.35k
#line 12967 "gram.y"
42456
6.35k
    {
42457
          /* letting join_type reduce to empty doesn't work */
42458
6.35k
          JoinExpr *n = makeNode(JoinExpr);
42459
0
          n->jointype = JOIN_INNER;
42460
6.35k
          n->isNatural = false;
42461
6.35k
          n->larg = (yyvsp[-3].node);
42462
6.35k
          n->rarg = (yyvsp[-1].node);
42463
6.35k
          if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
42464
509
            n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
42465
5.84k
          else
42466
5.84k
            n->quals = (yyvsp[0].node); /* ON clause */
42467
6.35k
          (yyval.jexpr) = n;
42468
6.35k
        }
42469
0
#line 42470 "gram.c"
42470
0
    break;
42471
42472
53
  case 1826:
42473
53
#line 12981 "gram.y"
42474
53
    {
42475
53
          JoinExpr *n = makeNode(JoinExpr);
42476
0
          n->jointype = (yyvsp[-2].jtype);
42477
53
          n->isNatural = true;
42478
53
          n->larg = (yyvsp[-4].node);
42479
53
          n->rarg = (yyvsp[0].node);
42480
53
          n->usingClause = NIL; /* figure out which columns later... */
42481
53
          n->quals = NULL; /* fill later */
42482
53
          (yyval.jexpr) = n;
42483
53
        }
42484
0
#line 42485 "gram.c"
42485
0
    break;
42486
42487
73
  case 1827:
42488
73
#line 12992 "gram.y"
42489
73
    {
42490
          /* letting join_type reduce to empty doesn't work */
42491
73
          JoinExpr *n = makeNode(JoinExpr);
42492
0
          n->jointype = JOIN_INNER;
42493
73
          n->isNatural = true;
42494
73
          n->larg = (yyvsp[-3].node);
42495
73
          n->rarg = (yyvsp[0].node);
42496
73
          n->usingClause = NIL; /* figure out which columns later... */
42497
73
          n->quals = NULL; /* fill later */
42498
73
          (yyval.jexpr) = n;
42499
73
        }
42500
0
#line 42501 "gram.c"
42501
0
    break;
42502
42503
2.36k
  case 1828:
42504
2.36k
#line 13007 "gram.y"
42505
2.36k
    {
42506
2.36k
          (yyval.alias) = makeNode(Alias);
42507
0
          (yyval.alias)->aliasname = (yyvsp[-3].str);
42508
2.36k
          (yyval.alias)->colnames = (yyvsp[-1].list);
42509
2.36k
        }
42510
0
#line 42511 "gram.c"
42511
0
    break;
42512
42513
3.10k
  case 1829:
42514
3.10k
#line 13013 "gram.y"
42515
3.10k
    {
42516
3.10k
          (yyval.alias) = makeNode(Alias);
42517
0
          (yyval.alias)->aliasname = (yyvsp[0].str);
42518
3.10k
        }
42519
0
#line 42520 "gram.c"
42520
0
    break;
42521
42522
4.96k
  case 1830:
42523
4.96k
#line 13018 "gram.y"
42524
4.96k
    {
42525
4.96k
          (yyval.alias) = makeNode(Alias);
42526
0
          (yyval.alias)->aliasname = (yyvsp[-3].str);
42527
4.96k
          (yyval.alias)->colnames = (yyvsp[-1].list);
42528
4.96k
        }
42529
0
#line 42530 "gram.c"
42530
0
    break;
42531
42532
63.3k
  case 1831:
42533
63.3k
#line 13024 "gram.y"
42534
63.3k
    {
42535
63.3k
          (yyval.alias) = makeNode(Alias);
42536
0
          (yyval.alias)->aliasname = (yyvsp[0].str);
42537
63.3k
        }
42538
0
#line 42539 "gram.c"
42539
0
    break;
42540
42541
66.2k
  case 1832:
42542
66.2k
#line 13030 "gram.y"
42543
66.2k
    { (yyval.alias) = (yyvsp[0].alias); }
42544
66.2k
#line 42545 "gram.c"
42545
66.2k
    break;
42546
42547
570k
  case 1833:
42548
570k
#line 13031 "gram.y"
42549
570k
    { (yyval.alias) = NULL; }
42550
570k
#line 42551 "gram.c"
42551
570k
    break;
42552
42553
7.51k
  case 1834:
42554
7.51k
#line 13040 "gram.y"
42555
7.51k
    {
42556
7.51k
          (yyval.list) = list_make2((yyvsp[0].alias), NIL);
42557
7.51k
        }
42558
7.51k
#line 42559 "gram.c"
42559
7.51k
    break;
42560
42561
57
  case 1835:
42562
57
#line 13044 "gram.y"
42563
57
    {
42564
57
          (yyval.list) = list_make2(NULL, (yyvsp[-1].list));
42565
57
        }
42566
57
#line 42567 "gram.c"
42567
57
    break;
42568
42569
1.28k
  case 1836:
42570
1.28k
#line 13048 "gram.y"
42571
1.28k
    {
42572
1.28k
          Alias *a = makeNode(Alias);
42573
0
          a->aliasname = (yyvsp[-3].str);
42574
1.28k
          (yyval.list) = list_make2(a, (yyvsp[-1].list));
42575
1.28k
        }
42576
0
#line 42577 "gram.c"
42577
0
    break;
42578
42579
40
  case 1837:
42580
40
#line 13054 "gram.y"
42581
40
    {
42582
40
          Alias *a = makeNode(Alias);
42583
0
          a->aliasname = (yyvsp[-3].str);
42584
40
          (yyval.list) = list_make2(a, (yyvsp[-1].list));
42585
40
        }
42586
0
#line 42587 "gram.c"
42587
0
    break;
42588
42589
6.11k
  case 1838:
42590
6.11k
#line 13060 "gram.y"
42591
6.11k
    {
42592
6.11k
          (yyval.list) = list_make2(NULL, NIL);
42593
6.11k
        }
42594
6.11k
#line 42595 "gram.c"
42595
6.11k
    break;
42596
42597
823
  case 1839:
42598
823
#line 13065 "gram.y"
42599
823
    { (yyval.jtype) = JOIN_FULL; }
42600
823
#line 42601 "gram.c"
42601
823
    break;
42602
42603
8.20k
  case 1840:
42604
8.20k
#line 13066 "gram.y"
42605
8.20k
    { (yyval.jtype) = JOIN_LEFT; }
42606
8.20k
#line 42607 "gram.c"
42607
8.20k
    break;
42608
42609
137
  case 1841:
42610
137
#line 13067 "gram.y"
42611
137
    { (yyval.jtype) = JOIN_RIGHT; }
42612
137
#line 42613 "gram.c"
42613
137
    break;
42614
42615
8.96k
  case 1842:
42616
8.96k
#line 13068 "gram.y"
42617
8.96k
    { (yyval.jtype) = JOIN_INNER; }
42618
8.96k
#line 42619 "gram.c"
42619
8.96k
    break;
42620
42621
119
  case 1843:
42622
119
#line 13072 "gram.y"
42623
119
    { (yyval.node) = NULL; }
42624
119
#line 42625 "gram.c"
42625
119
    break;
42626
42627
9.05k
  case 1844:
42628
9.05k
#line 13073 "gram.y"
42629
9.05k
    { (yyval.node) = NULL; }
42630
9.05k
#line 42631 "gram.c"
42631
9.05k
    break;
42632
42633
604
  case 1845:
42634
604
#line 13085 "gram.y"
42635
604
    { (yyval.node) = (Node *) (yyvsp[-1].list); }
42636
604
#line 42637 "gram.c"
42637
604
    break;
42638
42639
23.8k
  case 1846:
42640
23.8k
#line 13086 "gram.y"
42641
23.8k
    { (yyval.node) = (yyvsp[0].node); }
42642
23.8k
#line 42643 "gram.c"
42643
23.8k
    break;
42644
42645
786k
  case 1847:
42646
786k
#line 13092 "gram.y"
42647
786k
    {
42648
          /* inheritance query, implicitly */
42649
786k
          (yyval.range) = (yyvsp[0].range);
42650
786k
          (yyval.range)->inh = true;
42651
786k
          (yyval.range)->alias = NULL;
42652
786k
        }
42653
786k
#line 42654 "gram.c"
42654
786k
    break;
42655
42656
0
  case 1848:
42657
0
#line 13099 "gram.y"
42658
0
    {
42659
          /* inheritance query, explicitly */
42660
0
          (yyval.range) = (yyvsp[-1].range);
42661
0
          (yyval.range)->inh = true;
42662
0
          (yyval.range)->alias = NULL;
42663
0
        }
42664
0
#line 42665 "gram.c"
42665
0
    break;
42666
42667
412
  case 1849:
42668
412
#line 13106 "gram.y"
42669
412
    {
42670
          /* no inheritance */
42671
412
          (yyval.range) = (yyvsp[0].range);
42672
412
          (yyval.range)->inh = false;
42673
412
          (yyval.range)->alias = NULL;
42674
412
        }
42675
412
#line 42676 "gram.c"
42676
412
    break;
42677
42678
0
  case 1850:
42679
0
#line 13113 "gram.y"
42680
0
    {
42681
          /* no inheritance, SQL99-style syntax */
42682
0
          (yyval.range) = (yyvsp[-1].range);
42683
0
          (yyval.range)->inh = false;
42684
0
          (yyval.range)->alias = NULL;
42685
0
        }
42686
0
#line 42687 "gram.c"
42687
0
    break;
42688
42689
1.52k
  case 1851:
42690
1.52k
#line 13123 "gram.y"
42691
1.52k
    { (yyval.list) = list_make1((yyvsp[0].range)); }
42692
1.52k
#line 42693 "gram.c"
42693
1.52k
    break;
42694
42695
900
  case 1852:
42696
900
#line 13124 "gram.y"
42697
900
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
42698
900
#line 42699 "gram.c"
42699
900
    break;
42700
42701
147k
  case 1853:
42702
147k
#line 13138 "gram.y"
42703
147k
    {
42704
147k
          (yyval.range) = (yyvsp[0].range);
42705
147k
        }
42706
147k
#line 42707 "gram.c"
42707
147k
    break;
42708
42709
107
  case 1854:
42710
107
#line 13142 "gram.y"
42711
107
    {
42712
107
          Alias *alias = makeNode(Alias);
42713
0
          alias->aliasname = (yyvsp[0].str);
42714
107
          (yyvsp[-1].range)->alias = alias;
42715
107
          (yyval.range) = (yyvsp[-1].range);
42716
107
        }
42717
0
#line 42718 "gram.c"
42718
0
    break;
42719
42720
0
  case 1855:
42721
0
#line 13149 "gram.y"
42722
0
    {
42723
0
          Alias *alias = makeNode(Alias);
42724
0
          alias->aliasname = (yyvsp[0].str);
42725
0
          (yyvsp[-2].range)->alias = alias;
42726
0
          (yyval.range) = (yyvsp[-2].range);
42727
0
        }
42728
0
#line 42729 "gram.c"
42729
0
    break;
42730
42731
10
  case 1856:
42732
10
#line 13162 "gram.y"
42733
10
    {
42734
10
          RangeTableSample *n = makeNode(RangeTableSample);
42735
          /* n->relation will be filled in later */
42736
0
          n->method = (yyvsp[-4].list);
42737
10
          n->args = (yyvsp[-2].list);
42738
10
          n->repeatable = (yyvsp[0].node);
42739
10
          n->location = (yylsp[-4]);
42740
10
          (yyval.node) = (Node *) n;
42741
10
        }
42742
0
#line 42743 "gram.c"
42743
0
    break;
42744
42745
10
  case 1857:
42746
10
#line 13174 "gram.y"
42747
10
    { (yyval.node) = (Node *) (yyvsp[-1].node); }
42748
10
#line 42749 "gram.c"
42749
10
    break;
42750
42751
0
  case 1858:
42752
0
#line 13175 "gram.y"
42753
0
    { (yyval.node) = NULL; }
42754
0
#line 42755 "gram.c"
42755
0
    break;
42756
42757
15.0k
  case 1859:
42758
15.0k
#line 13191 "gram.y"
42759
15.0k
    {
42760
15.0k
          RangeFunction *n = makeNode(RangeFunction);
42761
0
          n->lateral = false;
42762
15.0k
          n->ordinality = (yyvsp[0].boolean);
42763
15.0k
          n->is_rowsfrom = false;
42764
15.0k
          n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
42765
          /* alias and coldeflist are set by table_ref production */
42766
15.0k
          (yyval.node) = (Node *) n;
42767
15.0k
        }
42768
0
#line 42769 "gram.c"
42769
0
    break;
42770
42771
0
  case 1860:
42772
0
#line 13201 "gram.y"
42773
0
    {
42774
0
          RangeFunction *n = makeNode(RangeFunction);
42775
0
          n->lateral = false;
42776
0
          n->ordinality = (yyvsp[0].boolean);
42777
0
          n->is_rowsfrom = true;
42778
0
          n->functions = (yyvsp[-2].list);
42779
          /* alias and coldeflist are set by table_ref production */
42780
0
          (yyval.node) = (Node *) n;
42781
0
        }
42782
0
#line 42783 "gram.c"
42783
0
    break;
42784
42785
0
  case 1861:
42786
0
#line 13213 "gram.y"
42787
0
    { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
42788
0
#line 42789 "gram.c"
42789
0
    break;
42790
42791
0
  case 1862:
42792
0
#line 13217 "gram.y"
42793
0
    { (yyval.list) = list_make1((yyvsp[0].list)); }
42794
0
#line 42795 "gram.c"
42795
0
    break;
42796
42797
0
  case 1863:
42798
0
#line 13218 "gram.y"
42799
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
42800
0
#line 42801 "gram.c"
42801
0
    break;
42802
42803
0
  case 1864:
42804
0
#line 13221 "gram.y"
42805
0
    { (yyval.list) = (yyvsp[-1].list); }
42806
0
#line 42807 "gram.c"
42807
0
    break;
42808
42809
0
  case 1865:
42810
0
#line 13222 "gram.y"
42811
0
    { (yyval.list) = NIL; }
42812
0
#line 42813 "gram.c"
42813
0
    break;
42814
42815
645
  case 1866:
42816
645
#line 13225 "gram.y"
42817
645
    { (yyval.boolean) = true; }
42818
645
#line 42819 "gram.c"
42819
645
    break;
42820
42821
14.3k
  case 1867:
42822
14.3k
#line 13226 "gram.y"
42823
14.3k
    { (yyval.boolean) = false; }
42824
14.3k
#line 42825 "gram.c"
42825
14.3k
    break;
42826
42827
446k
  case 1868:
42828
446k
#line 13231 "gram.y"
42829
446k
    { (yyval.node) = (yyvsp[0].node); }
42830
446k
#line 42831 "gram.c"
42831
446k
    break;
42832
42833
302k
  case 1869:
42834
302k
#line 13232 "gram.y"
42835
302k
    { (yyval.node) = NULL; }
42836
302k
#line 42837 "gram.c"
42837
302k
    break;
42838
42839
146k
  case 1870:
42840
146k
#line 13237 "gram.y"
42841
146k
    { (yyval.node) = (yyvsp[0].node); }
42842
146k
#line 42843 "gram.c"
42843
146k
    break;
42844
42845
70
  case 1871:
42846
70
#line 13239 "gram.y"
42847
70
    {
42848
70
          parser_ybc_signal_unsupported((yylsp[-3]), "WHERE CURRENT OF", 737);
42849
70
          CurrentOfExpr *n = makeNode(CurrentOfExpr);
42850
          /* cvarno is filled in by parse analysis */
42851
0
          n->cursor_name = (yyvsp[0].str);
42852
70
          n->cursor_param = 0;
42853
70
          (yyval.node) = (Node *) n;
42854
70
        }
42855
0
#line 42856 "gram.c"
42856
0
    break;
42857
42858
1.94k
  case 1872:
42859
1.94k
#line 13247 "gram.y"
42860
1.94k
    { (yyval.node) = NULL; }
42861
1.94k
#line 42862 "gram.c"
42862
1.94k
    break;
42863
42864
319
  case 1873:
42865
319
#line 13252 "gram.y"
42866
319
    { (yyval.list) = (yyvsp[0].list); }
42867
319
#line 42868 "gram.c"
42868
319
    break;
42869
42870
0
  case 1874:
42871
0
#line 13253 "gram.y"
42872
0
    { (yyval.list) = NIL; }
42873
0
#line 42874 "gram.c"
42874
0
    break;
42875
42876
1.70k
  case 1875:
42877
1.70k
#line 13258 "gram.y"
42878
1.70k
    {
42879
1.70k
          (yyval.list) = list_make1((yyvsp[0].node));
42880
1.70k
        }
42881
1.70k
#line 42882 "gram.c"
42882
1.70k
    break;
42883
42884
2.08k
  case 1876:
42885
2.08k
#line 13262 "gram.y"
42886
2.08k
    {
42887
2.08k
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
42888
2.08k
        }
42889
2.08k
#line 42890 "gram.c"
42890
2.08k
    break;
42891
42892
3.78k
  case 1877:
42893
3.78k
#line 13268 "gram.y"
42894
3.78k
    {
42895
3.78k
          ColumnDef *n = makeNode(ColumnDef);
42896
0
          n->colname = (yyvsp[-2].str);
42897
3.78k
          n->typeName = (yyvsp[-1].typnam);
42898
3.78k
          n->inhcount = 0;
42899
3.78k
          n->is_local = true;
42900
3.78k
          n->is_not_null = false;
42901
3.78k
          n->is_from_type = false;
42902
3.78k
          n->storage = 0;
42903
3.78k
          n->raw_default = NULL;
42904
3.78k
          n->cooked_default = NULL;
42905
3.78k
          n->collClause = (CollateClause *) (yyvsp[0].node);
42906
3.78k
          n->collOid = InvalidOid;
42907
3.78k
          n->constraints = NIL;
42908
3.78k
          n->location = (yylsp[-2]);
42909
3.78k
          (yyval.node) = (Node *)n;
42910
3.78k
        }
42911
0
#line 42912 "gram.c"
42912
0
    break;
42913
42914
0
  case 1878:
42915
0
#line 13292 "gram.y"
42916
0
    {
42917
0
          RangeTableFunc *n = makeNode(RangeTableFunc);
42918
0
          n->rowexpr = (yyvsp[-4].node);
42919
0
          n->docexpr = (yyvsp[-3].node);
42920
0
          n->columns = (yyvsp[-1].list);
42921
0
          n->namespaces = NIL;
42922
0
          n->location = (yylsp[-6]);
42923
0
          (yyval.node) = (Node *)n;
42924
0
        }
42925
0
#line 42926 "gram.c"
42926
0
    break;
42927
42928
0
  case 1879:
42929
0
#line 13303 "gram.y"
42930
0
    {
42931
0
          RangeTableFunc *n = makeNode(RangeTableFunc);
42932
0
          n->rowexpr = (yyvsp[-4].node);
42933
0
          n->docexpr = (yyvsp[-3].node);
42934
0
          n->columns = (yyvsp[-1].list);
42935
0
          n->namespaces = (yyvsp[-7].list);
42936
0
          n->location = (yylsp[-11]);
42937
0
          (yyval.node) = (Node *)n;
42938
0
        }
42939
0
#line 42940 "gram.c"
42940
0
    break;
42941
42942
0
  case 1880:
42943
0
#line 13314 "gram.y"
42944
0
    { (yyval.list) = list_make1((yyvsp[0].node)); }
42945
0
#line 42946 "gram.c"
42946
0
    break;
42947
42948
0
  case 1881:
42949
0
#line 13315 "gram.y"
42950
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
42951
0
#line 42952 "gram.c"
42952
0
    break;
42953
42954
0
  case 1882:
42955
0
#line 13320 "gram.y"
42956
0
    {
42957
0
          RangeTableFuncCol    *fc = makeNode(RangeTableFuncCol);
42958
42959
0
          fc->colname = (yyvsp[-1].str);
42960
0
          fc->for_ordinality = false;
42961
0
          fc->typeName = (yyvsp[0].typnam);
42962
0
          fc->is_not_null = false;
42963
0
          fc->colexpr = NULL;
42964
0
          fc->coldefexpr = NULL;
42965
0
          fc->location = (yylsp[-1]);
42966
42967
0
          (yyval.node) = (Node *) fc;
42968
0
        }
42969
0
#line 42970 "gram.c"
42970
0
    break;
42971
42972
0
  case 1883:
42973
0
#line 13334 "gram.y"
42974
0
    {
42975
0
          RangeTableFuncCol    *fc = makeNode(RangeTableFuncCol);
42976
0
          ListCell       *option;
42977
0
          bool        nullability_seen = false;
42978
42979
0
          fc->colname = (yyvsp[-2].str);
42980
0
          fc->typeName = (yyvsp[-1].typnam);
42981
0
          fc->for_ordinality = false;
42982
0
          fc->is_not_null = false;
42983
0
          fc->colexpr = NULL;
42984
0
          fc->coldefexpr = NULL;
42985
0
          fc->location = (yylsp[-2]);
42986
42987
0
          foreach(option, (yyvsp[0].list))
42988
0
          {
42989
0
            DefElem   *defel = (DefElem *) lfirst(option);
42990
42991
0
            if (strcmp(defel->defname, "default") == 0)
42992
0
            {
42993
0
              if (fc->coldefexpr != NULL)
42994
0
                ereport(ERROR,
42995
0
                    (errcode(ERRCODE_SYNTAX_ERROR),
42996
0
                     errmsg("only one DEFAULT value is allowed"),
42997
0
                     parser_errposition(defel->location)));
42998
0
              fc->coldefexpr = defel->arg;
42999
0
            }
43000
0
            else if (strcmp(defel->defname, "path") == 0)
43001
0
            {
43002
0
              if (fc->colexpr != NULL)
43003
0
                ereport(ERROR,
43004
0
                    (errcode(ERRCODE_SYNTAX_ERROR),
43005
0
                     errmsg("only one PATH value per column is allowed"),
43006
0
                     parser_errposition(defel->location)));
43007
0
              fc->colexpr = defel->arg;
43008
0
            }
43009
0
            else if (strcmp(defel->defname, "is_not_null") == 0)
43010
0
            {
43011
0
              if (nullability_seen)
43012
0
                ereport(ERROR,
43013
0
                    (errcode(ERRCODE_SYNTAX_ERROR),
43014
0
                     errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
43015
0
                     parser_errposition(defel->location)));
43016
0
              fc->is_not_null = intVal(defel->arg);
43017
0
              nullability_seen = true;
43018
0
            }
43019
0
            else
43020
0
            {
43021
0
              ereport(ERROR,
43022
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
43023
0
                   errmsg("unrecognized column option \"%s\"",
43024
0
                      defel->defname),
43025
0
                   parser_errposition(defel->location)));
43026
0
            }
43027
0
          }
43028
0
          (yyval.node) = (Node *) fc;
43029
0
        }
43030
0
#line 43031 "gram.c"
43031
0
    break;
43032
43033
0
  case 1884:
43034
0
#line 13391 "gram.y"
43035
0
    {
43036
0
          RangeTableFuncCol    *fc = makeNode(RangeTableFuncCol);
43037
43038
0
          fc->colname = (yyvsp[-2].str);
43039
0
          fc->for_ordinality = true;
43040
          /* other fields are ignored, initialized by makeNode */
43041
0
          fc->location = (yylsp[-2]);
43042
43043
0
          (yyval.node) = (Node *) fc;
43044
0
        }
43045
0
#line 43046 "gram.c"
43046
0
    break;
43047
43048
0
  case 1885:
43049
0
#line 13405 "gram.y"
43050
0
    { (yyval.list) = list_make1((yyvsp[0].defelt)); }
43051
0
#line 43052 "gram.c"
43052
0
    break;
43053
43054
0
  case 1886:
43055
0
#line 13407 "gram.y"
43056
0
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
43057
0
#line 43058 "gram.c"
43058
0
    break;
43059
43060
0
  case 1887:
43061
0
#line 13412 "gram.y"
43062
0
    { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
43063
0
#line 43064 "gram.c"
43064
0
    break;
43065
43066
0
  case 1888:
43067
0
#line 13414 "gram.y"
43068
0
    { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
43069
0
#line 43070 "gram.c"
43070
0
    break;
43071
43072
0
  case 1889:
43073
0
#line 13416 "gram.y"
43074
0
    { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
43075
0
#line 43076 "gram.c"
43076
0
    break;
43077
43078
0
  case 1890:
43079
0
#line 13418 "gram.y"
43080
0
    { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
43081
0
#line 43082 "gram.c"
43082
0
    break;
43083
43084
0
  case 1891:
43085
0
#line 13423 "gram.y"
43086
0
    { (yyval.list) = list_make1((yyvsp[0].target)); }
43087
0
#line 43088 "gram.c"
43088
0
    break;
43089
43090
0
  case 1892:
43091
0
#line 13425 "gram.y"
43092
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
43093
0
#line 43094 "gram.c"
43094
0
    break;
43095
43096
0
  case 1893:
43097
0
#line 13430 "gram.y"
43098
0
    {
43099
0
          (yyval.target) = makeNode(ResTarget);
43100
0
          (yyval.target)->name = (yyvsp[0].str);
43101
0
          (yyval.target)->indirection = NIL;
43102
0
          (yyval.target)->val = (yyvsp[-2].node);
43103
0
          (yyval.target)->location = (yylsp[-2]);
43104
0
        }
43105
0
#line 43106 "gram.c"
43106
0
    break;
43107
43108
0
  case 1894:
43109
0
#line 13438 "gram.y"
43110
0
    {
43111
0
          (yyval.target) = makeNode(ResTarget);
43112
0
          (yyval.target)->name = NULL;
43113
0
          (yyval.target)->indirection = NIL;
43114
0
          (yyval.target)->val = (yyvsp[0].node);
43115
0
          (yyval.target)->location = (yylsp[-1]);
43116
0
        }
43117
0
#line 43118 "gram.c"
43118
0
    break;
43119
43120
162k
  case 1895:
43121
162k
#line 13458 "gram.y"
43122
162k
    {
43123
162k
          (yyval.typnam) = (yyvsp[-1].typnam);
43124
162k
          (yyval.typnam)->arrayBounds = (yyvsp[0].list);
43125
162k
        }
43126
162k
#line 43127 "gram.c"
43127
162k
    break;
43128
43129
1.13k
  case 1896:
43130
1.13k
#line 13463 "gram.y"
43131
1.13k
    {
43132
1.13k
          (yyval.typnam) = (yyvsp[-1].typnam);
43133
1.13k
          (yyval.typnam)->arrayBounds = (yyvsp[0].list);
43134
1.13k
          (yyval.typnam)->setof = true;
43135
1.13k
        }
43136
1.13k
#line 43137 "gram.c"
43137
1.13k
    break;
43138
43139
4
  case 1897:
43140
4
#line 13470 "gram.y"
43141
4
    {
43142
4
          (yyval.typnam) = (yyvsp[-4].typnam);
43143
4
          (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
43144
4
        }
43145
4
#line 43146 "gram.c"
43146
4
    break;
43147
43148
0
  case 1898:
43149
0
#line 13475 "gram.y"
43150
0
    {
43151
0
          (yyval.typnam) = (yyvsp[-4].typnam);
43152
0
          (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
43153
0
          (yyval.typnam)->setof = true;
43154
0
        }
43155
0
#line 43156 "gram.c"
43156
0
    break;
43157
43158
13
  case 1899:
43159
13
#line 13481 "gram.y"
43160
13
    {
43161
13
          (yyval.typnam) = (yyvsp[-1].typnam);
43162
13
          (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
43163
13
        }
43164
13
#line 43165 "gram.c"
43165
13
    break;
43166
43167
0
  case 1900:
43168
0
#line 13486 "gram.y"
43169
0
    {
43170
0
          (yyval.typnam) = (yyvsp[-1].typnam);
43171
0
          (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
43172
0
          (yyval.typnam)->setof = true;
43173
0
        }
43174
0
#line 43175 "gram.c"
43175
0
    break;
43176
43177
9.34k
  case 1901:
43178
9.34k
#line 13495 "gram.y"
43179
9.34k
    {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
43180
9.34k
#line 43181 "gram.c"
43181
9.34k
    break;
43182
43183
20
  case 1902:
43184
20
#line 13497 "gram.y"
43185
20
    {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
43186
20
#line 43187 "gram.c"
43187
20
    break;
43188
43189
163k
  case 1903:
43190
163k
#line 13499 "gram.y"
43191
163k
    {  (yyval.list) = NIL; }
43192
163k
#line 43193 "gram.c"
43193
163k
    break;
43194
43195
102k
  case 1904:
43196
102k
#line 13503 "gram.y"
43197
102k
    { (yyval.typnam) = (yyvsp[0].typnam); }
43198
102k
#line 43199 "gram.c"
43199
102k
    break;
43200
43201
54.6k
  case 1905:
43202
54.6k
#line 13504 "gram.y"
43203
54.6k
    { (yyval.typnam) = (yyvsp[0].typnam); }
43204
54.6k
#line 43205 "gram.c"
43205
54.6k
    break;
43206
43207
1.08k
  case 1906:
43208
1.08k
#line 13505 "gram.y"
43209
1.08k
    { (yyval.typnam) = (yyvsp[0].typnam); }
43210
1.08k
#line 43211 "gram.c"
43211
1.08k
    break;
43212
43213
3.06k
  case 1907:
43214
3.06k
#line 13506 "gram.y"
43215
3.06k
    { (yyval.typnam) = (yyvsp[0].typnam); }
43216
3.06k
#line 43217 "gram.c"
43217
3.06k
    break;
43218
43219
1.91k
  case 1908:
43220
1.91k
#line 13507 "gram.y"
43221
1.91k
    { (yyval.typnam) = (yyvsp[0].typnam); }
43222
1.91k
#line 43223 "gram.c"
43223
1.91k
    break;
43224
43225
424
  case 1909:
43226
424
#line 13509 "gram.y"
43227
424
    {
43228
424
          (yyval.typnam) = (yyvsp[-1].typnam);
43229
424
          (yyval.typnam)->typmods = (yyvsp[0].list);
43230
424
        }
43231
424
#line 43232 "gram.c"
43232
424
    break;
43233
43234
0
  case 1910:
43235
0
#line 13514 "gram.y"
43236
0
    {
43237
0
          (yyval.typnam) = (yyvsp[-3].typnam);
43238
0
          (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
43239
0
                       makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
43240
0
        }
43241
0
#line 43242 "gram.c"
43242
0
    break;
43243
43244
20
  case 1911:
43245
20
#line 13533 "gram.y"
43246
20
    { (yyval.typnam) = (yyvsp[0].typnam); }
43247
20
#line 43248 "gram.c"
43248
20
    break;
43249
43250
0
  case 1912:
43251
0
#line 13534 "gram.y"
43252
0
    { (yyval.typnam) = (yyvsp[0].typnam); }
43253
0
#line 43254 "gram.c"
43254
0
    break;
43255
43256
0
  case 1913:
43257
0
#line 13535 "gram.y"
43258
0
    { (yyval.typnam) = (yyvsp[0].typnam); }
43259
0
#line 43260 "gram.c"
43260
0
    break;
43261
43262
239
  case 1914:
43263
239
#line 13536 "gram.y"
43264
239
    { (yyval.typnam) = (yyvsp[0].typnam); }
43265
239
#line 43266 "gram.c"
43266
239
    break;
43267
43268
87.9k
  case 1915:
43269
87.9k
#line 13548 "gram.y"
43270
87.9k
    {
43271
87.9k
          (yyval.typnam) = makeTypeName((yyvsp[-1].str));
43272
87.9k
          (yyval.typnam)->typmods = (yyvsp[0].list);
43273
87.9k
          (yyval.typnam)->location = (yylsp[-1]);
43274
87.9k
        }
43275
87.9k
#line 43276 "gram.c"
43276
87.9k
    break;
43277
43278
14.6k
  case 1916:
43279
14.6k
#line 13554 "gram.y"
43280
14.6k
    {
43281
14.6k
          (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
43282
14.6k
          (yyval.typnam)->typmods = (yyvsp[0].list);
43283
14.6k
          (yyval.typnam)->location = (yylsp[-2]);
43284
14.6k
        }
43285
14.6k
#line 43286 "gram.c"
43286
14.6k
    break;
43287
43288
1.92k
  case 1917:
43289
1.92k
#line 13561 "gram.y"
43290
1.92k
    { (yyval.list) = (yyvsp[-1].list); }
43291
1.92k
#line 43292 "gram.c"
43292
1.92k
    break;
43293
43294
107k
  case 1918:
43295
107k
#line 13562 "gram.y"
43296
107k
    { (yyval.list) = NIL; }
43297
107k
#line 43298 "gram.c"
43298
107k
    break;
43299
43300
33.0k
  case 1919:
43301
33.0k
#line 13569 "gram.y"
43302
33.0k
    {
43303
33.0k
          (yyval.typnam) = SystemTypeName("int4");
43304
33.0k
          (yyval.typnam)->location = (yylsp[0]);
43305
33.0k
        }
43306
33.0k
#line 43307 "gram.c"
43307
33.0k
    break;
43308
43309
10.1k
  case 1920:
43310
10.1k
#line 13574 "gram.y"
43311
10.1k
    {
43312
10.1k
          (yyval.typnam) = SystemTypeName("int4");
43313
10.1k
          (yyval.typnam)->location = (yylsp[0]);
43314
10.1k
        }
43315
10.1k
#line 43316 "gram.c"
43316
10.1k
    break;
43317
43318
395
  case 1921:
43319
395
#line 13579 "gram.y"
43320
395
    {
43321
395
          (yyval.typnam) = SystemTypeName("int2");
43322
395
          (yyval.typnam)->location = (yylsp[0]);
43323
395
        }
43324
395
#line 43325 "gram.c"
43325
395
    break;
43326
43327
1.85k
  case 1922:
43328
1.85k
#line 13584 "gram.y"
43329
1.85k
    {
43330
1.85k
          (yyval.typnam) = SystemTypeName("int8");
43331
1.85k
          (yyval.typnam)->location = (yylsp[0]);
43332
1.85k
        }
43333
1.85k
#line 43334 "gram.c"
43334
1.85k
    break;
43335
43336
125
  case 1923:
43337
125
#line 13589 "gram.y"
43338
125
    {
43339
125
          (yyval.typnam) = SystemTypeName("float4");
43340
125
          (yyval.typnam)->location = (yylsp[0]);
43341
125
        }
43342
125
#line 43343 "gram.c"
43343
125
    break;
43344
43345
620
  case 1924:
43346
620
#line 13594 "gram.y"
43347
620
    {
43348
620
          (yyval.typnam) = (yyvsp[0].typnam);
43349
620
          (yyval.typnam)->location = (yylsp[-1]);
43350
620
        }
43351
620
#line 43352 "gram.c"
43352
620
    break;
43353
43354
301
  case 1925:
43355
301
#line 13599 "gram.y"
43356
301
    {
43357
301
          (yyval.typnam) = SystemTypeName("float8");
43358
301
          (yyval.typnam)->location = (yylsp[-1]);
43359
301
        }
43360
301
#line 43361 "gram.c"
43361
301
    break;
43362
43363
40
  case 1926:
43364
40
#line 13604 "gram.y"
43365
40
    {
43366
40
          (yyval.typnam) = SystemTypeName("numeric");
43367
40
          (yyval.typnam)->typmods = (yyvsp[0].list);
43368
40
          (yyval.typnam)->location = (yylsp[-1]);
43369
40
        }
43370
40
#line 43371 "gram.c"
43371
40
    break;
43372
43373
0
  case 1927:
43374
0
#line 13610 "gram.y"
43375
0
    {
43376
0
          (yyval.typnam) = SystemTypeName("numeric");
43377
0
          (yyval.typnam)->typmods = (yyvsp[0].list);
43378
0
          (yyval.typnam)->location = (yylsp[-1]);
43379
0
        }
43380
0
#line 43381 "gram.c"
43381
0
    break;
43382
43383
6.82k
  case 1928:
43384
6.82k
#line 13616 "gram.y"
43385
6.82k
    {
43386
6.82k
          (yyval.typnam) = SystemTypeName("numeric");
43387
6.82k
          (yyval.typnam)->typmods = (yyvsp[0].list);
43388
6.82k
          (yyval.typnam)->location = (yylsp[-1]);
43389
6.82k
        }
43390
6.82k
#line 43391 "gram.c"
43391
6.82k
    break;
43392
43393
1.30k
  case 1929:
43394
1.30k
#line 13622 "gram.y"
43395
1.30k
    {
43396
1.30k
          (yyval.typnam) = SystemTypeName("bool");
43397
1.30k
          (yyval.typnam)->location = (yylsp[0]);
43398
1.30k
        }
43399
1.30k
#line 43400 "gram.c"
43400
1.30k
    break;
43401
43402
0
  case 1930:
43403
0
#line 13629 "gram.y"
43404
0
    {
43405
          /*
43406
           * Check FLOAT() precision limits assuming IEEE floating
43407
           * types - thomas 1997-09-18
43408
           */
43409
0
          if ((yyvsp[-1].ival) < 1)
43410
0
            ereport(ERROR,
43411
0
                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
43412
0
                 errmsg("precision for type float must be at least 1 bit"),
43413
0
                 parser_errposition((yylsp[-1]))));
43414
0
          else if ((yyvsp[-1].ival) <= 24)
43415
0
            (yyval.typnam) = SystemTypeName("float4");
43416
0
          else if ((yyvsp[-1].ival) <= 53)
43417
0
            (yyval.typnam) = SystemTypeName("float8");
43418
0
          else
43419
0
            ereport(ERROR,
43420
0
                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
43421
0
                 errmsg("precision for type float must be less than 54 bits"),
43422
0
                 parser_errposition((yylsp[-1]))));
43423
0
        }
43424
0
#line 43425 "gram.c"
43425
0
    break;
43426
43427
620
  case 1931:
43428
620
#line 13650 "gram.y"
43429
620
    {
43430
620
          (yyval.typnam) = SystemTypeName("float8");
43431
620
        }
43432
620
#line 43433 "gram.c"
43433
620
    break;
43434
43435
1.04k
  case 1932:
43436
1.04k
#line 13660 "gram.y"
43437
1.04k
    {
43438
1.04k
          (yyval.typnam) = (yyvsp[0].typnam);
43439
1.04k
        }
43440
1.04k
#line 43441 "gram.c"
43441
1.04k
    break;
43442
43443
34
  case 1933:
43444
34
#line 13664 "gram.y"
43445
34
    {
43446
34
          (yyval.typnam) = (yyvsp[0].typnam);
43447
34
        }
43448
34
#line 43449 "gram.c"
43449
34
    break;
43450
43451
0
  case 1934:
43452
0
#line 13672 "gram.y"
43453
0
    {
43454
0
          (yyval.typnam) = (yyvsp[0].typnam);
43455
0
        }
43456
0
#line 43457 "gram.c"
43457
0
    break;
43458
43459
0
  case 1935:
43460
0
#line 13676 "gram.y"
43461
0
    {
43462
0
          (yyval.typnam) = (yyvsp[0].typnam);
43463
0
          (yyval.typnam)->typmods = NIL;
43464
0
        }
43465
0
#line 43466 "gram.c"
43466
0
    break;
43467
43468
1.04k
  case 1936:
43469
1.04k
#line 13684 "gram.y"
43470
1.04k
    {
43471
1.04k
          char *typname;
43472
43473
1.04k
          typname = (yyvsp[-3].boolean) ? 
"varbit"56
:
"bit"990
;
43474
1.04k
          (yyval.typnam) = SystemTypeName(typname);
43475
1.04k
          (yyval.typnam)->typmods = (yyvsp[-1].list);
43476
1.04k
          (yyval.typnam)->location = (yylsp[-4]);
43477
1.04k
        }
43478
1.04k
#line 43479 "gram.c"
43479
1.04k
    break;
43480
43481
34
  case 1937:
43482
34
#line 13696 "gram.y"
43483
34
    {
43484
          /* bit defaults to bit(1), varbit to no limit */
43485
34
          if ((yyvsp[0].boolean))
43486
0
          {
43487
0
            (yyval.typnam) = SystemTypeName("varbit");
43488
0
          }
43489
34
          else
43490
34
          {
43491
34
            (yyval.typnam) = SystemTypeName("bit");
43492
34
            (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
43493
34
          }
43494
34
          (yyval.typnam)->location = (yylsp[-1]);
43495
34
        }
43496
34
#line 43497 "gram.c"
43497
34
    break;
43498
43499
1.12k
  case 1938:
43500
1.12k
#line 13717 "gram.y"
43501
1.12k
    {
43502
1.12k
          (yyval.typnam) = (yyvsp[0].typnam);
43503
1.12k
        }
43504
1.12k
#line 43505 "gram.c"
43505
1.12k
    break;
43506
43507
1.94k
  case 1939:
43508
1.94k
#line 13721 "gram.y"
43509
1.94k
    {
43510
1.94k
          (yyval.typnam) = (yyvsp[0].typnam);
43511
1.94k
        }
43512
1.94k
#line 43513 "gram.c"
43513
1.94k
    break;
43514
43515
0
  case 1940:
43516
0
#line 13727 "gram.y"
43517
0
    {
43518
0
          (yyval.typnam) = (yyvsp[0].typnam);
43519
0
        }
43520
0
#line 43521 "gram.c"
43521
0
    break;
43522
43523
0
  case 1941:
43524
0
#line 13731 "gram.y"
43525
0
    {
43526
          /* Length was not specified so allow to be unrestricted.
43527
           * This handles problems with fixed-length (bpchar) strings
43528
           * which in column definitions must default to a length
43529
           * of one, but should not be constrained if the length
43530
           * was not specified.
43531
           */
43532
0
          (yyval.typnam) = (yyvsp[0].typnam);
43533
0
          (yyval.typnam)->typmods = NIL;
43534
0
        }
43535
0
#line 43536 "gram.c"
43536
0
    break;
43537
43538
1.12k
  case 1942:
43539
1.12k
#line 13744 "gram.y"
43540
1.12k
    {
43541
1.12k
          (yyval.typnam) = SystemTypeName((yyvsp[-3].str));
43542
1.12k
          (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
43543
1.12k
          (yyval.typnam)->location = (yylsp[-3]);
43544
1.12k
        }
43545
1.12k
#line 43546 "gram.c"
43546
1.12k
    break;
43547
43548
1.94k
  case 1943:
43549
1.94k
#line 13752 "gram.y"
43550
1.94k
    {
43551
1.94k
          (yyval.typnam) = SystemTypeName((yyvsp[0].str));
43552
          /* char defaults to char(1), varchar to no limit */
43553
1.94k
          if (strcmp((yyvsp[0].str), "bpchar") == 0)
43554
270
            (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
43555
1.94k
          (yyval.typnam)->location = (yylsp[0]);
43556
1.94k
        }
43557
1.94k
#line 43558 "gram.c"
43558
1.94k
    break;
43559
43560
100
  case 1944:
43561
100
#line 13762 "gram.y"
43562
100
    { (yyval.str) = (yyvsp[0].boolean) ? 
"varchar"68
:
"bpchar"32
; }
43563
100
#line 43564 "gram.c"
43564
100
    break;
43565
43566
896
  case 1945:
43567
896
#line 13764 "gram.y"
43568
896
    { (yyval.str) = (yyvsp[0].boolean) ? 
"varchar"0
: "bpchar"; }
43569
896
#line 43570 "gram.c"
43570
896
    break;
43571
43572
2.06k
  case 1946:
43573
2.06k
#line 13766 "gram.y"
43574
2.06k
    { (yyval.str) = "varchar"; }
43575
2.06k
#line 43576 "gram.c"
43576
2.06k
    break;
43577
43578
0
  case 1947:
43579
0
#line 13768 "gram.y"
43580
0
    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43581
0
#line 43582 "gram.c"
43582
0
    break;
43583
43584
0
  case 1948:
43585
0
#line 13770 "gram.y"
43586
0
    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43587
0
#line 43588 "gram.c"
43588
0
    break;
43589
43590
0
  case 1949:
43591
0
#line 13772 "gram.y"
43592
0
    { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43593
0
#line 43594 "gram.c"
43594
0
    break;
43595
43596
124
  case 1950:
43597
124
#line 13776 "gram.y"
43598
124
    { (yyval.boolean) = true; }
43599
124
#line 43600 "gram.c"
43600
124
    break;
43601
43602
1.95k
  case 1951:
43603
1.95k
#line 13777 "gram.y"
43604
1.95k
    { (yyval.boolean) = false; }
43605
1.95k
#line 43606 "gram.c"
43606
1.95k
    break;
43607
43608
56
  case 1952:
43609
56
#line 13785 "gram.y"
43610
56
    {
43611
56
          if ((yyvsp[0].boolean))
43612
6
            (yyval.typnam) = SystemTypeName("timestamptz");
43613
50
          else
43614
50
            (yyval.typnam) = SystemTypeName("timestamp");
43615
56
          (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
43616
56
          (yyval.typnam)->location = (yylsp[-4]);
43617
56
        }
43618
56
#line 43619 "gram.c"
43619
56
    break;
43620
43621
1.43k
  case 1953:
43622
1.43k
#line 13794 "gram.y"
43623
1.43k
    {
43624
1.43k
          if ((yyvsp[0].boolean))
43625
157
            (yyval.typnam) = SystemTypeName("timestamptz");
43626
1.28k
          else
43627
1.28k
            (yyval.typnam) = SystemTypeName("timestamp");
43628
1.43k
          (yyval.typnam)->location = (yylsp[-1]);
43629
1.43k
        }
43630
1.43k
#line 43631 "gram.c"
43631
1.43k
    break;
43632
43633
28
  case 1954:
43634
28
#line 13802 "gram.y"
43635
28
    {
43636
28
          if ((yyvsp[0].boolean))
43637
12
            (yyval.typnam) = SystemTypeName("timetz");
43638
16
          else
43639
16
            (yyval.typnam) = SystemTypeName("time");
43640
28
          (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
43641
28
          (yyval.typnam)->location = (yylsp[-4]);
43642
28
        }
43643
28
#line 43644 "gram.c"
43644
28
    break;
43645
43646
634
  case 1955:
43647
634
#line 13811 "gram.y"
43648
634
    {
43649
634
          if ((yyvsp[0].boolean))
43650
0
            (yyval.typnam) = SystemTypeName("timetz");
43651
634
          else
43652
634
            (yyval.typnam) = SystemTypeName("time");
43653
634
          (yyval.typnam)->location = (yylsp[-1]);
43654
634
        }
43655
634
#line 43656 "gram.c"
43656
634
    break;
43657
43658
1.16k
  case 1956:
43659
1.16k
#line 13822 "gram.y"
43660
1.16k
    {
43661
1.16k
          (yyval.typnam) = SystemTypeName("interval");
43662
1.16k
          (yyval.typnam)->location = (yylsp[0]);
43663
1.16k
        }
43664
1.16k
#line 43665 "gram.c"
43665
1.16k
    break;
43666
43667
175
  case 1957:
43668
175
#line 13829 "gram.y"
43669
175
    { (yyval.boolean) = true; }
43670
175
#line 43671 "gram.c"
43671
175
    break;
43672
43673
210
  case 1958:
43674
210
#line 13830 "gram.y"
43675
210
    { (yyval.boolean) = false; }
43676
210
#line 43677 "gram.c"
43677
210
    break;
43678
43679
1.77k
  case 1959:
43680
1.77k
#line 13831 "gram.y"
43681
1.77k
    { (yyval.boolean) = false; }
43682
1.77k
#line 43683 "gram.c"
43683
1.77k
    break;
43684
43685
5
  case 1960:
43686
5
#line 13836 "gram.y"
43687
5
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
43688
5
#line 43689 "gram.c"
43689
5
    break;
43690
43691
10
  case 1961:
43692
10
#line 13838 "gram.y"
43693
10
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
43694
10
#line 43695 "gram.c"
43695
10
    break;
43696
43697
14
  case 1962:
43698
14
#line 13840 "gram.y"
43699
14
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
43700
14
#line 43701 "gram.c"
43701
14
    break;
43702
43703
10
  case 1963:
43704
10
#line 13842 "gram.y"
43705
10
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
43706
10
#line 43707 "gram.c"
43707
10
    break;
43708
43709
10
  case 1964:
43710
10
#line 13844 "gram.y"
43711
10
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
43712
10
#line 43713 "gram.c"
43713
10
    break;
43714
43715
20
  case 1965:
43716
20
#line 13846 "gram.y"
43717
20
    { (yyval.list) = (yyvsp[0].list); }
43718
20
#line 43719 "gram.c"
43719
20
    break;
43720
43721
27
  case 1966:
43722
27
#line 13848 "gram.y"
43723
27
    {
43724
27
          (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
43725
27
                         INTERVAL_MASK(MONTH), (yylsp[-2])));
43726
27
        }
43727
27
#line 43728 "gram.c"
43728
27
    break;
43729
43730
20
  case 1967:
43731
20
#line 13853 "gram.y"
43732
20
    {
43733
20
          (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
43734
20
                         INTERVAL_MASK(HOUR), (yylsp[-2])));
43735
20
        }
43736
20
#line 43737 "gram.c"
43737
20
    break;
43738
43739
14
  case 1968:
43740
14
#line 13858 "gram.y"
43741
14
    {
43742
14
          (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
43743
14
                         INTERVAL_MASK(HOUR) |
43744
14
                         INTERVAL_MASK(MINUTE), (yylsp[-2])));
43745
14
        }
43746
14
#line 43747 "gram.c"
43747
14
    break;
43748
43749
50
  case 1969:
43750
50
#line 13864 "gram.y"
43751
50
    {
43752
50
          (yyval.list) = (yyvsp[0].list);
43753
50
          linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
43754
50
                        INTERVAL_MASK(HOUR) |
43755
50
                        INTERVAL_MASK(MINUTE) |
43756
50
                        INTERVAL_MASK(SECOND), (yylsp[-2]));
43757
50
        }
43758
50
#line 43759 "gram.c"
43759
50
    break;
43760
43761
14
  case 1970:
43762
14
#line 13872 "gram.y"
43763
14
    {
43764
14
          (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
43765
14
                         INTERVAL_MASK(MINUTE), (yylsp[-2])));
43766
14
        }
43767
14
#line 43768 "gram.c"
43768
14
    break;
43769
43770
28
  case 1971:
43771
28
#line 13877 "gram.y"
43772
28
    {
43773
28
          (yyval.list) = (yyvsp[0].list);
43774
28
          linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
43775
28
                        INTERVAL_MASK(MINUTE) |
43776
28
                        INTERVAL_MASK(SECOND), (yylsp[-2]));
43777
28
        }
43778
28
#line 43779 "gram.c"
43779
28
    break;
43780
43781
53
  case 1972:
43782
53
#line 13884 "gram.y"
43783
53
    {
43784
53
          (yyval.list) = (yyvsp[0].list);
43785
53
          linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
43786
53
                        INTERVAL_MASK(SECOND), (yylsp[-2]));
43787
53
        }
43788
53
#line 43789 "gram.c"
43789
53
    break;
43790
43791
876
  case 1973:
43792
876
#line 13890 "gram.y"
43793
876
    { (yyval.list) = NIL; }
43794
876
#line 43795 "gram.c"
43795
876
    break;
43796
43797
82
  case 1974:
43798
82
#line 13895 "gram.y"
43799
82
    {
43800
82
          (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
43801
82
        }
43802
82
#line 43803 "gram.c"
43803
82
    break;
43804
43805
69
  case 1975:
43806
69
#line 13899 "gram.y"
43807
69
    {
43808
69
          (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
43809
69
                  makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
43810
69
        }
43811
69
#line 43812 "gram.c"
43812
69
    break;
43813
43814
16.4M
  case 1976:
43815
16.4M
#line 13934 "gram.y"
43816
16.4M
    { (yyval.node) = (yyvsp[0].node); }
43817
16.4M
#line 43818 "gram.c"
43818
16.4M
    break;
43819
43820
70.6k
  case 1977:
43821
70.6k
#line 13936 "gram.y"
43822
70.6k
    { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
43823
70.6k
#line 43824 "gram.c"
43824
70.6k
    break;
43825
43826
626
  case 1978:
43827
626
#line 13938 "gram.y"
43828
626
    {
43829
626
          CollateClause *n = makeNode(CollateClause);
43830
0
          n->arg = (yyvsp[-2].node);
43831
626
          n->collname = (yyvsp[0].list);
43832
626
          n->location = (yylsp[-1]);
43833
626
          (yyval.node) = (Node *) n;
43834
626
        }
43835
0
#line 43836 "gram.c"
43836
0
    break;
43837
43838
0
  case 1979:
43839
0
#line 13946 "gram.y"
43840
0
    {
43841
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
43842
0
                         list_make2((yyvsp[0].node), (yyvsp[-4].node)),
43843
0
                         (yylsp[-3]));
43844
0
        }
43845
0
#line 43846 "gram.c"
43846
0
    break;
43847
43848
35
  case 1980:
43849
35
#line 13961 "gram.y"
43850
35
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
43851
35
#line 43852 "gram.c"
43852
35
    break;
43853
43854
35.5k
  case 1981:
43855
35.5k
#line 13963 "gram.y"
43856
35.5k
    { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
43857
35.5k
#line 43858 "gram.c"
43858
35.5k
    break;
43859
43860
50.8k
  case 1982:
43861
50.8k
#line 13965 "gram.y"
43862
50.8k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43863
50.8k
#line 43864 "gram.c"
43864
50.8k
    break;
43865
43866
38.1k
  case 1983:
43867
38.1k
#line 13967 "gram.y"
43868
38.1k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43869
38.1k
#line 43870 "gram.c"
43870
38.1k
    break;
43871
43872
6.42k
  case 1984:
43873
6.42k
#line 13969 "gram.y"
43874
6.42k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43875
6.42k
#line 43876 "gram.c"
43876
6.42k
    break;
43877
43878
2.36k
  case 1985:
43879
2.36k
#line 13971 "gram.y"
43880
2.36k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43881
2.36k
#line 43882 "gram.c"
43882
2.36k
    break;
43883
43884
1.48k
  case 1986:
43885
1.48k
#line 13973 "gram.y"
43886
1.48k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43887
1.48k
#line 43888 "gram.c"
43888
1.48k
    break;
43889
43890
267
  case 1987:
43891
267
#line 13975 "gram.y"
43892
267
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43893
267
#line 43894 "gram.c"
43894
267
    break;
43895
43896
7.70k
  case 1988:
43897
7.70k
#line 13977 "gram.y"
43898
7.70k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43899
7.70k
#line 43900 "gram.c"
43900
7.70k
    break;
43901
43902
19.1k
  case 1989:
43903
19.1k
#line 13979 "gram.y"
43904
19.1k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43905
19.1k
#line 43906 "gram.c"
43906
19.1k
    break;
43907
43908
318k
  case 1990:
43909
318k
#line 13981 "gram.y"
43910
318k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43911
318k
#line 43912 "gram.c"
43912
318k
    break;
43913
43914
1.53k
  case 1991:
43915
1.53k
#line 13983 "gram.y"
43916
1.53k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43917
1.53k
#line 43918 "gram.c"
43918
1.53k
    break;
43919
43920
31.7k
  case 1992:
43921
31.7k
#line 13985 "gram.y"
43922
31.7k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43923
31.7k
#line 43924 "gram.c"
43924
31.7k
    break;
43925
43926
58.4k
  case 1993:
43927
58.4k
#line 13987 "gram.y"
43928
58.4k
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43929
58.4k
#line 43930 "gram.c"
43930
58.4k
    break;
43931
43932
17.7k
  case 1994:
43933
17.7k
#line 13990 "gram.y"
43934
17.7k
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43935
17.7k
#line 43936 "gram.c"
43936
17.7k
    break;
43937
43938
193
  case 1995:
43939
193
#line 13992 "gram.y"
43940
193
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
43941
193
#line 43942 "gram.c"
43942
193
    break;
43943
43944
29
  case 1996:
43945
29
#line 13994 "gram.y"
43946
29
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
43947
29
#line 43948 "gram.c"
43948
29
    break;
43949
43950
118k
  case 1997:
43951
118k
#line 13997 "gram.y"
43952
118k
    { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43953
118k
#line 43954 "gram.c"
43954
118k
    break;
43955
43956
2.47k
  case 1998:
43957
2.47k
#line 13999 "gram.y"
43958
2.47k
    { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43959
2.47k
#line 43960 "gram.c"
43960
2.47k
    break;
43961
43962
7.04k
  case 1999:
43963
7.04k
#line 14001 "gram.y"
43964
7.04k
    { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
43965
7.04k
#line 43966 "gram.c"
43966
7.04k
    break;
43967
43968
0
  case 2000:
43969
0
#line 14003 "gram.y"
43970
0
    { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
43971
0
#line 43972 "gram.c"
43972
0
    break;
43973
43974
927
  case 2001:
43975
927
#line 14006 "gram.y"
43976
927
    {
43977
927
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
43978
927
                           (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
43979
927
        }
43980
927
#line 43981 "gram.c"
43981
927
    break;
43982
43983
0
  case 2002:
43984
0
#line 14011 "gram.y"
43985
0
    {
43986
0
          FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
43987
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43988
0
                         (yylsp[-3]));
43989
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
43990
0
                           (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
43991
0
        }
43992
0
#line 43993 "gram.c"
43993
0
    break;
43994
43995
14.9k
  case 2003:
43996
14.9k
#line 14019 "gram.y"
43997
14.9k
    {
43998
14.9k
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
43999
14.9k
                           (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
44000
14.9k
        }
44001
14.9k
#line 44002 "gram.c"
44002
14.9k
    break;
44003
44004
0
  case 2004:
44005
0
#line 14024 "gram.y"
44006
0
    {
44007
0
          FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
44008
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44009
0
                         (yylsp[-4]));
44010
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
44011
0
                           (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
44012
0
        }
44013
0
#line 44014 "gram.c"
44014
0
    break;
44015
44016
54
  case 2005:
44017
54
#line 14032 "gram.y"
44018
54
    {
44019
54
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
44020
54
                           (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
44021
54
        }
44022
54
#line 44023 "gram.c"
44023
54
    break;
44024
44025
0
  case 2006:
44026
0
#line 14037 "gram.y"
44027
0
    {
44028
0
          FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
44029
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44030
0
                         (yylsp[-3]));
44031
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
44032
0
                           (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
44033
0
        }
44034
0
#line 44035 "gram.c"
44035
0
    break;
44036
44037
0
  case 2007:
44038
0
#line 14045 "gram.y"
44039
0
    {
44040
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
44041
0
                           (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
44042
0
        }
44043
0
#line 44044 "gram.c"
44044
0
    break;
44045
44046
0
  case 2008:
44047
0
#line 14050 "gram.y"
44048
0
    {
44049
0
          FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
44050
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44051
0
                         (yylsp[-4]));
44052
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
44053
0
                           (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
44054
0
        }
44055
0
#line 44056 "gram.c"
44056
0
    break;
44057
44058
0
  case 2009:
44059
0
#line 14059 "gram.y"
44060
0
    {
44061
0
          FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
44062
0
                         list_make2((yyvsp[0].node), makeNullAConst(-1)),
44063
0
                         (yylsp[-2]));
44064
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
44065
0
                           (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
44066
0
        }
44067
0
#line 44068 "gram.c"
44068
0
    break;
44069
44070
0
  case 2010:
44071
0
#line 14067 "gram.y"
44072
0
    {
44073
0
          FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
44074
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44075
0
                         (yylsp[-4]));
44076
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
44077
0
                           (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
44078
0
        }
44079
0
#line 44080 "gram.c"
44080
0
    break;
44081
44082
0
  case 2011:
44083
0
#line 14075 "gram.y"
44084
0
    {
44085
0
          FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
44086
0
                         list_make2((yyvsp[0].node), makeNullAConst(-1)),
44087
0
                         (yylsp[-3]));
44088
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
44089
0
                           (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
44090
0
        }
44091
0
#line 44092 "gram.c"
44092
0
    break;
44093
44094
0
  case 2012:
44095
0
#line 14083 "gram.y"
44096
0
    {
44097
0
          FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
44098
0
                         list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44099
0
                         (yylsp[-5]));
44100
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
44101
0
                           (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
44102
0
        }
44103
0
#line 44104 "gram.c"
44104
0
    break;
44105
44106
1.29k
  case 2013:
44107
1.29k
#line 14101 "gram.y"
44108
1.29k
    {
44109
1.29k
          NullTest *n = makeNode(NullTest);
44110
0
          n->arg = (Expr *) (yyvsp[-2].node);
44111
1.29k
          n->nulltesttype = IS_NULL;
44112
1.29k
          n->location = (yylsp[-1]);
44113
1.29k
          (yyval.node) = (Node *)n;
44114
1.29k
        }
44115
0
#line 44116 "gram.c"
44116
0
    break;
44117
44118
27
  case 2014:
44119
27
#line 14109 "gram.y"
44120
27
    {
44121
27
          NullTest *n = makeNode(NullTest);
44122
0
          n->arg = (Expr *) (yyvsp[-1].node);
44123
27
          n->nulltesttype = IS_NULL;
44124
27
          n->location = (yylsp[0]);
44125
27
          (yyval.node) = (Node *)n;
44126
27
        }
44127
0
#line 44128 "gram.c"
44128
0
    break;
44129
44130
1.11k
  case 2015:
44131
1.11k
#line 14117 "gram.y"
44132
1.11k
    {
44133
1.11k
          NullTest *n = makeNode(NullTest);
44134
0
          n->arg = (Expr *) (yyvsp[-3].node);
44135
1.11k
          n->nulltesttype = IS_NOT_NULL;
44136
1.11k
          n->location = (yylsp[-2]);
44137
1.11k
          (yyval.node) = (Node *)n;
44138
1.11k
        }
44139
0
#line 44140 "gram.c"
44140
0
    break;
44141
44142
0
  case 2016:
44143
0
#line 14125 "gram.y"
44144
0
    {
44145
0
          NullTest *n = makeNode(NullTest);
44146
0
          n->arg = (Expr *) (yyvsp[-1].node);
44147
0
          n->nulltesttype = IS_NOT_NULL;
44148
0
          n->location = (yylsp[0]);
44149
0
          (yyval.node) = (Node *)n;
44150
0
        }
44151
0
#line 44152 "gram.c"
44152
0
    break;
44153
44154
0
  case 2017:
44155
0
#line 14133 "gram.y"
44156
0
    {
44157
0
          if (list_length((yyvsp[-2].list)) != 2)
44158
0
            ereport(ERROR,
44159
0
                (errcode(ERRCODE_SYNTAX_ERROR),
44160
0
                 errmsg("wrong number of parameters on left side of OVERLAPS expression"),
44161
0
                 parser_errposition((yylsp[-2]))));
44162
0
          if (list_length((yyvsp[0].list)) != 2)
44163
0
            ereport(ERROR,
44164
0
                (errcode(ERRCODE_SYNTAX_ERROR),
44165
0
                 errmsg("wrong number of parameters on right side of OVERLAPS expression"),
44166
0
                 parser_errposition((yylsp[0]))));
44167
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
44168
0
                         list_concat((yyvsp[-2].list), (yyvsp[0].list)),
44169
0
                         (yylsp[-1]));
44170
0
        }
44171
0
#line 44172 "gram.c"
44172
0
    break;
44173
44174
14
  case 2018:
44175
14
#line 14149 "gram.y"
44176
14
    {
44177
14
          BooleanTest *b = makeNode(BooleanTest);
44178
0
          b->arg = (Expr *) (yyvsp[-2].node);
44179
14
          b->booltesttype = IS_TRUE;
44180
14
          b->location = (yylsp[-1]);
44181
14
          (yyval.node) = (Node *)b;
44182
14
        }
44183
0
#line 44184 "gram.c"
44184
0
    break;
44185
44186
14
  case 2019:
44187
14
#line 14157 "gram.y"
44188
14
    {
44189
14
          BooleanTest *b = makeNode(BooleanTest);
44190
0
          b->arg = (Expr *) (yyvsp[-3].node);
44191
14
          b->booltesttype = IS_NOT_TRUE;
44192
14
          b->location = (yylsp[-2]);
44193
14
          (yyval.node) = (Node *)b;
44194
14
        }
44195
0
#line 44196 "gram.c"
44196
0
    break;
44197
44198
19
  case 2020:
44199
19
#line 14165 "gram.y"
44200
19
    {
44201
19
          BooleanTest *b = makeNode(BooleanTest);
44202
0
          b->arg = (Expr *) (yyvsp[-2].node);
44203
19
          b->booltesttype = IS_FALSE;
44204
19
          b->location = (yylsp[-1]);
44205
19
          (yyval.node) = (Node *)b;
44206
19
        }
44207
0
#line 44208 "gram.c"
44208
0
    break;
44209
44210
14
  case 2021:
44211
14
#line 14173 "gram.y"
44212
14
    {
44213
14
          BooleanTest *b = makeNode(BooleanTest);
44214
0
          b->arg = (Expr *) (yyvsp[-3].node);
44215
14
          b->booltesttype = IS_NOT_FALSE;
44216
14
          b->location = (yylsp[-2]);
44217
14
          (yyval.node) = (Node *)b;
44218
14
        }
44219
0
#line 44220 "gram.c"
44220
0
    break;
44221
44222
8
  case 2022:
44223
8
#line 14181 "gram.y"
44224
8
    {
44225
8
          BooleanTest *b = makeNode(BooleanTest);
44226
0
          b->arg = (Expr *) (yyvsp[-2].node);
44227
8
          b->booltesttype = IS_UNKNOWN;
44228
8
          b->location = (yylsp[-1]);
44229
8
          (yyval.node) = (Node *)b;
44230
8
        }
44231
0
#line 44232 "gram.c"
44232
0
    break;
44233
44234
8
  case 2023:
44235
8
#line 14189 "gram.y"
44236
8
    {
44237
8
          BooleanTest *b = makeNode(BooleanTest);
44238
0
          b->arg = (Expr *) (yyvsp[-3].node);
44239
8
          b->booltesttype = IS_NOT_UNKNOWN;
44240
8
          b->location = (yylsp[-2]);
44241
8
          (yyval.node) = (Node *)b;
44242
8
        }
44243
0
#line 44244 "gram.c"
44244
0
    break;
44245
44246
67
  case 2024:
44247
67
#line 14197 "gram.y"
44248
67
    {
44249
67
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
44250
67
        }
44251
67
#line 44252 "gram.c"
44252
67
    break;
44253
44254
0
  case 2025:
44255
0
#line 14201 "gram.y"
44256
0
    {
44257
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
44258
0
        }
44259
0
#line 44260 "gram.c"
44260
0
    break;
44261
44262
24
  case 2026:
44263
24
#line 14205 "gram.y"
44264
24
    {
44265
24
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
44266
24
        }
44267
24
#line 44268 "gram.c"
44268
24
    break;
44269
44270
0
  case 2027:
44271
0
#line 14209 "gram.y"
44272
0
    {
44273
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
44274
0
        }
44275
0
#line 44276 "gram.c"
44276
0
    break;
44277
44278
342
  case 2028:
44279
342
#line 14213 "gram.y"
44280
342
    {
44281
342
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
44282
342
                           "BETWEEN",
44283
342
                           (yyvsp[-5].node),
44284
342
                           (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44285
342
                           (yylsp[-4]));
44286
342
        }
44287
342
#line 44288 "gram.c"
44288
342
    break;
44289
44290
0
  case 2029:
44291
0
#line 14221 "gram.y"
44292
0
    {
44293
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
44294
0
                           "NOT BETWEEN",
44295
0
                           (yyvsp[-6].node),
44296
0
                           (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44297
0
                           (yylsp[-5]));
44298
0
        }
44299
0
#line 44300 "gram.c"
44300
0
    break;
44301
44302
0
  case 2030:
44303
0
#line 14229 "gram.y"
44304
0
    {
44305
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
44306
0
                           "BETWEEN SYMMETRIC",
44307
0
                           (yyvsp[-5].node),
44308
0
                           (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44309
0
                           (yylsp[-4]));
44310
0
        }
44311
0
#line 44312 "gram.c"
44312
0
    break;
44313
44314
0
  case 2031:
44315
0
#line 14237 "gram.y"
44316
0
    {
44317
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
44318
0
                           "NOT BETWEEN SYMMETRIC",
44319
0
                           (yyvsp[-6].node),
44320
0
                           (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
44321
0
                           (yylsp[-5]));
44322
0
        }
44323
0
#line 44324 "gram.c"
44324
0
    break;
44325
44326
276k
  case 2032:
44327
276k
#line 14245 "gram.y"
44328
276k
    {
44329
          /* in_expr returns a SubLink or a list of a_exprs */
44330
276k
          if (IsA((yyvsp[0].node), SubLink))
44331
291
          {
44332
            /* generate foo = ANY (subquery) */
44333
291
            SubLink *n = (SubLink *) (yyvsp[0].node);
44334
291
            n->subLinkType = ANY_SUBLINK;
44335
291
            n->subLinkId = 0;
44336
291
            n->testexpr = (yyvsp[-2].node);
44337
291
            n->operName = NIL;   /* show it's IN not = ANY */
44338
291
            n->location = (yylsp[-1]);
44339
291
            (yyval.node) = (Node *)n;
44340
291
          }
44341
275k
          else
44342
275k
          {
44343
            /* generate scalar IN expression */
44344
275k
            (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
44345
275k
          }
44346
276k
        }
44347
276k
#line 44348 "gram.c"
44348
276k
    break;
44349
44350
368
  case 2033:
44351
368
#line 14265 "gram.y"
44352
368
    {
44353
          /* in_expr returns a SubLink or a list of a_exprs */
44354
368
          if (IsA((yyvsp[0].node), SubLink))
44355
0
          {
44356
            /* generate NOT (foo = ANY (subquery)) */
44357
            /* Make an = ANY node */
44358
0
            SubLink *n = (SubLink *) (yyvsp[0].node);
44359
0
            n->subLinkType = ANY_SUBLINK;
44360
0
            n->subLinkId = 0;
44361
0
            n->testexpr = (yyvsp[-3].node);
44362
0
            n->operName = NIL;   /* show it's IN not = ANY */
44363
0
            n->location = (yylsp[-2]);
44364
            /* Stick a NOT on top; must have same parse location */
44365
0
            (yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
44366
0
          }
44367
368
          else
44368
368
          {
44369
            /* generate scalar NOT IN expression */
44370
368
            (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
44371
368
          }
44372
368
        }
44373
368
#line 44374 "gram.c"
44374
368
    break;
44375
44376
15
  case 2034:
44377
15
#line 14287 "gram.y"
44378
15
    {
44379
15
          SubLink *n = makeNode(SubLink);
44380
0
          n->subLinkType = (yyvsp[-1].ival);
44381
15
          n->subLinkId = 0;
44382
15
          n->testexpr = (yyvsp[-3].node);
44383
15
          n->operName = (yyvsp[-2].list);
44384
15
          n->subselect = (yyvsp[0].node);
44385
15
          n->location = (yylsp[-2]);
44386
15
          (yyval.node) = (Node *)n;
44387
15
        }
44388
0
#line 44389 "gram.c"
44389
0
    break;
44390
44391
4.32k
  case 2035:
44392
4.32k
#line 14298 "gram.y"
44393
4.32k
    {
44394
4.32k
          if ((yyvsp[-3].ival) == ANY_SUBLINK)
44395
4.21k
            (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
44396
113
          else
44397
113
            (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
44398
4.32k
        }
44399
4.32k
#line 44400 "gram.c"
44400
4.32k
    break;
44401
44402
0
  case 2036:
44403
0
#line 14305 "gram.y"
44404
0
    {
44405
          /* Not sure how to get rid of the parentheses
44406
           * but there are lots of shift/reduce errors without them.
44407
           *
44408
           * Should be able to implement this by plopping the entire
44409
           * select into a node, then transforming the target expressions
44410
           * from whatever they are into count(*), and testing the
44411
           * entire result equal to one.
44412
           * But, will probably implement a separate node in the executor.
44413
           */
44414
0
          ereport(ERROR,
44415
0
              (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
44416
0
               errmsg("UNIQUE predicate is not yet implemented"),
44417
0
               parser_errposition((yylsp[-1]))));
44418
0
        }
44419
0
#line 44420 "gram.c"
44420
0
    break;
44421
44422
0
  case 2037:
44423
0
#line 14321 "gram.y"
44424
0
    {
44425
0
          (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44426
0
                   list_make1((yyvsp[-2].node)), (yylsp[-1]));
44427
0
        }
44428
0
#line 44429 "gram.c"
44429
0
    break;
44430
44431
0
  case 2038:
44432
0
#line 14326 "gram.y"
44433
0
    {
44434
0
          (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44435
0
                         list_make1((yyvsp[-3].node)), (yylsp[-2])),
44436
0
                   (yylsp[-2]));
44437
0
        }
44438
0
#line 44439 "gram.c"
44439
0
    break;
44440
44441
178
  case 2039:
44442
178
#line 14332 "gram.y"
44443
178
    {
44444
          /*
44445
           * The SQL spec only allows DEFAULT in "contextually typed
44446
           * expressions", but for us, it's easier to allow it in
44447
           * any a_expr and then throw error during parse analysis
44448
           * if it's in an inappropriate context.  This way also
44449
           * lets us say something smarter than "syntax error".
44450
           */
44451
178
          SetToDefault *n = makeNode(SetToDefault);
44452
          /* parse analysis will fill in the rest */
44453
0
          n->location = (yylsp[0]);
44454
178
          (yyval.node) = (Node *)n;
44455
178
        }
44456
0
#line 44457 "gram.c"
44457
0
    break;
44458
44459
1.50k
  case 2040:
44460
1.50k
#line 14357 "gram.y"
44461
1.50k
    { (yyval.node) = (yyvsp[0].node); }
44462
1.50k
#line 44463 "gram.c"
44463
1.50k
    break;
44464
44465
8
  case 2041:
44466
8
#line 14359 "gram.y"
44467
8
    { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
44468
8
#line 44469 "gram.c"
44469
8
    break;
44470
44471
0
  case 2042:
44472
0
#line 14361 "gram.y"
44473
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
44474
0
#line 44475 "gram.c"
44475
0
    break;
44476
44477
20
  case 2043:
44478
20
#line 14363 "gram.y"
44479
20
    { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
44480
20
#line 44481 "gram.c"
44481
20
    break;
44482
44483
0
  case 2044:
44484
0
#line 14365 "gram.y"
44485
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44486
0
#line 44487 "gram.c"
44487
0
    break;
44488
44489
0
  case 2045:
44490
0
#line 14367 "gram.y"
44491
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44492
0
#line 44493 "gram.c"
44493
0
    break;
44494
44495
0
  case 2046:
44496
0
#line 14369 "gram.y"
44497
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44498
0
#line 44499 "gram.c"
44499
0
    break;
44500
44501
0
  case 2047:
44502
0
#line 14371 "gram.y"
44503
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44504
0
#line 44505 "gram.c"
44505
0
    break;
44506
44507
0
  case 2048:
44508
0
#line 14373 "gram.y"
44509
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44510
0
#line 44511 "gram.c"
44511
0
    break;
44512
44513
0
  case 2049:
44514
0
#line 14375 "gram.y"
44515
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44516
0
#line 44517 "gram.c"
44517
0
    break;
44518
44519
0
  case 2050:
44520
0
#line 14377 "gram.y"
44521
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44522
0
#line 44523 "gram.c"
44523
0
    break;
44524
44525
0
  case 2051:
44526
0
#line 14379 "gram.y"
44527
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44528
0
#line 44529 "gram.c"
44529
0
    break;
44530
44531
0
  case 2052:
44532
0
#line 14381 "gram.y"
44533
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44534
0
#line 44535 "gram.c"
44535
0
    break;
44536
44537
0
  case 2053:
44538
0
#line 14383 "gram.y"
44539
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44540
0
#line 44541 "gram.c"
44541
0
    break;
44542
44543
0
  case 2054:
44544
0
#line 14385 "gram.y"
44545
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44546
0
#line 44547 "gram.c"
44547
0
    break;
44548
44549
0
  case 2055:
44550
0
#line 14387 "gram.y"
44551
0
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44552
0
#line 44553 "gram.c"
44553
0
    break;
44554
44555
0
  case 2056:
44556
0
#line 14389 "gram.y"
44557
0
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44558
0
#line 44559 "gram.c"
44559
0
    break;
44560
44561
0
  case 2057:
44562
0
#line 14391 "gram.y"
44563
0
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
44564
0
#line 44565 "gram.c"
44565
0
    break;
44566
44567
0
  case 2058:
44568
0
#line 14393 "gram.y"
44569
0
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
44570
0
#line 44571 "gram.c"
44571
0
    break;
44572
44573
0
  case 2059:
44574
0
#line 14395 "gram.y"
44575
0
    {
44576
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
44577
0
        }
44578
0
#line 44579 "gram.c"
44579
0
    break;
44580
44581
0
  case 2060:
44582
0
#line 14399 "gram.y"
44583
0
    {
44584
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
44585
0
        }
44586
0
#line 44587 "gram.c"
44587
0
    break;
44588
44589
0
  case 2061:
44590
0
#line 14403 "gram.y"
44591
0
    {
44592
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
44593
0
        }
44594
0
#line 44595 "gram.c"
44595
0
    break;
44596
44597
0
  case 2062:
44598
0
#line 14407 "gram.y"
44599
0
    {
44600
0
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
44601
0
        }
44602
0
#line 44603 "gram.c"
44603
0
    break;
44604
44605
0
  case 2063:
44606
0
#line 14411 "gram.y"
44607
0
    {
44608
0
          (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44609
0
                   list_make1((yyvsp[-2].node)), (yylsp[-1]));
44610
0
        }
44611
0
#line 44612 "gram.c"
44612
0
    break;
44613
44614
0
  case 2064:
44615
0
#line 14416 "gram.y"
44616
0
    {
44617
0
          (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44618
0
                         list_make1((yyvsp[-3].node)), (yylsp[-2])),
44619
0
                   (yylsp[-2]));
44620
0
        }
44621
0
#line 44622 "gram.c"
44622
0
    break;
44623
44624
1.80M
  case 2065:
44625
1.80M
#line 14431 "gram.y"
44626
1.80M
    { (yyval.node) = (yyvsp[0].node); }
44627
1.80M
#line 44628 "gram.c"
44628
1.80M
    break;
44629
44630
14.2M
  case 2066:
44631
14.2M
#line 14432 "gram.y"
44632
14.2M
    { (yyval.node) = (yyvsp[0].node); }
44633
14.2M
#line 44634 "gram.c"
44634
14.2M
    break;
44635
44636
103k
  case 2067:
44637
103k
#line 14434 "gram.y"
44638
103k
    {
44639
103k
          ParamRef *p = makeNode(ParamRef);
44640
0
          p->number = (yyvsp[-1].ival);
44641
103k
          p->location = (yylsp[-1]);
44642
103k
          if ((yyvsp[0].list))
44643
65
          {
44644
65
            A_Indirection *n = makeNode(A_Indirection);
44645
0
            n->arg = (Node *) p;
44646
65
            n->indirection = check_indirection((yyvsp[0].list), yyscanner);
44647
65
            (yyval.node) = (Node *) n;
44648
65
          }
44649
103k
          else
44650
103k
            (yyval.node) = (Node *) p;
44651
103k
        }
44652
0
#line 44653 "gram.c"
44653
0
    break;
44654
44655
46.8k
  case 2068:
44656
46.8k
#line 14449 "gram.y"
44657
46.8k
    {
44658
46.8k
          if ((yyvsp[0].list))
44659
872
          {
44660
872
            A_Indirection *n = makeNode(A_Indirection);
44661
0
            n->arg = (yyvsp[-2].node);
44662
872
            n->indirection = check_indirection((yyvsp[0].list), yyscanner);
44663
872
            (yyval.node) = (Node *)n;
44664
872
          }
44665
45.9k
          else if (operator_precedence_warning)
44666
0
          {
44667
            /*
44668
             * If precedence warnings are enabled, insert
44669
             * AEXPR_PAREN nodes wrapping all explicitly
44670
             * parenthesized subexpressions; this prevents bogus
44671
             * warnings from being issued when the ordering has
44672
             * been forced by parentheses.  Take care that an
44673
             * AEXPR_PAREN node has the same exprLocation as its
44674
             * child, so as not to cause surprising changes in
44675
             * error cursor positioning.
44676
             *
44677
             * In principle we should not be relying on a GUC to
44678
             * decide whether to insert AEXPR_PAREN nodes.
44679
             * However, since they have no effect except to
44680
             * suppress warnings, it's probably safe enough; and
44681
             * we'd just as soon not waste cycles on dummy parse
44682
             * nodes if we don't have to.
44683
             */
44684
0
            (yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[-2].node), NULL,
44685
0
                         exprLocation((yyvsp[-2].node)));
44686
0
          }
44687
45.9k
          else
44688
45.9k
            (yyval.node) = (yyvsp[-2].node);
44689
46.8k
        }
44690
0
#line 44691 "gram.c"
44691
0
    break;
44692
44693
8.05k
  case 2069:
44694
8.05k
#line 14483 "gram.y"
44695
8.05k
    { (yyval.node) = (yyvsp[0].node); }
44696
8.05k
#line 44697 "gram.c"
44697
8.05k
    break;
44698
44699
186k
  case 2070:
44700
186k
#line 14485 "gram.y"
44701
186k
    { (yyval.node) = (yyvsp[0].node); }
44702
186k
#line 44703 "gram.c"
44703
186k
    break;
44704
44705
19.7k
  case 2071:
44706
19.7k
#line 14487 "gram.y"
44707
19.7k
    {
44708
19.7k
          SubLink *n = makeNode(SubLink);
44709
0
          n->subLinkType = EXPR_SUBLINK;
44710
19.7k
          n->subLinkId = 0;
44711
19.7k
          n->testexpr = NULL;
44712
19.7k
          n->operName = NIL;
44713
19.7k
          n->subselect = (yyvsp[0].node);
44714
19.7k
          n->location = (yylsp[0]);
44715
19.7k
          (yyval.node) = (Node *)n;
44716
19.7k
        }
44717
0
#line 44718 "gram.c"
44718
0
    break;
44719
44720
0
  case 2072:
44721
0
#line 14498 "gram.y"
44722
0
    {
44723
          /*
44724
           * Because the select_with_parens nonterminal is designed
44725
           * to "eat" as many levels of parens as possible, the
44726
           * '(' a_expr ')' opt_indirection production above will
44727
           * fail to match a sub-SELECT with indirection decoration;
44728
           * the sub-SELECT won't be regarded as an a_expr as long
44729
           * as there are parens around it.  To support applying
44730
           * subscripting or field selection to a sub-SELECT result,
44731
           * we need this redundant-looking production.
44732
           */
44733
0
          SubLink *n = makeNode(SubLink);
44734
0
          A_Indirection *a = makeNode(A_Indirection);
44735
0
          n->subLinkType = EXPR_SUBLINK;
44736
0
          n->subLinkId = 0;
44737
0
          n->testexpr = NULL;
44738
0
          n->operName = NIL;
44739
0
          n->subselect = (yyvsp[-1].node);
44740
0
          n->location = (yylsp[-1]);
44741
0
          a->arg = (Node *)n;
44742
0
          a->indirection = check_indirection((yyvsp[0].list), yyscanner);
44743
0
          (yyval.node) = (Node *)a;
44744
0
        }
44745
0
#line 44746 "gram.c"
44746
0
    break;
44747
44748
3.96k
  case 2073:
44749
3.96k
#line 14522 "gram.y"
44750
3.96k
    {
44751
3.96k
          SubLink *n = makeNode(SubLink);
44752
0
          n->subLinkType = EXISTS_SUBLINK;
44753
3.96k
          n->subLinkId = 0;
44754
3.96k
          n->testexpr = NULL;
44755
3.96k
          n->operName = NIL;
44756
3.96k
          n->subselect = (yyvsp[0].node);
44757
3.96k
          n->location = (yylsp[-1]);
44758
3.96k
          (yyval.node) = (Node *)n;
44759
3.96k
        }
44760
0
#line 44761 "gram.c"
44761
0
    break;
44762
44763
3.48k
  case 2074:
44764
3.48k
#line 14533 "gram.y"
44765
3.48k
    {
44766
3.48k
          SubLink *n = makeNode(SubLink);
44767
0
          n->subLinkType = ARRAY_SUBLINK;
44768
3.48k
          n->subLinkId = 0;
44769
3.48k
          n->testexpr = NULL;
44770
3.48k
          n->operName = NIL;
44771
3.48k
          n->subselect = (yyvsp[0].node);
44772
3.48k
          n->location = (yylsp[-1]);
44773
3.48k
          (yyval.node) = (Node *)n;
44774
3.48k
        }
44775
0
#line 44776 "gram.c"
44776
0
    break;
44777
44778
4.49k
  case 2075:
44779
4.49k
#line 14544 "gram.y"
44780
4.49k
    {
44781
4.49k
          A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
44782
          /* point outermost A_ArrayExpr to the ARRAY keyword */
44783
4.49k
          n->location = (yylsp[-1]);
44784
4.49k
          (yyval.node) = (Node *)n;
44785
4.49k
        }
44786
4.49k
#line 44787 "gram.c"
44787
4.49k
    break;
44788
44789
2.58k
  case 2076:
44790
2.58k
#line 14551 "gram.y"
44791
2.58k
    {
44792
2.58k
          RowExpr *r = makeNode(RowExpr);
44793
0
          r->args = (yyvsp[0].list);
44794
2.58k
          r->row_typeid = InvalidOid; /* not analyzed yet */
44795
2.58k
          r->colnames = NIL; /* to be filled in during analysis */
44796
2.58k
          r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
44797
2.58k
          r->location = (yylsp[0]);
44798
2.58k
          (yyval.node) = (Node *)r;
44799
2.58k
        }
44800
0
#line 44801 "gram.c"
44801
0
    break;
44802
44803
2.10k
  case 2077:
44804
2.10k
#line 14561 "gram.y"
44805
2.10k
    {
44806
2.10k
          RowExpr *r = makeNode(RowExpr);
44807
0
          r->args = (yyvsp[0].list);
44808
2.10k
          r->row_typeid = InvalidOid; /* not analyzed yet */
44809
2.10k
          r->colnames = NIL; /* to be filled in during analysis */
44810
2.10k
          r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
44811
2.10k
          r->location = (yylsp[0]);
44812
2.10k
          (yyval.node) = (Node *)r;
44813
2.10k
        }
44814
0
#line 44815 "gram.c"
44815
0
    break;
44816
44817
9
  case 2078:
44818
9
#line 14571 "gram.y"
44819
9
    {
44820
9
          GroupingFunc *g = makeNode(GroupingFunc);
44821
0
          g->args = (yyvsp[-1].list);
44822
9
          g->location = (yylsp[-3]);
44823
9
          (yyval.node) = (Node *)g;
44824
9
        }
44825
0
#line 44826 "gram.c"
44826
0
    break;
44827
44828
16.1k
  case 2079:
44829
16.1k
#line 14580 "gram.y"
44830
16.1k
    {
44831
16.1k
          (yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
44832
16.1k
        }
44833
16.1k
#line 44834 "gram.c"
44834
16.1k
    break;
44835
44836
139k
  case 2080:
44837
139k
#line 14584 "gram.y"
44838
139k
    {
44839
139k
          FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
44840
139k
          n->agg_order = (yyvsp[-1].list);
44841
139k
          (yyval.node) = (Node *)n;
44842
139k
        }
44843
139k
#line 44844 "gram.c"
44844
139k
    break;
44845
44846
189
  case 2081:
44847
189
#line 14590 "gram.y"
44848
189
    {
44849
189
          FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)), (yylsp[-5]));
44850
189
          n->func_variadic = true;
44851
189
          n->agg_order = (yyvsp[-1].list);
44852
189
          (yyval.node) = (Node *)n;
44853
189
        }
44854
189
#line 44855 "gram.c"
44855
189
    break;
44856
44857
108
  case 2082:
44858
108
#line 14597 "gram.y"
44859
108
    {
44860
108
          FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)), (yylsp[-7]));
44861
108
          n->func_variadic = true;
44862
108
          n->agg_order = (yyvsp[-1].list);
44863
108
          (yyval.node) = (Node *)n;
44864
108
        }
44865
108
#line 44866 "gram.c"
44866
108
    break;
44867
44868
0
  case 2083:
44869
0
#line 14604 "gram.y"
44870
0
    {
44871
0
          FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
44872
0
          n->agg_order = (yyvsp[-1].list);
44873
          /* Ideally we'd mark the FuncCall node to indicate
44874
           * "must be an aggregate", but there's no provision
44875
           * for that in FuncCall at the moment.
44876
           */
44877
0
          (yyval.node) = (Node *)n;
44878
0
        }
44879
0
#line 44880 "gram.c"
44880
0
    break;
44881
44882
46
  case 2084:
44883
46
#line 14614 "gram.y"
44884
46
    {
44885
46
          FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
44886
46
          n->agg_order = (yyvsp[-1].list);
44887
46
          n->agg_distinct = true;
44888
46
          (yyval.node) = (Node *)n;
44889
46
        }
44890
46
#line 44891 "gram.c"
44891
46
    break;
44892
44893
27.7k
  case 2085:
44894
27.7k
#line 14621 "gram.y"
44895
27.7k
    {
44896
          /*
44897
           * We consider AGGREGATE(*) to invoke a parameterless
44898
           * aggregate.  This does the right thing for COUNT(*),
44899
           * and there are no other aggregates in SQL that accept
44900
           * '*' as parameter.
44901
           *
44902
           * The FuncCall node is also marked agg_star = true,
44903
           * so that later processing can detect what the argument
44904
           * really was.
44905
           */
44906
27.7k
          FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL, (yylsp[-3]));
44907
27.7k
          n->agg_star = true;
44908
27.7k
          (yyval.node) = (Node *)n;
44909
27.7k
        }
44910
27.7k
#line 44911 "gram.c"
44911
27.7k
    break;
44912
44913
166k
  case 2086:
44914
166k
#line 14649 "gram.y"
44915
166k
    {
44916
166k
          FuncCall *n = (FuncCall *) (yyvsp[-3].node);
44917
          /*
44918
           * The order clause for WITHIN GROUP and the one for
44919
           * plain-aggregate ORDER BY share a field, so we have to
44920
           * check here that at most one is present.  We also check
44921
           * for DISTINCT and VARIADIC here to give a better error
44922
           * location.  Other consistency checks are deferred to
44923
           * parse analysis.
44924
           */
44925
166k
          if ((yyvsp[-2].list) != NIL)
44926
36
          {
44927
36
            if (n->agg_order != NIL)
44928
36
              ereport(ERROR,
44929
36
                  (errcode(ERRCODE_SYNTAX_ERROR),
44930
36
                   errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
44931
36
                   parser_errposition((yylsp[-2]))));
44932
36
            if (n->agg_distinct)
44933
36
              ereport(ERROR,
44934
36
                  (errcode(ERRCODE_SYNTAX_ERROR),
44935
36
                   errmsg("cannot use DISTINCT with WITHIN GROUP"),
44936
36
                   parser_errposition((yylsp[-2]))));
44937
36
            if (n->func_variadic)
44938
36
              ereport(ERROR,
44939
36
                  (errcode(ERRCODE_SYNTAX_ERROR),
44940
36
                   errmsg("cannot use VARIADIC with WITHIN GROUP"),
44941
36
                   parser_errposition((yylsp[-2]))));
44942
36
            n->agg_order = (yyvsp[-2].list);
44943
36
            n->agg_within_group = true;
44944
36
          }
44945
166k
          n->agg_filter = (yyvsp[-1].node);
44946
166k
          n->over = (yyvsp[0].windef);
44947
166k
          (yyval.node) = (Node *) n;
44948
166k
        }
44949
0
#line 44950 "gram.c"
44950
0
    break;
44951
44952
19.9k
  case 2087:
44953
19.9k
#line 14684 "gram.y"
44954
19.9k
    { (yyval.node) = (yyvsp[0].node); }
44955
19.9k
#line 44956 "gram.c"
44956
19.9k
    break;
44957
44958
15.2k
  case 2088:
44959
15.2k
#line 14694 "gram.y"
44960
15.2k
    { (yyval.node) = (yyvsp[0].node); }
44961
15.2k
#line 44962 "gram.c"
44962
15.2k
    break;
44963
44964
9
  case 2089:
44965
9
#line 14695 "gram.y"
44966
9
    { (yyval.node) = (yyvsp[0].node); }
44967
9
#line 44968 "gram.c"
44968
9
    break;
44969
44970
20
  case 2090:
44971
20
#line 14703 "gram.y"
44972
20
    {
44973
20
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
44974
20
                         list_make1((yyvsp[-1].node)),
44975
20
                         (yylsp[-4]));
44976
20
        }
44977
20
#line 44978 "gram.c"
44978
20
    break;
44979
44980
42
  case 2091:
44981
42
#line 14709 "gram.y"
44982
42
    {
44983
42
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
44984
42
        }
44985
42
#line 44986 "gram.c"
44986
42
    break;
44987
44988
4
  case 2092:
44989
4
#line 14713 "gram.y"
44990
4
    {
44991
4
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
44992
4
        }
44993
4
#line 44994 "gram.c"
44994
4
    break;
44995
44996
0
  case 2093:
44997
0
#line 14717 "gram.y"
44998
0
    {
44999
0
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
45000
0
        }
45001
0
#line 45002 "gram.c"
45002
0
    break;
45003
45004
1.07k
  case 2094:
45005
1.07k
#line 14721 "gram.y"
45006
1.07k
    {
45007
1.07k
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
45008
1.07k
        }
45009
1.07k
#line 45010 "gram.c"
45010
1.07k
    break;
45011
45012
10
  case 2095:
45013
10
#line 14725 "gram.y"
45014
10
    {
45015
10
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
45016
10
        }
45017
10
#line 45018 "gram.c"
45018
10
    break;
45019
45020
4
  case 2096:
45021
4
#line 14729 "gram.y"
45022
4
    {
45023
4
          (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
45024
4
        }
45025
4
#line 45026 "gram.c"
45026
4
    break;
45027
45028
0
  case 2097:
45029
0
#line 14733 "gram.y"
45030
0
    {
45031
0
          (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
45032
0
        }
45033
0
#line 45034 "gram.c"
45034
0
    break;
45035
45036
4
  case 2098:
45037
4
#line 14737 "gram.y"
45038
4
    {
45039
4
          (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
45040
4
        }
45041
4
#line 45042 "gram.c"
45042
4
    break;
45043
45044
0
  case 2099:
45045
0
#line 14741 "gram.y"
45046
0
    {
45047
0
          (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
45048
0
        }
45049
0
#line 45050 "gram.c"
45050
0
    break;
45051
45052
0
  case 2100:
45053
0
#line 14745 "gram.y"
45054
0
    {
45055
0
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
45056
0
        }
45057
0
#line 45058 "gram.c"
45058
0
    break;
45059
45060
548
  case 2101:
45061
548
#line 14749 "gram.y"
45062
548
    {
45063
548
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
45064
548
        }
45065
548
#line 45066 "gram.c"
45066
548
    break;
45067
45068
1.66k
  case 2102:
45069
1.66k
#line 14753 "gram.y"
45070
1.66k
    {
45071
1.66k
          (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
45072
1.66k
        }
45073
1.66k
#line 45074 "gram.c"
45074
1.66k
    break;
45075
45076
0
  case 2103:
45077
0
#line 14757 "gram.y"
45078
0
    {
45079
0
          (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
45080
0
        }
45081
0
#line 45082 "gram.c"
45082
0
    break;
45083
45084
4
  case 2104:
45085
4
#line 14761 "gram.y"
45086
4
    {
45087
4
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
45088
4
        }
45089
4
#line 45090 "gram.c"
45090
4
    break;
45091
45092
12
  case 2105:
45093
12
#line 14765 "gram.y"
45094
12
    {
45095
12
          (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
45096
12
        }
45097
12
#line 45098 "gram.c"
45098
12
    break;
45099
45100
7.28k
  case 2106:
45101
7.28k
#line 14769 "gram.y"
45102
7.28k
    { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
45103
7.28k
#line 45104 "gram.c"
45104
7.28k
    break;
45105
45106
1.41k
  case 2107:
45107
1.41k
#line 14771 "gram.y"
45108
1.41k
    {
45109
1.41k
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
45110
1.41k
        }
45111
1.41k
#line 45112 "gram.c"
45112
1.41k
    break;
45113
45114
20
  case 2108:
45115
20
#line 14775 "gram.y"
45116
20
    {
45117
          /* overlay(A PLACING B FROM C FOR D) is converted to
45118
           * overlay(A, B, C, D)
45119
           * overlay(A PLACING B FROM C) is converted to
45120
           * overlay(A, B, C)
45121
           */
45122
20
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3]));
45123
20
        }
45124
20
#line 45125 "gram.c"
45125
20
    break;
45126
45127
216
  case 2109:
45128
216
#line 14784 "gram.y"
45129
216
    {
45130
          /* position(A in B) is converted to position(B, A) */
45131
216
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
45132
216
        }
45133
216
#line 45134 "gram.c"
45134
216
    break;
45135
45136
2.22k
  case 2110:
45137
2.22k
#line 14789 "gram.y"
45138
2.22k
    {
45139
          /* substring(A from B for C) is converted to
45140
           * substring(A, B, C) - thomas 2000-11-28
45141
           */
45142
2.22k
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3]));
45143
2.22k
        }
45144
2.22k
#line 45145 "gram.c"
45145
2.22k
    break;
45146
45147
0
  case 2111:
45148
0
#line 14796 "gram.y"
45149
0
    {
45150
          /* TREAT(expr AS target) converts expr of a particular type to target,
45151
           * which is defined to be a subtype of the original expression.
45152
           * In SQL99, this is intended for use with structured UDTs,
45153
           * but let's make this a generally useful form allowing stronger
45154
           * coercions than are handled by implicit casting.
45155
           *
45156
           * Convert SystemTypeName() to SystemFuncName() even though
45157
           * at the moment they result in the same thing.
45158
           */
45159
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str),
45160
0
                        list_make1((yyvsp[-3].node)),
45161
0
                        (yylsp[-5]));
45162
0
        }
45163
0
#line 45164 "gram.c"
45164
0
    break;
45165
45166
0
  case 2112:
45167
0
#line 14811 "gram.y"
45168
0
    {
45169
          /* various trim expressions are defined in SQL
45170
           * - thomas 1997-07-19
45171
           */
45172
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
45173
0
        }
45174
0
#line 45175 "gram.c"
45175
0
    break;
45176
45177
0
  case 2113:
45178
0
#line 14818 "gram.y"
45179
0
    {
45180
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
45181
0
        }
45182
0
#line 45183 "gram.c"
45183
0
    break;
45184
45185
56
  case 2114:
45186
56
#line 14822 "gram.y"
45187
56
    {
45188
56
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
45189
56
        }
45190
56
#line 45191 "gram.c"
45191
56
    break;
45192
45193
17
  case 2115:
45194
17
#line 14826 "gram.y"
45195
17
    {
45196
17
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
45197
17
        }
45198
17
#line 45199 "gram.c"
45199
17
    break;
45200
45201
81
  case 2116:
45202
81
#line 14830 "gram.y"
45203
81
    {
45204
81
          (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
45205
81
        }
45206
81
#line 45207 "gram.c"
45207
81
    break;
45208
45209
5.23k
  case 2117:
45210
5.23k
#line 14834 "gram.y"
45211
5.23k
    {
45212
5.23k
          CoalesceExpr *c = makeNode(CoalesceExpr);
45213
0
          c->args = (yyvsp[-1].list);
45214
5.23k
          c->location = (yylsp[-3]);
45215
5.23k
          (yyval.node) = (Node *)c;
45216
5.23k
        }
45217
0
#line 45218 "gram.c"
45218
0
    break;
45219
45220
45
  case 2118:
45221
45
#line 14841 "gram.y"
45222
45
    {
45223
45
          MinMaxExpr *v = makeNode(MinMaxExpr);
45224
0
          v->args = (yyvsp[-1].list);
45225
45
          v->op = IS_GREATEST;
45226
45
          v->location = (yylsp[-3]);
45227
45
          (yyval.node) = (Node *)v;
45228
45
        }
45229
0
#line 45230 "gram.c"
45230
0
    break;
45231
45232
26
  case 2119:
45233
26
#line 14849 "gram.y"
45234
26
    {
45235
26
          MinMaxExpr *v = makeNode(MinMaxExpr);
45236
0
          v->args = (yyvsp[-1].list);
45237
26
          v->op = IS_LEAST;
45238
26
          v->location = (yylsp[-3]);
45239
26
          (yyval.node) = (Node *)v;
45240
26
        }
45241
0
#line 45242 "gram.c"
45242
0
    break;
45243
45244
0
  case 2120:
45245
0
#line 14857 "gram.y"
45246
0
    {
45247
0
          (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
45248
0
        }
45249
0
#line 45250 "gram.c"
45250
0
    break;
45251
45252
0
  case 2121:
45253
0
#line 14861 "gram.y"
45254
0
    {
45255
0
          (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
45256
0
        }
45257
0
#line 45258 "gram.c"
45258
0
    break;
45259
45260
0
  case 2122:
45261
0
#line 14865 "gram.y"
45262
0
    {
45263
0
          (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
45264
0
        }
45265
0
#line 45266 "gram.c"
45266
0
    break;
45267
45268
0
  case 2123:
45269
0
#line 14869 "gram.y"
45270
0
    {
45271
0
          (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
45272
0
        }
45273
0
#line 45274 "gram.c"
45274
0
    break;
45275
45276
0
  case 2124:
45277
0
#line 14873 "gram.y"
45278
0
    {
45279
0
          (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
45280
0
        }
45281
0
#line 45282 "gram.c"
45282
0
    break;
45283
45284
0
  case 2125:
45285
0
#line 14877 "gram.y"
45286
0
    {
45287
          /* xmlexists(A PASSING [BY REF] B [BY REF]) is
45288
           * converted to xmlexists(A, B)*/
45289
0
          (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-4]));
45290
0
        }
45291
0
#line 45292 "gram.c"
45292
0
    break;
45293
45294
0
  case 2126:
45295
0
#line 14883 "gram.y"
45296
0
    {
45297
0
          (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
45298
0
        }
45299
0
#line 45300 "gram.c"
45300
0
    break;
45301
45302
0
  case 2127:
45303
0
#line 14887 "gram.y"
45304
0
    {
45305
0
          XmlExpr *x = (XmlExpr *)
45306
0
            makeXmlExpr(IS_XMLPARSE, NULL, NIL,
45307
0
                  list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
45308
0
                  (yylsp[-5]));
45309
0
          x->xmloption = (yyvsp[-3].ival);
45310
0
          (yyval.node) = (Node *)x;
45311
0
        }
45312
0
#line 45313 "gram.c"
45313
0
    break;
45314
45315
0
  case 2128:
45316
0
#line 14896 "gram.y"
45317
0
    {
45318
0
          (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
45319
0
        }
45320
0
#line 45321 "gram.c"
45321
0
    break;
45322
45323
0
  case 2129:
45324
0
#line 14900 "gram.y"
45325
0
    {
45326
0
          (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
45327
0
        }
45328
0
#line 45329 "gram.c"
45329
0
    break;
45330
45331
0
  case 2130:
45332
0
#line 14904 "gram.y"
45333
0
    {
45334
0
          (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
45335
0
                   list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
45336
0
        }
45337
0
#line 45338 "gram.c"
45338
0
    break;
45339
45340
0
  case 2131:
45341
0
#line 14909 "gram.y"
45342
0
    {
45343
0
          XmlSerialize *n = makeNode(XmlSerialize);
45344
0
          n->xmloption = (yyvsp[-4].ival);
45345
0
          n->expr = (yyvsp[-3].node);
45346
0
          n->typeName = (yyvsp[-1].typnam);
45347
0
          n->location = (yylsp[-6]);
45348
0
          (yyval.node) = (Node *)n;
45349
0
        }
45350
0
#line 45351 "gram.c"
45351
0
    break;
45352
45353
0
  case 2132:
45354
0
#line 14923 "gram.y"
45355
0
    { (yyval.node) = (yyvsp[0].node); }
45356
0
#line 45357 "gram.c"
45357
0
    break;
45358
45359
0
  case 2133:
45360
0
#line 14925 "gram.y"
45361
0
    { (yyval.node) = makeNullAConst(-1); }
45362
0
#line 45363 "gram.c"
45363
0
    break;
45364
45365
0
  case 2134:
45366
0
#line 14929 "gram.y"
45367
0
    { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
45368
0
#line 45369 "gram.c"
45369
0
    break;
45370
45371
0
  case 2135:
45372
0
#line 14931 "gram.y"
45373
0
    { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
45374
0
#line 45375 "gram.c"
45375
0
    break;
45376
45377
0
  case 2136:
45378
0
#line 14933 "gram.y"
45379
0
    { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
45380
0
#line 45381 "gram.c"
45381
0
    break;
45382
45383
0
  case 2137:
45384
0
#line 14935 "gram.y"
45385
0
    { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
45386
0
#line 45387 "gram.c"
45387
0
    break;
45388
45389
0
  case 2138:
45390
0
#line 14938 "gram.y"
45391
0
    { (yyval.list) = (yyvsp[-1].list); }
45392
0
#line 45393 "gram.c"
45393
0
    break;
45394
45395
0
  case 2139:
45396
0
#line 14941 "gram.y"
45397
0
    { (yyval.list) = list_make1((yyvsp[0].target)); }
45398
0
#line 45399 "gram.c"
45399
0
    break;
45400
45401
0
  case 2140:
45402
0
#line 14942 "gram.y"
45403
0
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
45404
0
#line 45405 "gram.c"
45405
0
    break;
45406
45407
0
  case 2141:
45408
0
#line 14946 "gram.y"
45409
0
    {
45410
0
          (yyval.target) = makeNode(ResTarget);
45411
0
          (yyval.target)->name = (yyvsp[0].str);
45412
0
          (yyval.target)->indirection = NIL;
45413
0
          (yyval.target)->val = (Node *) (yyvsp[-2].node);
45414
0
          (yyval.target)->location = (yylsp[-2]);
45415
0
        }
45416
0
#line 45417 "gram.c"
45417
0
    break;
45418
45419
0
  case 2142:
45420
0
#line 14954 "gram.y"
45421
0
    {
45422
0
          (yyval.target) = makeNode(ResTarget);
45423
0
          (yyval.target)->name = NULL;
45424
0
          (yyval.target)->indirection = NIL;
45425
0
          (yyval.target)->val = (Node *) (yyvsp[0].node);
45426
0
          (yyval.target)->location = (yylsp[0]);
45427
0
        }
45428
0
#line 45429 "gram.c"
45429
0
    break;
45430
45431
0
  case 2143:
45432
0
#line 14963 "gram.y"
45433
0
    { (yyval.ival) = XMLOPTION_DOCUMENT; }
45434
0
#line 45435 "gram.c"
45435
0
    break;
45436
45437
0
  case 2144:
45438
0
#line 14964 "gram.y"
45439
0
    { (yyval.ival) = XMLOPTION_CONTENT; }
45440
0
#line 45441 "gram.c"
45441
0
    break;
45442
45443
0
  case 2145:
45444
0
#line 14967 "gram.y"
45445
0
    { (yyval.boolean) = true; }
45446
0
#line 45447 "gram.c"
45447
0
    break;
45448
45449
0
  case 2146:
45450
0
#line 14968 "gram.y"
45451
0
    { (yyval.boolean) = false; }
45452
0
#line 45453 "gram.c"
45453
0
    break;
45454
45455
0
  case 2147:
45456
0
#line 14969 "gram.y"
45457
0
    { (yyval.boolean) = false; }
45458
0
#line 45459 "gram.c"
45459
0
    break;
45460
45461
0
  case 2148:
45462
0
#line 14975 "gram.y"
45463
0
    {
45464
0
          (yyval.node) = (yyvsp[0].node);
45465
0
        }
45466
0
#line 45467 "gram.c"
45467
0
    break;
45468
45469
0
  case 2149:
45470
0
#line 14979 "gram.y"
45471
0
    {
45472
0
          (yyval.node) = (yyvsp[-2].node);
45473
0
        }
45474
0
#line 45475 "gram.c"
45475
0
    break;
45476
45477
0
  case 2150:
45478
0
#line 14983 "gram.y"
45479
0
    {
45480
0
          (yyval.node) = (yyvsp[0].node);
45481
0
        }
45482
0
#line 45483 "gram.c"
45483
0
    break;
45484
45485
0
  case 2151:
45486
0
#line 14987 "gram.y"
45487
0
    {
45488
0
          (yyval.node) = (yyvsp[-2].node);
45489
0
        }
45490
0
#line 45491 "gram.c"
45491
0
    break;
45492
45493
36
  case 2152:
45494
36
#line 14997 "gram.y"
45495
36
    { (yyval.list) = (yyvsp[-1].list); }
45496
36
#line 45497 "gram.c"
45497
36
    break;
45498
45499
166k
  case 2153:
45500
166k
#line 14998 "gram.y"
45501
166k
    { (yyval.list) = NIL; }
45502
166k
#line 45503 "gram.c"
45503
166k
    break;
45504
45505
894
  case 2154:
45506
894
#line 15002 "gram.y"
45507
894
    { (yyval.node) = (yyvsp[-1].node); }
45508
894
#line 45509 "gram.c"
45509
894
    break;
45510
45511
165k
  case 2155:
45512
165k
#line 15003 "gram.y"
45513
165k
    { (yyval.node) = NULL; }
45514
165k
#line 45515 "gram.c"
45515
165k
    break;
45516
45517
257
  case 2156:
45518
257
#line 15011 "gram.y"
45519
257
    { (yyval.list) = (yyvsp[0].list); }
45520
257
#line 45521 "gram.c"
45521
257
    break;
45522
45523
680k
  case 2157:
45524
680k
#line 15012 "gram.y"
45525
680k
    { (yyval.list) = NIL; }
45526
680k
#line 45527 "gram.c"
45527
680k
    break;
45528
45529
257
  case 2158:
45530
257
#line 15016 "gram.y"
45531
257
    { (yyval.list) = list_make1((yyvsp[0].windef)); }
45532
257
#line 45533 "gram.c"
45533
257
    break;
45534
45535
8
  case 2159:
45536
8
#line 15018 "gram.y"
45537
8
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
45538
8
#line 45539 "gram.c"
45539
8
    break;
45540
45541
265
  case 2160:
45542
265
#line 15023 "gram.y"
45543
265
    {
45544
265
          WindowDef *n = (yyvsp[0].windef);
45545
265
          n->name = (yyvsp[-2].str);
45546
265
          (yyval.windef) = n;
45547
265
        }
45548
265
#line 45549 "gram.c"
45549
265
    break;
45550
45551
1.28k
  case 2161:
45552
1.28k
#line 15031 "gram.y"
45553
1.28k
    { (yyval.windef) = (yyvsp[0].windef); }
45554
1.28k
#line 45555 "gram.c"
45555
1.28k
    break;
45556
45557
450
  case 2162:
45558
450
#line 15033 "gram.y"
45559
450
    {
45560
450
          WindowDef *n = makeNode(WindowDef);
45561
0
          n->name = (yyvsp[0].str);
45562
450
          n->refname = NULL;
45563
450
          n->partitionClause = NIL;
45564
450
          n->orderClause = NIL;
45565
450
          n->frameOptions = FRAMEOPTION_DEFAULTS;
45566
450
          n->startOffset = NULL;
45567
450
          n->endOffset = NULL;
45568
450
          n->location = (yylsp[0]);
45569
450
          (yyval.windef) = n;
45570
450
        }
45571
0
#line 45572 "gram.c"
45572
0
    break;
45573
45574
165k
  case 2163:
45575
165k
#line 15046 "gram.y"
45576
165k
    { (yyval.windef) = NULL; }
45577
165k
#line 45578 "gram.c"
45578
165k
    break;
45579
45580
1.54k
  case 2164:
45581
1.54k
#line 15051 "gram.y"
45582
1.54k
    {
45583
1.54k
          WindowDef *n = makeNode(WindowDef);
45584
0
          n->name = NULL;
45585
1.54k
          n->refname = (yyvsp[-4].str);
45586
1.54k
          n->partitionClause = (yyvsp[-3].list);
45587
1.54k
          n->orderClause = (yyvsp[-2].list);
45588
          /* copy relevant fields of opt_frame_clause */
45589
1.54k
          n->frameOptions = (yyvsp[-1].windef)->frameOptions;
45590
1.54k
          n->startOffset = (yyvsp[-1].windef)->startOffset;
45591
1.54k
          n->endOffset = (yyvsp[-1].windef)->endOffset;
45592
1.54k
          n->location = (yylsp[-5]);
45593
1.54k
          (yyval.windef) = n;
45594
1.54k
        }
45595
0
#line 45596 "gram.c"
45596
0
    break;
45597
45598
20
  case 2165:
45599
20
#line 15076 "gram.y"
45600
20
    { (yyval.str) = (yyvsp[0].str); }
45601
20
#line 45602 "gram.c"
45602
20
    break;
45603
45604
1.53k
  case 2166:
45605
1.53k
#line 15077 "gram.y"
45606
1.53k
    { (yyval.str) = NULL; }
45607
1.53k
#line 45608 "gram.c"
45608
1.53k
    break;
45609
45610
356
  case 2167:
45611
356
#line 15080 "gram.y"
45612
356
    { (yyval.list) = (yyvsp[0].list); }
45613
356
#line 45614 "gram.c"
45614
356
    break;
45615
45616
1.19k
  case 2168:
45617
1.19k
#line 15081 "gram.y"
45618
1.19k
    { (yyval.list) = NIL; }
45619
1.19k
#line 45620 "gram.c"
45620
1.19k
    break;
45621
45622
463
  case 2169:
45623
463
#line 15090 "gram.y"
45624
463
    {
45625
463
          WindowDef *n = (yyvsp[-1].windef);
45626
463
          n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
45627
463
          n->frameOptions |= (yyvsp[0].ival);
45628
463
          (yyval.windef) = n;
45629
463
        }
45630
463
#line 45631 "gram.c"
45631
463
    break;
45632
45633
380
  case 2170:
45634
380
#line 15097 "gram.y"
45635
380
    {
45636
380
          WindowDef *n = (yyvsp[-1].windef);
45637
380
          n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
45638
380
          n->frameOptions |= (yyvsp[0].ival);
45639
380
          (yyval.windef) = n;
45640
380
        }
45641
380
#line 45642 "gram.c"
45642
380
    break;
45643
45644
168
  case 2171:
45645
168
#line 15104 "gram.y"
45646
168
    {
45647
168
          WindowDef *n = (yyvsp[-1].windef);
45648
168
          n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
45649
168
          n->frameOptions |= (yyvsp[0].ival);
45650
168
          (yyval.windef) = n;
45651
168
        }
45652
168
#line 45653 "gram.c"
45653
168
    break;
45654
45655
538
  case 2172:
45656
538
#line 15111 "gram.y"
45657
538
    {
45658
538
          WindowDef *n = makeNode(WindowDef);
45659
538
          n->frameOptions = FRAMEOPTION_DEFAULTS;
45660
538
          n->startOffset = NULL;
45661
538
          n->endOffset = NULL;
45662
538
          (yyval.windef) = n;
45663
538
        }
45664
0
#line 45665 "gram.c"
45665
0
    break;
45666
45667
5
  case 2173:
45668
5
#line 15121 "gram.y"
45669
5
    {
45670
5
          WindowDef *n = (yyvsp[0].windef);
45671
          /* reject invalid cases */
45672
5
          if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
45673
5
            ereport(ERROR,
45674
5
                (errcode(ERRCODE_WINDOWING_ERROR),
45675
5
                 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
45676
5
                 parser_errposition((yylsp[0]))));
45677
5
          if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
45678
5
            ereport(ERROR,
45679
5
                (errcode(ERRCODE_WINDOWING_ERROR),
45680
5
                 errmsg("frame starting from following row cannot end with current row"),
45681
5
                 parser_errposition((yylsp[0]))));
45682
5
          n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
45683
5
          (yyval.windef) = n;
45684
5
        }
45685
0
#line 45686 "gram.c"
45686
0
    break;
45687
45688
1.00k
  case 2174:
45689
1.00k
#line 15138 "gram.y"
45690
1.00k
    {
45691
1.00k
          WindowDef *n1 = (yyvsp[-2].windef);
45692
1.00k
          WindowDef *n2 = (yyvsp[0].windef);
45693
          /* form merged options */
45694
1.00k
          int   frameOptions = n1->frameOptions;
45695
          /* shift converts START_ options to END_ options */
45696
1.00k
          frameOptions |= n2->frameOptions << 1;
45697
1.00k
          frameOptions |= FRAMEOPTION_BETWEEN;
45698
          /* reject invalid cases */
45699
1.00k
          if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
45700
1.00k
            ereport(ERROR,
45701
1.00k
                (errcode(ERRCODE_WINDOWING_ERROR),
45702
1.00k
                 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
45703
1.00k
                 parser_errposition((yylsp[-2]))));
45704
1.00k
          if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
45705
1.00k
            ereport(ERROR,
45706
1.00k
                (errcode(ERRCODE_WINDOWING_ERROR),
45707
1.00k
                 errmsg("frame end cannot be UNBOUNDED PRECEDING"),
45708
1.00k
                 parser_errposition((yylsp[0]))));
45709
1.00k
          if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
45710
1.00k
            
(frameOptions & 310
FRAMEOPTION_END_OFFSET_PRECEDING310
))
45711
1.00k
            ereport(ERROR,
45712
1.00k
                (errcode(ERRCODE_WINDOWING_ERROR),
45713
1.00k
                 errmsg("frame starting from current row cannot have preceding rows"),
45714
1.00k
                 parser_errposition((yylsp[0]))));
45715
1.00k
          if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
45716
1.00k
            
(frameOptions & (75
FRAMEOPTION_END_OFFSET_PRECEDING75
|
45717
75
                     FRAMEOPTION_END_CURRENT_ROW)))
45718
1.00k
            ereport(ERROR,
45719
1.00k
                (errcode(ERRCODE_WINDOWING_ERROR),
45720
1.00k
                 errmsg("frame starting from following row cannot have preceding rows"),
45721
1.00k
                 parser_errposition((yylsp[0]))));
45722
1.00k
          n1->frameOptions = frameOptions;
45723
1.00k
          n1->endOffset = n2->startOffset;
45724
1.00k
          (yyval.windef) = n1;
45725
1.00k
        }
45726
0
#line 45727 "gram.c"
45727
0
    break;
45728
45729
116
  case 2175:
45730
116
#line 15183 "gram.y"
45731
116
    {
45732
116
          WindowDef *n = makeNode(WindowDef);
45733
116
          n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
45734
116
          n->startOffset = NULL;
45735
116
          n->endOffset = NULL;
45736
116
          (yyval.windef) = n;
45737
116
        }
45738
0
#line 45739 "gram.c"
45739
0
    break;
45740
45741
248
  case 2176:
45742
248
#line 15191 "gram.y"
45743
248
    {
45744
248
          WindowDef *n = makeNode(WindowDef);
45745
248
          n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
45746
248
          n->startOffset = NULL;
45747
248
          n->endOffset = NULL;
45748
248
          (yyval.windef) = n;
45749
248
        }
45750
0
#line 45751 "gram.c"
45751
0
    break;
45752
45753
398
  case 2177:
45754
398
#line 15199 "gram.y"
45755
398
    {
45756
398
          WindowDef *n = makeNode(WindowDef);
45757
398
          n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
45758
398
          n->startOffset = NULL;
45759
398
          n->endOffset = NULL;
45760
398
          (yyval.windef) = n;
45761
398
        }
45762
0
#line 45763 "gram.c"
45763
0
    break;
45764
45765
560
  case 2178:
45766
560
#line 15207 "gram.y"
45767
560
    {
45768
560
          WindowDef *n = makeNode(WindowDef);
45769
560
          n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
45770
560
          n->startOffset = (yyvsp[-1].node);
45771
560
          n->endOffset = NULL;
45772
560
          (yyval.windef) = n;
45773
560
        }
45774
0
#line 45775 "gram.c"
45775
0
    break;
45776
45777
695
  case 2179:
45778
695
#line 15215 "gram.y"
45779
695
    {
45780
695
          WindowDef *n = makeNode(WindowDef);
45781
695
          n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
45782
695
          n->startOffset = (yyvsp[-1].node);
45783
695
          n->endOffset = NULL;
45784
695
          (yyval.windef) = n;
45785
695
        }
45786
0
#line 45787 "gram.c"
45787
0
    break;
45788
45789
70
  case 2180:
45790
70
#line 15225 "gram.y"
45791
70
    { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
45792
70
#line 45793 "gram.c"
45793
70
    break;
45794
45795
80
  case 2181:
45796
80
#line 15226 "gram.y"
45797
80
    { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
45798
80
#line 45799 "gram.c"
45799
80
    break;
45800
45801
120
  case 2182:
45802
120
#line 15227 "gram.y"
45803
120
    { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
45804
120
#line 45805 "gram.c"
45805
120
    break;
45806
45807
15
  case 2183:
45808
15
#line 15228 "gram.y"
45809
15
    { (yyval.ival) = 0; }
45810
15
#line 45811 "gram.c"
45811
15
    break;
45812
45813
726
  case 2184:
45814
726
#line 15229 "gram.y"
45815
726
    { (yyval.ival) = 0; }
45816
726
#line 45817 "gram.c"
45817
726
    break;
45818
45819
0
  case 2185:
45820
0
#line 15243 "gram.y"
45821
0
    { (yyval.list) = (yyvsp[-1].list); }
45822
0
#line 45823 "gram.c"
45823
0
    break;
45824
45825
0
  case 2186:
45826
0
#line 15244 "gram.y"
45827
0
    { (yyval.list) = NIL; }
45828
0
#line 45829 "gram.c"
45829
0
    break;
45830
45831
0
  case 2187:
45832
0
#line 15245 "gram.y"
45833
0
    { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
45834
0
#line 45835 "gram.c"
45835
0
    break;
45836
45837
2.56k
  case 2188:
45838
2.56k
#line 15248 "gram.y"
45839
2.56k
    { (yyval.list) = (yyvsp[-1].list); }
45840
2.56k
#line 45841 "gram.c"
45841
2.56k
    break;
45842
45843
16
  case 2189:
45844
16
#line 15249 "gram.y"
45845
16
    { (yyval.list) = NIL; }
45846
16
#line 45847 "gram.c"
45847
16
    break;
45848
45849
2.10k
  case 2190:
45850
2.10k
#line 15252 "gram.y"
45851
2.10k
    { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
45852
2.10k
#line 45853 "gram.c"
45853
2.10k
    break;
45854
45855
4.20k
  case 2191:
45856
4.20k
#line 15255 "gram.y"
45857
4.20k
    { (yyval.ival) = ANY_SUBLINK; }
45858
4.20k
#line 45859 "gram.c"
45859
4.20k
    break;
45860
45861
25
  case 2192:
45862
25
#line 15256 "gram.y"
45863
25
    { (yyval.ival) = ANY_SUBLINK; }
45864
25
#line 45865 "gram.c"
45865
25
    break;
45866
45867
113
  case 2193:
45868
113
#line 15257 "gram.y"
45869
113
    { (yyval.ival) = ALL_SUBLINK; }
45870
113
#line 45871 "gram.c"
45871
113
    break;
45872
45873
1.92k
  case 2194:
45874
1.92k
#line 15260 "gram.y"
45875
1.92k
    { (yyval.str) = (yyvsp[0].str); }
45876
1.92k
#line 45877 "gram.c"
45877
1.92k
    break;
45878
45879
5.85k
  case 2195:
45880
5.85k
#line 15261 "gram.y"
45881
5.85k
    { (yyval.str) = (yyvsp[0].str); }
45882
5.85k
#line 45883 "gram.c"
45883
5.85k
    break;
45884
45885
23
  case 2196:
45886
23
#line 15264 "gram.y"
45887
23
    { (yyval.str) = "+"; }
45888
23
#line 45889 "gram.c"
45889
23
    break;
45890
45891
15
  case 2197:
45892
15
#line 15265 "gram.y"
45893
15
    { (yyval.str) = "-"; }
45894
15
#line 45895 "gram.c"
45895
15
    break;
45896
45897
8
  case 2198:
45898
8
#line 15266 "gram.y"
45899
8
    { (yyval.str) = "*"; }
45900
8
#line 45901 "gram.c"
45901
8
    break;
45902
45903
0
  case 2199:
45904
0
#line 15267 "gram.y"
45905
0
    { (yyval.str) = "/"; }
45906
0
#line 45907 "gram.c"
45907
0
    break;
45908
45909
4
  case 2200:
45910
4
#line 15268 "gram.y"
45911
4
    { (yyval.str) = "%"; }
45912
4
#line 45913 "gram.c"
45913
4
    break;
45914
45915
0
  case 2201:
45916
0
#line 15269 "gram.y"
45917
0
    { (yyval.str) = "^"; }
45918
0
#line 45919 "gram.c"
45919
0
    break;
45920
45921
243
  case 2202:
45922
243
#line 15270 "gram.y"
45923
243
    { (yyval.str) = "<"; }
45924
243
#line 45925 "gram.c"
45925
243
    break;
45926
45927
188
  case 2203:
45928
188
#line 15271 "gram.y"
45929
188
    { (yyval.str) = ">"; }
45930
188
#line 45931 "gram.c"
45931
188
    break;
45932
45933
4.86k
  case 2204:
45934
4.86k
#line 15272 "gram.y"
45935
4.86k
    { (yyval.str) = "="; }
45936
4.86k
#line 45937 "gram.c"
45937
4.86k
    break;
45938
45939
184
  case 2205:
45940
184
#line 15273 "gram.y"
45941
184
    { (yyval.str) = "<="; }
45942
184
#line 45943 "gram.c"
45943
184
    break;
45944
45945
204
  case 2206:
45946
204
#line 15274 "gram.y"
45947
204
    { (yyval.str) = ">="; }
45948
204
#line 45949 "gram.c"
45949
204
    break;
45950
45951
119
  case 2207:
45952
119
#line 15275 "gram.y"
45953
119
    { (yyval.str) = "<>"; }
45954
119
#line 45955 "gram.c"
45955
119
    break;
45956
45957
16.1k
  case 2208:
45958
16.1k
#line 15279 "gram.y"
45959
16.1k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45960
16.1k
#line 45961 "gram.c"
45961
16.1k
    break;
45962
45963
1.77k
  case 2209:
45964
1.77k
#line 15281 "gram.y"
45965
1.77k
    { (yyval.list) = (yyvsp[-1].list); }
45966
1.77k
#line 45967 "gram.c"
45967
1.77k
    break;
45968
45969
483
  case 2210:
45970
483
#line 15286 "gram.y"
45971
483
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45972
483
#line 45973 "gram.c"
45973
483
    break;
45974
45975
21
  case 2211:
45976
21
#line 15288 "gram.y"
45977
21
    { (yyval.list) = (yyvsp[-1].list); }
45978
21
#line 45979 "gram.c"
45979
21
    break;
45980
45981
4.29k
  case 2212:
45982
4.29k
#line 15293 "gram.y"
45983
4.29k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45984
4.29k
#line 45985 "gram.c"
45985
4.29k
    break;
45986
45987
10
  case 2213:
45988
10
#line 15295 "gram.y"
45989
10
    { (yyval.list) = (yyvsp[-1].list); }
45990
10
#line 45991 "gram.c"
45991
10
    break;
45992
45993
20
  case 2214:
45994
20
#line 15297 "gram.y"
45995
20
    { (yyval.list) = list_make1(makeString("~~")); }
45996
20
#line 45997 "gram.c"
45997
20
    break;
45998
45999
10
  case 2215:
46000
10
#line 15299 "gram.y"
46001
10
    { (yyval.list) = list_make1(makeString("!~~")); }
46002
10
#line 46003 "gram.c"
46003
10
    break;
46004
46005
10
  case 2216:
46006
10
#line 15301 "gram.y"
46007
10
    { (yyval.list) = list_make1(makeString("~~*")); }
46008
10
#line 46009 "gram.c"
46009
10
    break;
46010
46011
0
  case 2217:
46012
0
#line 15303 "gram.y"
46013
0
    { (yyval.list) = list_make1(makeString("!~~*")); }
46014
0
#line 46015 "gram.c"
46015
0
    break;
46016
46017
2.22M
  case 2218:
46018
2.22M
#line 15315 "gram.y"
46019
2.22M
    {
46020
2.22M
          (yyval.list) = list_make1((yyvsp[0].node));
46021
2.22M
        }
46022
2.22M
#line 46023 "gram.c"
46023
2.22M
    break;
46024
46025
11.2M
  case 2219:
46026
11.2M
#line 15319 "gram.y"
46027
11.2M
    {
46028
11.2M
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
46029
11.2M
        }
46030
11.2M
#line 46031 "gram.c"
46031
11.2M
    break;
46032
46033
139k
  case 2220:
46034
139k
#line 15326 "gram.y"
46035
139k
    {
46036
139k
          (yyval.list) = list_make1((yyvsp[0].node));
46037
139k
        }
46038
139k
#line 46039 "gram.c"
46039
139k
    break;
46040
46041
95.7k
  case 2221:
46042
95.7k
#line 15330 "gram.y"
46043
95.7k
    {
46044
95.7k
          (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
46045
95.7k
        }
46046
95.7k
#line 46047 "gram.c"
46047
95.7k
    break;
46048
46049
234k
  case 2222:
46050
234k
#line 15336 "gram.y"
46051
234k
    {
46052
234k
          (yyval.node) = (yyvsp[0].node);
46053
234k
        }
46054
234k
#line 46055 "gram.c"
46055
234k
    break;
46056
46057
125
  case 2223:
46058
125
#line 15340 "gram.y"
46059
125
    {
46060
125
          NamedArgExpr *na = makeNode(NamedArgExpr);
46061
0
          na->name = (yyvsp[-2].str);
46062
125
          na->arg = (Expr *) (yyvsp[0].node);
46063
125
          na->argnumber = -1;   /* until determined */
46064
125
          na->location = (yylsp[-2]);
46065
125
          (yyval.node) = (Node *) na;
46066
125
        }
46067
0
#line 46068 "gram.c"
46068
0
    break;
46069
46070
320
  case 2224:
46071
320
#line 15349 "gram.y"
46072
320
    {
46073
320
          NamedArgExpr *na = makeNode(NamedArgExpr);
46074
0
          na->name = (yyvsp[-2].str);
46075
320
          na->arg = (Expr *) (yyvsp[0].node);
46076
320
          na->argnumber = -1;   /* until determined */
46077
320
          na->location = (yylsp[-2]);
46078
320
          (yyval.node) = (Node *) na;
46079
320
        }
46080
0
#line 46081 "gram.c"
46081
0
    break;
46082
46083
2.26k
  case 2225:
46084
2.26k
#line 15359 "gram.y"
46085
2.26k
    { (yyval.list) = list_make1((yyvsp[0].typnam)); }
46086
2.26k
#line 46087 "gram.c"
46087
2.26k
    break;
46088
46089
2.04k
  case 2226:
46090
2.04k
#line 15360 "gram.y"
46091
2.04k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
46092
2.04k
#line 46093 "gram.c"
46093
2.04k
    break;
46094
46095
4.38k
  case 2227:
46096
4.38k
#line 15364 "gram.y"
46097
4.38k
    {
46098
4.38k
          (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
46099
4.38k
        }
46100
4.38k
#line 46101 "gram.c"
46101
4.38k
    break;
46102
46103
489
  case 2228:
46104
489
#line 15368 "gram.y"
46105
489
    {
46106
489
          (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
46107
489
        }
46108
489
#line 46109 "gram.c"
46109
489
    break;
46110
46111
546
  case 2229:
46112
546
#line 15372 "gram.y"
46113
546
    {
46114
546
          (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
46115
546
        }
46116
546
#line 46117 "gram.c"
46117
546
    break;
46118
46119
489
  case 2230:
46120
489
#line 15377 "gram.y"
46121
489
    { (yyval.list) = list_make1((yyvsp[0].node)); }
46122
489
#line 46123 "gram.c"
46123
489
    break;
46124
46125
434
  case 2231:
46126
434
#line 15378 "gram.y"
46127
434
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
46128
434
#line 46129 "gram.c"
46129
434
    break;
46130
46131
1.41k
  case 2232:
46132
1.41k
#line 15384 "gram.y"
46133
1.41k
    {
46134
1.41k
          (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
46135
1.41k
        }
46136
1.41k
#line 46137 "gram.c"
46137
1.41k
    break;
46138
46139
0
  case 2233:
46140
0
#line 15387 "gram.y"
46141
0
    { (yyval.list) = NIL; }
46142
0
#line 46143 "gram.c"
46143
0
    break;
46144
46145
1.35k
  case 2234:
46146
1.35k
#line 15394 "gram.y"
46147
1.35k
    { (yyval.str) = (yyvsp[0].str); }
46148
1.35k
#line 46149 "gram.c"
46149
1.35k
    break;
46150
46151
10
  case 2235:
46152
10
#line 15395 "gram.y"
46153
10
    { (yyval.str) = "year"; }
46154
10
#line 46155 "gram.c"
46155
10
    break;
46156
46157
5
  case 2236:
46158
5
#line 15396 "gram.y"
46159
5
    { (yyval.str) = "month"; }
46160
5
#line 46161 "gram.c"
46161
5
    break;
46162
46163
5
  case 2237:
46164
5
#line 15397 "gram.y"
46165
5
    { (yyval.str) = "day"; }
46166
5
#line 46167 "gram.c"
46167
5
    break;
46168
46169
35
  case 2238:
46170
35
#line 15398 "gram.y"
46171
35
    { (yyval.str) = "hour"; }
46172
35
#line 46173 "gram.c"
46173
35
    break;
46174
46175
5
  case 2239:
46176
5
#line 15399 "gram.y"
46177
5
    { (yyval.str) = "minute"; }
46178
5
#line 46179 "gram.c"
46179
5
    break;
46180
46181
5
  case 2240:
46182
5
#line 15400 "gram.y"
46183
5
    { (yyval.str) = "second"; }
46184
5
#line 46185 "gram.c"
46185
5
    break;
46186
46187
0
  case 2241:
46188
0
#line 15401 "gram.y"
46189
0
    { (yyval.str) = (yyvsp[0].str); }
46190
0
#line 46191 "gram.c"
46191
0
    break;
46192
46193
5
  case 2242:
46194
5
#line 15412 "gram.y"
46195
5
    {
46196
5
          (yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
46197
5
        }
46198
5
#line 46199 "gram.c"
46199
5
    break;
46200
46201
15
  case 2243:
46202
15
#line 15416 "gram.y"
46203
15
    {
46204
15
          (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
46205
15
        }
46206
15
#line 46207 "gram.c"
46207
15
    break;
46208
46209
20
  case 2244:
46210
20
#line 15423 "gram.y"
46211
20
    { (yyval.node) = (yyvsp[0].node); }
46212
20
#line 46213 "gram.c"
46213
20
    break;
46214
46215
216
  case 2245:
46216
216
#line 15429 "gram.y"
46217
216
    { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
46218
216
#line 46219 "gram.c"
46219
216
    break;
46220
46221
0
  case 2246:
46222
0
#line 15430 "gram.y"
46223
0
    { (yyval.list) = NIL; }
46224
0
#line 46225 "gram.c"
46225
0
    break;
46226
46227
27
  case 2247:
46228
27
#line 15447 "gram.y"
46229
27
    {
46230
27
          (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
46231
27
        }
46232
27
#line 46233 "gram.c"
46233
27
    break;
46234
46235
0
  case 2248:
46236
0
#line 15451 "gram.y"
46237
0
    {
46238
          /* not legal per SQL99, but might as well allow it */
46239
0
          (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
46240
0
        }
46241
0
#line 46242 "gram.c"
46242
0
    break;
46243
46244
1.33k
  case 2249:
46245
1.33k
#line 15456 "gram.y"
46246
1.33k
    {
46247
1.33k
          (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
46248
1.33k
        }
46249
1.33k
#line 46250 "gram.c"
46250
1.33k
    break;
46251
46252
860
  case 2250:
46253
860
#line 15460 "gram.y"
46254
860
    {
46255
          /*
46256
           * Since there are no cases where this syntax allows
46257
           * a textual FOR value, we forcibly cast the argument
46258
           * to int4.  The possible matches in pg_proc are
46259
           * substring(text,int4) and substring(text,text),
46260
           * and we don't want the parser to choose the latter,
46261
           * which it is likely to do if the second argument
46262
           * is unknown or doesn't have an implicit cast to int4.
46263
           */
46264
860
          (yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
46265
860
                  makeTypeCast((yyvsp[0].node),
46266
860
                         SystemTypeName("int4"), -1));
46267
860
        }
46268
860
#line 46269 "gram.c"
46269
860
    break;
46270
46271
4
  case 2251:
46272
4
#line 15475 "gram.y"
46273
4
    {
46274
4
          (yyval.list) = (yyvsp[0].list);
46275
4
        }
46276
4
#line 46277 "gram.c"
46277
4
    break;
46278
46279
0
  case 2252:
46280
0
#line 15479 "gram.y"
46281
0
    { (yyval.list) = NIL; }
46282
0
#line 46283 "gram.c"
46283
0
    break;
46284
46285
1.38k
  case 2253:
46286
1.38k
#line 15483 "gram.y"
46287
1.38k
    { (yyval.node) = (yyvsp[0].node); }
46288
1.38k
#line 46289 "gram.c"
46289
1.38k
    break;
46290
46291
892
  case 2254:
46292
892
#line 15486 "gram.y"
46293
892
    { (yyval.node) = (yyvsp[0].node); }
46294
892
#line 46295 "gram.c"
46295
892
    break;
46296
46297
56
  case 2255:
46298
56
#line 15489 "gram.y"
46299
56
    { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
46300
56
#line 46301 "gram.c"
46301
56
    break;
46302
46303
0
  case 2256:
46304
0
#line 15490 "gram.y"
46305
0
    { (yyval.list) = (yyvsp[0].list); }
46306
0
#line 46307 "gram.c"
46307
0
    break;
46308
46309
17
  case 2257:
46310
17
#line 15491 "gram.y"
46311
17
    { (yyval.list) = (yyvsp[0].list); }
46312
17
#line 46313 "gram.c"
46313
17
    break;
46314
46315
291
  case 2258:
46316
291
#line 15495 "gram.y"
46317
291
    {
46318
291
          SubLink *n = makeNode(SubLink);
46319
0
          n->subselect = (yyvsp[0].node);
46320
          /* other fields will be filled later */
46321
291
          (yyval.node) = (Node *)n;
46322
291
        }
46323
0
#line 46324 "gram.c"
46324
0
    break;
46325
46326
276k
  case 2259:
46327
276k
#line 15501 "gram.y"
46328
276k
    { (yyval.node) = (Node *)(yyvsp[-1].list); }
46329
276k
#line 46330 "gram.c"
46330
276k
    break;
46331
46332
8.05k
  case 2260:
46333
8.05k
#line 15512 "gram.y"
46334
8.05k
    {
46335
8.05k
          CaseExpr *c = makeNode(CaseExpr);
46336
8.05k
          c->casetype = InvalidOid; /* not analyzed yet */
46337
8.05k
          c->arg = (Expr *) (yyvsp[-3].node);
46338
8.05k
          c->args = (yyvsp[-2].list);
46339
8.05k
          c->defresult = (Expr *) (yyvsp[-1].node);
46340
8.05k
          c->location = (yylsp[-4]);
46341
8.05k
          (yyval.node) = (Node *)c;
46342
8.05k
        }
46343
0
#line 46344 "gram.c"
46344
0
    break;
46345
46346
8.05k
  case 2261:
46347
8.05k
#line 15525 "gram.y"
46348
8.05k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
46349
8.05k
#line 46350 "gram.c"
46350
8.05k
    break;
46351
46352
6.34k
  case 2262:
46353
6.34k
#line 15526 "gram.y"
46354
6.34k
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46355
6.34k
#line 46356 "gram.c"
46356
6.34k
    break;
46357
46358
14.3k
  case 2263:
46359
14.3k
#line 15531 "gram.y"
46360
14.3k
    {
46361
14.3k
          CaseWhen *w = makeNode(CaseWhen);
46362
0
          w->expr = (Expr *) (yyvsp[-2].node);
46363
14.3k
          w->result = (Expr *) (yyvsp[0].node);
46364
14.3k
          w->location = (yylsp[-3]);
46365
14.3k
          (yyval.node) = (Node *)w;
46366
14.3k
        }
46367
0
#line 46368 "gram.c"
46368
0
    break;
46369
46370
6.33k
  case 2264:
46371
6.33k
#line 15541 "gram.y"
46372
6.33k
    { (yyval.node) = (yyvsp[0].node); }
46373
6.33k
#line 46374 "gram.c"
46374
6.33k
    break;
46375
46376
1.71k
  case 2265:
46377
1.71k
#line 15542 "gram.y"
46378
1.71k
    { (yyval.node) = NULL; }
46379
1.71k
#line 46380 "gram.c"
46380
1.71k
    break;
46381
46382
1.13k
  case 2266:
46383
1.13k
#line 15545 "gram.y"
46384
1.13k
    { (yyval.node) = (yyvsp[0].node); }
46385
1.13k
#line 46386 "gram.c"
46386
1.13k
    break;
46387
46388
6.91k
  case 2267:
46389
6.91k
#line 15546 "gram.y"
46390
6.91k
    { (yyval.node) = NULL; }
46391
6.91k
#line 46392 "gram.c"
46392
6.91k
    break;
46393
46394
1.50M
  case 2268:
46395
1.50M
#line 15550 "gram.y"
46396
1.50M
    {
46397
1.50M
          (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
46398
1.50M
        }
46399
1.50M
#line 46400 "gram.c"
46400
1.50M
    break;
46401
46402
301k
  case 2269:
46403
301k
#line 15554 "gram.y"
46404
301k
    {
46405
301k
          (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
46406
301k
        }
46407
301k
#line 46408 "gram.c"
46408
301k
    break;
46409
46410
394k
  case 2270:
46411
394k
#line 15561 "gram.y"
46412
394k
    {
46413
394k
          (yyval.node) = (Node *) makeString((yyvsp[0].str));
46414
394k
        }
46415
394k
#line 46416 "gram.c"
46416
394k
    break;
46417
46418
2.08k
  case 2271:
46419
2.08k
#line 15565 "gram.y"
46420
2.08k
    {
46421
2.08k
          (yyval.node) = (Node *) makeNode(A_Star);
46422
2.08k
        }
46423
0
#line 46424 "gram.c"
46424
0
    break;
46425
46426
2.07k
  case 2272:
46427
2.07k
#line 15569 "gram.y"
46428
2.07k
    {
46429
2.07k
          A_Indices *ai = makeNode(A_Indices);
46430
0
          ai->is_slice = false;
46431
2.07k
          ai->lidx = NULL;
46432
2.07k
          ai->uidx = (yyvsp[-1].node);
46433
2.07k
          (yyval.node) = (Node *) ai;
46434
2.07k
        }
46435
0
#line 46436 "gram.c"
46436
0
    break;
46437
46438
377
  case 2273:
46439
377
#line 15577 "gram.y"
46440
377
    {
46441
377
          A_Indices *ai = makeNode(A_Indices);
46442
0
          ai->is_slice = true;
46443
377
          ai->lidx = (yyvsp[-3].node);
46444
377
          ai->uidx = (yyvsp[-1].node);
46445
377
          (yyval.node) = (Node *) ai;
46446
377
        }
46447
0
#line 46448 "gram.c"
46448
0
    break;
46449
46450
630
  case 2274:
46451
630
#line 15587 "gram.y"
46452
630
    { (yyval.node) = (yyvsp[0].node); }
46453
630
#line 46454 "gram.c"
46454
630
    break;
46455
46456
124
  case 2275:
46457
124
#line 15588 "gram.y"
46458
124
    { (yyval.node) = NULL; }
46459
124
#line 46460 "gram.c"
46460
124
    break;
46461
46462
396k
  case 2276:
46463
396k
#line 15592 "gram.y"
46464
396k
    { (yyval.list) = list_make1((yyvsp[0].node)); }
46465
396k
#line 46466 "gram.c"
46466
396k
    break;
46467
46468
782
  case 2277:
46469
782
#line 15593 "gram.y"
46470
782
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46471
782
#line 46472 "gram.c"
46472
782
    break;
46473
46474
1.47M
  case 2278:
46475
1.47M
#line 15597 "gram.y"
46476
1.47M
    { (yyval.list) = NIL; }
46477
1.47M
#line 46478 "gram.c"
46478
1.47M
    break;
46479
46480
1.69k
  case 2279:
46481
1.69k
#line 15598 "gram.y"
46482
1.69k
    { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46483
1.69k
#line 46484 "gram.c"
46484
1.69k
    break;
46485
46486
679k
  case 2282:
46487
679k
#line 15612 "gram.y"
46488
679k
    { (yyval.list) = (yyvsp[0].list); }
46489
679k
#line 46490 "gram.c"
46490
679k
    break;
46491
46492
499
  case 2283:
46493
499
#line 15613 "gram.y"
46494
499
    { (yyval.list) = NIL; }
46495
499
#line 46496 "gram.c"
46496
499
    break;
46497
46498
687k
  case 2284:
46499
687k
#line 15617 "gram.y"
46500
687k
    { (yyval.list) = list_make1((yyvsp[0].target)); }
46501
687k
#line 46502 "gram.c"
46502
687k
    break;
46503
46504
460k
  case 2285:
46505
460k
#line 15618 "gram.y"
46506
460k
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
46507
460k
#line 46508 "gram.c"
46508
460k
    break;
46509
46510
60.4k
  case 2286:
46511
60.4k
#line 15622 "gram.y"
46512
60.4k
    {
46513
60.4k
          (yyval.target) = makeNode(ResTarget);
46514
0
          (yyval.target)->name = (yyvsp[0].str);
46515
60.4k
          (yyval.target)->indirection = NIL;
46516
60.4k
          (yyval.target)->val = (Node *)(yyvsp[-2].node);
46517
60.4k
          (yyval.target)->location = (yylsp[-2]);
46518
60.4k
        }
46519
0
#line 46520 "gram.c"
46520
0
    break;
46521
46522
858
  case 2287:
46523
858
#line 15638 "gram.y"
46524
858
    {
46525
858
          (yyval.target) = makeNode(ResTarget);
46526
0
          (yyval.target)->name = (yyvsp[0].str);
46527
858
          (yyval.target)->indirection = NIL;
46528
858
          (yyval.target)->val = (Node *)(yyvsp[-1].node);
46529
858
          (yyval.target)->location = (yylsp[-1]);
46530
858
        }
46531
0
#line 46532 "gram.c"
46532
0
    break;
46533
46534
900k
  case 2288:
46535
900k
#line 15646 "gram.y"
46536
900k
    {
46537
900k
          (yyval.target) = makeNode(ResTarget);
46538
0
          (yyval.target)->name = NULL;
46539
900k
          (yyval.target)->indirection = NIL;
46540
900k
          (yyval.target)->val = (Node *)(yyvsp[0].node);
46541
900k
          (yyval.target)->location = (yylsp[0]);
46542
900k
        }
46543
0
#line 46544 "gram.c"
46544
0
    break;
46545
46546
186k
  case 2289:
46547
186k
#line 15654 "gram.y"
46548
186k
    {
46549
186k
          ColumnRef *n = makeNode(ColumnRef);
46550
186k
          n->fields = list_make1(makeNode(A_Star));
46551
0
          n->location = (yylsp[0]);
46552
46553
186k
          (yyval.target) = makeNode(ResTarget);
46554
0
          (yyval.target)->name = NULL;
46555
186k
          (yyval.target)->indirection = NIL;
46556
186k
          (yyval.target)->val = (Node *)n;
46557
186k
          (yyval.target)->location = (yylsp[0]);
46558
186k
        }
46559
0
#line 46560 "gram.c"
46560
0
    break;
46561
46562
7.55k
  case 2290:
46563
7.55k
#line 15675 "gram.y"
46564
7.55k
    { (yyval.list) = list_make1((yyvsp[0].range)); }
46565
7.55k
#line 46566 "gram.c"
46566
7.55k
    break;
46567
46568
52
  case 2291:
46569
52
#line 15676 "gram.y"
46570
52
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
46571
52
#line 46572 "gram.c"
46572
52
    break;
46573
46574
2.12M
  case 2292:
46575
2.12M
#line 15688 "gram.y"
46576
2.12M
    {
46577
2.12M
          (yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
46578
2.12M
        }
46579
2.12M
#line 46580 "gram.c"
46580
2.12M
    break;
46581
46582
55.6k
  case 2293:
46583
55.6k
#line 15692 "gram.y"
46584
55.6k
    {
46585
55.6k
          check_qualified_name((yyvsp[0].list), yyscanner);
46586
55.6k
          (yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
46587
55.6k
          switch (list_length((yyvsp[0].list)))
46588
55.6k
          {
46589
55.6k
            case 1:
46590
55.6k
              (yyval.range)->catalogname = NULL;
46591
55.6k
              (yyval.range)->schemaname = (yyvsp[-1].str);
46592
55.6k
              (yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
46593
55.6k
              break;
46594
0
            case 2:
46595
0
              (yyval.range)->catalogname = (yyvsp[-1].str);
46596
0
              (yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
46597
0
              (yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
46598
0
              break;
46599
0
            default:
46600
0
              ereport(ERROR,
46601
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
46602
0
                   errmsg("improper qualified name (too many dotted names): %s",
46603
0
                      NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
46604
0
                   parser_errposition((yylsp[-1]))));
46605
0
              break;
46606
55.6k
          }
46607
55.6k
        }
46608
55.6k
#line 46609 "gram.c"
46609
55.6k
    break;
46610
46611
55.6k
  case 2294:
46612
12.2k
#line 15719 "gram.y"
46613
12.2k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
46614
12.2k
#line 46615 "gram.c"
46615
12.2k
    break;
46616
46617
4.20k
  case 2295:
46618
4.20k
#line 15721 "gram.y"
46619
4.20k
    { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
46620
4.20k
#line 46621 "gram.c"
46621
4.20k
    break;
46622
46623
72.9k
  case 2296:
46624
72.9k
#line 15725 "gram.y"
46625
72.9k
    { (yyval.str) = (yyvsp[0].str); }
46626
72.9k
#line 46627 "gram.c"
46627
72.9k
    break;
46628
46629
986
  case 2297:
46630
986
#line 15728 "gram.y"
46631
986
    { (yyval.str) = (yyvsp[0].str); }
46632
986
#line 46633 "gram.c"
46633
986
    break;
46634
46635
1.07k
  case 2298:
46636
1.07k
#line 15731 "gram.y"
46637
1.07k
    { (yyval.str) = (yyvsp[0].str); }
46638
1.07k
#line 46639 "gram.c"
46639
1.07k
    break;
46640
46641
409k
  case 2299:
46642
409k
#line 15733 "gram.y"
46643
409k
    { (yyval.str) = (yyvsp[0].str); }
46644
409k
#line 46645 "gram.c"
46645
409k
    break;
46646
46647
1.97k
  case 2300:
46648
1.97k
#line 15735 "gram.y"
46649
1.97k
    { (yyval.str) = (yyvsp[0].str); }
46650
1.97k
#line 46651 "gram.c"
46651
1.97k
    break;
46652
46653
2
  case 2301:
46654
2
#line 15737 "gram.y"
46655
2
    { (yyval.str) = (yyvsp[0].str); }
46656
2
#line 46657 "gram.c"
46657
2
    break;
46658
46659
164k
  case 2302:
46660
164k
#line 15748 "gram.y"
46661
164k
    { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
46662
164k
#line 46663 "gram.c"
46663
164k
    break;
46664
46665
39.8k
  case 2303:
46666
39.8k
#line 15750 "gram.y"
46667
39.8k
    {
46668
39.8k
            (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
46669
39.8k
                       yyscanner);
46670
39.8k
          }
46671
39.8k
#line 46672 "gram.c"
46672
39.8k
    break;
46673
46674
12.9M
  case 2304:
46675
12.9M
#line 15761 "gram.y"
46676
12.9M
    {
46677
12.9M
          (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
46678
12.9M
        }
46679
12.9M
#line 46680 "gram.c"
46680
12.9M
    break;
46681
46682
23.1k
  case 2305:
46683
23.1k
#line 15765 "gram.y"
46684
23.1k
    {
46685
23.1k
          (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
46686
23.1k
        }
46687
23.1k
#line 46688 "gram.c"
46688
23.1k
    break;
46689
46690
1.22M
  case 2306:
46691
1.22M
#line 15769 "gram.y"
46692
1.22M
    {
46693
1.22M
          (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
46694
1.22M
        }
46695
1.22M
#line 46696 "gram.c"
46696
1.22M
    break;
46697
46698
573
  case 2307:
46699
573
#line 15773 "gram.y"
46700
573
    {
46701
573
          (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
46702
573
        }
46703
573
#line 46704 "gram.c"
46704
573
    break;
46705
46706
119
  case 2308:
46707
119
#line 15777 "gram.y"
46708
119
    {
46709
          /* This is a bit constant per SQL99:
46710
           * Without Feature F511, "BIT data type",
46711
           * a <general literal> shall not be a
46712
           * <bit string literal> or a <hex string literal>.
46713
           */
46714
119
          (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
46715
119
        }
46716
119
#line 46717 "gram.c"
46717
119
    break;
46718
46719
7.72k
  case 2309:
46720
7.72k
#line 15786 "gram.y"
46721
7.72k
    {
46722
          /* generic type 'literal' syntax */
46723
7.72k
          TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
46724
7.72k
          t->location = (yylsp[-1]);
46725
7.72k
          (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46726
7.72k
        }
46727
7.72k
#line 46728 "gram.c"
46728
7.72k
    break;
46729
46730
0
  case 2310:
46731
0
#line 15793 "gram.y"
46732
0
    {
46733
          /* generic syntax with a type modifier */
46734
0
          TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
46735
0
          ListCell *lc;
46736
46737
          /*
46738
           * We must use func_arg_list and opt_sort_clause in the
46739
           * production to avoid reduce/reduce conflicts, but we
46740
           * don't actually wish to allow NamedArgExpr in this
46741
           * context, nor ORDER BY.
46742
           */
46743
0
          foreach(lc, (yyvsp[-3].list))
46744
0
          {
46745
0
            NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
46746
46747
0
            if (IsA(arg, NamedArgExpr))
46748
0
              ereport(ERROR,
46749
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
46750
0
                   errmsg("type modifier cannot have parameter name"),
46751
0
                   parser_errposition(arg->location)));
46752
0
          }
46753
0
          if ((yyvsp[-2].list) != NIL)
46754
0
              ereport(ERROR,
46755
0
                  (errcode(ERRCODE_SYNTAX_ERROR),
46756
0
                   errmsg("type modifier cannot have ORDER BY"),
46757
0
                   parser_errposition((yylsp[-2]))));
46758
46759
0
          t->typmods = (yyvsp[-3].list);
46760
0
          t->location = (yylsp[-5]);
46761
0
          (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46762
0
        }
46763
0
#line 46764 "gram.c"
46764
0
    break;
46765
46766
259
  case 2311:
46767
259
#line 15825 "gram.y"
46768
259
    {
46769
259
          (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
46770
259
        }
46771
259
#line 46772 "gram.c"
46772
259
    break;
46773
46774
727
  case 2312:
46775
727
#line 15829 "gram.y"
46776
727
    {
46777
727
          TypeName *t = (yyvsp[-2].typnam);
46778
727
          t->typmods = (yyvsp[0].list);
46779
727
          (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
46780
727
        }
46781
727
#line 46782 "gram.c"
46782
727
    break;
46783
46784
10
  case 2313:
46785
10
#line 15835 "gram.y"
46786
10
    {
46787
10
          TypeName *t = (yyvsp[-4].typnam);
46788
10
          t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
46789
10
                      makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
46790
10
          (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46791
10
        }
46792
10
#line 46793 "gram.c"
46793
10
    break;
46794
46795
7.15k
  case 2314:
46796
7.15k
#line 15842 "gram.y"
46797
7.15k
    {
46798
7.15k
          (yyval.node) = makeBoolAConst(true, (yylsp[0]));
46799
7.15k
        }
46800
7.15k
#line 46801 "gram.c"
46801
7.15k
    break;
46802
46803
11.1k
  case 2315:
46804
11.1k
#line 15846 "gram.y"
46805
11.1k
    {
46806
11.1k
          (yyval.node) = makeBoolAConst(false, (yylsp[0]));
46807
11.1k
        }
46808
11.1k
#line 46809 "gram.c"
46809
11.1k
    break;
46810
46811
26.1k
  case 2316:
46812
26.1k
#line 15850 "gram.y"
46813
26.1k
    {
46814
26.1k
          (yyval.node) = makeNullAConst((yylsp[0]));
46815
26.1k
        }
46816
26.1k
#line 46817 "gram.c"
46817
26.1k
    break;
46818
46819
12.9M
  case 2317:
46820
12.9M
#line 15855 "gram.y"
46821
12.9M
    { (yyval.ival) = (yyvsp[0].ival); }
46822
12.9M
#line 46823 "gram.c"
46823
12.9M
    break;
46824
46825
1.26M
  case 2318:
46826
1.26M
#line 15856 "gram.y"
46827
1.26M
    { (yyval.str) = (yyvsp[0].str); }
46828
1.26M
#line 46829 "gram.c"
46829
1.26M
    break;
46830
46831
40.8k
  case 2319:
46832
40.8k
#line 15858 "gram.y"
46833
40.8k
    { (yyval.ival) = (yyvsp[0].ival); }
46834
40.8k
#line 46835 "gram.c"
46835
40.8k
    break;
46836
46837
0
  case 2320:
46838
0
#line 15859 "gram.y"
46839
0
    { (yyval.ival) = + (yyvsp[0].ival); }
46840
0
#line 46841 "gram.c"
46841
0
    break;
46842
46843
135
  case 2321:
46844
135
#line 15860 "gram.y"
46845
135
    { (yyval.ival) = - (yyvsp[0].ival); }
46846
135
#line 46847 "gram.c"
46847
135
    break;
46848
46849
9.08k
  case 2322:
46850
9.08k
#line 15867 "gram.y"
46851
9.08k
    { (yyval.ival) = (yyvsp[0].ival); }
46852
9.08k
#line 46853 "gram.c"
46853
9.08k
    break;
46854
46855
3.90k
  case 2323:
46856
3.90k
#line 15871 "gram.y"
46857
3.90k
    {
46858
3.90k
          RoleSpec *spc = (RoleSpec *) (yyvsp[0].rolespec);
46859
3.90k
          switch (spc->roletype)
46860
3.90k
          {
46861
3.89k
            case ROLESPEC_CSTRING:
46862
3.89k
              (yyval.str) = spc->rolename;
46863
3.89k
              break;
46864
4
            case ROLESPEC_PUBLIC:
46865
4
              ereport(ERROR,
46866
4
                  (errcode(ERRCODE_RESERVED_NAME),
46867
4
                   errmsg("role name \"%s\" is reserved",
46868
4
                      "public"),
46869
4
                   parser_errposition((yylsp[0]))));
46870
4
              break;
46871
4
            case ROLESPEC_SESSION_USER:
46872
2
              ereport(ERROR,
46873
2
                  (errcode(ERRCODE_RESERVED_NAME),
46874
2
                   errmsg("%s cannot be used as a role name here",
46875
2
                      "SESSION_USER"),
46876
2
                   parser_errposition((yylsp[0]))));
46877
2
              break;
46878
2
            case ROLESPEC_CURRENT_USER:
46879
2
              ereport(ERROR,
46880
2
                  (errcode(ERRCODE_RESERVED_NAME),
46881
2
                   errmsg("%s cannot be used as a role name here",
46882
2
                      "CURRENT_USER"),
46883
2
                   parser_errposition((yylsp[0]))));
46884
2
              break;
46885
3.90k
          }
46886
3.90k
        }
46887
3.89k
#line 46888 "gram.c"
46888
3.89k
    break;
46889
46890
24.8k
  case 2324:
46891
24.8k
#line 15904 "gram.y"
46892
24.8k
    {
46893
            /*
46894
             * "public" and "none" are not keywords, but they must
46895
             * be treated specially here.
46896
             */
46897
24.8k
            RoleSpec *n;
46898
24.8k
            if (strcmp((yyvsp[0].str), "public") == 0)
46899
2.15k
            {
46900
2.15k
              n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
46901
2.15k
              n->roletype = ROLESPEC_PUBLIC;
46902
2.15k
            }
46903
22.6k
            else if (strcmp((yyvsp[0].str), "none") == 0)
46904
26
            {
46905
26
              ereport(ERROR,
46906
26
                  (errcode(ERRCODE_RESERVED_NAME),
46907
26
                   errmsg("role name \"%s\" is reserved",
46908
26
                      "none"),
46909
26
                   parser_errposition((yylsp[0]))));
46910
26
            }
46911
22.6k
            else
46912
22.6k
            {
46913
22.6k
              n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
46914
22.6k
              n->rolename = pstrdup((yyvsp[0].str));
46915
22.6k
            }
46916
24.8k
            (yyval.rolespec) = n;
46917
24.8k
          }
46918
0
#line 46919 "gram.c"
46919
0
    break;
46920
46921
198
  case 2325:
46922
198
#line 15931 "gram.y"
46923
198
    {
46924
198
            (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
46925
198
          }
46926
198
#line 46927 "gram.c"
46927
198
    break;
46928
46929
70
  case 2326:
46930
70
#line 15935 "gram.y"
46931
70
    {
46932
70
            (yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
46933
70
          }
46934
70
#line 46935 "gram.c"
46935
70
    break;
46936
46937
15.5k
  case 2327:
46938
15.5k
#line 15941 "gram.y"
46939
15.5k
    { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
46940
15.5k
#line 46941 "gram.c"
46941
15.5k
    break;
46942
46943
168
  case 2328:
46944
168
#line 15943 "gram.y"
46945
168
    { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
46946
168
#line 46947 "gram.c"
46947
168
    break;
46948
46949
5.31M
  case 2329:
46950
5.31M
#line 15959 "gram.y"
46951
5.31M
    { (yyval.str) = (yyvsp[0].str); }
46952
5.31M
#line 46953 "gram.c"
46953
5.31M
    break;
46954
46955
334k
  case 2330:
46956
334k
#line 15960 "gram.y"
46957
334k
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46958
334k
#line 46959 "gram.c"
46959
334k
    break;
46960
46961
260
  case 2331:
46962
260
#line 15961 "gram.y"
46963
260
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46964
260
#line 46965 "gram.c"
46965
260
    break;
46966
46967
257k
  case 2332:
46968
257k
#line 15966 "gram.y"
46969
257k
    { (yyval.str) = (yyvsp[0].str); }
46970
257k
#line 46971 "gram.c"
46971
257k
    break;
46972
46973
28.9k
  case 2333:
46974
28.9k
#line 15967 "gram.y"
46975
28.9k
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46976
28.9k
#line 46977 "gram.c"
46977
28.9k
    break;
46978
46979
20
  case 2334:
46980
20
#line 15968 "gram.y"
46981
20
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46982
20
#line 46983 "gram.c"
46983
20
    break;
46984
46985
46.2k
  case 2335:
46986
46.2k
#line 15973 "gram.y"
46987
46.2k
    { (yyval.str) = (yyvsp[0].str); }
46988
46.2k
#line 46989 "gram.c"
46989
46.2k
    break;
46990
46991
7.77k
  case 2336:
46992
7.77k
#line 15974 "gram.y"
46993
7.77k
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46994
7.77k
#line 46995 "gram.c"
46995
7.77k
    break;
46996
46997
24
  case 2337:
46998
24
#line 15975 "gram.y"
46999
24
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47000
24
#line 47001 "gram.c"
47001
24
    break;
47002
47003
726
  case 2338:
47004
726
#line 15976 "gram.y"
47005
726
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47006
726
#line 47007 "gram.c"
47007
726
    break;
47008
47009
467k
  case 2339:
47010
467k
#line 15982 "gram.y"
47011
467k
    { (yyval.str) = (yyvsp[0].str); }
47012
467k
#line 47013 "gram.c"
47013
467k
    break;
47014
47015
10.7k
  case 2340:
47016
10.7k
#line 15983 "gram.y"
47017
10.7k
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47018
10.7k
#line 47019 "gram.c"
47019
10.7k
    break;
47020
47021
45
  case 2341:
47022
45
#line 15984 "gram.y"
47023
45
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47024
45
#line 47025 "gram.c"
47025
45
    break;
47026
47027
465
  case 2342:
47028
465
#line 15985 "gram.y"
47029
465
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47030
465
#line 47031 "gram.c"
47031
465
    break;
47032
47033
634
  case 2343:
47034
634
#line 15986 "gram.y"
47035
634
    { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
47036
634
#line 47037 "gram.c"
47037
634
    break;
47038
47039
47040
0
#line 47041 "gram.c"
47041
47042
5.21M
      default: break;
47043
135M
    }
47044
  /* User semantic actions sometimes alter yychar, and that requires
47045
     that yytoken be updated with the new translation.  We take the
47046
     approach of translating immediately before every use of yytoken.
47047
     One alternative is translating here after every semantic action,
47048
     but that translation would be missed if the semantic action invokes
47049
     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
47050
     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
47051
     incorrect destructor might then be invoked immediately.  In the
47052
     case of YYERROR or YYBACKUP, subsequent parser actions might lead
47053
     to an incorrect destructor call or verbose syntax error message
47054
     before the lookahead is translated.  */
47055
135M
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
47056
47057
135M
  YYPOPSTACK (yylen);
47058
135M
  yylen = 0;
47059
135M
  YY_STACK_PRINT (yyss, yyssp);
47060
47061
135M
  *++yyvsp = yyval;
47062
135M
  *++yylsp = yyloc;
47063
47064
  /* Now 'shift' the result of the reduction.  Determine what state
47065
     that goes to, based on the state we popped back to and the rule
47066
     number reduced by.  */
47067
135M
  {
47068
135M
    const int yylhs = yyr1[yyn] - YYNTOKENS;
47069
135M
    const int yyi = yypgoto[yylhs] + *yyssp;
47070
135M
    yystate = (0 <= yyi && 
yyi <= 99.0M
YYLAST99.0M
&&
yycheck[yyi] == *yyssp99.0M
47071
135M
               ? 
yytable[yyi]53.6M
47072
135M
               : 
yydefgoto[yylhs]81.9M
);
47073
135M
  }
47074
47075
135M
  goto yynewstate;
47076
47077
47078
/*--------------------------------------.
47079
| yyerrlab -- here on detecting error.  |
47080
`--------------------------------------*/
47081
209
yyerrlab:
47082
  /* Make sure we have latest lookahead translation.  See comments at
47083
     user semantic actions for why this is necessary.  */
47084
209
  yytoken = yychar == YYEMPTY ? 
YYEMPTY0
: YYTRANSLATE (yychar);
47085
47086
  /* If not already recovering from an error, report this error.  */
47087
209
  if (!yyerrstatus)
47088
209
    {
47089
209
      ++yynerrs;
47090
209
#if ! YYERROR_VERBOSE
47091
209
      yyerror (&yylloc, yyscanner, YY_("syntax error"));
47092
#else
47093
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
47094
                                        yyssp, yytoken)
47095
      {
47096
        char const *yymsgp = YY_("syntax error");
47097
        int yysyntax_error_status;
47098
        yysyntax_error_status = YYSYNTAX_ERROR;
47099
        if (yysyntax_error_status == 0)
47100
          yymsgp = yymsg;
47101
        else if (yysyntax_error_status == 1)
47102
          {
47103
            if (yymsg != yymsgbuf)
47104
              YYSTACK_FREE (yymsg);
47105
            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
47106
            if (!yymsg)
47107
              {
47108
                yymsg = yymsgbuf;
47109
                yymsg_alloc = sizeof yymsgbuf;
47110
                yysyntax_error_status = 2;
47111
              }
47112
            else
47113
              {
47114
                yysyntax_error_status = YYSYNTAX_ERROR;
47115
                yymsgp = yymsg;
47116
              }
47117
          }
47118
        yyerror (&yylloc, yyscanner, yymsgp);
47119
        if (yysyntax_error_status == 2)
47120
          goto yyexhaustedlab;
47121
      }
47122
# undef YYSYNTAX_ERROR
47123
#endif
47124
209
    }
47125
47126
209
  yyerror_range[1] = yylloc;
47127
47128
209
  if (yyerrstatus == 3)
47129
0
    {
47130
      /* If just tried and failed to reuse lookahead token after an
47131
         error, discard it.  */
47132
47133
0
      if (yychar <= YYEOF)
47134
0
        {
47135
          /* Return failure if at end of input.  */
47136
0
          if (yychar == YYEOF)
47137
0
            YYABORT;
47138
0
        }
47139
0
      else
47140
0
        {
47141
0
          yydestruct ("Error: discarding",
47142
0
                      yytoken, &yylval, &yylloc, yyscanner);
47143
0
          yychar = YYEMPTY;
47144
0
        }
47145
0
    }
47146
47147
  /* Else will try to reuse lookahead token after shifting the error
47148
     token.  */
47149
209
  goto yyerrlab1;
47150
47151
47152
/*---------------------------------------------------.
47153
| yyerrorlab -- error raised explicitly by YYERROR.  |
47154
`---------------------------------------------------*/
47155
209
yyerrorlab:
47156
  /* Pacify compilers when the user code never invokes YYERROR and the
47157
     label yyerrorlab therefore never appears in user code.  */
47158
0
  if (0)
47159
0
    YYERROR;
47160
47161
  /* Do not reclaim the symbols of the rule whose action triggered
47162
     this YYERROR.  */
47163
0
  YYPOPSTACK (yylen);
47164
0
  yylen = 0;
47165
0
  YY_STACK_PRINT (yyss, yyssp);
47166
0
  yystate = *yyssp;
47167
0
  goto yyerrlab1;
47168
47169
47170
/*-------------------------------------------------------------.
47171
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
47172
`-------------------------------------------------------------*/
47173
0
yyerrlab1:
47174
0
  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
47175
47176
0
  for (;;)
47177
0
    {
47178
0
      yyn = yypact[yystate];
47179
0
      if (!yypact_value_is_default (yyn))
47180
0
        {
47181
0
          yyn += YYTERROR;
47182
0
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
47183
0
            {
47184
0
              yyn = yytable[yyn];
47185
0
              if (0 < yyn)
47186
0
                break;
47187
0
            }
47188
0
        }
47189
47190
      /* Pop the current state because it cannot handle the error token.  */
47191
0
      if (yyssp == yyss)
47192
0
        YYABORT;
47193
47194
0
      yyerror_range[1] = *yylsp;
47195
0
      yydestruct ("Error: popping",
47196
0
                  yystos[yystate], yyvsp, yylsp, yyscanner);
47197
0
      YYPOPSTACK (1);
47198
0
      yystate = *yyssp;
47199
0
      YY_STACK_PRINT (yyss, yyssp);
47200
0
    }
47201
47202
0
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
47203
0
  *++yyvsp = yylval;
47204
0
  YY_IGNORE_MAYBE_UNINITIALIZED_END
47205
47206
0
  yyerror_range[2] = yylloc;
47207
  /* Using YYLLOC is tempting, but would change the location of
47208
     the lookahead.  YYLOC is available though.  */
47209
0
  YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
47210
0
  *++yylsp = yyloc;
47211
47212
  /* Shift the error token.  */
47213
0
  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
47214
47215
0
  yystate = yyn;
47216
0
  goto yynewstate;
47217
47218
47219
/*-------------------------------------.
47220
| yyacceptlab -- YYACCEPT comes here.  |
47221
`-------------------------------------*/
47222
2.72M
yyacceptlab:
47223
2.72M
  yyresult = 0;
47224
2.72M
  goto yyreturn;
47225
47226
47227
/*-----------------------------------.
47228
| yyabortlab -- YYABORT comes here.  |
47229
`-----------------------------------*/
47230
0
yyabortlab:
47231
0
  yyresult = 1;
47232
0
  goto yyreturn;
47233
47234
47235
0
#if !defined yyoverflow || YYERROR_VERBOSE
47236
/*-------------------------------------------------.
47237
| yyexhaustedlab -- memory exhaustion comes here.  |
47238
`-------------------------------------------------*/
47239
0
yyexhaustedlab:
47240
0
  yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
47241
0
  yyresult = 2;
47242
  /* Fall through.  */
47243
0
#endif
47244
47245
47246
/*-----------------------------------------------------.
47247
| yyreturn -- parsing is finished, return the result.  |
47248
`-----------------------------------------------------*/
47249
2.72M
yyreturn:
47250
2.72M
  if (yychar != YYEMPTY)
47251
0
    {
47252
      /* Make sure we have latest lookahead translation.  See comments at
47253
         user semantic actions for why this is necessary.  */
47254
0
      yytoken = YYTRANSLATE (yychar);
47255
0
      yydestruct ("Cleanup: discarding lookahead",
47256
0
                  yytoken, &yylval, &yylloc, yyscanner);
47257
0
    }
47258
  /* Do not reclaim the symbols of the rule whose action triggered
47259
     this YYABORT or YYACCEPT.  */
47260
2.72M
  YYPOPSTACK (yylen);
47261
2.72M
  YY_STACK_PRINT (yyss, yyssp);
47262
8.17M
  while (yyssp != yyss)
47263
5.44M
    {
47264
5.44M
      yydestruct ("Cleanup: popping",
47265
5.44M
                  yystos[*yyssp], yyvsp, yylsp, yyscanner);
47266
5.44M
      YYPOPSTACK (1);
47267
5.44M
    }
47268
2.72M
#ifndef yyoverflow
47269
2.72M
  if (yyss != yyssa)
47270
0
    YYSTACK_FREE (yyss);
47271
2.72M
#endif
47272
#if YYERROR_VERBOSE
47273
  if (yymsg != yymsgbuf)
47274
    YYSTACK_FREE (yymsg);
47275
#endif
47276
2.72M
  return yyresult;
47277
0
}
47278
#line 16491 "gram.y"
47279
47280
47281
/*
47282
 * The signature of this function is required by bison.  However, we
47283
 * ignore the passed yylloc and instead use the last token position
47284
 * available from the scanner.
47285
 */
47286
static void
47287
base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
47288
209
{
47289
209
  parser_yyerror(msg);
47290
209
}
47291
47292
static RawStmt *
47293
makeRawStmt(Node *stmt, int stmt_location)
47294
2.73M
{
47295
2.73M
  RawStmt    *rs = makeNode(RawStmt);
47296
47297
0
  rs->stmt = stmt;
47298
2.73M
  rs->stmt_location = stmt_location;
47299
2.73M
  rs->stmt_len = 0;     /* might get changed later */
47300
2.73M
  return rs;
47301
2.73M
}
47302
47303
/* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
47304
static void
47305
updateRawStmtEnd(RawStmt *rs, int end_location)
47306
164k
{
47307
  /*
47308
   * If we already set the length, don't change it.  This is for situations
47309
   * like "select foo ;; select bar" where the same statement will be last
47310
   * in the string for more than one semicolon.
47311
   */
47312
164k
  if (rs->stmt_len > 0)
47313
12
    return;
47314
47315
  /* OK, update length of RawStmt */
47316
164k
  rs->stmt_len = end_location - rs->stmt_location;
47317
164k
}
47318
47319
static Node *
47320
makeColumnRef(char *colname, List *indirection,
47321
        int location, core_yyscan_t yyscanner)
47322
1.80M
{
47323
  /*
47324
   * Generate a ColumnRef node, with an A_Indirection node added if there
47325
   * is any subscripting in the specified indirection list.  However,
47326
   * any field selection at the start of the indirection list must be
47327
   * transposed into the "fields" part of the ColumnRef node.
47328
   */
47329
1.80M
  ColumnRef  *c = makeNode(ColumnRef);
47330
0
  int   nfields = 0;
47331
1.80M
  ListCell *l;
47332
47333
1.80M
  c->location = location;
47334
1.80M
  foreach(l, indirection)
47335
301k
  {
47336
301k
    if (IsA(lfirst(l), A_Indices))
47337
1.20k
    {
47338
1.20k
      A_Indirection *i = makeNode(A_Indirection);
47339
47340
1.20k
      if (nfields == 0)
47341
608
      {
47342
        /* easy case - all indirection goes to A_Indirection */
47343
608
        c->fields = list_make1(makeString(colname));
47344
608
        i->indirection = check_indirection(indirection, yyscanner);
47345
608
      }
47346
600
      else
47347
600
      {
47348
        /* got to split the list in two */
47349
600
        i->indirection = check_indirection(list_copy_tail(indirection,
47350
600
                                  nfields),
47351
600
                           yyscanner);
47352
600
        indirection = list_truncate(indirection, nfields);
47353
600
        c->fields = lcons(makeString(colname), indirection);
47354
600
      }
47355
1.20k
      i->arg = (Node *) c;
47356
1.20k
      return (Node *) i;
47357
1.20k
    }
47358
300k
    else if (IsA(lfirst(l), A_Star))
47359
2.00k
    {
47360
      /* We only allow '*' at the end of a ColumnRef */
47361
2.00k
      if (lnext(l) != NULL)
47362
0
        parser_yyerror("improper use of \"*\"");
47363
2.00k
    }
47364
300k
    nfields++;
47365
300k
  }
47366
  /* No subscripting, so all indirection gets added to field list */
47367
1.80M
  c->fields = lcons(makeString(colname), indirection);
47368
1.80M
  return (Node *) c;
47369
1.80M
}
47370
47371
static Node *
47372
makeTypeCast(Node *arg, TypeName *typename, int location)
47373
105k
{
47374
105k
  TypeCast *n = makeNode(TypeCast);
47375
0
  n->arg = arg;
47376
105k
  n->typeName = typename;
47377
105k
  n->location = location;
47378
105k
  return (Node *) n;
47379
105k
}
47380
47381
static Node *
47382
makeStringConst(char *str, int location)
47383
1.31M
{
47384
1.31M
  A_Const *n = makeNode(A_Const);
47385
47386
0
  n->val.type = T_String;
47387
1.31M
  n->val.val.str = str;
47388
1.31M
  n->location = location;
47389
47390
1.31M
  return (Node *)n;
47391
1.31M
}
47392
47393
static Node *
47394
makeStringConstCast(char *str, int location, TypeName *typename)
47395
8.71k
{
47396
8.71k
  Node *s = makeStringConst(str, location);
47397
47398
8.71k
  return makeTypeCast(s, typename, -1);
47399
8.71k
}
47400
47401
static Node *
47402
makeIntConst(int val, int location)
47403
12.9M
{
47404
12.9M
  A_Const *n = makeNode(A_Const);
47405
47406
0
  n->val.type = T_Integer;
47407
12.9M
  n->val.val.ival = val;
47408
12.9M
  n->location = location;
47409
47410
12.9M
  return (Node *)n;
47411
12.9M
}
47412
47413
static Node *
47414
makeFloatConst(char *str, int location)
47415
32.3k
{
47416
32.3k
  A_Const *n = makeNode(A_Const);
47417
47418
0
  n->val.type = T_Float;
47419
32.3k
  n->val.val.str = str;
47420
32.3k
  n->location = location;
47421
47422
32.3k
  return (Node *)n;
47423
32.3k
}
47424
47425
static Node *
47426
makeBitStringConst(char *str, int location)
47427
692
{
47428
692
  A_Const *n = makeNode(A_Const);
47429
47430
0
  n->val.type = T_BitString;
47431
692
  n->val.val.str = str;
47432
692
  n->location = location;
47433
47434
692
  return (Node *)n;
47435
692
}
47436
47437
static Node *
47438
makeNullAConst(int location)
47439
26.2k
{
47440
26.2k
  A_Const *n = makeNode(A_Const);
47441
47442
0
  n->val.type = T_Null;
47443
26.2k
  n->location = location;
47444
47445
26.2k
  return (Node *)n;
47446
26.2k
}
47447
47448
static Node *
47449
makeAConst(Value *v, int location)
47450
16.8k
{
47451
16.8k
  Node *n;
47452
47453
16.8k
  switch (v->type)
47454
16.8k
  {
47455
180
    case T_Float:
47456
180
      n = makeFloatConst(v->val.str, location);
47457
180
      break;
47458
47459
16.6k
    case T_Integer:
47460
16.6k
      n = makeIntConst(v->val.ival, location);
47461
16.6k
      break;
47462
47463
0
    case T_String:
47464
0
    default:
47465
0
      n = makeStringConst(v->val.str, location);
47466
0
      break;
47467
16.8k
  }
47468
47469
16.8k
  return n;
47470
16.8k
}
47471
47472
/* makeBoolAConst()
47473
 * Create an A_Const string node and put it inside a boolean cast.
47474
 */
47475
static Node *
47476
makeBoolAConst(bool state, int location)
47477
18.2k
{
47478
18.2k
  A_Const *n = makeNode(A_Const);
47479
47480
0
  n->val.type = T_String;
47481
18.2k
  n->val.val.str = (state ? 
"t"7.15k
:
"f"11.1k
);
47482
18.2k
  n->location = location;
47483
47484
18.2k
  return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
47485
18.2k
}
47486
47487
/* makeRoleSpec
47488
 * Create a RoleSpec with the given type
47489
 */
47490
static RoleSpec *
47491
makeRoleSpec(RoleSpecType type, int location)
47492
25.4k
{
47493
25.4k
  RoleSpec *spec = makeNode(RoleSpec);
47494
47495
0
  spec->roletype = type;
47496
25.4k
  spec->location = location;
47497
47498
25.4k
  return spec;
47499
25.4k
}
47500
47501
/* check_qualified_name --- check the result of qualified_name production
47502
 *
47503
 * It's easiest to let the grammar production for qualified_name allow
47504
 * subscripts and '*', which we then must reject here.
47505
 */
47506
static void
47507
check_qualified_name(List *names, core_yyscan_t yyscanner)
47508
55.6k
{
47509
55.6k
  ListCell   *i;
47510
47511
55.6k
  foreach(i, names)
47512
55.6k
  {
47513
55.6k
    if (!IsA(lfirst(i), String))
47514
0
      parser_yyerror("syntax error");
47515
55.6k
  }
47516
55.6k
}
47517
47518
/* check_func_name --- check the result of func_name production
47519
 *
47520
 * It's easiest to let the grammar production for func_name allow subscripts
47521
 * and '*', which we then must reject here.
47522
 */
47523
static List *
47524
check_func_name(List *names, core_yyscan_t yyscanner)
47525
39.8k
{
47526
39.8k
  ListCell   *i;
47527
47528
39.8k
  foreach(i, names)
47529
79.7k
  {
47530
79.7k
    if (!IsA(lfirst(i), String))
47531
0
      parser_yyerror("syntax error");
47532
79.7k
  }
47533
39.8k
  return names;
47534
39.8k
}
47535
47536
/* check_indirection --- check the result of indirection production
47537
 *
47538
 * We only allow '*' at the end of the list, but it's hard to enforce that
47539
 * in the grammar, so do it here.
47540
 */
47541
static List *
47542
check_indirection(List *indirection, core_yyscan_t yyscanner)
47543
1.32M
{
47544
1.32M
  ListCell *l;
47545
47546
1.32M
  foreach(l, indirection)
47547
3.01k
  {
47548
3.01k
    if (IsA(lfirst(l), A_Star))
47549
76
    {
47550
76
      if (lnext(l) != NULL)
47551
0
        parser_yyerror("improper use of \"*\"");
47552
76
    }
47553
3.01k
  }
47554
1.32M
  return indirection;
47555
1.32M
}
47556
47557
/* extractArgTypes()
47558
 * Given a list of FunctionParameter nodes, extract a list of just the
47559
 * argument types (TypeNames) for input parameters only.  This is what
47560
 * is needed to look up an existing function, which is what is wanted by
47561
 * the productions that use this call.
47562
 */
47563
static List *
47564
extractArgTypes(List *parameters)
47565
2.89k
{
47566
2.89k
  List     *result = NIL;
47567
2.89k
  ListCell   *i;
47568
47569
2.89k
  foreach(i, parameters)
47570
2.77k
  {
47571
2.77k
    FunctionParameter *p = (FunctionParameter *) lfirst(i);
47572
47573
2.77k
    if (p->mode != FUNC_PARAM_OUT && 
p->mode != FUNC_PARAM_TABLE2.75k
)
47574
2.75k
      result = lappend(result, p->argType);
47575
2.77k
  }
47576
2.89k
  return result;
47577
2.89k
}
47578
47579
/* extractAggrArgTypes()
47580
 * As above, but work from the output of the aggr_args production.
47581
 */
47582
static List *
47583
extractAggrArgTypes(List *aggrargs)
47584
120
{
47585
120
  Assert(list_length(aggrargs) == 2);
47586
120
  return extractArgTypes((List *) linitial(aggrargs));
47587
120
}
47588
47589
/* makeOrderedSetArgs()
47590
 * Build the result of the aggr_args production (which see the comments for).
47591
 * This handles only the case where both given lists are nonempty, so that
47592
 * we have to deal with multiple VARIADIC arguments.
47593
 */
47594
static List *
47595
makeOrderedSetArgs(List *directargs, List *orderedargs,
47596
           core_yyscan_t yyscanner)
47597
0
{
47598
0
  FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
47599
0
  int     ndirectargs;
47600
47601
  /* No restriction unless last direct arg is VARIADIC */
47602
0
  if (lastd->mode == FUNC_PARAM_VARIADIC)
47603
0
  {
47604
0
    FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
47605
47606
    /*
47607
     * We ignore the names, though the aggr_arg production allows them;
47608
     * it doesn't allow default values, so those need not be checked.
47609
     */
47610
0
    if (list_length(orderedargs) != 1 ||
47611
0
      firsto->mode != FUNC_PARAM_VARIADIC ||
47612
0
      !equal(lastd->argType, firsto->argType))
47613
0
      ereport(ERROR,
47614
0
          (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47615
0
           errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
47616
0
           parser_errposition(exprLocation((Node *) firsto))));
47617
47618
    /* OK, drop the duplicate VARIADIC argument from the internal form */
47619
0
    orderedargs = NIL;
47620
0
  }
47621
47622
  /* don't merge into the next line, as list_concat changes directargs */
47623
0
  ndirectargs = list_length(directargs);
47624
47625
0
  return list_make2(list_concat(directargs, orderedargs),
47626
0
            makeInteger(ndirectargs));
47627
0
}
47628
47629
/* insertSelectOptions()
47630
 * Insert ORDER BY, etc into an already-constructed SelectStmt.
47631
 *
47632
 * This routine is just to avoid duplicating code in SelectStmt productions.
47633
 */
47634
static void
47635
insertSelectOptions(SelectStmt *stmt,
47636
          List *sortClause, List *lockingClause,
47637
          Node *limitOffset, Node *limitCount,
47638
          WithClause *withClause,
47639
          core_yyscan_t yyscanner)
47640
158k
{
47641
158k
  Assert(IsA(stmt, SelectStmt));
47642
47643
  /*
47644
   * Tests here are to reject constructs like
47645
   *  (SELECT foo ORDER BY bar) ORDER BY baz
47646
   */
47647
158k
  if (sortClause)
47648
33.1k
  {
47649
33.1k
    if (stmt->sortClause)
47650
33.1k
      ereport(ERROR,
47651
33.1k
          (errcode(ERRCODE_SYNTAX_ERROR),
47652
33.1k
           errmsg("multiple ORDER BY clauses not allowed"),
47653
33.1k
           parser_errposition(exprLocation((Node *) sortClause))));
47654
33.1k
    stmt->sortClause = sortClause;
47655
33.1k
  }
47656
  /* We can handle multiple locking clauses, though */
47657
158k
  stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
47658
158k
  if (limitOffset)
47659
766
  {
47660
766
    if (stmt->limitOffset)
47661
766
      ereport(ERROR,
47662
766
          (errcode(ERRCODE_SYNTAX_ERROR),
47663
766
           errmsg("multiple OFFSET clauses not allowed"),
47664
766
           parser_errposition(exprLocation(limitOffset))));
47665
766
    stmt->limitOffset = limitOffset;
47666
766
  }
47667
158k
  if (limitCount)
47668
103k
  {
47669
103k
    if (stmt->limitCount)
47670
103k
      ereport(ERROR,
47671
103k
          (errcode(ERRCODE_SYNTAX_ERROR),
47672
103k
           errmsg("multiple LIMIT clauses not allowed"),
47673
103k
           parser_errposition(exprLocation(limitCount))));
47674
103k
    stmt->limitCount = limitCount;
47675
103k
  }
47676
158k
  if (withClause)
47677
6.91k
  {
47678
6.91k
    if (stmt->withClause)
47679
6.91k
      ereport(ERROR,
47680
6.91k
          (errcode(ERRCODE_SYNTAX_ERROR),
47681
6.91k
           errmsg("multiple WITH clauses not allowed"),
47682
6.91k
           parser_errposition(exprLocation((Node *) withClause))));
47683
6.91k
    stmt->withClause = withClause;
47684
6.91k
  }
47685
158k
}
47686
47687
static Node *
47688
makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
47689
10.2k
{
47690
10.2k
  SelectStmt *n = makeNode(SelectStmt);
47691
47692
0
  n->op = op;
47693
10.2k
  n->all = all;
47694
10.2k
  n->larg = (SelectStmt *) larg;
47695
10.2k
  n->rarg = (SelectStmt *) rarg;
47696
10.2k
  return (Node *) n;
47697
10.2k
}
47698
47699
/* SystemFuncName()
47700
 * Build a properly-qualified reference to a built-in function.
47701
 */
47702
List *
47703
SystemFuncName(char *name)
47704
5.21k
{
47705
5.21k
  return list_make2(makeString("pg_catalog"), makeString(name));
47706
5.21k
}
47707
47708
/* SystemTypeName()
47709
 * Build a properly-qualified reference to a built-in type.
47710
 *
47711
 * typmod is defaulted, but may be changed afterwards by caller.
47712
 * Likewise for the location.
47713
 */
47714
TypeName *
47715
SystemTypeName(char *name)
47716
81.4k
{
47717
81.4k
  return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
47718
81.4k
                         makeString(name)));
47719
81.4k
}
47720
47721
/* doNegate()
47722
 * Handle negation of a numeric constant.
47723
 *
47724
 * Formerly, we did this here because the optimizer couldn't cope with
47725
 * indexquals that looked like "var = -4" --- it wants "var = const"
47726
 * and a unary minus operator applied to a constant didn't qualify.
47727
 * As of Postgres 7.0, that problem doesn't exist anymore because there
47728
 * is a constant-subexpression simplifier in the optimizer.  However,
47729
 * there's still a good reason for doing this here, which is that we can
47730
 * postpone committing to a particular internal representation for simple
47731
 * negative constants.  It's better to leave "-123.456" in string form
47732
 * until we know what the desired type is.
47733
 */
47734
static Node *
47735
doNegate(Node *n, int location)
47736
35.5k
{
47737
35.5k
  if (IsA(n, A_Const))
47738
34.7k
  {
47739
34.7k
    A_Const *con = (A_Const *)n;
47740
47741
    /* report the constant's location as that of the '-' sign */
47742
34.7k
    con->location = location;
47743
47744
34.7k
    if (con->val.type == T_Integer)
47745
32.9k
    {
47746
32.9k
      con->val.val.ival = -con->val.val.ival;
47747
32.9k
      return n;
47748
32.9k
    }
47749
1.73k
    if (con->val.type == T_Float)
47750
1.73k
    {
47751
1.73k
      doNegateFloat(&con->val);
47752
1.73k
      return n;
47753
1.73k
    }
47754
1.73k
  }
47755
47756
869
  return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
47757
35.5k
}
47758
47759
static void
47760
doNegateFloat(Value *v)
47761
1.82k
{
47762
1.82k
  char   *oldval = v->val.str;
47763
47764
1.82k
  Assert(IsA(v, Float));
47765
1.82k
  if (*oldval == '+')
47766
0
    oldval++;
47767
1.82k
  if (*oldval == '-')
47768
0
    v->val.str = oldval+1; /* just strip the '-' */
47769
1.82k
  else
47770
1.82k
    v->val.str = psprintf("-%s", oldval);
47771
1.82k
}
47772
47773
static Node *
47774
makeAndExpr(Node *lexpr, Node *rexpr, int location)
47775
118k
{
47776
118k
  Node     *lexp = lexpr;
47777
47778
  /* Look through AEXPR_PAREN nodes so they don't affect flattening */
47779
118k
  while (IsA(lexp, A_Expr) &&
47780
118k
       
((A_Expr *) lexp)->kind == AEXPR_PAREN58.3k
)
47781
0
    lexp = ((A_Expr *) lexp)->lexpr;
47782
  /* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
47783
118k
  if (IsA(lexp, BoolExpr))
47784
58.6k
  {
47785
58.6k
    BoolExpr *blexpr = (BoolExpr *) lexp;
47786
47787
58.6k
    if (blexpr->boolop == AND_EXPR)
47788
58.2k
    {
47789
58.2k
      blexpr->args = lappend(blexpr->args, rexpr);
47790
58.2k
      return (Node *) blexpr;
47791
58.2k
    }
47792
58.6k
  }
47793
60.4k
  return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
47794
118k
}
47795
47796
static Node *
47797
makeOrExpr(Node *lexpr, Node *rexpr, int location)
47798
2.47k
{
47799
2.47k
  Node     *lexp = lexpr;
47800
47801
  /* Look through AEXPR_PAREN nodes so they don't affect flattening */
47802
2.47k
  while (IsA(lexp, A_Expr) &&
47803
2.47k
       
((A_Expr *) lexp)->kind == AEXPR_PAREN989
)
47804
0
    lexp = ((A_Expr *) lexp)->lexpr;
47805
  /* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
47806
2.47k
  if (IsA(lexp, BoolExpr))
47807
486
  {
47808
486
    BoolExpr *blexpr = (BoolExpr *) lexp;
47809
47810
486
    if (blexpr->boolop == OR_EXPR)
47811
362
    {
47812
362
      blexpr->args = lappend(blexpr->args, rexpr);
47813
362
      return (Node *) blexpr;
47814
362
    }
47815
486
  }
47816
2.11k
  return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
47817
2.47k
}
47818
47819
static Node *
47820
makeNotExpr(Node *expr, int location)
47821
7.04k
{
47822
7.04k
  return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
47823
7.04k
}
47824
47825
static Node *
47826
makeAArrayExpr(List *elements, int location)
47827
5.41k
{
47828
5.41k
  A_ArrayExpr *n = makeNode(A_ArrayExpr);
47829
47830
0
  n->elements = elements;
47831
5.41k
  n->location = location;
47832
5.41k
  return (Node *) n;
47833
5.41k
}
47834
47835
static Node *
47836
makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
47837
3.36k
{
47838
3.36k
  SQLValueFunction *svf = makeNode(SQLValueFunction);
47839
47840
0
  svf->op = op;
47841
  /* svf->type will be filled during parse analysis */
47842
3.36k
  svf->typmod = typmod;
47843
3.36k
  svf->location = location;
47844
3.36k
  return (Node *) svf;
47845
3.36k
}
47846
47847
static Node *
47848
makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
47849
      int location)
47850
0
{
47851
0
  XmlExpr   *x = makeNode(XmlExpr);
47852
47853
0
  x->op = op;
47854
0
  x->name = name;
47855
  /*
47856
   * named_args is a list of ResTarget; it'll be split apart into separate
47857
   * expression and name lists in transformXmlExpr().
47858
   */
47859
0
  x->named_args = named_args;
47860
0
  x->arg_names = NIL;
47861
0
  x->args = args;
47862
  /* xmloption, if relevant, must be filled in by caller */
47863
  /* type and typmod will be filled in during parse analysis */
47864
0
  x->type = InvalidOid;     /* marks the node as not analyzed */
47865
0
  x->location = location;
47866
0
  return (Node *) x;
47867
0
}
47868
47869
/*
47870
 * Merge the input and output parameters of a table function.
47871
 */
47872
static List *
47873
mergeTableFuncParameters(List *func_args, List *columns)
47874
36
{
47875
36
  ListCell   *lc;
47876
47877
  /* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
47878
36
  foreach(lc, func_args)
47879
28
  {
47880
28
    FunctionParameter *p = (FunctionParameter *) lfirst(lc);
47881
47882
28
    if (p->mode != FUNC_PARAM_IN && 
p->mode != FUNC_PARAM_VARIADIC0
)
47883
28
      ereport(ERROR,
47884
28
          (errcode(ERRCODE_SYNTAX_ERROR),
47885
28
           errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
47886
28
  }
47887
47888
36
  return list_concat(func_args, columns);
47889
36
}
47890
47891
/*
47892
 * Determine return type of a TABLE function.  A single result column
47893
 * returns setof that column's type; otherwise return setof record.
47894
 */
47895
static TypeName *
47896
TableFuncTypeName(List *columns)
47897
36
{
47898
36
  TypeName *result;
47899
47900
36
  if (list_length(columns) == 1)
47901
8
  {
47902
8
    FunctionParameter *p = (FunctionParameter *) linitial(columns);
47903
47904
8
    result = copyObject(p->argType);
47905
8
  }
47906
28
  else
47907
28
    result = SystemTypeName("record");
47908
47909
36
  result->setof = true;
47910
47911
36
  return result;
47912
36
}
47913
47914
/*
47915
 * Convert a list of (dotted) names to a RangeVar (like
47916
 * makeRangeVarFromNameList, but with position support).  The
47917
 * "AnyName" refers to the any_name production in the grammar.
47918
 */
47919
static RangeVar *
47920
makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
47921
319
{
47922
319
  RangeVar *r = makeNode(RangeVar);
47923
47924
0
  switch (list_length(names))
47925
319
  {
47926
319
    case 1:
47927
319
      r->catalogname = NULL;
47928
319
      r->schemaname = NULL;
47929
319
      r->relname = strVal(linitial(names));
47930
319
      break;
47931
0
    case 2:
47932
0
      r->catalogname = NULL;
47933
0
      r->schemaname = strVal(linitial(names));
47934
0
      r->relname = strVal(lsecond(names));
47935
0
      break;
47936
0
    case 3:
47937
0
      r->catalogname = strVal(linitial(names));
47938
0
      r->schemaname = strVal(lsecond(names));
47939
0
      r->relname = strVal(lthird(names));
47940
0
      break;
47941
0
    default:
47942
0
      ereport(ERROR,
47943
0
          (errcode(ERRCODE_SYNTAX_ERROR),
47944
0
           errmsg("improper qualified name (too many dotted names): %s",
47945
0
              NameListToString(names)),
47946
0
           parser_errposition(position)));
47947
0
      break;
47948
319
  }
47949
47950
319
  r->relpersistence = RELPERSISTENCE_PERMANENT;
47951
319
  r->location = position;
47952
47953
319
  return r;
47954
319
}
47955
47956
/* Separate Constraint nodes from COLLATE clauses in a ColQualList */
47957
static void
47958
SplitColQualList(List *qualList,
47959
         List **constraintList, CollateClause **collClause,
47960
         core_yyscan_t yyscanner)
47961
35.4k
{
47962
35.4k
  ListCell   *cell;
47963
35.4k
  ListCell   *prev;
47964
35.4k
  ListCell   *next;
47965
47966
35.4k
  *collClause = NULL;
47967
35.4k
  prev = NULL;
47968
45.4k
  for (cell = list_head(qualList); cell; 
cell = next10.0k
)
47969
10.0k
  {
47970
10.0k
    Node   *n = (Node *) lfirst(cell);
47971
47972
10.0k
    next = lnext(cell);
47973
10.0k
    if (IsA(n, Constraint))
47974
9.85k
    {
47975
      /* keep it in list */
47976
9.85k
      prev = cell;
47977
9.85k
      continue;
47978
9.85k
    }
47979
175
    if (IsA(n, CollateClause))
47980
175
    {
47981
175
      CollateClause *c = (CollateClause *) n;
47982
47983
175
      if (*collClause)
47984
175
        ereport(ERROR,
47985
175
            (errcode(ERRCODE_SYNTAX_ERROR),
47986
175
             errmsg("multiple COLLATE clauses not allowed"),
47987
175
             parser_errposition(c->location)));
47988
175
      *collClause = c;
47989
175
    }
47990
0
    else
47991
0
      elog(ERROR, "unexpected node type %d", (int) n->type);
47992
    /* remove non-Constraint nodes from qualList */
47993
175
    qualList = list_delete_cell(qualList, cell, prev);
47994
175
  }
47995
35.4k
  *constraintList = qualList;
47996
35.4k
}
47997
47998
/*
47999
 * Process result of ConstraintAttributeSpec, and set appropriate bool flags
48000
 * in the output command node.  Pass NULL for any flags the particular
48001
 * command doesn't support.
48002
 */
48003
static void
48004
processCASbits(int cas_bits, int location, const char *constrType,
48005
         bool *deferrable, bool *initdeferred, bool *not_valid,
48006
         bool *no_inherit, core_yyscan_t yyscanner)
48007
3.44k
{
48008
  /* defaults */
48009
3.44k
  if (deferrable)
48010
3.32k
    *deferrable = false;
48011
3.44k
  if (initdeferred)
48012
3.32k
    *initdeferred = false;
48013
3.44k
  if (not_valid)
48014
446
    *not_valid = false;
48015
48016
3.44k
  if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
48017
24
  {
48018
24
    if (deferrable)
48019
24
      *deferrable = true;
48020
0
    else
48021
24
      ereport(ERROR,
48022
24
          (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48023
           /* translator: %s is CHECK, UNIQUE, or similar */
48024
24
           errmsg("%s constraints cannot be marked DEFERRABLE",
48025
24
              constrType),
48026
24
           parser_errposition(location)));
48027
24
  }
48028
48029
3.44k
  if (cas_bits & CAS_INITIALLY_DEFERRED)
48030
8
  {
48031
8
    if (initdeferred)
48032
8
      *initdeferred = true;
48033
0
    else
48034
8
      ereport(ERROR,
48035
8
          (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48036
           /* translator: %s is CHECK, UNIQUE, or similar */
48037
8
           errmsg("%s constraints cannot be marked DEFERRABLE",
48038
8
              constrType),
48039
8
           parser_errposition(location)));
48040
8
  }
48041
48042
3.44k
  if (cas_bits & CAS_NOT_VALID)
48043
12
  {
48044
12
    if (not_valid)
48045
12
      *not_valid = true;
48046
0
    else
48047
12
      ereport(ERROR,
48048
12
          (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48049
           /* translator: %s is CHECK, UNIQUE, or similar */
48050
12
           errmsg("%s constraints cannot be marked NOT VALID",
48051
12
              constrType),
48052
12
           parser_errposition(location)));
48053
12
  }
48054
48055
3.44k
  if (cas_bits & CAS_NO_INHERIT)
48056
4
  {
48057
4
    if (no_inherit)
48058
4
      *no_inherit = true;
48059
0
    else
48060
4
      ereport(ERROR,
48061
4
          (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48062
           /* translator: %s is CHECK, UNIQUE, or similar */
48063
4
           errmsg("%s constraints cannot be marked NO INHERIT",
48064
4
              constrType),
48065
4
           parser_errposition(location)));
48066
4
  }
48067
3.44k
}
48068
48069
/*----------
48070
 * Recursive view transformation
48071
 *
48072
 * Convert
48073
 *
48074
 *     CREATE RECURSIVE VIEW relname (aliases) AS query
48075
 *
48076
 * to
48077
 *
48078
 *     CREATE VIEW relname (aliases) AS
48079
 *         WITH RECURSIVE relname (aliases) AS (query)
48080
 *         SELECT aliases FROM relname
48081
 *
48082
 * Actually, just the WITH ... part, which is then inserted into the original
48083
 * view definition as the query.
48084
 * ----------
48085
 */
48086
static Node *
48087
makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
48088
0
{
48089
0
  SelectStmt *s = makeNode(SelectStmt);
48090
0
  WithClause *w = makeNode(WithClause);
48091
0
  CommonTableExpr *cte = makeNode(CommonTableExpr);
48092
0
  List     *tl = NIL;
48093
0
  ListCell   *lc;
48094
48095
  /* create common table expression */
48096
0
  cte->ctename = relname;
48097
0
  cte->aliascolnames = aliases;
48098
0
  cte->ctequery = query;
48099
0
  cte->location = -1;
48100
48101
  /* create WITH clause and attach CTE */
48102
0
  w->recursive = true;
48103
0
  w->ctes = list_make1(cte);
48104
0
  w->location = -1;
48105
48106
  /* create target list for the new SELECT from the alias list of the
48107
   * recursive view specification */
48108
0
  foreach (lc, aliases)
48109
0
  {
48110
0
    ResTarget *rt = makeNode(ResTarget);
48111
48112
0
    rt->name = NULL;
48113
0
    rt->indirection = NIL;
48114
0
    rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
48115
0
    rt->location = -1;
48116
48117
0
    tl = lappend(tl, rt);
48118
0
  }
48119
48120
  /* create new SELECT combining WITH clause, target list, and fake FROM
48121
   * clause */
48122
0
  s->withClause = w;
48123
0
  s->targetList = tl;
48124
0
  s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
48125
48126
0
  return (Node *) s;
48127
0
}
48128
48129
/* parser_init()
48130
 * Initialize to parse one query string
48131
 */
48132
void
48133
parser_init(base_yy_extra_type *yyext)
48134
2.72M
{
48135
2.72M
  yyext->parsetree = NIL;   /* in case grammar forgets to set it */
48136
2.72M
}
48137
48138
static void
48139
raise_feature_not_supported_signal(int pos, core_yyscan_t yyscanner, const char *msg, int issue, int signal_level)
48140
520
{
48141
520
  if (issue > 0)
48142
477
  {
48143
477
    ereport(signal_level,
48144
477
        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48145
477
         errmsg("%s", msg),
48146
477
         errhint("See https://github.com/YugaByte/yugabyte-db/issues/%d. "
48147
477
             "Click '+' on the description to raise its priority", issue),
48148
477
         parser_errposition(pos)));
48149
48150
477
  }
48151
43
  else
48152
43
  {
48153
43
    ereport(signal_level,
48154
43
        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48155
43
         errmsg("%s", msg),
48156
43
         errhint("Please report the issue on "
48157
43
             "https://github.com/YugaByte/yugabyte-db/issues"),
48158
43
         parser_errposition(pos)));
48159
43
  }
48160
520
}
48161
48162
static void
48163
raise_feature_not_supported(int pos, core_yyscan_t yyscanner, const char *msg, int issue)
48164
3
{
48165
3
  raise_feature_not_supported_signal(pos, yyscanner, msg, issue, YBUnsupportedFeatureSignalLevel());
48166
3
}
48167
48168
static void
48169
ybc_not_support_signal(int pos, core_yyscan_t yyscanner, const char *msg, int issue, int signal_level)
48170
1.06k
{
48171
1.06k
  static int use_yb_parser = -1;
48172
1.06k
  if (use_yb_parser == -1)
48173
48
  {
48174
48
    use_yb_parser = YBIsUsingYBParser();
48175
48
  }
48176
48177
1.06k
  if (use_yb_parser)
48178
517
  {
48179
517
    raise_feature_not_supported_signal(pos, yyscanner, msg, issue, signal_level);
48180
517
  }
48181
1.06k
}
48182
48183
static void
48184
ybc_not_support(int pos, core_yyscan_t yyscanner, const char *msg, int issue)
48185
1.02k
{
48186
1.02k
  ybc_not_support_signal(pos, yyscanner, msg, issue, YBUnsupportedFeatureSignalLevel());
48187
1.02k
}
48188
48189
static void
48190
ybc_not_support_in_templates(int pos, core_yyscan_t yyscanner, const char *msg)
48191
17.9k
{
48192
17.9k
  static int restricted = -1;
48193
17.9k
  if (restricted == -1)
48194
1.16k
  {
48195
1.16k
    restricted = YBIsUsingYBParser() && 
YBIsPreparingTemplates()1.16k
;
48196
1.16k
  }
48197
48198
17.9k
  if (restricted && 
!IsYsqlUpgrade79
)
48199
3
  {
48200
3
    raise_feature_not_supported(pos, yyscanner, msg, -1);
48201
3
  }
48202
17.9k
}
48203
48204
static bool
48205
beta_features_enabled()
48206
3.20k
{
48207
3.20k
  static int beta_enabled = -1;
48208
3.20k
  if (beta_enabled == -1)
48209
63
  {
48210
63
    beta_enabled = YBCIsEnvVarTrueWithDefault("FLAGS_ysql_beta_features", false);
48211
63
  }
48212
3.20k
  return beta_enabled;
48213
3.20k
}
48214
48215
static void
48216
check_beta_feature(int pos, core_yyscan_t yyscanner, const char *flag, const char *feature)
48217
3.20k
{
48218
3.20k
  if (YBIsUsingYBParser() && !beta_features_enabled() && 
!(60
flag60
&&
YBCIsEnvVarTrue(flag)60
))
48219
12
  {
48220
12
    const char* general_hint =
48221
12
      "Set 'ysql_beta_features' yb-tserver gflag to true to suppress the warning"
48222
12
      " for all beta features.";
48223
48224
12
    ereport(WARNING,
48225
12
        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
48226
12
         errmsg("'%s' is a beta feature!", feature),
48227
12
         flag != NULL ?
48228
12
           errhint("To suppress this warning, set the '%s' yb-tserver gflag to true.\n(%s)",
48229
12
                   (flag + 6), general_hint) :
48230
12
           errhint("%s", general_hint),
48231
12
         parser_errposition(pos)));
48232
12
  }
48233
3.20k
}