1/* A Bison parser, made by GNU Bison 3.0.4. */
2
3/* Bison implementation for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20/* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33/* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
35
36/* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
42
43/* Identify Bison output. */
44#define YYBISON 1
45
46/* Bison version. */
47#define YYBISON_VERSION "3.0.4"
48
49/* Skeleton name. */
50#define YYSKELETON_NAME "yacc.c"
51
52/* Pure parsers. */
53#define YYPURE 1
54
55/* Push parsers. */
56#define YYPUSH 0
57
58/* Pull parsers. */
59#define YYPULL 1
60
61
62/* Substitute the variable and function names. */
63#define yyparse base_yyparse
64#define yylex base_yylex
65#define yyerror base_yyerror
66#define yydebug base_yydebug
67#define yynerrs base_yynerrs
68
69
70/* Copy the first part of user declarations. */
71#line 1 "gram.y" /* yacc.c:339 */
72
73
74/*#define YYDEBUG 1*/
75/*-------------------------------------------------------------------------
76 *
77 * gram.y
78 * POSTGRESQL BISON rules/actions
79 *
80 * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
81 * Portions Copyright (c) 1994, Regents of the University of California
82 *
83 *
84 * IDENTIFICATION
85 * src/backend/parser/gram.y
86 *
87 * HISTORY
88 * AUTHOR DATE MAJOR EVENT
89 * Andrew Yu Sept, 1994 POSTQUEL to SQL conversion
90 * Andrew Yu Oct, 1994 lispy code conversion
91 *
92 * NOTES
93 * CAPITALS are used to represent terminal symbols.
94 * non-capitals are used to represent non-terminals.
95 *
96 * In general, nothing in this file should initiate database accesses
97 * nor depend on changeable state (such as SET variables). If you do
98 * database accesses, your code will fail when we have aborted the
99 * current transaction and are just parsing commands to find the next
100 * ROLLBACK or COMMIT. If you make use of SET variables, then you
101 * will do the wrong thing in multi-query strings like this:
102 * SET constraint_exclusion TO off; SELECT * FROM foo;
103 * because the entire string is parsed by gram.y before the SET gets
104 * executed. Anything that depends on the database or changeable state
105 * should be handled during parse analysis so that it happens at the
106 * right time not the wrong time.
107 *
108 * WARNINGS
109 * If you use a list, make sure the datum is a node so that the printing
110 * routines work.
111 *
112 * Sometimes we assign constants to makeStrings. Make sure we don't free
113 * those.
114 *
115 *-------------------------------------------------------------------------
116 */
117#include "postgres.h"
118
119#include <ctype.h>
120#include <limits.h>
121
122#include "access/tableam.h"
123#include "catalog/index.h"
124#include "catalog/namespace.h"
125#include "catalog/pg_am.h"
126#include "catalog/pg_trigger.h"
127#include "commands/defrem.h"
128#include "commands/trigger.h"
129#include "nodes/makefuncs.h"
130#include "nodes/nodeFuncs.h"
131#include "parser/gramparse.h"
132#include "parser/parser.h"
133#include "parser/parse_expr.h"
134#include "storage/lmgr.h"
135#include "utils/date.h"
136#include "utils/datetime.h"
137#include "utils/numeric.h"
138#include "utils/xml.h"
139
140
141/*
142 * Location tracking support --- simpler than bison's default, since we only
143 * want to track the start position not the end position of each nonterminal.
144 */
145#define YYLLOC_DEFAULT(Current, Rhs, N) \
146 do { \
147 if ((N) > 0) \
148 (Current) = (Rhs)[1]; \
149 else \
150 (Current) = (-1); \
151 } while (0)
152
153/*
154 * The above macro assigns -1 (unknown) as the parse location of any
155 * nonterminal that was reduced from an empty rule, or whose leftmost
156 * component was reduced from an empty rule. This is problematic
157 * for nonterminals defined like
158 * OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
159 * because we'll set -1 as the location during the first reduction and then
160 * copy it during each subsequent reduction, leaving us with -1 for the
161 * location even when the list is not empty. To fix that, do this in the
162 * action for the nonempty rule(s):
163 * if (@$ < 0) @$ = @2;
164 * (Although we have many nonterminals that follow this pattern, we only
165 * bother with fixing @$ like this when the nonterminal's parse location
166 * is actually referenced in some rule.)
167 *
168 * A cleaner answer would be to make YYLLOC_DEFAULT scan all the Rhs
169 * locations until it's found one that's not -1. Then we'd get a correct
170 * location for any nonterminal that isn't entirely empty. But this way
171 * would add overhead to every rule reduction, and so far there's not been
172 * a compelling reason to pay that overhead.
173 */
174
175/*
176 * Bison doesn't allocate anything that needs to live across parser calls,
177 * so we can easily have it use palloc instead of malloc. This prevents
178 * memory leaks if we error out during parsing. Note this only works with
179 * bison >= 2.0. However, in bison 1.875 the default is to use alloca()
180 * if possible, so there's not really much problem anyhow, at least if
181 * you're building with gcc.
182 */
183#define YYMALLOC palloc
184#define YYFREE pfree
185
186/* Private struct for the result of privilege_target production */
187typedef struct PrivTarget
188{
189 GrantTargetType targtype;
190 ObjectType objtype;
191 List *objs;
192} PrivTarget;
193
194/* Private struct for the result of import_qualification production */
195typedef struct ImportQual
196{
197 ImportForeignSchemaType type;
198 List *table_names;
199} ImportQual;
200
201/* ConstraintAttributeSpec yields an integer bitmask of these flags: */
202#define CAS_NOT_DEFERRABLE 0x01
203#define CAS_DEFERRABLE 0x02
204#define CAS_INITIALLY_IMMEDIATE 0x04
205#define CAS_INITIALLY_DEFERRED 0x08
206#define CAS_NOT_VALID 0x10
207#define CAS_NO_INHERIT 0x20
208
209
210#define parser_yyerror(msg) scanner_yyerror(msg, yyscanner)
211#define parser_errposition(pos) scanner_errposition(pos, yyscanner)
212
213static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
214 const char *msg);
215static RawStmt *makeRawStmt(Node *stmt, int stmt_location);
216static void updateRawStmtEnd(RawStmt *rs, int end_location);
217static Node *makeColumnRef(char *colname, List *indirection,
218 int location, core_yyscan_t yyscanner);
219static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
220static Node *makeStringConst(char *str, int location);
221static Node *makeStringConstCast(char *str, int location, TypeName *typename);
222static Node *makeIntConst(int val, int location);
223static Node *makeFloatConst(char *str, int location);
224static Node *makeBitStringConst(char *str, int location);
225static Node *makeNullAConst(int location);
226static Node *makeAConst(Value *v, int location);
227static Node *makeBoolAConst(bool state, int location);
228static RoleSpec *makeRoleSpec(RoleSpecType type, int location);
229static void check_qualified_name(List *names, core_yyscan_t yyscanner);
230static List *check_func_name(List *names, core_yyscan_t yyscanner);
231static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
232static List *extractArgTypes(List *parameters);
233static List *extractAggrArgTypes(List *aggrargs);
234static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
235 core_yyscan_t yyscanner);
236static void insertSelectOptions(SelectStmt *stmt,
237 List *sortClause, List *lockingClause,
238 Node *limitOffset, Node *limitCount,
239 WithClause *withClause,
240 core_yyscan_t yyscanner);
241static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
242static Node *doNegate(Node *n, int location);
243static void doNegateFloat(Value *v);
244static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
245static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
246static Node *makeNotExpr(Node *expr, int location);
247static Node *makeAArrayExpr(List *elements, int location);
248static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
249 int location);
250static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
251 List *args, int location);
252static List *mergeTableFuncParameters(List *func_args, List *columns);
253static TypeName *TableFuncTypeName(List *columns);
254static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
255static void SplitColQualList(List *qualList,
256 List **constraintList, CollateClause **collClause,
257 core_yyscan_t yyscanner);
258static void processCASbits(int cas_bits, int location, const char *constrType,
259 bool *deferrable, bool *initdeferred, bool *not_valid,
260 bool *no_inherit, core_yyscan_t yyscanner);
261static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
262
263
264#line 265 "gram.c" /* yacc.c:339 */
265
266# ifndef YY_NULLPTR
267# if defined __cplusplus && 201103L <= __cplusplus
268# define YY_NULLPTR nullptr
269# else
270# define YY_NULLPTR 0
271# endif
272# endif
273
274/* Enabling verbose error messages. */
275#ifdef YYERROR_VERBOSE
276# undef YYERROR_VERBOSE
277# define YYERROR_VERBOSE 1
278#else
279# define YYERROR_VERBOSE 0
280#endif
281
282/* In a future release of Bison, this section will be replaced
283 by #include "gram.h". */
284#ifndef YY_BASE_YY_GRAM_H_INCLUDED
285# define YY_BASE_YY_GRAM_H_INCLUDED
286/* Debug traces. */
287#ifndef YYDEBUG
288# define YYDEBUG 0
289#endif
290#if YYDEBUG
291extern int base_yydebug;
292#endif
293
294/* Token type. */
295#ifndef YYTOKENTYPE
296# define YYTOKENTYPE
297 enum yytokentype
298 {
299 IDENT = 258,
300 FCONST = 259,
301 SCONST = 260,
302 BCONST = 261,
303 XCONST = 262,
304 Op = 263,
305 ICONST = 264,
306 PARAM = 265,
307 TYPECAST = 266,
308 DOT_DOT = 267,
309 COLON_EQUALS = 268,
310 EQUALS_GREATER = 269,
311 LESS_EQUALS = 270,
312 GREATER_EQUALS = 271,
313 NOT_EQUALS = 272,
314 ABORT_P = 273,
315 ABSOLUTE_P = 274,
316 ACCESS = 275,
317 ACTION = 276,
318 ADD_P = 277,
319 ADMIN = 278,
320 AFTER = 279,
321 AGGREGATE = 280,
322 ALL = 281,
323 ALSO = 282,
324 ALTER = 283,
325 ALWAYS = 284,
326 ANALYSE = 285,
327 ANALYZE = 286,
328 AND = 287,
329 ANY = 288,
330 ARRAY = 289,
331 AS = 290,
332 ASC = 291,
333 ASSERTION = 292,
334 ASSIGNMENT = 293,
335 ASYMMETRIC = 294,
336 AT = 295,
337 ATTACH = 296,
338 ATTRIBUTE = 297,
339 AUTHORIZATION = 298,
340 BACKWARD = 299,
341 BEFORE = 300,
342 BEGIN_P = 301,
343 BETWEEN = 302,
344 BIGINT = 303,
345 BINARY = 304,
346 BIT = 305,
347 BOOLEAN_P = 306,
348 BOTH = 307,
349 BY = 308,
350 CACHE = 309,
351 CALL = 310,
352 CALLED = 311,
353 CASCADE = 312,
354 CASCADED = 313,
355 CASE = 314,
356 CAST = 315,
357 CATALOG_P = 316,
358 CHAIN = 317,
359 CHAR_P = 318,
360 CHARACTER = 319,
361 CHARACTERISTICS = 320,
362 CHECK = 321,
363 CHECKPOINT = 322,
364 CLASS = 323,
365 CLOSE = 324,
366 CLUSTER = 325,
367 COALESCE = 326,
368 COLLATE = 327,
369 COLLATION = 328,
370 COLUMN = 329,
371 COLUMNS = 330,
372 COMMENT = 331,
373 COMMENTS = 332,
374 COMMIT = 333,
375 COMMITTED = 334,
376 CONCURRENTLY = 335,
377 CONFIGURATION = 336,
378 CONFLICT = 337,
379 CONNECTION = 338,
380 CONSTRAINT = 339,
381 CONSTRAINTS = 340,
382 CONTENT_P = 341,
383 CONTINUE_P = 342,
384 CONVERSION_P = 343,
385 COPY = 344,
386 COST = 345,
387 CREATE = 346,
388 CROSS = 347,
389 CSV = 348,
390 CUBE = 349,
391 CURRENT_P = 350,
392 CURRENT_CATALOG = 351,
393 CURRENT_DATE = 352,
394 CURRENT_ROLE = 353,
395 CURRENT_SCHEMA = 354,
396 CURRENT_TIME = 355,
397 CURRENT_TIMESTAMP = 356,
398 CURRENT_USER = 357,
399 CURSOR = 358,
400 CYCLE = 359,
401 DATA_P = 360,
402 DATABASE = 361,
403 DAY_P = 362,
404 DEALLOCATE = 363,
405 DEC = 364,
406 DECIMAL_P = 365,
407 DECLARE = 366,
408 DEFAULT = 367,
409 DEFAULTS = 368,
410 DEFERRABLE = 369,
411 DEFERRED = 370,
412 DEFINER = 371,
413 DELETE_P = 372,
414 DELIMITER = 373,
415 DELIMITERS = 374,
416 DEPENDS = 375,
417 DESC = 376,
418 DETACH = 377,
419 DICTIONARY = 378,
420 DISABLE_P = 379,
421 DISCARD = 380,
422 DISTINCT = 381,
423 DO = 382,
424 DOCUMENT_P = 383,
425 DOMAIN_P = 384,
426 DOUBLE_P = 385,
427 DROP = 386,
428 EACH = 387,
429 ELSE = 388,
430 ENABLE_P = 389,
431 ENCODING = 390,
432 ENCRYPTED = 391,
433 END_P = 392,
434 ENUM_P = 393,
435 ESCAPE = 394,
436 EVENT = 395,
437 EXCEPT = 396,
438 EXCLUDE = 397,
439 EXCLUDING = 398,
440 EXCLUSIVE = 399,
441 EXECUTE = 400,
442 EXISTS = 401,
443 EXPLAIN = 402,
444 EXTENSION = 403,
445 EXTERNAL = 404,
446 EXTRACT = 405,
447 FALSE_P = 406,
448 FAMILY = 407,
449 FETCH = 408,
450 FILTER = 409,
451 FIRST_P = 410,
452 FLOAT_P = 411,
453 FOLLOWING = 412,
454 FOR = 413,
455 FORCE = 414,
456 FOREIGN = 415,
457 FORWARD = 416,
458 FREEZE = 417,
459 FROM = 418,
460 FULL = 419,
461 FUNCTION = 420,
462 FUNCTIONS = 421,
463 GENERATED = 422,
464 GLOBAL = 423,
465 GRANT = 424,
466 GRANTED = 425,
467 GREATEST = 426,
468 GROUP_P = 427,
469 GROUPING = 428,
470 GROUPS = 429,
471 HANDLER = 430,
472 HAVING = 431,
473 HEADER_P = 432,
474 HOLD = 433,
475 HOUR_P = 434,
476 IDENTITY_P = 435,
477 IF_P = 436,
478 ILIKE = 437,
479 IMMEDIATE = 438,
480 IMMUTABLE = 439,
481 IMPLICIT_P = 440,
482 IMPORT_P = 441,
483 IN_P = 442,
484 INCLUDE = 443,
485 INCLUDING = 444,
486 INCREMENT = 445,
487 INDEX = 446,
488 INDEXES = 447,
489 INHERIT = 448,
490 INHERITS = 449,
491 INITIALLY = 450,
492 INLINE_P = 451,
493 INNER_P = 452,
494 INOUT = 453,
495 INPUT_P = 454,
496 INSENSITIVE = 455,
497 INSERT = 456,
498 INSTEAD = 457,
499 INT_P = 458,
500 INTEGER = 459,
501 INTERSECT = 460,
502 INTERVAL = 461,
503 INTO = 462,
504 INVOKER = 463,
505 IS = 464,
506 ISNULL = 465,
507 ISOLATION = 466,
508 JOIN = 467,
509 KEY = 468,
510 LABEL = 469,
511 LANGUAGE = 470,
512 LARGE_P = 471,
513 LAST_P = 472,
514 LATERAL_P = 473,
515 LEADING = 474,
516 LEAKPROOF = 475,
517 LEAST = 476,
518 LEFT = 477,
519 LEVEL = 478,
520 LIKE = 479,
521 LIMIT = 480,
522 LISTEN = 481,
523 LOAD = 482,
524 LOCAL = 483,
525 LOCALTIME = 484,
526 LOCALTIMESTAMP = 485,
527 LOCATION = 486,
528 LOCK_P = 487,
529 LOCKED = 488,
530 LOGGED = 489,
531 MAPPING = 490,
532 MATCH = 491,
533 MATERIALIZED = 492,
534 MAXVALUE = 493,
535 METHOD = 494,
536 MINUTE_P = 495,
537 MINVALUE = 496,
538 MODE = 497,
539 MONTH_P = 498,
540 MOVE = 499,
541 NAME_P = 500,
542 NAMES = 501,
543 NATIONAL = 502,
544 NATURAL = 503,
545 NCHAR = 504,
546 NEW = 505,
547 NEXT = 506,
548 NO = 507,
549 NONE = 508,
550 NOT = 509,
551 NOTHING = 510,
552 NOTIFY = 511,
553 NOTNULL = 512,
554 NOWAIT = 513,
555 NULL_P = 514,
556 NULLIF = 515,
557 NULLS_P = 516,
558 NUMERIC = 517,
559 OBJECT_P = 518,
560 OF = 519,
561 OFF = 520,
562 OFFSET = 521,
563 OIDS = 522,
564 OLD = 523,
565 ON = 524,
566 ONLY = 525,
567 OPERATOR = 526,
568 OPTION = 527,
569 OPTIONS = 528,
570 OR = 529,
571 ORDER = 530,
572 ORDINALITY = 531,
573 OTHERS = 532,
574 OUT_P = 533,
575 OUTER_P = 534,
576 OVER = 535,
577 OVERLAPS = 536,
578 OVERLAY = 537,
579 OVERRIDING = 538,
580 OWNED = 539,
581 OWNER = 540,
582 PARALLEL = 541,
583 PARSER = 542,
584 PARTIAL = 543,
585 PARTITION = 544,
586 PASSING = 545,
587 PASSWORD = 546,
588 PLACING = 547,
589 PLANS = 548,
590 POLICY = 549,
591 POSITION = 550,
592 PRECEDING = 551,
593 PRECISION = 552,
594 PRESERVE = 553,
595 PREPARE = 554,
596 PREPARED = 555,
597 PRIMARY = 556,
598 PRIOR = 557,
599 PRIVILEGES = 558,
600 PROCEDURAL = 559,
601 PROCEDURE = 560,
602 PROCEDURES = 561,
603 PROGRAM = 562,
604 PUBLICATION = 563,
605 QUOTE = 564,
606 RANGE = 565,
607 READ = 566,
608 REAL = 567,
609 REASSIGN = 568,
610 RECHECK = 569,
611 RECURSIVE = 570,
612 REF = 571,
613 REFERENCES = 572,
614 REFERENCING = 573,
615 REFRESH = 574,
616 REINDEX = 575,
617 RELATIVE_P = 576,
618 RELEASE = 577,
619 RENAME = 578,
620 REPEATABLE = 579,
621 REPLACE = 580,
622 REPLICA = 581,
623 RESET = 582,
624 RESTART = 583,
625 RESTRICT = 584,
626 RETURNING = 585,
627 RETURNS = 586,
628 REVOKE = 587,
629 RIGHT = 588,
630 ROLE = 589,
631 ROLLBACK = 590,
632 ROLLUP = 591,
633 ROUTINE = 592,
634 ROUTINES = 593,
635 ROW = 594,
636 ROWS = 595,
637 RULE = 596,
638 SAVEPOINT = 597,
639 SCHEMA = 598,
640 SCHEMAS = 599,
641 SCROLL = 600,
642 SEARCH = 601,
643 SECOND_P = 602,
644 SECURITY = 603,
645 SELECT = 604,
646 SEQUENCE = 605,
647 SEQUENCES = 606,
648 SERIALIZABLE = 607,
649 SERVER = 608,
650 SESSION = 609,
651 SESSION_USER = 610,
652 SET = 611,
653 SETS = 612,
654 SETOF = 613,
655 SHARE = 614,
656 SHOW = 615,
657 SIMILAR = 616,
658 SIMPLE = 617,
659 SKIP = 618,
660 SMALLINT = 619,
661 SNAPSHOT = 620,
662 SOME = 621,
663 SQL_P = 622,
664 STABLE = 623,
665 STANDALONE_P = 624,
666 START = 625,
667 STATEMENT = 626,
668 STATISTICS = 627,
669 STDIN = 628,
670 STDOUT = 629,
671 STORAGE = 630,
672 STORED = 631,
673 STRICT_P = 632,
674 STRIP_P = 633,
675 SUBSCRIPTION = 634,
676 SUBSTRING = 635,
677 SUPPORT = 636,
678 SYMMETRIC = 637,
679 SYSID = 638,
680 SYSTEM_P = 639,
681 TABLE = 640,
682 TABLES = 641,
683 TABLESAMPLE = 642,
684 TABLESPACE = 643,
685 TEMP = 644,
686 TEMPLATE = 645,
687 TEMPORARY = 646,
688 TEXT_P = 647,
689 THEN = 648,
690 TIES = 649,
691 TIME = 650,
692 TIMESTAMP = 651,
693 TO = 652,
694 TRAILING = 653,
695 TRANSACTION = 654,
696 TRANSFORM = 655,
697 TREAT = 656,
698 TRIGGER = 657,
699 TRIM = 658,
700 TRUE_P = 659,
701 TRUNCATE = 660,
702 TRUSTED = 661,
703 TYPE_P = 662,
704 TYPES_P = 663,
705 UNBOUNDED = 664,
706 UNCOMMITTED = 665,
707 UNENCRYPTED = 666,
708 UNION = 667,
709 UNIQUE = 668,
710 UNKNOWN = 669,
711 UNLISTEN = 670,
712 UNLOGGED = 671,
713 UNTIL = 672,
714 UPDATE = 673,
715 USER = 674,
716 USING = 675,
717 VACUUM = 676,
718 VALID = 677,
719 VALIDATE = 678,
720 VALIDATOR = 679,
721 VALUE_P = 680,
722 VALUES = 681,
723 VARCHAR = 682,
724 VARIADIC = 683,
725 VARYING = 684,
726 VERBOSE = 685,
727 VERSION_P = 686,
728 VIEW = 687,
729 VIEWS = 688,
730 VOLATILE = 689,
731 WHEN = 690,
732 WHERE = 691,
733 WHITESPACE_P = 692,
734 WINDOW = 693,
735 WITH = 694,
736 WITHIN = 695,
737 WITHOUT = 696,
738 WORK = 697,
739 WRAPPER = 698,
740 WRITE = 699,
741 XML_P = 700,
742 XMLATTRIBUTES = 701,
743 XMLCONCAT = 702,
744 XMLELEMENT = 703,
745 XMLEXISTS = 704,
746 XMLFOREST = 705,
747 XMLNAMESPACES = 706,
748 XMLPARSE = 707,
749 XMLPI = 708,
750 XMLROOT = 709,
751 XMLSERIALIZE = 710,
752 XMLTABLE = 711,
753 YEAR_P = 712,
754 YES_P = 713,
755 ZONE = 714,
756 NOT_LA = 715,
757 NULLS_LA = 716,
758 WITH_LA = 717,
759 POSTFIXOP = 718,
760 UMINUS = 719
761 };
762#endif
763
764/* Value type. */
765#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
766
767union YYSTYPE
768{
769#line 203 "gram.y" /* yacc.c:355 */
770
771 core_YYSTYPE core_yystype;
772 /* these fields must match core_YYSTYPE: */
773 int ival;
774 char *str;
775 const char *keyword;
776
777 char chr;
778 bool boolean;
779 JoinType jtype;
780 DropBehavior dbehavior;
781 OnCommitAction oncommit;
782 List *list;
783 Node *node;
784 Value *value;
785 ObjectType objtype;
786 TypeName *typnam;
787 FunctionParameter *fun_param;
788 FunctionParameterMode fun_param_mode;
789 ObjectWithArgs *objwithargs;
790 DefElem *defelt;
791 SortBy *sortby;
792 WindowDef *windef;
793 JoinExpr *jexpr;
794 IndexElem *ielem;
795 Alias *alias;
796 RangeVar *range;
797 IntoClause *into;
798 WithClause *with;
799 InferClause *infer;
800 OnConflictClause *onconflict;
801 A_Indices *aind;
802 ResTarget *target;
803 struct PrivTarget *privtarget;
804 AccessPriv *accesspriv;
805 struct ImportQual *importqual;
806 InsertStmt *istmt;
807 VariableSetStmt *vsetstmt;
808 PartitionElem *partelem;
809 PartitionSpec *partspec;
810 PartitionBoundSpec *partboundspec;
811 RoleSpec *rolespec;
812
813#line 814 "gram.c" /* yacc.c:355 */
814};
815
816typedef union YYSTYPE YYSTYPE;
817# define YYSTYPE_IS_TRIVIAL 1
818# define YYSTYPE_IS_DECLARED 1
819#endif
820
821/* Location type. */
822#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
823typedef struct YYLTYPE YYLTYPE;
824struct YYLTYPE
825{
826 int first_line;
827 int first_column;
828 int last_line;
829 int last_column;
830};
831# define YYLTYPE_IS_DECLARED 1
832# define YYLTYPE_IS_TRIVIAL 1
833#endif
834
835
836
837int base_yyparse (core_yyscan_t yyscanner);
838
839#endif /* !YY_BASE_YY_GRAM_H_INCLUDED */
840
841/* Copy the second part of user declarations. */
842
843#line 844 "gram.c" /* yacc.c:358 */
844
845#ifdef short
846# undef short
847#endif
848
849#ifdef YYTYPE_UINT8
850typedef YYTYPE_UINT8 yytype_uint8;
851#else
852typedef unsigned char yytype_uint8;
853#endif
854
855#ifdef YYTYPE_INT8
856typedef YYTYPE_INT8 yytype_int8;
857#else
858typedef signed char yytype_int8;
859#endif
860
861#ifdef YYTYPE_UINT16
862typedef YYTYPE_UINT16 yytype_uint16;
863#else
864typedef unsigned short int yytype_uint16;
865#endif
866
867#ifdef YYTYPE_INT16
868typedef YYTYPE_INT16 yytype_int16;
869#else
870typedef short int yytype_int16;
871#endif
872
873#ifndef YYSIZE_T
874# ifdef __SIZE_TYPE__
875# define YYSIZE_T __SIZE_TYPE__
876# elif defined size_t
877# define YYSIZE_T size_t
878# elif ! defined YYSIZE_T
879# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
880# define YYSIZE_T size_t
881# else
882# define YYSIZE_T unsigned int
883# endif
884#endif
885
886#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
887
888#ifndef YY_
889# if defined YYENABLE_NLS && YYENABLE_NLS
890# if ENABLE_NLS
891# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
892# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
893# endif
894# endif
895# ifndef YY_
896# define YY_(Msgid) Msgid
897# endif
898#endif
899
900#ifndef YY_ATTRIBUTE
901# if (defined __GNUC__ \
902 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
903 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
904# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
905# else
906# define YY_ATTRIBUTE(Spec) /* empty */
907# endif
908#endif
909
910#ifndef YY_ATTRIBUTE_PURE
911# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
912#endif
913
914#ifndef YY_ATTRIBUTE_UNUSED
915# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
916#endif
917
918#if !defined _Noreturn \
919 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
920# if defined _MSC_VER && 1200 <= _MSC_VER
921# define _Noreturn __declspec (noreturn)
922# else
923# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
924# endif
925#endif
926
927/* Suppress unused-variable warnings by "using" E. */
928#if ! defined lint || defined __GNUC__
929# define YYUSE(E) ((void) (E))
930#else
931# define YYUSE(E) /* empty */
932#endif
933
934#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
935/* Suppress an incorrect diagnostic about yylval being uninitialized. */
936# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
937 _Pragma ("GCC diagnostic push") \
938 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
939 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
940# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
941 _Pragma ("GCC diagnostic pop")
942#else
943# define YY_INITIAL_VALUE(Value) Value
944#endif
945#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
946# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
947# define YY_IGNORE_MAYBE_UNINITIALIZED_END
948#endif
949#ifndef YY_INITIAL_VALUE
950# define YY_INITIAL_VALUE(Value) /* Nothing. */
951#endif
952
953
954#if ! defined yyoverflow || YYERROR_VERBOSE
955
956/* The parser invokes alloca or malloc; define the necessary symbols. */
957
958# ifdef YYSTACK_USE_ALLOCA
959# if YYSTACK_USE_ALLOCA
960# ifdef __GNUC__
961# define YYSTACK_ALLOC __builtin_alloca
962# elif defined __BUILTIN_VA_ARG_INCR
963# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
964# elif defined _AIX
965# define YYSTACK_ALLOC __alloca
966# elif defined _MSC_VER
967# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
968# define alloca _alloca
969# else
970# define YYSTACK_ALLOC alloca
971# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
972# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
973 /* Use EXIT_SUCCESS as a witness for stdlib.h. */
974# ifndef EXIT_SUCCESS
975# define EXIT_SUCCESS 0
976# endif
977# endif
978# endif
979# endif
980# endif
981
982# ifdef YYSTACK_ALLOC
983 /* Pacify GCC's 'empty if-body' warning. */
984# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
985# ifndef YYSTACK_ALLOC_MAXIMUM
986 /* The OS might guarantee only one guard page at the bottom of the stack,
987 and a page size can be as small as 4096 bytes. So we cannot safely
988 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
989 to allow for a few compiler-allocated temporary stack slots. */
990# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
991# endif
992# else
993# define YYSTACK_ALLOC YYMALLOC
994# define YYSTACK_FREE YYFREE
995# ifndef YYSTACK_ALLOC_MAXIMUM
996# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
997# endif
998# if (defined __cplusplus && ! defined EXIT_SUCCESS \
999 && ! ((defined YYMALLOC || defined malloc) \
1000 && (defined YYFREE || defined free)))
1001# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1002# ifndef EXIT_SUCCESS
1003# define EXIT_SUCCESS 0
1004# endif
1005# endif
1006# ifndef YYMALLOC
1007# define YYMALLOC malloc
1008# if ! defined malloc && ! defined EXIT_SUCCESS
1009void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1010# endif
1011# endif
1012# ifndef YYFREE
1013# define YYFREE free
1014# if ! defined free && ! defined EXIT_SUCCESS
1015void free (void *); /* INFRINGES ON USER NAME SPACE */
1016# endif
1017# endif
1018# endif
1019#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1020
1021
1022#if (! defined yyoverflow \
1023 && (! defined __cplusplus \
1024 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1025 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1026
1027/* A type that is properly aligned for any stack member. */
1028union yyalloc
1029{
1030 yytype_int16 yyss_alloc;
1031 YYSTYPE yyvs_alloc;
1032 YYLTYPE yyls_alloc;
1033};
1034
1035/* The size of the maximum gap between one aligned stack and the next. */
1036# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1037
1038/* The size of an array large to enough to hold all stacks, each with
1039 N elements. */
1040# define YYSTACK_BYTES(N) \
1041 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1042 + 2 * YYSTACK_GAP_MAXIMUM)
1043
1044# define YYCOPY_NEEDED 1
1045
1046/* Relocate STACK from its old location to the new one. The
1047 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1048 elements in the stack, and YYPTR gives the new location of the
1049 stack. Advance YYPTR to a properly aligned location for the next
1050 stack. */
1051# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1052 do \
1053 { \
1054 YYSIZE_T yynewbytes; \
1055 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1056 Stack = &yyptr->Stack_alloc; \
1057 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1058 yyptr += yynewbytes / sizeof (*yyptr); \
1059 } \
1060 while (0)
1061
1062#endif
1063
1064#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1065/* Copy COUNT objects from SRC to DST. The source and destination do
1066 not overlap. */
1067# ifndef YYCOPY
1068# if defined __GNUC__ && 1 < __GNUC__
1069# define YYCOPY(Dst, Src, Count) \
1070 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1071# else
1072# define YYCOPY(Dst, Src, Count) \
1073 do \
1074 { \
1075 YYSIZE_T yyi; \
1076 for (yyi = 0; yyi < (Count); yyi++) \
1077 (Dst)[yyi] = (Src)[yyi]; \
1078 } \
1079 while (0)
1080# endif
1081# endif
1082#endif /* !YYCOPY_NEEDED */
1083
1084/* YYFINAL -- State number of the termination state. */
1085#define YYFINAL 827
1086/* YYLAST -- Last index in YYTABLE. */
1087#define YYLAST 103948
1088
1089/* YYNTOKENS -- Number of terminals. */
1090#define YYNTOKENS 482
1091/* YYNNTS -- Number of nonterminals. */
1092#define YYNNTS 667
1093/* YYNRULES -- Number of rules. */
1094#define YYNRULES 2724
1095/* YYNSTATES -- Number of states. */
1096#define YYNSTATES 5488
1097
1098/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
1099 by yylex, with out-of-bounds checking. */
1100#define YYUNDEFTOK 2
1101#define YYMAXUTOK 719
1102
1103#define YYTRANSLATE(YYX) \
1104 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1105
1106/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1107 as returned by yylex, without out-of-bounds checking. */
1108static const yytype_uint16 yytranslate[] =
1109{
1110 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1111 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1112 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1113 2, 2, 2, 2, 2, 2, 2, 471, 2, 2,
1114 476, 477, 469, 467, 480, 468, 478, 470, 2, 2,
1115 2, 2, 2, 2, 2, 2, 2, 2, 481, 479,
1116 463, 465, 464, 2, 2, 2, 2, 2, 2, 2,
1117 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1118 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1119 2, 474, 2, 475, 472, 2, 2, 2, 2, 2,
1120 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1121 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1122 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1123 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1124 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1125 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1126 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1127 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1128 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1129 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1130 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1131 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1132 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1133 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1134 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1135 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1136 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1137 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1138 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1139 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1140 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1141 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1142 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1143 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1144 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1145 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1146 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1147 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1148 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1149 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1150 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1151 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1152 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1153 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1154 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1155 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1156 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1157 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1158 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1159 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1160 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1161 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1162 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1163 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1164 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1165 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1166 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1167 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1168 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1169 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1170 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1171 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1172 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1173 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1174 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1175 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1176 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1177 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1178 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1179 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1180 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1181 455, 456, 457, 458, 459, 460, 461, 462, 466, 473
1182};
1183
1184#if YYDEBUG
1185 /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
1186static const yytype_uint16 yyrline[] =
1187{
1188 0, 789, 789, 805, 817, 827, 828, 829, 830, 831,
1189 832, 833, 834, 835, 836, 837, 838, 839, 840, 841,
1190 842, 843, 844, 845, 846, 847, 848, 849, 850, 851,
1191 852, 853, 854, 855, 856, 857, 858, 859, 860, 861,
1192 862, 863, 864, 865, 866, 867, 868, 869, 870, 871,
1193 872, 873, 874, 875, 876, 877, 878, 879, 880, 881,
1194 882, 883, 884, 885, 886, 887, 888, 889, 890, 891,
1195 892, 893, 894, 895, 896, 897, 898, 899, 900, 901,
1196 902, 903, 904, 905, 906, 907, 908, 909, 910, 911,
1197 912, 913, 914, 915, 916, 917, 918, 919, 920, 921,
1198 922, 923, 924, 925, 926, 927, 928, 929, 930, 931,
1199 932, 933, 934, 935, 936, 937, 938, 939, 940, 941,
1200 942, 943, 944, 945, 946, 947, 948, 949, 951, 960,
1201 975, 986, 987, 988, 997, 998, 1002, 1003, 1007, 1012,
1202 1016, 1026, 1034, 1038, 1042, 1047, 1051, 1099, 1101, 1105,
1203 1109, 1113, 1117, 1131, 1149, 1157, 1168, 1169, 1173, 1181,
1204 1189, 1197, 1218, 1225, 1232, 1239, 1246, 1253, 1270, 1288,
1205 1299, 1300, 1311, 1321, 1331, 1346, 1364, 1365, 1369, 1376,
1206 1384, 1385, 1386, 1387, 1388, 1389, 1403, 1409, 1415, 1424,
1207 1432, 1440, 1444, 1452, 1460, 1467, 1477, 1478, 1486, 1497,
1208 1505, 1513, 1524, 1532, 1540, 1547, 1556, 1566, 1567, 1571,
1209 1572, 1575, 1577, 1581, 1582, 1583, 1584, 1588, 1589, 1590,
1210 1596, 1608, 1612, 1616, 1631, 1638, 1639, 1640, 1644, 1645,
1211 1646, 1650, 1651, 1655, 1659, 1660, 1667, 1674, 1684, 1691,
1212 1701, 1702, 1707, 1708, 1713, 1719, 1725, 1731, 1737, 1747,
1213 1757, 1758, 1762, 1763, 1771, 1786, 1792, 1798, 1804, 1810,
1214 1829, 1838, 1847, 1856, 1865, 1876, 1887, 1896, 1905, 1914,
1215 1925, 1936, 1945, 1954, 1963, 1972, 1981, 1990, 2001, 2015,
1216 2016, 2021, 2034, 2050, 2066, 2075, 2084, 2093, 2102, 2111,
1217 2119, 2127, 2136, 2152, 2161, 2170, 2179, 2196, 2205, 2214,
1218 2223, 2233, 2246, 2261, 2270, 2278, 2293, 2301, 2311, 2321,
1219 2328, 2336, 2344, 2351, 2358, 2366, 2374, 2382, 2389, 2396,
1220 2404, 2411, 2418, 2426, 2434, 2442, 2450, 2458, 2466, 2476,
1221 2483, 2491, 2499, 2507, 2515, 2523, 2530, 2537, 2544, 2550,
1222 2560, 2561, 2565, 2566, 2567, 2571, 2579, 2583, 2584, 2588,
1223 2595, 2602, 2609, 2619, 2622, 2623, 2627, 2628, 2633, 2637,
1224 2641, 2646, 2653, 2655, 2660, 2664, 2668, 2679, 2687, 2740,
1225 2753, 2767, 2779, 2786, 2790, 2804, 2817, 2818, 2823, 2832,
1226 2842, 2852, 2878, 2884, 2917, 2952, 2974, 2975, 2979, 2980,
1227 2989, 2990, 2991, 2994, 2995, 3000, 3001, 3005, 3009, 3013,
1228 3017, 3021, 3025, 3029, 3033, 3037, 3041, 3045, 3049, 3053,
1229 3062, 3066, 3070, 3074, 3078, 3079, 3084, 3088, 3095, 3102,
1230 3103, 3104, 3105, 3106, 3110, 3114, 3122, 3133, 3152, 3171,
1231 3191, 3211, 3231, 3264, 3265, 3266, 3267, 3268, 3275, 3282,
1232 3283, 3287, 3288, 3292, 3293, 3297, 3301, 3308, 3312, 3319,
1233 3320, 3321, 3325, 3326, 3329, 3350, 3368, 3389, 3390, 3394,
1234 3401, 3402, 3403, 3434, 3441, 3448, 3459, 3470, 3482, 3491,
1235 3500, 3523, 3541, 3542, 3561, 3568, 3575, 3582, 3593, 3603,
1236 3604, 3605, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616,
1237 3617, 3626, 3633, 3637, 3650, 3666, 3681, 3697, 3712, 3731,
1238 3752, 3753, 3757, 3758, 3762, 3763, 3766, 3772, 3773, 3776,
1239 3780, 3788, 3793, 3799, 3800, 3804, 3809, 3816, 3817, 3827,
1240 3829, 3831, 3833, 3836, 3839, 3842, 3846, 3847, 3848, 3849,
1241 3850, 3853, 3854, 3858, 3859, 3862, 3874, 3875, 3878, 3879,
1242 3882, 3893, 3904, 3918, 3919, 3924, 3925, 3926, 3929, 3930,
1243 3931, 3932, 3935, 3936, 3939, 3940, 3943, 3961, 3973, 3998,
1244 4011, 4027, 4043, 4044, 4045, 4057, 4070, 4086, 4100, 4101,
1245 4113, 4133, 4143, 4156, 4164, 4175, 4176, 4179, 4180, 4183,
1246 4184, 4187, 4191, 4195, 4199, 4203, 4207, 4211, 4215, 4219,
1247 4223, 4227, 4232, 4236, 4240, 4246, 4247, 4251, 4252, 4253,
1248 4258, 4261, 4262, 4274, 4286, 4301, 4302, 4310, 4311, 4315,
1249 4316, 4320, 4321, 4325, 4326, 4330, 4340, 4353, 4354, 4364,
1250 4375, 4376, 4389, 4396, 4413, 4421, 4432, 4435, 4439, 4443,
1251 4447, 4451, 4463, 4473, 4476, 4480, 4493, 4502, 4511, 4520,
1252 4529, 4538, 4547, 4556, 4565, 4574, 4583, 4592, 4601, 4610,
1253 4619, 4628, 4637, 4646, 4655, 4664, 4673, 4682, 4691, 4700,
1254 4709, 4718, 4727, 4736, 4754, 4765, 4766, 4767, 4768, 4772,
1255 4773, 4777, 4778, 4788, 4796, 4808, 4809, 4813, 4817, 4825,
1256 4829, 4833, 4840, 4844, 4849, 4854, 4861, 4868, 4873, 4883,
1257 4895, 4910, 4911, 4916, 4917, 4921, 4922, 4932, 4941, 4949,
1258 4966, 4986, 5006, 5027, 5058, 5067, 5088, 5103, 5104, 5108,
1259 5116, 5131, 5140, 5152, 5153, 5165, 5173, 5190, 5214, 5231,
1260 5245, 5246, 5250, 5251, 5255, 5256, 5260, 5261, 5265, 5279,
1261 5283, 5284, 5288, 5289, 5290, 5291, 5292, 5302, 5313, 5314,
1262 5325, 5346, 5372, 5373, 5374, 5378, 5380, 5402, 5404, 5406,
1263 5408, 5410, 5415, 5416, 5420, 5421, 5425, 5436, 5437, 5441,
1264 5450, 5454, 5458, 5463, 5473, 5474, 5478, 5479, 5483, 5484,
1265 5488, 5489, 5493, 5494, 5495, 5499, 5503, 5504, 5505, 5509,
1266 5510, 5515, 5516, 5543, 5544, 5545, 5546, 5547, 5548, 5561,
1267 5571, 5585, 5587, 5592, 5597, 5599, 5604, 5614, 5615, 5616,
1268 5617, 5628, 5647, 5658, 5670, 5680, 5690, 5701, 5710, 5717,
1269 5724, 5733, 5742, 5751, 5760, 5769, 5779, 5788, 5800, 5803,
1270 5804, 5807, 5811, 5818, 5819, 5820, 5821, 5822, 5823, 5826,
1271 5829, 5830, 5838, 5845, 5846, 5849, 5851, 5862, 5873, 5884,
1272 5895, 5908, 5909, 5925, 5940, 5941, 5945, 5957, 5967, 5975,
1273 5984, 5993, 5994, 5997, 5998, 6001, 6002, 6003, 6006, 6020,
1274 6025, 6035, 6044, 6056, 6057, 6061, 6069, 6081, 6091, 6104,
1275 6114, 6136, 6146, 6164, 6174, 6184, 6194, 6204, 6214, 6224,
1276 6234, 6244, 6254, 6264, 6274, 6288, 6289, 6290, 6291, 6292,
1277 6293, 6294, 6295, 6296, 6297, 6298, 6299, 6300, 6305, 6306,
1278 6307, 6308, 6309, 6310, 6311, 6316, 6317, 6318, 6322, 6323,
1279 6326, 6327, 6330, 6332, 6337, 6338, 6349, 6360, 6361, 6362,
1280 6396, 6404, 6412, 6420, 6428, 6436, 6444, 6452, 6460, 6473,
1281 6481, 6489, 6497, 6505, 6513, 6521, 6529, 6537, 6545, 6557,
1282 6558, 6559, 6560, 6561, 6562, 6563, 6564, 6565, 6566, 6567,
1283 6568, 6569, 6570, 6575, 6576, 6577, 6578, 6579, 6580, 6581,
1284 6582, 6583, 6584, 6585, 6586, 6590, 6591, 6605, 6615, 6625,
1285 6635, 6645, 6655, 6665, 6675, 6685, 6697, 6698, 6703, 6704,
1286 6705, 6706, 6707, 6708, 6713, 6714, 6715, 6716, 6717, 6718,
1287 6719, 6720, 6723, 6724, 6734, 6740, 6748, 6756, 6764, 6772,
1288 6780, 6788, 6796, 6804, 6812, 6820, 6828, 6836, 6844, 6852,
1289 6860, 6868, 6878, 6879, 6882, 6883, 6893, 6909, 6923, 6949,
1290 6951, 6953, 6955, 6962, 6971, 6972, 6975, 6982, 6989, 6996,
1291 7010, 7018, 7026, 7034, 7042, 7050, 7058, 7066, 7074, 7082,
1292 7090, 7098, 7106, 7114, 7122, 7130, 7138, 7146, 7154, 7162,
1293 7174, 7175, 7179, 7180, 7185, 7186, 7196, 7209, 7219, 7231,
1294 7232, 7235, 7236, 7246, 7256, 7257, 7261, 7265, 7269, 7280,
1295 7293, 7307, 7324, 7325, 7326, 7327, 7328, 7329, 7341, 7369,
1296 7400, 7401, 7405, 7406, 7410, 7411, 7415, 7416, 7419, 7420,
1297 7428, 7439, 7450, 7463, 7464, 7467, 7468, 7471, 7472, 7475,
1298 7476, 7479, 7480, 7481, 7484, 7485, 7486, 7502, 7514, 7527,
1299 7539, 7554, 7555, 7558, 7559, 7563, 7564, 7568, 7569, 7574,
1300 7586, 7593, 7600, 7615, 7616, 7620, 7621, 7636, 7645, 7654,
1301 7663, 7672, 7684, 7685, 7686, 7687, 7688, 7694, 7698, 7713,
1302 7714, 7720, 7730, 7734, 7739, 7747, 7788, 7792, 7796, 7800,
1303 7808, 7809, 7813, 7823, 7824, 7830, 7831, 7838, 7842, 7846,
1304 7850, 7854, 7858, 7862, 7866, 7870, 7874, 7878, 7882, 7886,
1305 7890, 7894, 7898, 7903, 7910, 7914, 7918, 7922, 7926, 7932,
1306 7933, 7940, 7941, 7945, 7946, 7949, 7961, 7965, 7980, 7988,
1307 7996, 8008, 8009, 8014, 8015, 8032, 8042, 8052, 8062, 8072,
1308 8082, 8095, 8105, 8118, 8128, 8141, 8149, 8151, 8153, 8158,
1309 8160, 8165, 8166, 8171, 8189, 8198, 8199, 8203, 8207, 8219,
1310 8230, 8241, 8254, 8255, 8256, 8260, 8272, 8273, 8283, 8295,
1311 8299, 8303, 8307, 8314, 8334, 8344, 8354, 8364, 8376, 8377,
1312 8380, 8381, 8382, 8385, 8386, 8389, 8399, 8408, 8425, 8434,
1313 8443, 8452, 8461, 8470, 8479, 8488, 8497, 8506, 8515, 8524,
1314 8533, 8543, 8553, 8562, 8571, 8580, 8589, 8598, 8607, 8617,
1315 8627, 8637, 8647, 8657, 8667, 8677, 8687, 8697, 8707, 8717,
1316 8727, 8738, 8749, 8760, 8771, 8781, 8791, 8802, 8813, 8823,
1317 8833, 8841, 8850, 8859, 8868, 8877, 8886, 8895, 8904, 8913,
1318 8922, 8936, 8937, 8940, 8941, 8951, 8959, 8967, 8975, 8984,
1319 8992, 9009, 9018, 9027, 9036, 9045, 9054, 9063, 9072, 9081,
1320 9090, 9099, 9108, 9117, 9126, 9135, 9144, 9153, 9162, 9171,
1321 9180, 9189, 9198, 9207, 9216, 9225, 9234, 9243, 9261, 9270,
1322 9271, 9274, 9276, 9282, 9283, 9284, 9285, 9286, 9295, 9303,
1323 9311, 9319, 9327, 9335, 9343, 9351, 9359, 9367, 9375, 9383,
1324 9391, 9399, 9407, 9415, 9423, 9431, 9439, 9447, 9455, 9463,
1325 9471, 9479, 9497, 9516, 9517, 9521, 9525, 9545, 9552, 9560,
1326 9568, 9585, 9598, 9602, 9609, 9618, 9627, 9636, 9645, 9655,
1327 9665, 9683, 9691, 9707, 9724, 9725, 9726, 9731, 9737, 9746,
1328 9747, 9748, 9749, 9750, 9754, 9755, 9758, 9759, 9760, 9761,
1329 9765, 9766, 9767, 9779, 9789, 9790, 9793, 9802, 9808, 9827,
1330 9835, 9842, 9849, 9857, 9865, 9873, 9880, 9887, 9894, 9901,
1331 9908, 9915, 9922, 9931, 9932, 9933, 9937, 9940, 9943, 9946,
1332 9949, 9956, 9958, 9960, 9965, 9967, 9971, 9972, 9973, 9985,
1333 9998, 10011, 10029, 10050, 10051, 10052, 10053, 10063, 10079, 10089,
1334 10090, 10094, 10095, 10099, 10103, 10107, 10125, 10126, 10127, 10128,
1335 10129, 10130, 10131, 10138, 10139, 10150, 10157, 10164, 10175, 10192,
1336 10199, 10215, 10232, 10238, 10254, 10267, 10276, 10284, 10292, 10301,
1337 10312, 10323, 10333, 10334, 10345, 10355, 10366, 10377, 10388, 10399,
1338 10408, 10420, 10421, 10435, 10458, 10468, 10479, 10492, 10493, 10505,
1339 10525, 10535, 10546, 10557, 10561, 10568, 10569, 10573, 10580, 10581,
1340 10585, 10586, 10587, 10591, 10592, 10596, 10597, 10600, 10601, 10604,
1341 10605, 10609, 10610, 10614, 10621, 10623, 10628, 10629, 10642, 10649,
1342 10659, 10666, 10676, 10677, 10678, 10679, 10680, 10681, 10682, 10683,
1343 10684, 10688, 10692, 10699, 10706, 10707, 10711, 10712, 10713, 10723,
1344 10733, 10734, 10738, 10739, 10740, 10741, 10751, 10758, 10775, 10794,
1345 10795, 10805, 10811, 10817, 10823, 10839, 10857, 10861, 10869, 10875,
1346 10882, 10888, 10895, 10904, 10905, 10909, 10911, 10916, 10927, 10937,
1347 10947, 10953, 10962, 10971, 10977, 10978, 10989, 11003, 11004, 11015,
1348 11026, 11027, 11030, 11031, 11032, 11033, 11034, 11035, 11036, 11037,
1349 11040, 11041, 11045, 11046, 11047, 11058, 11076, 11077, 11081, 11086,
1350 11110, 11121, 11122, 11132, 11143, 11146, 11147, 11148, 11149, 11150,
1351 11153, 11154, 11155, 11203, 11204, 11208, 11209, 11224, 11225, 11232,
1352 11240, 11248, 11256, 11264, 11272, 11283, 11284, 11311, 11325, 11340,
1353 11341, 11360, 11364, 11368, 11385, 11392, 11399, 11409, 11410, 11413,
1354 11426, 11427, 11428, 11432, 11433, 11437, 11449, 11457, 11462, 11467,
1355 11472, 11477, 11485, 11493, 11498, 11503, 11510, 11511, 11515, 11516,
1356 11517, 11524, 11525, 11529, 11530, 11534, 11535, 11539, 11543, 11544,
1357 11547, 11556, 11569, 11570, 11571, 11572, 11576, 11577, 11581, 11583,
1358 11599, 11601, 11606, 11609, 11614, 11615, 11623, 11643, 11644, 11646,
1359 11651, 11652, 11656, 11657, 11660, 11661, 11686, 11687, 11691, 11692,
1360 11696, 11697, 11698, 11699, 11700, 11704, 11717, 11724, 11731, 11738,
1361 11739, 11743, 11744, 11748, 11749, 11753, 11754, 11758, 11769, 11770,
1362 11771, 11772, 11776, 11777, 11787, 11793, 11811, 11812, 11816, 11817,
1363 11823, 11828, 11836, 11843, 11851, 11857, 11864, 11899, 11924, 11928,
1364 11954, 11958, 11970, 11983, 11997, 12008, 12023, 12029, 12034, 12040,
1365 12047, 12048, 12056, 12060, 12064, 12070, 12077, 12082, 12083, 12084,
1366 12085, 12089, 12090, 12102, 12103, 12108, 12115, 12122, 12129, 12140,
1367 12141, 12154, 12158, 12165, 12178, 12191, 12192, 12207, 12217, 12229,
1368 12234, 12235, 12238, 12239, 12242, 12243, 12248, 12249, 12254, 12255,
1369 12263, 12268, 12269, 12273, 12277, 12283, 12307, 12317, 12330, 12331,
1370 12335, 12349, 12406, 12420, 12422, 12427, 12429, 12431, 12433, 12438,
1371 12440, 12445, 12453, 12473, 12478, 12485, 12490, 12496, 12501, 12510,
1372 12512, 12515, 12519, 12520, 12521, 12522, 12523, 12524, 12529, 12549,
1373 12550, 12551, 12552, 12563, 12569, 12577, 12578, 12584, 12589, 12594,
1374 12599, 12604, 12609, 12614, 12619, 12625, 12631, 12637, 12644, 12666,
1375 12675, 12679, 12687, 12691, 12699, 12711, 12732, 12736, 12742, 12746,
1376 12759, 12767, 12777, 12779, 12781, 12783, 12785, 12787, 12792, 12793,
1377 12800, 12809, 12817, 12826, 12837, 12845, 12846, 12847, 12851, 12853,
1378 12855, 12857, 12859, 12861, 12863, 12868, 12873, 12879, 12887, 12892,
1379 12899, 12906, 12910, 12914, 12950, 12951, 12953, 12961, 12976, 12978,
1380 12980, 12982, 12984, 12986, 12988, 12990, 12992, 12994, 12996, 12998,
1381 13000, 13002, 13005, 13007, 13009, 13012, 13014, 13016, 13018, 13021,
1382 13026, 13034, 13039, 13047, 13052, 13060, 13065, 13074, 13082, 13090,
1383 13098, 13116, 13124, 13132, 13140, 13148, 13164, 13172, 13180, 13188,
1384 13196, 13204, 13212, 13216, 13220, 13224, 13228, 13236, 13244, 13252,
1385 13260, 13280, 13302, 13313, 13320, 13336, 13341, 13347, 13372, 13374,
1386 13376, 13378, 13380, 13382, 13384, 13386, 13388, 13390, 13392, 13394,
1387 13396, 13398, 13400, 13402, 13404, 13406, 13408, 13410, 13414, 13418,
1388 13422, 13426, 13431, 13447, 13448, 13449, 13464, 13498, 13500, 13502,
1389 13513, 13537, 13548, 13559, 13566, 13576, 13586, 13595, 13599, 13605,
1390 13612, 13619, 13629, 13636, 13664, 13699, 13710, 13711, 13718, 13724,
1391 13728, 13732, 13736, 13740, 13744, 13748, 13752, 13756, 13760, 13764,
1392 13768, 13772, 13776, 13780, 13784, 13786, 13790, 13799, 13804, 13811,
1393 13826, 13833, 13837, 13841, 13845, 13849, 13856, 13864, 13872, 13876,
1394 13880, 13884, 13888, 13892, 13898, 13902, 13911, 13915, 13919, 13924,
1395 13938, 13940, 13944, 13946, 13948, 13951, 13954, 13957, 13958, 13961,
1396 13969, 13979, 13980, 13983, 13984, 13985, 13990, 13994, 13998, 14002,
1397 14009, 14010, 14018, 14019, 14023, 14024, 14032, 14033, 14037, 14038,
1398 14043, 14051, 14053, 14067, 14070, 14097, 14098, 14101, 14102, 14110,
1399 14117, 14124, 14132, 14141, 14158, 14203, 14211, 14219, 14227, 14235,
1400 14246, 14247, 14248, 14249, 14250, 14264, 14265, 14266, 14269, 14270,
1401 14273, 14276, 14277, 14278, 14281, 14282, 14285, 14286, 14287, 14288,
1402 14289, 14290, 14291, 14292, 14293, 14294, 14295, 14296, 14299, 14301,
1403 14306, 14308, 14313, 14315, 14317, 14319, 14321, 14323, 14335, 14339,
1404 14346, 14350, 14356, 14360, 14369, 14380, 14381, 14384, 14388, 14392,
1405 14398, 14399, 14404, 14408, 14415, 14416, 14417, 14418, 14419, 14420,
1406 14421, 14422, 14432, 14436, 14443, 14450, 14451, 14467, 14471, 14476,
1407 14480, 14495, 14500, 14504, 14507, 14510, 14511, 14512, 14515, 14522,
1408 14532, 14546, 14547, 14551, 14562, 14563, 14566, 14567, 14570, 14574,
1409 14581, 14585, 14589, 14597, 14608, 14609, 14613, 14614, 14618, 14619,
1410 14622, 14623, 14633, 14634, 14638, 14639, 14642, 14658, 14666, 14674,
1411 14696, 14697, 14708, 14712, 14739, 14741, 14746, 14749, 14752, 14754,
1412 14756, 14758, 14768, 14770, 14781, 14785, 14789, 14793, 14797, 14806,
1413 14813, 14845, 14849, 14855, 14862, 14866, 14870, 14876, 14877, 14879,
1414 14880, 14881, 14885, 14918, 14945, 14949, 14955, 14957, 14974, 14975,
1415 14976, 14981, 14982, 14983, 14988, 14989, 14990, 14991, 14997, 14998,
1416 14999, 15000, 15001, 15021, 15022, 15023, 15024, 15025, 15026, 15027,
1417 15028, 15029, 15030, 15031, 15032, 15033, 15034, 15035, 15036, 15037,
1418 15038, 15039, 15040, 15041, 15042, 15043, 15044, 15045, 15046, 15047,
1419 15048, 15049, 15050, 15051, 15052, 15053, 15054, 15055, 15056, 15057,
1420 15058, 15059, 15060, 15061, 15062, 15063, 15064, 15065, 15066, 15067,
1421 15068, 15069, 15070, 15071, 15072, 15073, 15074, 15075, 15076, 15077,
1422 15078, 15079, 15080, 15081, 15082, 15083, 15084, 15085, 15086, 15087,
1423 15088, 15089, 15090, 15091, 15092, 15093, 15094, 15095, 15096, 15097,
1424 15098, 15099, 15100, 15101, 15102, 15103, 15104, 15105, 15106, 15107,
1425 15108, 15109, 15110, 15111, 15112, 15113, 15114, 15115, 15116, 15117,
1426 15118, 15119, 15120, 15121, 15122, 15123, 15124, 15125, 15126, 15127,
1427 15128, 15129, 15130, 15131, 15132, 15133, 15134, 15135, 15136, 15137,
1428 15138, 15139, 15140, 15141, 15142, 15143, 15144, 15145, 15146, 15147,
1429 15148, 15149, 15150, 15151, 15152, 15153, 15154, 15155, 15156, 15157,
1430 15158, 15159, 15160, 15161, 15162, 15163, 15164, 15165, 15166, 15167,
1431 15168, 15169, 15170, 15171, 15172, 15173, 15174, 15175, 15176, 15177,
1432 15178, 15179, 15180, 15181, 15182, 15183, 15184, 15185, 15186, 15187,
1433 15188, 15189, 15190, 15191, 15192, 15193, 15194, 15195, 15196, 15197,
1434 15198, 15199, 15200, 15201, 15202, 15203, 15204, 15205, 15206, 15207,
1435 15208, 15209, 15210, 15211, 15212, 15213, 15214, 15215, 15216, 15217,
1436 15218, 15219, 15220, 15221, 15222, 15223, 15224, 15225, 15226, 15227,
1437 15228, 15229, 15230, 15231, 15232, 15233, 15234, 15235, 15236, 15237,
1438 15238, 15239, 15240, 15241, 15242, 15243, 15244, 15245, 15246, 15247,
1439 15248, 15249, 15250, 15251, 15252, 15253, 15254, 15255, 15256, 15257,
1440 15258, 15259, 15260, 15261, 15262, 15263, 15264, 15265, 15266, 15267,
1441 15268, 15269, 15270, 15271, 15272, 15273, 15274, 15275, 15276, 15277,
1442 15278, 15279, 15280, 15281, 15282, 15283, 15284, 15285, 15286, 15287,
1443 15288, 15289, 15290, 15291, 15292, 15293, 15294, 15295, 15296, 15297,
1444 15298, 15299, 15300, 15301, 15302, 15303, 15304, 15305, 15306, 15307,
1445 15308, 15309, 15310, 15311, 15312, 15326, 15327, 15328, 15329, 15330,
1446 15331, 15332, 15333, 15334, 15335, 15336, 15337, 15338, 15339, 15340,
1447 15341, 15342, 15343, 15344, 15345, 15346, 15347, 15348, 15349, 15350,
1448 15351, 15352, 15353, 15354, 15355, 15356, 15357, 15358, 15359, 15360,
1449 15361, 15362, 15363, 15364, 15365, 15366, 15367, 15368, 15369, 15370,
1450 15371, 15372, 15373, 15374, 15375, 15389, 15390, 15391, 15392, 15393,
1451 15394, 15395, 15396, 15397, 15398, 15399, 15400, 15401, 15402, 15403,
1452 15404, 15405, 15406, 15407, 15408, 15409, 15410, 15411, 15421, 15422,
1453 15423, 15424, 15425, 15426, 15427, 15428, 15429, 15430, 15431, 15432,
1454 15433, 15434, 15435, 15436, 15437, 15438, 15439, 15440, 15441, 15442,
1455 15443, 15444, 15445, 15446, 15447, 15448, 15449, 15450, 15451, 15452,
1456 15453, 15454, 15455, 15456, 15457, 15458, 15459, 15460, 15461, 15462,
1457 15463, 15464, 15465, 15466, 15467, 15468, 15469, 15470, 15471, 15472,
1458 15473, 15474, 15475, 15476, 15477, 15478, 15479, 15480, 15481, 15482,
1459 15483, 15484, 15485, 15486, 15487, 15488, 15489, 15490, 15491, 15492,
1460 15493, 15494, 15495, 15496, 15497
1461};
1462#endif
1463
1464#if YYDEBUG || YYERROR_VERBOSE || 0
1465/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1466 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1467static const char *const yytname[] =
1468{
1469 "$end", "error", "$undefined", "IDENT", "FCONST", "SCONST", "BCONST",
1470 "XCONST", "Op", "ICONST", "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS",
1471 "EQUALS_GREATER", "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS",
1472 "ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER",
1473 "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE",
1474 "AND", "ANY", "ARRAY", "AS", "ASC", "ASSERTION", "ASSIGNMENT",
1475 "ASYMMETRIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD",
1476 "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P",
1477 "BOTH", "BY", "CACHE", "CALL", "CALLED", "CASCADE", "CASCADED", "CASE",
1478 "CAST", "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS",
1479 "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE",
1480 "COLLATE", "COLLATION", "COLUMN", "COLUMNS", "COMMENT", "COMMENTS",
1481 "COMMIT", "COMMITTED", "CONCURRENTLY", "CONFIGURATION", "CONFLICT",
1482 "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P",
1483 "CONVERSION_P", "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE",
1484 "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE",
1485 "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER",
1486 "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC",
1487 "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED",
1488 "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DESC",
1489 "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO",
1490 "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P",
1491 "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE", "EVENT", "EXCEPT",
1492 "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN",
1493 "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH",
1494 "FILTER", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN",
1495 "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS",
1496 "GENERATED", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P",
1497 "GROUPING", "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P",
1498 "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P",
1499 "IMPORT_P", "IN_P", "INCLUDE", "INCLUDING", "INCREMENT", "INDEX",
1500 "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P",
1501 "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P",
1502 "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL",
1503 "ISOLATION", "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P",
1504 "LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE",
1505 "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP",
1506 "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH",
1507 "MATERIALIZED", "MAXVALUE", "METHOD", "MINUTE_P", "MINVALUE", "MODE",
1508 "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL", "NCHAR",
1509 "NEW", "NEXT", "NO", "NONE", "NOT", "NOTHING", "NOTIFY", "NOTNULL",
1510 "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF",
1511 "OFF", "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION",
1512 "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P",
1513 "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER",
1514 "PARALLEL", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD",
1515 "PLACING", "PLANS", "POLICY", "POSITION", "PRECEDING", "PRECISION",
1516 "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES",
1517 "PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM", "PUBLICATION",
1518 "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE",
1519 "REF", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", "RELATIVE_P",
1520 "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET",
1521 "RESTART", "RESTRICT", "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE",
1522 "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES", "ROW", "ROWS", "RULE",
1523 "SAVEPOINT", "SCHEMA", "SCHEMAS", "SCROLL", "SEARCH", "SECOND_P",
1524 "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER",
1525 "SESSION", "SESSION_USER", "SET", "SETS", "SETOF", "SHARE", "SHOW",
1526 "SIMILAR", "SIMPLE", "SKIP", "SMALLINT", "SNAPSHOT", "SOME", "SQL_P",
1527 "STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN",
1528 "STDOUT", "STORAGE", "STORED", "STRICT_P", "STRIP_P", "SUBSCRIPTION",
1529 "SUBSTRING", "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE",
1530 "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY",
1531 "TEXT_P", "THEN", "TIES", "TIME", "TIMESTAMP", "TO", "TRAILING",
1532 "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM", "TRUE_P",
1533 "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UNBOUNDED", "UNCOMMITTED",
1534 "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED",
1535 "UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID", "VALIDATE",
1536 "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR", "VARIADIC", "VARYING",
1537 "VERBOSE", "VERSION_P", "VIEW", "VIEWS", "VOLATILE", "WHEN", "WHERE",
1538 "WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER",
1539 "WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT",
1540 "XMLEXISTS", "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI",
1541 "XMLROOT", "XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YES_P", "ZONE",
1542 "NOT_LA", "NULLS_LA", "WITH_LA", "'<'", "'>'", "'='", "POSTFIXOP", "'+'",
1543 "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'",
1544 "'.'", "';'", "','", "':'", "$accept", "stmtblock", "stmtmulti", "stmt",
1545 "CallStmt", "CreateRoleStmt", "opt_with", "OptRoleList",
1546 "AlterOptRoleList", "AlterOptRoleElem", "CreateOptRoleElem",
1547 "CreateUserStmt", "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt",
1548 "DropRoleStmt", "CreateGroupStmt", "AlterGroupStmt", "add_drop",
1549 "CreateSchemaStmt", "OptSchemaName", "OptSchemaEltList", "schema_stmt",
1550 "VariableSetStmt", "set_rest", "generic_set", "set_rest_more",
1551 "var_name", "var_list", "var_value", "iso_level",
1552 "opt_boolean_or_string", "zone_value", "opt_encoding",
1553 "NonReservedWord_or_Sconst", "VariableResetStmt", "reset_rest",
1554 "generic_reset", "SetResetClause", "FunctionSetResetClause",
1555 "VariableShowStmt", "ConstraintsSetStmt", "constraints_set_list",
1556 "constraints_set_mode", "CheckPointStmt", "DiscardStmt",
1557 "AlterTableStmt", "alter_table_cmds", "partition_cmd",
1558 "index_partition_cmd", "alter_table_cmd", "alter_column_default",
1559 "opt_drop_behavior", "opt_collate_clause", "alter_using",
1560 "replica_identity", "reloptions", "opt_reloptions", "reloption_list",
1561 "reloption_elem", "alter_identity_column_option_list",
1562 "alter_identity_column_option", "PartitionBoundSpec",
1563 "hash_partbound_elem", "hash_partbound", "AlterCompositeTypeStmt",
1564 "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt",
1565 "copy_from", "opt_program", "copy_file_name", "copy_options",
1566 "copy_opt_list", "copy_opt_item", "opt_binary", "copy_delimiter",
1567 "opt_using", "copy_generic_opt_list", "copy_generic_opt_elem",
1568 "copy_generic_opt_arg", "copy_generic_opt_arg_list",
1569 "copy_generic_opt_arg_list_item", "CreateStmt", "OptTemp",
1570 "OptTableElementList", "OptTypedTableElementList", "TableElementList",
1571 "TypedTableElementList", "TableElement", "TypedTableElement",
1572 "columnDef", "columnOptions", "ColQualList", "ColConstraint",
1573 "ColConstraintElem", "generated_when", "ConstraintAttr",
1574 "TableLikeClause", "TableLikeOptionList", "TableLikeOption",
1575 "TableConstraint", "ConstraintElem", "opt_no_inherit", "opt_column_list",
1576 "columnList", "columnElem", "opt_c_include", "key_match",
1577 "ExclusionConstraintList", "ExclusionConstraintElem",
1578 "ExclusionWhereClause", "key_actions", "key_update", "key_delete",
1579 "key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec",
1580 "part_strategy", "part_params", "part_elem",
1581 "table_access_method_clause", "OptWith", "OnCommitOption",
1582 "OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt",
1583 "CreateAsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt",
1584 "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
1585 "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList",
1586 "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list",
1587 "CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler",
1588 "validator_clause", "opt_validator", "DropPLangStmt", "opt_procedural",
1589 "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
1590 "CreateExtensionStmt", "create_extension_opt_list",
1591 "create_extension_opt_item", "AlterExtensionStmt",
1592 "alter_extension_opt_list", "alter_extension_opt_item",
1593 "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
1594 "fdw_options", "opt_fdw_options", "AlterFdwStmt",
1595 "create_generic_options", "generic_option_list", "alter_generic_options",
1596 "alter_generic_option_list", "alter_generic_option_elem",
1597 "generic_option_elem", "generic_option_name", "generic_option_arg",
1598 "CreateForeignServerStmt", "opt_type", "foreign_server_version",
1599 "opt_foreign_server_version", "AlterForeignServerStmt",
1600 "CreateForeignTableStmt", "AlterForeignTableStmt",
1601 "ImportForeignSchemaStmt", "import_qualification_type",
1602 "import_qualification", "CreateUserMappingStmt", "auth_ident",
1603 "DropUserMappingStmt", "AlterUserMappingStmt", "CreatePolicyStmt",
1604 "AlterPolicyStmt", "RowSecurityOptionalExpr",
1605 "RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole",
1606 "RowSecurityOptionalToRole", "RowSecurityDefaultPermissive",
1607 "RowSecurityDefaultForCmd", "row_security_cmd", "CreateAmStmt",
1608 "am_type", "CreateTrigStmt", "TriggerActionTime", "TriggerEvents",
1609 "TriggerOneEvent", "TriggerReferencing", "TriggerTransitions",
1610 "TriggerTransition", "TransitionOldOrNew", "TransitionRowOrTable",
1611 "TransitionRelName", "TriggerForSpec", "TriggerForOptEach",
1612 "TriggerForType", "TriggerWhen", "FUNCTION_or_PROCEDURE",
1613 "TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable",
1614 "ConstraintAttributeSpec", "ConstraintAttributeElem",
1615 "CreateEventTrigStmt", "event_trigger_when_list",
1616 "event_trigger_when_item", "event_trigger_value_list",
1617 "AlterEventTrigStmt", "enable_trigger", "CreateAssertionStmt",
1618 "DefineStmt", "definition", "def_list", "def_elem", "def_arg",
1619 "old_aggr_definition", "old_aggr_list", "old_aggr_elem",
1620 "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
1621 "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
1622 "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
1623 "opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
1624 "opclass_drop_list", "opclass_drop", "DropOpClassStmt",
1625 "DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
1626 "drop_type_any_name", "drop_type_name", "drop_type_name_on_any_name",
1627 "any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt",
1628 "opt_restart_seqs", "CommentStmt", "comment_type_any_name",
1629 "comment_type_name", "comment_text", "SecLabelStmt", "opt_provider",
1630 "security_label_type_any_name", "security_label_type_name",
1631 "security_label", "FetchStmt", "fetch_args", "from_in", "opt_from_in",
1632 "GrantStmt", "RevokeStmt", "privileges", "privilege_list", "privilege",
1633 "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
1634 "GrantRoleStmt", "RevokeRoleStmt", "opt_grant_admin_option",
1635 "opt_granted_by", "AlterDefaultPrivilegesStmt", "DefACLOptionList",
1636 "DefACLOption", "DefACLAction", "defacl_privilege_target", "IndexStmt",
1637 "opt_unique", "opt_concurrently", "opt_index_name",
1638 "access_method_clause", "index_params", "index_elem", "opt_include",
1639 "index_including_params", "opt_collate", "opt_class", "opt_asc_desc",
1640 "opt_nulls_order", "CreateFunctionStmt", "opt_or_replace", "func_args",
1641 "func_args_list", "function_with_argtypes_list",
1642 "function_with_argtypes", "func_args_with_defaults",
1643 "func_args_with_defaults_list", "func_arg", "arg_class", "param_name",
1644 "func_return", "func_type", "func_arg_with_default", "aggr_arg",
1645 "aggr_args", "aggr_args_list", "aggregate_with_argtypes",
1646 "aggregate_with_argtypes_list", "createfunc_opt_list",
1647 "common_func_opt_item", "createfunc_opt_item", "func_as",
1648 "transform_type_list", "opt_definition", "table_func_column",
1649 "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
1650 "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
1651 "oper_argtypes", "any_operator", "operator_with_argtypes_list",
1652 "operator_with_argtypes", "DoStmt", "dostmt_opt_list", "dostmt_opt_item",
1653 "CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists",
1654 "CreateTransformStmt", "transform_element_list", "DropTransformStmt",
1655 "ReindexStmt", "reindex_target_type", "reindex_target_multitable",
1656 "reindex_option_list", "reindex_option_elem", "AlterTblSpcStmt",
1657 "RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt",
1658 "AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list",
1659 "operator_def_elem", "operator_def_arg", "AlterOwnerStmt",
1660 "CreatePublicationStmt", "opt_publication_for_tables",
1661 "publication_for_tables", "AlterPublicationStmt",
1662 "CreateSubscriptionStmt", "publication_name_list",
1663 "publication_name_item", "AlterSubscriptionStmt", "DropSubscriptionStmt",
1664 "RuleStmt", "RuleActionList", "RuleActionMulti", "RuleActionStmt",
1665 "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
1666 "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
1667 "opt_transaction", "transaction_mode_item", "transaction_mode_list",
1668 "transaction_mode_list_or_empty", "opt_transaction_chain", "ViewStmt",
1669 "opt_check_option", "LoadStmt", "CreatedbStmt", "createdb_opt_list",
1670 "createdb_opt_items", "createdb_opt_item", "createdb_opt_name",
1671 "opt_equal", "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
1672 "AlterCollationStmt", "AlterSystemStmt", "CreateDomainStmt",
1673 "AlterDomainStmt", "opt_as", "AlterTSDictionaryStmt",
1674 "AlterTSConfigurationStmt", "any_with", "CreateConversionStmt",
1675 "ClusterStmt", "cluster_index_specification", "VacuumStmt",
1676 "AnalyzeStmt", "vac_analyze_option_list", "analyze_keyword",
1677 "vac_analyze_option_elem", "vac_analyze_option_name",
1678 "vac_analyze_option_arg", "opt_analyze", "opt_verbose", "opt_full",
1679 "opt_freeze", "opt_name_list", "vacuum_relation", "vacuum_relation_list",
1680 "opt_vacuum_relation_list", "ExplainStmt", "ExplainableStmt",
1681 "explain_option_list", "explain_option_elem", "explain_option_name",
1682 "explain_option_arg", "PrepareStmt", "prep_type_clause",
1683 "PreparableStmt", "ExecuteStmt", "execute_param_clause",
1684 "DeallocateStmt", "InsertStmt", "insert_target", "insert_rest",
1685 "override_kind", "insert_column_list", "insert_column_item",
1686 "opt_on_conflict", "opt_conf_expr", "returning_clause", "DeleteStmt",
1687 "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait",
1688 "opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause",
1689 "set_target", "set_target_list", "DeclareCursorStmt", "cursor_name",
1690 "cursor_options", "opt_hold", "SelectStmt", "select_with_parens",
1691 "select_no_parens", "select_clause", "simple_select", "with_clause",
1692 "cte_list", "common_table_expr", "opt_materialized", "opt_with_clause",
1693 "into_clause", "OptTempTableName", "opt_table", "all_or_distinct",
1694 "distinct_clause", "opt_all_clause", "opt_sort_clause", "sort_clause",
1695 "sortby_list", "sortby", "select_limit", "opt_select_limit",
1696 "limit_clause", "offset_clause", "select_limit_value",
1697 "select_offset_value", "select_fetch_first_value", "I_or_F_const",
1698 "row_or_rows", "first_or_next", "group_clause", "group_by_list",
1699 "group_by_item", "empty_grouping_set", "rollup_clause", "cube_clause",
1700 "grouping_sets_clause", "having_clause", "for_locking_clause",
1701 "opt_for_locking_clause", "for_locking_items", "for_locking_item",
1702 "for_locking_strength", "locked_rels_list", "values_clause",
1703 "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
1704 "opt_alias_clause", "func_alias_clause", "join_type", "join_outer",
1705 "join_qual", "relation_expr", "relation_expr_list",
1706 "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
1707 "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
1708 "opt_ordinality", "where_clause", "where_or_current_clause",
1709 "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
1710 "xmltable", "xmltable_column_list", "xmltable_column_el",
1711 "xmltable_column_option_list", "xmltable_column_option_el",
1712 "xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds",
1713 "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
1714 "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
1715 "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
1716 "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
1717 "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
1718 "a_expr", "b_expr", "c_expr", "func_application", "func_expr",
1719 "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
1720 "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
1721 "xml_attribute_el", "document_or_content", "xml_whitespace_option",
1722 "xmlexists_argument", "xml_passing_mech", "within_group_clause",
1723 "filter_clause", "window_clause", "window_definition_list",
1724 "window_definition", "over_clause", "window_specification",
1725 "opt_existing_window_name", "opt_partition_clause", "opt_frame_clause",
1726 "frame_extent", "frame_bound", "opt_window_exclusion_clause", "row",
1727 "explicit_row", "implicit_row", "sub_type", "all_Op", "MathOp",
1728 "qual_Op", "qual_all_Op", "subquery_Op", "expr_list", "func_arg_list",
1729 "func_arg_expr", "type_list", "array_expr", "array_expr_list",
1730 "extract_list", "extract_arg", "overlay_list", "overlay_placing",
1731 "position_list", "substr_list", "substr_from", "substr_for", "trim_list",
1732 "in_expr", "case_expr", "when_clause_list", "when_clause",
1733 "case_default", "case_arg", "columnref", "indirection_el",
1734 "opt_slice_bound", "indirection", "opt_indirection", "opt_asymmetric",
1735 "opt_target_list", "target_list", "target_el", "qualified_name_list",
1736 "qualified_name", "name_list", "name", "database_name", "access_method",
1737 "attr_name", "index_name", "file_name", "func_name", "AexprConst",
1738 "Iconst", "Sconst", "SignedIconst", "RoleId", "RoleSpec", "role_list",
1739 "ColId", "type_function_name", "NonReservedWord", "ColLabel",
1740 "unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
1741 "reserved_keyword", YY_NULLPTR
1742};
1743#endif
1744
1745# ifdef YYPRINT
1746/* YYTOKNUM[NUM] -- (External) token number corresponding to the
1747 (internal) symbol number NUM (which must be that of a token). */
1748static const yytype_uint16 yytoknum[] =
1749{
1750 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1751 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1752 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1753 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1754 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1755 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1756 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1757 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1758 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1759 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1760 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1761 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1762 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1763 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1764 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1765 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1766 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1767 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1768 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1769 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1770 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1771 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1772 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1773 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
1774 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
1775 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
1776 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
1777 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
1778 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1779 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1780 555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
1781 565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
1782 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
1783 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
1784 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
1785 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
1786 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
1787 625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
1788 635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
1789 645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
1790 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
1791 665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
1792 675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
1793 685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
1794 695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
1795 705, 706, 707, 708, 709, 710, 711, 712, 713, 714,
1796 715, 716, 717, 60, 62, 61, 718, 43, 45, 42,
1797 47, 37, 94, 719, 91, 93, 40, 41, 46, 59,
1798 44, 58
1799};
1800# endif
1801
1802#define YYPACT_NINF -4879
1803
1804#define yypact_value_is_default(Yystate) \
1805 (!!((Yystate) == (-4879)))
1806
1807#define YYTABLE_NINF -2631
1808
1809#define yytable_value_is_error(Yytable_value) \
1810 (!!((Yytable_value) == (-2631)))
1811
1812 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1813 STATE-NUM. */
1814static const int yypact[] =
1815{
1816 5549, 45, 15180, -4879, -4879, 45, 62970, -4879, 70739, 542,
1817 746, 80, 194, 14038, 71196, 78508, 761, 330, 14376, 45,
1818 78508, 2227, 54287, 67997, 914, 78508, 1288, 985, 54287, 78508,
1819 78965, 1104, 1236, 234, 79422, 71653, 66626, 90, 78508, 1386,
1820 1010, 79879, 72110, 1261, 72567, 985, 50659, 148, 1219, 80336,
1821 78508, 1790, 1707, 1244, -4879, -4879, -4879, -4879, -4879, -4879,
1822 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1823 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1824 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1825 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1826 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1827 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1828 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1829 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1830 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1831 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1832 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 19, -4879,
1833 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 2207,
1834 -4879, 1179, 2370, 1501, 769, 1341, -4879, -4879, 1825, 62970,
1835 78508, 78508, 78508, 1597, 78508, 1502, 78508, 212, 62970, 58857,
1836 73024, 1650, 1517, 46997, 80793, -4879, 62970, 78508, 57029, 62970,
1837 78508, 78508, 81250, 78508, 78508, 78508, 663, 69368, 78508, 1586,
1838 78508, 78508, 57486, 81707, 1742, 1538, 241, -4879, -4879, -4879,
1839 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1840 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1841 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1842 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1843 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1844 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1845 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1846 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1847 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1848 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1849 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1850 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1851 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1852 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1853 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1854 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1855 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1856 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1857 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1858 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1859 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1860 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1861 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1862 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1863 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1864 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1865 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1866 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1867 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1868 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1869 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1870 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1871 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1872 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1873 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1874 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1875 -4879, -4879, -4879, 1539, 1015, -4879, 245, -4879, -4879, -4879,
1876 -4879, -4879, -4879, -4879, -4879, -4879, 78508, 13355, 1288, 1825,
1877 -4879, 1790, 78508, 1831, 78508, 1619, 82164, 1714, 78508, -4879,
1878 78508, 1736, 82621, 218, 1613, 58857, 1810, 47455, 1819, 78508,
1879 78508, 58857, 83078, 83535, 83992, 78508, 78508, -4879, -4879, 1813,
1880 78508, 78508, -4879, 1939, 59314, 1486, 1986, 2159, 2040, 658,
1881 -4879, 73481, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1882 62056, 330, -4879, -4879, 2015, 63427, 2082, -4879, -4879, 84449,
1883 100831, 1865, -4879, 810, 63884, 59771, 2202, 1866, 47913, 2233,
1884 -4879, 64341, -4879, 60228, 64798, -4879, -4879, -4879, -4879, -4879,
1885 84906, -4879, 85363, 1958, 2082, -4879,101274, 60685, -4879, 2100,
1886 85820, 86277, 86734, 1825, 1843, 1388, 981, 42851, -4879, -4879,
1887 -4879, 542, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1888 252, 1523, 273, 207, 275, -4879, -4879, 223, 224, 236,
1889 252, 2315, 2315, -4879, 78508, -4879, -4879, 1523, 88, 1869,
1890 1869, 1869, 2087, 1051, -4879, 1869, 2008, -4879, -4879, -4879,
1891 -4879, 72567, -4879, 1883, 1288, 1901, 2335, 1984, -4879, -4879,
1892 -4879, -4879, -4879, 1980, 2347, 2347, 78508, -4879, -4879, 2392,
1893 2004, 2278, 1997, -4879, -4879, -4879, 2197, 2231, 2230, 178,
1894 1288, 260, -4879, 2356, -4879, 2274, 29740, 29740, 1288, 73938,
1895 87191, 235, 62056, 1288, 74395, 2061, 1400, 2283, -4879, -4879,
1896 -4879, 711, -4879, 2507, 2101, 2362, 1997, 1538, 44230, -4879,
1897 2098, 1015, 72567, -4879, -4879, -4879, 61142, 2420, 31636, 78508,
1898 2120, -4879, 2133, 2120, 2146, 2156, 1501, -4879, 5549, 61142,
1899 78508, 1424, 1424, 2585, 1424, 1943, 1993, -4879, 2403, -4879,
1900 2480, 2441, 72567, 2178, 306, -4879, 1267, 2183, 1359, 2190,
1901 1316, 1412, -4879, -4879, 805, 78508, 304, 2238, 74852, 6714,
1902 2198, 1015, 2244, -4879, -4879, -4879, 2401, 385, -4879, -4879,
1903 -4879, -4879, 2497, 2550, 2931, 340, 75309, -4879, -4879, -4879,
1904 -4879, 78508, 78508, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1905 -4879, -4879, 2271, 709, -4879, -4879, 2270, 2615, 2514, 6733,
1906 1195, 2600, 2470, 1460, 8014, 2535, 1511, 2670, 8270, 1525,
1907 1334, 1336, 75766, 78508, 2625, 2672, 7454, 1888, 1008, 2555,
1908 1082, 2600, 2688, 2505, 1460, 2701, 8450, 78508, -4879, 2643,
1909 2758, 109, -4879, 163, -4879, 24611, 31636, 50202, -4879, 1015,
1910 2453, 2617, 809, 2645, 62970, 2416, -4879, -4879, 78508, -4879,
1911 -4879,101717, 2492, -4879, 813, 62970, -4879, 2644, 2481, 48371,
1912 78508, 62970, -4879, -4879, 62970, 78508, -4879, -4879, -4879, -4879,
1913 -4879, -4879, -4879, 2575, 2798, 78508,101717, -4879, 2745, 78508,
1914 78508, -4879, -4879, 2490, -4879, -4879, -4879, -4879, 1869, 78508,
1915 2907,101717, 2724, 146, 78508, 1367, 2963, 78508, 2748, 1367,
1916 2564, 87648, -4879, -4879, 1367, -4879, -4879, -4879, 78508, 78508,
1917 2540, 1692, 2761, 2878, 1367, 2778, 2994, 2995, 2785, 2633,
1918 2788, 2133, 2960, 2760, 1078, 1200, 177, 1745, 1367, 2614,
1919 88105, 88562, 78508, 2621, 78508, 2347, 62970, 62970, 62970, 78508,
1920 2889, -4879, 2752, -4879, -4879, 1229, -4879, -4879, -4879, -4879,
1921 -4879, 2903, -4879, 169, 2914, 2587, 2921, -4879, -4879, -4879,
1922 2639, -4879, 2639, 2639, 2593, 2593, 2774, 2599, 2930, -4879,
1923 -4879, -4879, 405, 2639, 2593, -4879,102603, -4879, 1664, 1719,
1924 -4879, 270, -4879, 3045, -4879, -4879, -4879, -4879, -4879, -4879,
1925 -4879, -4879, 2604, -4879, 1027, 1759, -4879, -4879, 2638, -4879,
1926 2938, 286, -4879, 2939, -4879, 2607, 89019, -4879, 89476, 89933,
1927 2942, 315, -4879, 58857, 2943, 286, 2945, 2607, 2946, 286,
1928 2947, 263, 2949, -4879, 1220, 2944, 2950, 270, 2954, 1820,
1929 2607, 62513, 2959, 321, -4879, 2962, 433, -4879, 2964, 2837,
1930 -4879, 31636, -4879, 2728, -4879, 1219, -4879, 1536, -4879, 53373,
1931 -4879, 981, 1523, -4879, 78508, 1523, 78508, 1523, 78508, 1523,
1932 78508, 1523, 78508, 78508, 78508, 1523, -4879, -4879, -4879, 78508,
1933 2651, 78508, 78508, -4879, -4879, -4879, 68454, 58857, 68911, -4879,
1934 78508, -4879, 415, 1288, -4879, -4879,101717, 3085, 58857, 2347,
1935 -4879, 1690, -4879, -4879, 78508, 78508, -4879, -4879, -4879, 2900,
1936 78508, 2970, 2971, 68454, 58857, -4879, 90390, -4879, 62056, 2861,
1937 2656, -4879, -4879, -4879, -4879, -4879, 1907, 3128, 204, 3129,
1938 31636, 2659, 204, 204, 2660, 2983, -4879, -4879, -4879, 282,
1939 2671, 2673, -4879, 255, 255, -4879, 2674, 2675, -4879, 261,
1940 2677, 2681, 3137, 3141, 271, 2689, 2690, 2692, 405, 204,
1941 31636, -4879, 2693, 255, 2696, 2698, 2704, 3162, 2705, -4879,
1942 3172, 2706, 220, 324, 2708, 2710, -4879, 2674, -4879, 292,
1943 2711, 2712, 2713, 2715, 2716, 2721, 2722, 2725, 31636, 31636,
1944 31636, -4879, 28318, 1015, 1288, -4879, -4879, -4879, -4879, -4879,
1945 -4879, -4879, -4879, 297, 4670, -4879, 2762, -4879, -4879, 2919,
1946 -4879, -4879, 31636, -4879, -4879, 106, -4879, 299, -4879, -4879,
1947 -4879, 1015, 2999, 2729, -4879, -4879, 1443, 2730, -4879, 1882,
1948 -4879, -4879, -4879, -4879, -4879, -4879, 61599, 3173, -4879, 329,
1949 1288, 163, 369, 3117, 52459, 52916, -4879, -4879, 2990, -4879,
1950 78508, -4879, -4879, 1015, 187, 1705, -4879, -4879, 53373, -4879,
1951 -4879, 542, 12775, 1867, 2120, 78508, 78508, 3180, -4879, -4879,
1952 -4879, 1894, -4879, 2741, -4879, 2133, -4879, -4879, 1501, 1501,
1953 31636, 1501, 1321, 1190, 30214, 32110, 3064, 2957, 826, 1346,
1954 3066, -4879, 2965, 1943, 1993, 72567, 78508, 90847, 2872, 31636,
1955 -4879, 3170, 2836, 2839, 2895, 51573, -4879, 2842, 2811, 2847,
1956 2902, 55201, 2768, 2852, 2853, 2908, -4879, 3027, -4879, -4879,
1957 2856, 2858, 91304, -4879, -4879, 842, -4879, -4879, -4879, 842,
1958 -4879, 2799, 1282, 983, 1344, 2866, 332, 240, 3181, -4879,
1959 1132, -4879, -4879, 2923, -4879, 8026, 78508, 3121, 9588, 3000,
1960 340, 3001, 2920, -4879, -4879, 3052, 2876, 78508, 2877, 3019,
1961 340, 302, 91761, -4879, -4879, 78508, -4879, -4879, -4879, -4879,
1962 3313, 27431, -4879, 1925, 2882, 2862, 2892, 78508, 65712, 1976,
1963 2993, 3014, 3016, 1409, 2090, 559, 2952, 78508, 293, 3022,
1964 78508, 2813, 2896, 2897, 3112, 2821, 678, 3218, 2823, -4879,
1965 -4879, -4879, -4879, 2194, 2204, 3020, -4879, 3119, 3158, 9232,
1966 2888, 2894, 99502, -4879, 2915, 42, 48829, 78508, 78508, 3047,
1967 2922, 2926, 92218, 3313, 2932, 2940, 2933, 2935, 37, 3223,
1968 1331, 2936, -4879, -4879, -4879, 1331, 3065, 2951, 2953, 92675,
1969 3313, 78508, 2955, 2958, 78508,102603, 340, -4879, 3282, 340,
1970 340, 1776, 3287, 2966, 209, 3102, 2210, 1367, 2823, 2820,
1971 -4879, 2967, 2969, 314, -4879, 3076, 2974, 2975, 3008, 1288,
1972 -4879, -4879, 2976, 3048, 2977, 666, -4879, -4879, 31, 2972,
1973 72567, 3068, 3070, 356, 2219, 2823, -4879, 2978, 2980, 2821,
1974 2821, 78508, 78508, 78508, 78508, 78508, 331, 3319, 3320, 2981,
1975 265, 3024, 2899, -4879, 1331, 57943, 2984, -4879, 1331, 78508,
1976 2992, 2329, 2823, 1627, 1313, -4879, -4879, -4879, 1538, -4879,
1977 31636, 31636, 31636, 2891, -4879, 1973, 12775, 667, -4879, 301,
1978 11074, 2909, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1979 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1980 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1981 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1982 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1983 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1984 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1985 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
1986 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 78508, -4879,
1987 78508, -4879, 3184,101717, 3125, 3186, -4879, 2956, -4879, 3187,
1988 340, -4879, 78508, 78508, 3188, 3131, 3192, 3193, 3136, 1223,
1989 101717, 3139, 3200, -4879, 3201, 3202, 3017, 174, 3010, 2961,
1990 3380, 3272, 78508, 55201, -4879, 3396, 842, -4879,101717, 3152,
1991 3276, -4879, 78508, 3174, 804, -4879, 3315, 3011, -4879, -4879,
1992 698, 78508, 289, 2997, -4879, -4879, 3286, 58857, 1353, 3288,
1993 1288, 3002, 3292, 3175, 1288, 58857, 3208, 78508, 78508, 78508,
1994 78508, -4879, -4879, 3177, 191, 717, -4879, 57943, 3189, -4879,
1995 78508, 3195, 2820, 3196, 3417, 78, 1869, 93132, 3296, 93589,
1996 2985, 2987, 2987, 3421,101717, 3242, -4879, 1923, -4879, 3114,
1997 -4879, 62970, -4879, -4879, 62970, -4879, -4879,101717, 78508, -4879,
1998 2988, -4879, -4879, 31636, -4879, -4879, -4879, 2315, -4879,101717,
1999 2639, 2639, -4879, -4879, 3431, 3072, 3074, 2315, -4879, 2315,
2000 -4879,101717, -4879, 2996, 3007, 2315, 3077, 3078, 3095, -4879,
2001 3018, 3096, 2315, -4879, -4879, 1924, -4879, -4879, 62970, 62970,
2002 -4879, 58857, 58857, 3327, 321, 3352, 3079, 3354, 3081, 48829,
2003 48829, -4879, 443, 62970, -4879, 58857, 62970, -4879, 78508, -4879,
2004 78508, -4879, -4879, -4879, -4879,101717,101717, -4879, 58857, 57943,
2005 3356, 3357, 263, 78508, 78508, -4879, 78508, 78508, -4879, 78508,
2006 78508, 1896, 94046, 981, 61142, -4879, -4879, -4879, -4879, -4879,
2007 -4879, -4879, -4879, 78508, -4879, 78508, -4879, 78508, -4879, 78508,
2008 -4879, 78508, -4879, -4879, -4879, 78508, -4879, 78508, 1912, -4879,
2009 -4879, 1946, 1452, 78508, 78508, 226, 62970, 78508, 3241, 62970,
2010 62970, 78508, 78508, 78508, 78508, 78508, 3109, 2730, 1402, -4879,
2011 296, 872, 72567, 3252, -4879, -4879, 1948, 1790, 1114, 78508,
2012 1442, 1980, -4879, -4879, -4879, -4879, 68911, 67997, 3348, 151,
2013 78508, -4879, -4879, 5942, 31636, 1015, 29266, -4879, -4879, 12775,
2014 3080, 31636, 31636, 3038, 2315, 2315, -4879, 943, 31636, 31636,
2015 31636, 2315, 2315, 5738, 31636, 48829, 31636, 36850, 25561, 31636,
2016 31636, 28792, -4879, 31636, 3271, 38260, 31636, 369, 3273, 31636,
2017 369, 5738, 3506, 3506, 2092, 4758, 3040, 1015, -4879, 2315,
2018 1039, -4879, 432,101717, 31636, 31636, 31636, 31636, 55201, 3127,
2019 325, 78508, 31636, 3049, 2242, -4879, 31636, -4879, 3053, 31636,
2020 3126, 931, 31636, 31636, 31636, 31636, 31636, 31636, 31636, 31636,
2021 31636, -4879, 39637, 455, 3358, 3377, 58, 410, 76223, 29740,
2022 3369, 24611, -4879, 217, 3369, -4879, -4879, -4879, 78508, 3173,
2023 -4879, -4879, 3135, -4879, -4879, -4879, -4879, -4879, 309, -4879,
2024 -4879, -4879, -4879, -4879, -4879, -4879, 3056, -4879, -4879, -4879,
2025 -4879, 3056, -4879, 3060, 3360, 3361, 263, 78508, 61142, -4879,
2026 -4879, -4879, 2161, -4879, 31636, -4879, 1954, 1677, 78508, 78508,
2027 -4879, 3337, -4879, 3067, -4879, 11112, 3337, -4879, -4879, 37318,
2028 3190, 3332, 3281, -4879, -4879, -4879, 3073, 12775, 32584, 32584,
2029 -4879, 1989, 12775, 2056, -4879, -4879, -4879, -4879, -4879, -4879,
2030 739, -4879, 78508, 1067, 3064, 1346, 3134, 799, 3511, 78508,
2031 -4879, 44689, 1963, -4879, 58857, 78508, 78508, 3277, -4879, 3503,
2032 -4879,102603, -4879, 3084, -4879,102160, 98159, -4879, -4879, 634,
2033 -4879, 934, 58857, -4879, 78508, 78508, -4879, 55201, 58857, 78508,
2034 78508, -4879, 58857, 78508, 78508, -4879, -4879, -4879, -4879, -4879,
2035 53830, 85, 67997, 3219, 67083, -4879, -4879, 3089, 78508, 3156,
2036 3364, 3365, 25, -4879, -4879, 94503, -4879, 3322, 58857, 78508,
2037 78508, 31636, 3323, 78508, 78508, -4879, 541, 3182, 3191, -4879,
2038 78508, 3194, 3344, 62970, 3108, 78508, 78508,101717, 3183, 834,
2039 62970, 3154, 49287, 62970, 62970, 78508, 78508, 78508, 78508, 3243,
2040 3429,101717, 78508, 3379, 141, 72567, 250, 2386, 2823, 3333,
2041 -4879, 3450, 1215, -4879, 58857, -4879, 78508, 3334, -4879, -4879,
2042 -4879, 76680, 3558, 3237, -4879, -4879, -4879, 94960, -4879, -4879,
2043 -4879, 1970, -4879, 58857, 58857, 78508, 10134, 95417, 1333, 3350,
2044 -4879, -4879,101717, -4879, 78508, 77137, 78508, 78508, 3458, 3385,
2045 78508, 69825, 95874, 96331, 1418, 1420, 3389, 78508, 70282, 3390,
2046 -4879, 3280, 78508, -4879, -4879, 55658, 58857, 78508, 1122, 55201,
2047 -4879, -4879, 78508, -4879, 269, -4879, 78508, 4151, -4879, -4879,
2048 3224, 3227, 78508, 3351, 469, 2499, 2823, 78508, 78508, 3142,
2049 1978, 58857, 78508, 55201, -4879, 3355, 110, 3475, 58857, 78508,
2050 76680, -4879, 72567, 72567, 58857, 78508, 72567, -4879, 78508, 87191,
2051 -4879, 58857, 1056, -4879, 3477, 58857, 78508, 76680, -4879, 3304,
2052 58857, 78508, 12446, -4879, -4879, -4879, 340, -4879, -4879, -4879,
2053 -4879, -4879, 78508, 78508, 340, 78508, 78508, 340, 1379, -4879,
2054 58857, 78508, -4879, -4879, -4879, 58857, 78508, 78508, -4879, 58857,
2055 2997, 78508, 55201, -4879, 78508, 9351, 78508, 78508, 78508, 78508,
2056 78508, 78508, 58857, 78508, -4879, -4879, 1174, 92, 1156, 1484,
2057 800, 78508, 3447, 78508, 96788, 58857, 78508, 78508, 1288, 78508,
2058 1263, -4879, -4879, 3284, -4879, 58857, 1056, -4879, 11735, 78508,
2059 78508, 3233, 3236, 232, 3328, -4879, -4879, -4879, 700, 700,
2060 3366, -4879, 31636, 31636, 30688, 3168, -4879, -4879, 31636, -4879,
2061 -4879, -4879, 345, 3611, 97245, 345, -4879, 345, 3438, 3228,
2062 3229, 345, 78508, 345, 345, 78508, -4879, -4879, -4879, -4879,
2063 3436, 78508, 345, 345, 345, 3345, -4879, -4879, 3345, 760,
2064 31636,101717, 78508, -4879, 1991, -4879, 3197, 191, -4879, -4879,
2065 55201, 78508, 208, 958, 3513, 3399, 66169, 2166, 3502, 78508,
2066 3232, 78508, 3631, 3289, 72567, 2540, -4879, 2166, 78508, -4879,
2067 1477, 67997, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 78508,
2068 -4879, -4879, 3507, 78508, 31636, 3362, -4879, 1288, 2540, 2540,
2069 2540, 2540, -4879, -4879, -4879, -4879, 3404, 203, -4879, 3204,
2070 2540, 78508, 3324, 3526, 2166, 3207, 3527, -4879, 2820, 3530,
2071 1318, 78508, 3414, 66169, 3265, 3247, 3434, 3654, 1869, 1288,
2072 3437, 3423, -4879, 52016, -4879, 2540, 27874, 6877, 7081, 3424,
2073 3480, 62056, 3518, 3519, 3540, -4879, 169, -4879, 3664, -4879,
2074 31636, 2000, 3230, 270, -4879, -4879, 3231, 3007, 3250, 3251,
2075 3234, 3244, -4879, 2315, 229, 3245, 1057, 843, 3367, 2315,
2076 3470, 3246, -4879, 286, -4879, 2607, -4879, 78508, -4879, 78508,
2077 78508, 78508, 78508, 315, -4879, -4879, 286, 2607, 286, 263,
2078 -4879, 3509, 270, 2607, 3372, 3568, 62056, -4879, 321, -4879,
2079 433, -4879, 3459, 263, -4879, 3473, 1869, -4879, -4879, -4879,
2080 -4879, -4879, -4879, -4879, -4879, 2014, -4879, 78508, -4879, 3542,
2081 3544, 3545, 3546, 3547, 3255, 3256, 3294, 78508, 3258, 3255,
2082 340, 3258, 3258, 3255, 2730, 2730, 3255, 3256, 58400, 3716,
2083 3571, -4879, 3347, 3266, 3582, 221, -4879, 225, 122, 3504,
2084 -4879, -4879, -4879, -4879,101717, -4879, 58857, 3309, 2347, 2347,
2085 -4879, 349, 3481, 3269, 58400, 3698, 263, -4879, 62970, -4879,
2086 -4879,101717, 3353, 3368, 62970, 3489, 3326, 62970, -4879, -4879,
2087 62970, -4879, -4879, -4879, -4879, -4879,101717, -4879, 3539, 78508,
2088 78508, 2030, -4879, -4879, 1632, -4879, 1766, 31636, 195, -4879,
2089 11604, 2036, 31636, 3283, 3290, -4879, -4879, -4879, -4879, -4879,
2090 -4879, -4879, 3293, 3596, -4879, 2050, 2071, 2091, 3297, 3299,
2091 3408, 3300, 12069, 3301, 3285, 36850, 36850, 28318, 2523, -4879,
2092 36850, 3306, 3482, 2104, 11195, 3291, 3310, 12132, 31162, 31636,
2093 31162, 31162, 12546, 3291, 3311, 2112, 55201, 3476, 12618, 2113,
2094 -4879, 31636, 55201, 4251, 31636, -4879, 31636, 3314, -4879, -4879,
2095 3764, 3764, 3764, 5738, -4879, 3331, -4879, 36850, 36850, -4879,
2096 1405, 28318, -4879, -4879, 3602, -4879, -4879, 1429, -4879, 3317,
2097 -4879, -4879, 2647, 48829, 6328, 31636, 407, 31636, 3049, 31636,
2098 3376, 3764, 3764, 3764, 391, 391, 246, 246, 246, 431,
2099 410, -4879, -4879, -4879, 3318, 3321, 3325, 3515, 3329, 31636,
2100 -4879, 2020, 2096, 78508, 2740, 2968, 3768, -4879, -4879, -4879,
2101 40556, 3363, 667, 3363, -4879, 1538, 2315, 1039, 53373, -4879,
2102 -4879, -4879, -4879, -4879, -4879, -4879, 78508, 12775, -4879, -4879,
2103 3559, 3330, -4879, -4879, 31636, -4879, -4879, 1950, 3339, 84,
2104 3532, 2247, 2247, 1989, 3533, -4879, -4879, 3391, -4879, 31636,
2105 2169, -4879, 2277, -4879, -4879, -4879, -4879, 2730, -4879, 3574,
2106 -4879, -4879, -4879, 40556, 3374, 3382, 83, 43770, 3543, -4879,
2107 78508, -4879, 78508, 357, -4879, 3349, -4879, -4879, -4879, -4879,
2108 -4879, -4879, 98159, 1759, -4879,102160, -4879,102160, -4879, 1759,
2109 3760, -4879, 98159, 1835, -4879, -4879, -4879, -4879, -4879, -4879,
2110 -4879, -4879, -4879, -4879, -4879, -4879, -4879, 58857, 58857, 3548,
2111 78508, 3550, 3549, 31636, 1018, 78508, 3340, 3359, 1426, 3624,
2112 78508, -4879, 3674, 263, -4879, -4879, 3426, -4879, 12775, -4879,
2113 -4879, -4879, -4879, -4879, 58857, 78508, -4879, 62056, -4879, 78508,
2114 -4879,101717, -4879, -4879, -4879, 78508, 3381, 78508, -4879, 78508,
2115 78508, 78508, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 1295,
2116 101717, -4879, -4879, 78508, 78508, 747, 3428, 3430, 78508, -4879,
2117 833, 3076, 12129, 78508, 78508, 78508, 3627, 78508, -4879, -4879,
2118 -4879, -4879, 3570, -4879, -4879, 98159, -4879, 2607, 1091, 3435,
2119 2823, 3577, -4879, 3687, 3561, -4879, 3483, 1240, -4879, -4879,
2120 78508, 3490, -4879, -4879, -4879, -4879, 3691, 263, 3694, 263,
2121 78508, 78508, 78508, 78508, 3493, -4879, -4879, -4879, -4879, 3496,
2122 3623, -4879, 55201, 55201, 55201, 2117, -4879, -4879, 1288, -4879,
2123 -4879, -4879, -4879, -4879, -4879, 3657, -4879, 2119, -4879, 1350,
2124 -4879, -4879, -4879, -4879, -4879, 58857, 78508, 13277, 3701, 78508,
2125 78508, 78508, 1771, -4879, 1230,101717, -4879, 99945, -4879, -4879,
2126 2134, -4879, 3386, 78508, 3453, 58857, 3432, 78508, -4879, -4879,
2127 -4879, 3375, 3375, -4879, -4879, 3375, -4879, -4879, -4879, 3632,
2128 3565, -4879, 348, 3572, 58857, 3445, -4879, 78508, -4879, -4879,
2129 -4879, 3467, -4879, -4879, 3472, 2588, 2823, 2820, -4879, -4879,
2130 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
2131 -4879, -4879, -4879, 1471, -4879, -4879, 1149, 468, 2662, 2823,
2132 -4879, 341, -4879, 3484, -4879, 3486, -4879, -4879, -4879, 3639,
2133 3649, 3656, 3495, 3497, 3552, 3499, 3500, 3555, -4879, 3505,
2134 3557, 3508, 3564, 3618, 3514, 263,101717, 3647, 1288, 3554,
2135 3766, 263, -4879, 3516, -4879, 3517, -4879, 3875, -4879, 78508,
2136 -4879, 3531, 2723, 2823, -4879, -4879, 58857, 78508, -4879, -4879,
2137 -4879, 31636, 3446, 3456, 3457, 12775, 12775, 31636, -4879, -4879,
2138 12775, 3449, -4879, -4879, -4879,101717, 78508, 3718, -4879, -4879,
2139 345, 78508, 78508, -4879, 3729, -4879, -4879, 3730, 78508, 3732,
2140 -4879, -4879, -4879, -4879, 419, 419, -4879, -4879, 3767, 5513,
2141 3466, 411, -4879, 55201, 46069, 1995, 2128, 756, 1367, -4879,
2142 62056, 78508, 62056, -4879, 958, 3561, 78508, 78508, 78508, 3468,
2143 3469, -4879, -4879, -4879, -4879, 58857, 935, 58857, 2315, -4879,
2144 -4879, 3541, -4879, 78508, 1869, 3944, 3794, -4879, 3375, -4879,
2145 3910, 2995, 1353, 3629, 1765, 2633, 3851, 2133, 404, 55201,
2146 3247, -4879, -4879, -4879, -4879, 78508, 78508, 191, 1288, -4879,
2147 3485, 3478, -4879, 78508, 3802, 78508, 78508, 78508, 78508, 3309,
2148 3488, 78508, 3492,101717, 78508, 2273, 2821, 3926, 3819, 1790,
2149 3265, 3573, 3821, 72567, 3512, 2138, -4879, -4879, -4879, 2145,
2150 155, -4879, 1288, 62056, 99059, 3813, -4879, 7081, -4879, -4879,
2151 7081, 1004, 78508, 3797, -4879, -4879, 1790, -4879,101717, 2150,
2152 -4879, -4879, -4879, 2315, -4879, -4879, 1544, 1544, 3501, -4879,
2153 3510, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 3520, -4879,
2154 -4879, -4879, 321, 3563, 263, 3566, 263, -4879, -4879, -4879,
2155 -4879, 78508, -4879, 78508, 57943, 263, -4879, -4879, 78508, -4879,
2156 3828, -4879, -4879, 3635, 3636, 3641, 3644, 3648, 78508, 3255,
2157 -4879, 3524, 58857, 1592, -4879, -4879, 3720, -4879, -4879, 72567,
2158 3637, -4879, -4879, -4879, -4879, 3852, 3854, -4879, -4879, -4879,
2159 277, -4879, 78508, 78508, 58857, 68454, 480, 58857, -4879, 3785,
2160 3786, -4879, -4879, 3790, 340, -4879, 3798, 3799, 3800, -4879,
2161 3805, 3806, -4879, -4879, -4879, 3537, 12706, 31636, -4879, 3869,
2162 101717, -4879, 5592, -4879, -4879, -4879, 31636, -4879, -4879, -4879,
2163 -4879, -4879, 31636, -4879, 31636, 3853, -4879, 26036, 4009, 4009,
2164 3551,101717, 36850, 36850, 36850, 36850, 1437, 2696, 36850, 36850,
2165 36850, 36850, 36850, 36850, 36850, 36850, 36850, 37792, 571, -4879,
2166 3740, 31636, 31636, 3865, 3853, -4879,101717, 3553, 3291, 3556,
2167 3562, 31636, -4879, -4879, 2152, 38719, 3567, 55201, -4879, 31636,
2168 11416, 2154, 3594, 12935, 1015, 6034, 1288, 31636, 3850, 4354,
2169 31636, 2167, 31636, 3863, -4879, -4879, -4879, 3560, -4879, -4879,
2170 101717, 31636, 3569, 3781, 36850, 36850, 4374, -4879, 4877, 31636,
2171 28318, -4879, 3366, 3592, 45148, -4879, 26511, 3575, 985, 985,
2172 985, 985, -4879, 78508, 78508, 78508, 41015, 3877, 3581, 40096,
2173 77594, 3578, 2666, -4879, 77594, 78051, 77594, -4879, 3576, -4879,
2174 1015, 31636, 3860, 3585, 3860, 163, 3586, -4879, -4879, -4879,
2175 -4879, 1790, -4879, 3588, -4879, 3339, 1382, -4879, -4879, -4879,
2176 3771, -4879, -4879, -4879, -4879, 3578, 33058, 3717, -4879, -4879,
2177 -4879, 3625, 2172, -4879, -4879, 3966, 3717, -4879, -4879, 2187,
2178 44689, 3374, 31636, 1015, 2193, 1854, -4879, -4879, 98159, -4879,
2179 3659, 2607, 2607, 1749, 3255, 3893, 1749, 6256, -4879, -4879,
2180 41474, 78508, 78508, -4879, 78508, 2199, 1489, 78508, -4879, 78508,
2181 -4879, -4879, -4879, -4879, 4032, -4879, 78508, -4879, -4879, 3651,
2182 3655, 78508, 78508, 78508, 78508, 3857, -4879, -4879, 2190, -4879,
2183 -4879, 58857, 78508, -4879, -4879, -4879, 472, 2755, 2823, -4879,
2184 3672, -4879, -4879, -4879, 3881, -4879, 4023, 3693, 78508, 3936,
2185 78508, 3607, -4879, 1489, 3723, 3922, 1285, 2821, 209, 3652,
2186 -4879, 1180, -4879, -4879, 3683, -4879, -4879, 78508, -4879, 78508,
2187 -4879, -4879, -4879, -4879, -4879, -4879, -4879, 3751, -4879, -4879,
2188 -4879, -4879, 55658, -4879, -4879, 78508, -4879, 55201, 46069, 55201,
2189 -4879, 1251, 474, 2860, 2823, 78508, -4879, 3705, -4879, 3708,
2190 3709, 3769, 186, 806, 3710, 3713, 3770, 3634, 3638, 3640,
2191 -4879, 55201, 46539, 3793, 78508, 2607, 3642, 3680, -4879, 252,
2192 1288, -4879, -4879, 1288, 2607, 1288, -4879, 78508, 78508, 78508,
2193 55201, -4879, 4067, 3734, 78508, 78508, 78508, 78508, -4879, 3697,
2194 -4879, 78508, 78508, 3968, 887, 1847, 58857, 78508, 78508, 58857,
2195 78508, 78508, 78508, 78508, 78508, 78508, 3976, 78508, -4879, 4055,
2196 3984, 2041, 4026, 3728, 78508, -4879, 78508, 1288, 3076, 78508,
2197 78508, -4879, -4879, -4879, -4879, -4879, 3366, -4879, 3661, 3930,
2198 345, -4879, 3932, 3934, 345, 345, 3935, 345, -4879, -4879,
2199 1367, -4879, 470, 78508, -4879, 2328, 78508, -4879, -4879, -4879,
2200 3588, 2194, 2204, -4879, -4879, -4879, -4879, -4879, -4879, 78508,
2201 3673, 78508, 78508, 36850, -4879, 430, 1494, 1134, -4879, 3937,
2202 78508, 2997, -4879, -4879, -4879, 219, 78508, -4879, -4879, -4879,
2203 -4879, -4879, 862, 3488, -4879, 3954, 66169, 2607, 58857, 58857,
2204 2607, -4879,101717, 3675, 3247, -4879, 523, 3755, 58857, 1353,
2205 1607, 97702, 3002, 3711, 3886, 40556, 1471, -4879, 3676, 3839,
2206 -4879, 3681, 3679, -4879, -4879, 78508, 3561, 57943, 2203, 2820,
2207 4126, 99, 1843, -4879, 67540, 3873, 3488, 3954, -4879, 2821,
2208 3897, 3896, -4879, 1790, 78508, 3309, 3247, 1288, 78508, 3156,
2209 46069, -4879, 4163, -4879, 98159, 31636, 31636, -4879, 3688, -4879,
2210 3695, 7081, -4879, 3762, 3692, -4879, -4879, -4879, -4879, -4879,
2211 3778, 3700, 78508, -4879, 3690, -4879, 3703, -4879, -4879, -4879,
2212 -4879, -4879, -4879, 78508, -4879, 78508, -4879, 263, -4879, 3829,
2213 -4879, 263, 78508, 78508, 78508, 78508, 78508, 78508, 3255, 340,
2214 -4879, 4012, 58400, -4879, -4879, 2205, 78508, -4879, -4879, -4879,
2215 4080, -4879, -4879, 151, 4024, -4879, -4879, 923, 923, 923,
2216 3977, 923, 923, 923, 923, 923, -4879, 31636, 12775, -4879,
2217 3712, -4879, 12775, 6963, 12775, 3865, -4879, 2211, 31636, -4879,
2218 4002, 4002, 4002, 2691, 4025, -4879, 969, 3714, 4002, 4002,
2219 4002, 378, 378, 233, 233, 233, 4009, 571, 12775, 12775,
2220 -4879, -4879, 3715, -4879, -4879, -4879, 3291, -4879, 33532, 113,
2221 4141, 38260, -4879, -4879, -4879, 3758, 3759, 3721, -4879, 31636,
2222 34006, 3719,102603, 3919, -4879, 1752, 31636, 31636, 3248, -4879,
2223 13209, 31636,101717, 2213, 3248, 459, 31636, 4733, 5025, 31636,
2224 31636, 6553, 7287, 3725, 31636, 98602, -4879, -4879, -4879, 2220,
2225 31636, 78508, 78508, 78508, 78508, -4879, -4879, -4879, 77594, 78051,
2226 77594, 3727, 39178, 26971, 2666, 3733, 78508, -4879, -4879, 3735,
2227 40556, 3993, 3933, -4879, 40556, 3933, 1548, 3933, 3997, 3826,
2228 45607, -4879, -4879, 3741, -4879, 3940, -4879, 1925, 12775, 4165,
2229 4043, 1288, 4043, 1288, 3743, 48829, -4879, -4879, -4879, -4879,
2230 3958, 12775, 29740, -4879, 1790, 2103, 78508, 1015, 79, -4879,
2231 3761, 78508, -4879, 3717, 12775, -4879, 3818, 2245, -4879, -4879,
2232 -4879, -4879, -4879, -4879, -4879, 3833, 67997, 4074, -4879, 31636,
2233 2250, -4879, 3801, 4166, 342, 2251, 2257, 1489, -4879, 4051,
2234 -4879, 1541, 4050, 471, -4879, 263, -4879,101717, -4879, 78508,
2235 78508, -4879, -4879, -4879, -4879, 78508, 2768, -4879, -4879, 78508,
2236 78508, 78508, 78508, -4879, 58857, 78508, -4879, 78508, -4879, 55201,
2237 2128, 252, 430, 4063, 3995, -4879, 340, -4879, 430, 3996,
2238 252, 78508, -4879, -4879, 2208, -4879,101717, 263, 263, -4879,
2239 -4879, -4879, -4879, -4879, 3791, 4205, 3872, 78508, 78508, 78508,
2240 -4879, 78508, 58857, 78508, 78508, 2315, 2315,101717, 3783, -4879,
2241 2315, 2315, 3789, -4879, 58857, 78508, 78508, -4879, -4879, -4879,
2242 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 3864, -4879,
2243 31636, 4199, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
2244 -4879, 58857, 78508, 3874, -4879, 3879, -4879, 159, -4879, -4879,
2245 78508, 78508, 78508, 78508, 4124, -4879, -4879, -4879, -4879, -4879,
2246 -4879, -4879, -4879, -4879, -4879, 78508, -4879, 78508, -4879, -4879,
2247 1288, 1288,101717, 263, 263, -4879, -4879, -4879, -4879, 3795,
2248 4068, 345, -4879, 345, 345, -4879, -4879, 345, -4879, 3803,
2249 -4879, 1367, 4162, -4879, 1489, 1718, 4119, -4879, 4129, 31636,
2250 -4879, 1228, 2691, -4879, 4177, 4258, -4879, -4879, -4879, -4879,
2251 2997, 1869, 3876, -4879, -4879, 62970, 388, -4879, 4107, 208,
2252 4031, 66169, 341, 1624, 3823, 3947, -4879, 2607, 2607, 3882,
2253 78508, 4262, -4879, -4879, -4879, -4879, -4879, -4879, 58857, 3432,
2254 -4879, 4049, 119, 4144, 78508, 31636, 3578, -4879, 216, 4147,
2255 -4879, 1288, -4879, -4879, 3953, 3247, -4879, 1393, 78508, 4044,
2256 66169, 3309, 2258, -4879, -4879, -4879, 3868, 4256, 3265, -4879,
2257 341, 3873, -4879, -4879, 4233, 3928, 3885, 4291, -4879, 3928,
2258 4164, 4059, 3855, -4879, 3512, -4879, -4879, 12775, 12775, 1288,
2259 103046, 7081,101717, 4171, 78508, 782, 4134, 263, -4879, 263,
2260 263, -4879, 78508, -4879, 3255, 3255, 3255, 3255, 3255, -4879,
2261 4060, -4879, -4879, 4127, -4879, 263, 58400, -4879, -4879, -4879,
2262 -4879, -4879, 923, -4879, -4879, -4879, -4879, -4879, 12775, -4879,
2263 -4879, -4879, -4879, 7322, 36850, 4172, -4879, 3866,101717, -4879,
2264 3867, 2259, 2264, -4879, -4879, 113, -4879, 4141, -4879, -4879,
2265 -4879, 7551, 3911, 12775, 3970, 3870, 3871, 3248, 3248, 13209,
2266 2266, -4879, 3248, 31636, 31636, 3248, 3248, 31636, -4879, -4879,
2267 8101, 4052, -4879, -4879, 8700, -4879, -4879, -4879, -4879, -4879,
2268 -4879, -4879, 56115, 3878, 3476, 77594, 3880, 78508, 2666, 40556,
2269 -4879, -4879, 2182, -4879, 40556, 4128, -4879, 40556, 62970, -4879,
2270 78508, 3883, 78508, -4879, 34480, 31636, 3907, -4879, 3907, -4879,
2271 -4879, 3884, 78508, 2729, -4879, 83, -4879, -4879, 4266, 41474,
2272 4219, 31636, -4879, -4879, -4879, -4879, 58400, 4082, 58400, 1489,
2273 8993, 4051, 41474, 49745, 78508, 78508, 78508, 4035, 4051, 3887,
2274 2997, -4879, -4879, -4879, -4879, -4879, -4879, 3889, -4879, -4879,
2275 -4879, -4879, 3956, -4879, -4879, 600, 3252, -4879, 2275, -4879,
2276 -4879, 4322, 4212, -4879, -4879, -4879, -4879, -4879, -4879, 4055,
2277 -4879, -4879, 46069, 58857, 78508, -4879, 3963, -4879, -4879, -4879,
2278 -4879, -4879, 43311, 48829, -4879, 186, 3891, 3898, 806, -4879,
2279 -4879, -4879, 78508, 9656, 3899, 749, 3252, 78508, 78508, 3900,
2280 3901, 3902, 1667, 629, 1675, 3255, 4214, -4879, -4879, -4879,
2281 -4879, 4055, -4879, -4879, -4879, 345, -4879, -4879, -4879, -4879,
2282 55201, -4879, 2048, 3803, 1288, 62970, 4345, 4345, 78508, -4879,
2283 9774, 4122, -4879, -4879, 421, 3876, 4148, 4192, -4879, 3912,
2284 78508, 219, 3913, 78508, 3914, 4034, 1324, 1324, 78508, 78508,
2285 78508, 2276, 1790, 2607, 3680, 1353, 4244, 66169, 4288, 3561,
2286 409, -4879, -4879, 216, -4879, 1500, 4263, 3961, -4879, 78508,
2287 4362, 78508, 3309, 3488, 78508, 3921, -4879, -4879, 67540, 4131,
2288 2128,103489, 2273, 3873, 3265, 264, 78508, -4879, 901, -4879,
2289 1790, -4879, 78508, 72567, 41474, -4879,102160, -4879, 2280, -4879,
2290 -4879, 3994, 3363, 4033, 4039, 3925, 78508, 811, -4879, -4879,
2291 -4879, -4879, -4879, 78508, -4879, 480, -4879, -4879, 2874, 36850,
2292 101717, 2304, 31636, -4879, 31636, -4879, -4879, -4879, -4879, 662,
2293 -4879, -4879, -4879, 3248, 3248, 3248, -4879, 4355, 3366, -4879,
2294 -4879, 2308, 4372, 35902, 4335, -4879, 78508, 2320, -4879, 31636,
2295 3942, -4879, -4879, 40556, 2182, 3943, 2321, 78508, 2326,101717,
2296 3946, 43, 3949, 25086, 3931, -4879, -4879, -4879, -4879, -4879,
2297 12775, 12775, 78508, -4879, -4879, -4879, -4879, 3988, 78508, 2337,
2298 -4879, 798, 12775, 1592, 1749, 480, 4166, 2997, -4879, 3951,
2299 -4879, -4879, -4879, 396, 396, 78508, 2997, 78508, 3876, -4879,
2300 78508, 4028, -4879, -4879, 55201, 4240, -4879, 4010, -4879, 909,
2301 3252, 78508,101717, -4879, 147, 4271, -4879,101717,101717, -4879,
2302 -4879, -4879, 31636, 4046, -4879, -4879, -4879, 31636, 31636, 65255,
2303 -4879, -4879, 78508, 78508, 78508, 78508, 78508, 263, -4879, 2346,
2304 -4879, 42392, -4879, -4879, 2963, 1288, 2963, 1583, -4879, -4879,
2305 2963, 2963, -4879, 3363, -4879, 4345, 338, -4879, -4879, -4879,
2306 1700, 4180, 3959, 31636, -4879, 853, 4170, 4053, 3967, -4879,
2307 62970, 4435, 3488, 3954, 78508, -4879, -4879, -4879, -4879, -4879,
2308 -4879, -4879, -4879, -4879, -4879, -4879, 2355, 3561, 4293, 3247,
2309 3885, -4879, 78508, 4000, -4879, 40556, -4879, -4879, -4879, 2963,
2310 -4879, 950, 3971, 4303, 3561, 1790, 1843, -4879, 3873, 3488,
2311 3954, -4879, -4879, -4879, 3973, -4879, 3896, 3265, 2273, 4110,
2312 -4879, 4111, -4879, 4386, 4181, 4388, 3309, -4879, 3156, 2359,
2313 -4879, 7081,103046,101717, 4328, 4017, 4018, -4879, -4879, 4038,
2314 78508, -4879, -4879, 3561, -4879, 2874, 2361, -4879, 2363, 2368,
2315 4054, -4879, 31636, 1052, 3576, 56115, 3982, -4879, 36850, 2373,
2316 -4879, 5650, 78508, 2384, -4879, 12775, 78508, -4879, -4879, 31636,
2317 -4879, 2390, -4879, 31636, 3983, 31636, -4879, 34480, 4001, -4879,
2318 4428, 1790, -4879, 3363, 41474, -4879, 4108, -4879, 4313, -4879,
2319 78508, 3876, 48829, 3339, 3339, 1869, 3876, 2400, -4879, -4879,
2320 78508, -4879, 3959, 31636, -4879, 4094, -4879, -4879, 2422, 1284,
2321 4173, 4173, 2431, 2440, 9961, 78508, 2442, 2446, -4879, 2448,
2322 2315, 3256, 1675, 3256, -4879, 3255, -4879, -4879, 55201, -4879,
2323 56572, -4879, -4879, -4879, 1288, -4879, 1288, 4225, 78508, 51116,
2324 1288, 1288, -4879, -4879, -4879, -4879, 4353, 4295, -4879, 2820,
2325 -4879, 10012, -4879, -4879, -4879, 193, -4879, 4220, 4221, 78508,
2326 -4879, 4016, -4879, 2450, 341, 4140, 3561, -4879, -4879, 78508,
2327 4459, 4460, -4879, 673, 78508, 3578, 78508, -4879, -4879, -4879,
2328 31636, 219, -4879, 3885, 3309, 3265, 341, 3873, 2128, 41933,
2329 3928, 2273, 3896, -4879, -4879, 4224, -4879, 4227, -4879, 4027,
2330 4312, 7081, -4879, -4879, 894, 4337, 4339, -4879, -4879, -4879,
2331 -4879, -4879, -4879, -4879, 3291, 34954, 34954, 34954, 4029, -4879,
2332 -4879, 78508, 2691, 4030, 35902, 55201, 2452, -4879,100388, -4879,
2333 2456, 2457, -4879, 2458, 34480, 2462, -4879, 78508, 4036, -4879,
2334 -4879, -4879, 44689, 58400, 396, 4069, 4037, -4879, -4879, 4148,
2335 -4879, -4879, 1489, 3252, -4879, 12775, 78508, 62970, 4456, -4879,
2336 -4879, -4879, -4879, -4879, -4879, -4879, 3252, 4118, -4879, -4879,
2337 65255, -4879, 78508, -4879, -4879, 2464, -4879, -4879, -4879, 78508,
2338 3676, -4879, 3676, -4879, -4879, 4178, -4879, 1920, 4142, 1029,
2339 1029, 4403, -4879, 4103, -4879, -4879, 4056, -4879, 4524, 4182,
2340 78508, -4879, -4879, 186, 1790, 66169, 3561, -4879, -4879, 10304,
2341 62970, -4879, -4879, 2273, 3873, 3265, 31636, 2466, -4879, 4166,
2342 342, -4879, 3896, 3928, -4879, -4879, 41474, 4061, 3247, -4879,
2343 -4879, 1829, 62970, 62970, 36376, 4191, 1176, 11738, 4398, -4879,
2344 4398, 4398, -4879, 2478, 38260, -4879, -4879, -4879, 78508, 4265,
2345 322, -4879, 4222, -4879, 2484, -4879, -4879, -4879, 11, 480,
2346 3339, 4071, -4879, -4879, 4170, 1489, -4879, 3252, -4879, 78508,
2347 -4879, 4072, -4879, -4879, -4879, 56572, 3676, 3961, -4879, -4879,
2348 -4879, 4522, -4879, 1165, -4879, -4879, -4879, -4879, 78508, 3561,
2349 3783, 3885, -4879, -4879, 4073, 3896, 3265, 2273, 10376, -4879,
2350 41933, 78508, 78508, 3928, -4879, 2489, 41474, 3928, -4879, 2845,
2351 -4879, -4879, -4879, -4879, -4879, -4879, -4879, 4064, 4065, 4518,
2352 -4879, -4879, -4879, -4879, -4879, 1126, -4879, -4879, -4879, -4879,
2353 3476, -4879, -4879, 36850, 36850, 4292, -4879, 322, -4879, 4076,
2354 -4879, -4879, -4879, -4879, -4879, 31636, 1489, -4879, -4879, -4879,
2355 31636, -4879, 4409, -4879, -4879, -4879, 3561, -4879, -4879, 54744,
2356 3928, 2273, 3896, 4166, -4879, -4879, -4879, -4879, 4312, -4879,
2357 2494, 3363, 1962, -4879, -4879, 2294, 2156, 4161, 4396, 35428,
2358 4223, -4879, 4283, -4879, 4489, 2691, 2691, -4879, -4879, 31636,
2359 10604, 1489, 2500, 219, -4879, -4879, 2502, -4879, -4879, -4879,
2360 -4879, -4879, 3896, 3928, 78508, 3247, -4879, 41474, -4879, -4879,
2361 2845, 4198, 4204, -4879, -4879, -4879, 78508, 10931, -4879, -4879,
2362 62970, -4879, 54744, 3928, -4879, -4879, 3928, -4879, -4879, 4133,
2363 4136, 2520, -4879, 4097, -4879, -4879, 3363, 4411, 4412, -4879,
2364 54744, -4879, 62970, 62970, 2554, -4879, -4879, -4879
2365};
2366
2367 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2368 Performed when YYTABLE does not specify something else to do. Zero
2369 means the default is an error. */
2370static const yytype_uint16 yydefact[] =
2371{
2372 1664, 1435, 618, 1516, 1515, 1435, 0, 254, 0, 1526,
2373 0, 1435, 411, 1112, 0, 0, 0, 0, 618, 1435,
2374 0, 1664, 0, 0, 0, 0, 0, 1677, 0, 0,
2375 0, 0, 0, 0, 0, 0, 0, 1435, 0, 0,
2376 1684, 0, 0, 0, 0, 1677, 0, 1528, 0, 0,
2377 0, 0, 0, 2, 4, 37, 72, 73, 31, 30,
2378 91, 55, 18, 63, 125, 124, 126, 42, 38, 80,
2379 26, 28, 39, 43, 65, 67, 45, 56, 103, 64,
2380 24, 62, 86, 68, 89, 50, 12, 13, 51, 14,
2381 52, 15, 53, 16, 99, 74, 92, 35, 61, 23,
2382 44, 70, 71, 5, 46, 78, 11, 57, 58, 60,
2383 83, 84, 85, 108, 87, 120, 41, 117, 96, 97,
2384 114, 98, 115, 9, 100, 54, 17, 111, 110, 112,
2385 81, 47, 82, 69, 90, 109, 27, 113, 19, 20,
2386 22, 21, 59, 29, 66, 32, 88, 116, 106, 102,
2387 121, 119, 127, 104, 75, 7, 8, 93, 6, 25,
2388 49, 10, 34, 33, 48, 40, 123, 36, 1526, 95,
2389 107, 94, 76, 101, 79, 105, 122, 77, 118, 1634,
2390 1633, 1686, 1637, 1663, 0, 1649, 1434, 1433, 1448, 0,
2391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2392 0, 0, 0, 0, 0, 617, 0, 0, 0, 0,
2393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2394 0, 0, 0, 0, 0, 1445, 2268, 2283, 2284, 2285,
2395 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295,
2396 2296, 2297, 2298, 2625, 2299, 2300, 2301, 2575, 2576, 2626,
2397 2577, 2578, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309,
2398 2579, 2580, 2310, 2311, 2312, 2313, 2314, 2581, 2627, 2315,
2399 2316, 2317, 2318, 2319, 2628, 2320, 2321, 2322, 2323, 2324,
2400 2325, 2326, 2327, 2328, 2629, 2329, 2330, 2331, 2630, 2332,
2401 2333, 2334, 2335, 2336, 2337, 2582, 2583, 2338, 2339, 2340,
2402 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2350,
2403 2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360,
2404 2361, 2362, 2363, 2364, 2584, 2365, 2366, 2367, 2585, 2368,
2405 2369, 2370, 2586, 2371, 2372, 2373, 2631, 2632, 2374, 2375,
2406 2376, 2377, 2378, 2587, 2588, 2379, 2380, 2381, 2382, 2383,
2407 2384, 2385, 2633, 2386, 2387, 2388, 2389, 2390, 2391, 2392,
2408 2393, 2394, 2395, 2396, 2397, 2634, 2589, 2398, 2399, 2400,
2409 2401, 2590, 2591, 2592, 2402, 2635, 2636, 2403, 2637, 2404,
2410 2405, 2406, 2407, 2408, 2409, 2593, 2638, 2410, 2639, 2411,
2411 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421,
2412 2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2594, 2640,
2413 2595, 2430, 2431, 2432, 2596, 2433, 2434, 2641, 2435, 2597,
2414 2436, 2598, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444,
2415 2445, 2446, 2599, 2642, 2447, 2643, 2600, 2448, 2449, 2450,
2416 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2601, 2459,
2417 2602, 2462, 2460, 2461, 2463, 2464, 2465, 2466, 2467, 2468,
2418 2469, 2470, 2471, 2472, 2603, 2473, 2474, 2475, 2476, 2477,
2419 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487,
2420 2488, 2489, 2490, 2644, 2491, 2492, 2493, 2494, 2495, 2604,
2421 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505,
2422 2506, 2507, 2508, 2509, 2510, 2511, 2605, 2512, 2513, 2645,
2423 2514, 2515, 2606, 2516, 2517, 2518, 2519, 2520, 2521, 2522,
2424 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2607, 2530, 2531,
2425 2532, 2533, 2646, 2534, 2535, 2536, 2537, 2538, 2539, 2608,
2426 2609, 2540, 2541, 2610, 2542, 2611, 2543, 2544, 2545, 2546,
2427 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556,
2428 2557, 2558, 2559, 2612, 2613, 2560, 2647, 2561, 2562, 2563,
2429 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2614, 2615,
2430 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2572,
2431 2573, 2574, 129, 0, 0, 2242, 2269, 2270, 2273, 2268,
2432 383, 382, 1624, 2236, 2269, 1525, 1505, 618, 0, 1448,
2433 410, 1664, 0, 0, 0, 0, 0, 0, 0, 851,
2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2435 0, 0, 177, 0, 0, 0, 0, 434, 433, 0,
2436 0, 0, 1080, 439, 0, 0, 0, 0, 0, 606,
2437 1573, 2460, 1571, 1625, 255, 258, 259, 256, 257, 2258,
2438 0, 1214, 1215, 1217, 0, 0, 1227, 891, 892, 0,
2439 0, 0, 900, 0, 0, 0, 889, 0, 0, 0,
2440 905, 0, 902, 0, 0, 906, 903, 886, 904, 893,
2441 0, 885, 0, 0, 1227, 907, 0, 0, 887, 0,
2442 0, 0, 0, 1448, 1570, 440, 1664, 0, 1547, 1548,
2443 1549, 1526, 1538, 1550, 1543, 1545, 1544, 1546, 1542, 2257,
2444 2284, 1015, 1015, 1015, 1015, 1012, 1013, 1015, 1015, 1015,
2445 2480, 0, 0, 994, 0, 996, 2259, 1015, 1020, 503,
2446 503, 503, 0, 1019, 1024, 503, 0, 1416, 1457, 2241,
2447 1676, 0, 995, 1415, 2540, 1561, 0, 0, 1242, 1238,
2448 1240, 1241, 1239, 0, 1083, 1083, 2498, 1427, 239, 2509,
2449 2608, 2540, 238, 233, 234, 207, 2288, 0, 0, 1019,
2450 0, 1448, 1425, 977, 1683, 1681, 0, 2223, 2308, 2323,
2451 2413, 230, 2491, 2499, 2509, 2608, 2540, 2571, 186, 196,
2452 191, 0, 248, 2509, 2608, 2540, 244, 1445, 0, 1650,
2453 1785, 2232, 0, 1418, 1417, 1527, 0, 1530, 0, 2475,
2454 1654, 1657, 1532, 1655, 1646, 0, 0, 1, 1664, 0,
2455 1537, 1680, 1680, 0, 1680, 0, 1638, 1646, 1641, 1645,
2456 0, 0, 0, 0, 0, 1419, 0, 0, 0, 910,
2457 0, 1460, 2237, 1065, 0, 0, 0, 0, 0, 0,
2458 0, 1121, 1120, 2274, 2264, 2265, 0, 2262, 2263, 2275,
2459 2276, 2277, 0, 2385, 0, 0, 0, 2134, 2145, 2146,
2460 2147, 2312, 2368, 2142, 2143, 2144, 2136, 2137, 2138, 2139,
2461 2140, 2141, 0, 0, 1209, 2135, 0, 2385, 0, 0,
2462 0, 156, 0, 133, 0, 0, 0, 2385, 0, 0,
2463 0, 0, 0, 0, 0, 2385, 0, 0, 0, 0,
2464 0, 156, 2418, 0, 133, 2385, 0, 0, 1439, 0,
2465 0, 0, 1441, 1444, 1420, 0, 2215, 0, 2216, 2243,
2466 1508, 0, 2232, 0, 0, 0, 946, 939, 0, 947,
2467 954, 0, 0, 956, 0, 0, 940, 0, 0, 0,
2468 0, 0, 959, 960, 0, 0, 961, 941, 962, 942,
2469 963, 943, 964, 0, 0, 0, 0, 944, 0, 0,
2470 0, 1431, 1422, 0, 1563, 1565, 1564, 1562, 503, 0,
2471 0, 0, 2385, 0, 0, 133, 1493, 0, 2385, 133,
2472 0, 0, 438, 437, 133, 2262, 436, 435, 2312, 2368,
2473 0, 1111, 0, 1374, 133, 2385, 0, 179, 2385, 692,
2474 2385, 1532, 0, 621, 0, 0, 806, 2418, 133, 0,
2475 0, 0, 0, 0, 0, 1083, 0, 0, 0, 0,
2476 0, 605, 618, 1574, 1572, 0, 1218, 232, 231, 1216,
2477 898, 2385, 1153, 344, 0, 0, 2385, 1479, 2271, 1860,
2478 1889, 1867, 1889, 1889, 1856, 1856, 2352, 1869, 2385, 1857,
2479 1858, 1894, 0, 1889, 1856, 1861, 0, 1859, 1897, 1897,
2480 1884, 344, 914, 1841, 1842, 1843, 1844, 1870, 1871, 1845,
2481 1876, 1877, 1881, 1846, 1911, 1856, 2272, 899, 0, 890,
2482 2385, 344, 1117, 2385, 2266, 166, 0, 888, 2312, 2368,
2483 2385, 344, 1211, 0, 2385, 344, 2385, 162, 2385, 344,
2484 2385, 344, 2385, 622, 0, 0, 2385, 344, 2385, 2418,
2485 164, 0, 2385, 344, 908, 2385, 344, 2234, 2385, 0,
2486 1423, 0, 1566, 0, 1540, 2612, 1555, 0, 1551, 1558,
2487 1554, 1664, 1015, 1014, 0, 1015, 0, 1015, 0, 1015,
2488 0, 1015, 0, 0, 0, 1015, 2260, 2261, 997, 0,
2489 1021, 0, 0, 1028, 1027, 1026, 0, 0, 0, 1029,
2490 0, 1789, 1601, 0, 1413, 1430, 0, 0, 0, 1083,
2491 1245, 0, 1243, 1082, 0, 0, 1426, 237, 235, 0,
2492 0, 0, 0, 0, 0, 1432, 0, 1424, 0, 0,
2493 0, 2245, 2247, 2248, 2148, 2218, 0, 2576, 2577, 2578,
2494 2207, 0, 2579, 2580, 2581, 2627, 2042, 2029, 2038, 2043,
2495 2030, 2032, 2039, 2582, 2583, 1977, 2584, 2585, 2255, 2586,
2496 2587, 2588, 2590, 2591, 2592, 2593, 2034, 2036, 2594, 2595,
2497 0, 2256, 2597, 2598, 2442, 2600, 2601, 2603, 2604, 2040,
2498 2606, 2607, 2608, 2609, 2610, 2611, 2254, 0, 2041, 2613,
2499 2615, 2616, 2617, 2618, 2620, 2621, 2622, 2623, 0, 0,
2500 0, 2229, 0, 2009, 0, 1849, 1850, 1872, 1873, 1851,
2501 1878, 1879, 1852, 0, 2228, 1914, 2093, 2008, 2025, 0,
2502 2014, 2015, 0, 2007, 2003, 1666, 2224, 0, 2004, 2244,
2503 2246, 2208, 1666, 2222, 199, 250, 0, 251, 2230, 2509,
2504 187, 229, 201, 228, 202, 200, 0, 2310, 188, 0,
2505 0, 189, 0, 0, 0, 0, 247, 245, 0, 1421,
2506 0, 1787, 1786, 2233, 919, 0, 1519, 1513, 1522, 1518,
2507 1529, 1526, 2158, 0, 1656, 0, 0, 0, 1636, 1635,
2508 3, 0, 1534, 1536, 1511, 1532, 1678, 1679, 0, 0,
2509 0, 0, 0, 0, 0, 0, 1734, 1694, 1695, 1697,
2510 1731, 1735, 1743, 0, 1642, 0, 0, 1791, 0, 0,
2511 1446, 0, 0, 0, 0, 0, 1152, 0, 0, 0,
2512 0, 0, 911, 0, 0, 0, 1466, 0, 1468, 1469,
2513 1470, 0, 0, 1471, 1472, 1460, 241, 1478, 1476, 1459,
2514 1461, 1474, 0, 0, 0, 0, 0, 0, 0, 1485,
2515 0, 170, 171, 0, 634, 618, 0, 2385, 0, 0,
2516 0, 0, 0, 1160, 1167, 0, 0, 0, 0, 0,
2517 0, 0, 0, 1161, 1159, 0, 1162, 243, 1172, 1191,
2518 1194, 0, 1119, 1122, 0, 0, 0, 0, 0, 1302,
2519 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0,
2520 0, 0, 0, 0, 0, 0, 0, 0, 266, 268,
2521 279, 339, 597, 0, 0, 0, 600, 0, 2385, 0,
2522 0, 0, 0, 1213, 0, 0, 0, 0, 0, 0,
2523 0, 0, 0, 1194, 0, 0, 0, 0, 0, 0,
2524 0, 0, 131, 132, 137, 0, 0, 0, 0, 0,
2525 1194, 0, 0, 0, 0, 0, 0, 583, 596, 0,
2526 0, 0, 0, 0, 593, 0, 0, 133, 271, 573,
2527 579, 0, 0, 0, 699, 698, 0, 0, 0, 0,
2528 1390, 1389, 0, 0, 0, 0, 1483, 1482, 0, 0,
2529 0, 0, 0, 1302, 0, 260, 262, 0, 0, 0,
2530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2531 0, 0, 375, 376, 0, 0, 0, 137, 0, 0,
2532 0, 0, 273, 0, 0, 1440, 1437, 1438, 0, 1443,
2533 0, 0, 0, 0, 2017, 0, 2162, 1686, 2160, 1137,
2534 2214, 0, 2278, 2648, 2649, 2650, 2651, 2652, 2653, 2654,
2535 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664,
2536 2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674,
2537 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684,
2538 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694,
2539 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704,
2540 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, 2714,
2541 2715, 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724,
2542 2211, 2210, 2239, 2279, 2280, 2281, 2282, 2217, 0, 1504,
2543 0, 953, 0, 0, 0, 0, 955, 0, 948, 0,
2544 0, 945, 2312, 2368, 0, 0, 0, 0, 0, 0,
2545 0, 0, 0, 958, 0, 0, 0, 0, 0, 0,
2546 0, 0, 0, 0, 814, 0, 1460, 1492, 0, 0,
2547 0, 627, 0, 2385, 0, 135, 852, 0, 804, 439,
2548 0, 0, 0, 1184, 1373, 135, 0, 0, 173, 0,
2549 0, 696, 0, 0, 0, 0, 0, 0, 0, 0,
2550 0, 743, 742, 0, 0, 0, 805, 0, 0, 135,
2551 0, 2385, 576, 2385, 0, 503, 503, 0, 0, 1085,
2552 0, 0, 0, 0, 0, 0, 1628, 1630, 1629, 0,
2553 1627, 0, 342, 343, 0, 1201, 1226, 0, 0, 1888,
2554 1875, 1883, 1882, 0, 1865, 1864, 1863, 0, 1862, 0,
2555 1889, 1889, 1887, 1866, 1841, 0, 0, 0, 1893, 0,
2556 1891, 0, 881, 1837, 1833, 0, 1900, 1901, 1902, 1899,
2557 1912, 1898, 0, 1847, 1903, 1856, 1853, 901, 0, 0,
2558 1195, 0, 0, 2385, 344, 2385, 0, 2385, 0, 0,
2559 0, 1203, 344, 0, 1197, 0, 0, 1199, 0, 1391,
2560 0, 897, 895, 894, 896, 0, 0, 879, 0, 0,
2561 0, 2385, 344, 0, 0, 874, 0, 0, 876, 0,
2562 0, 0, 0, 1664, 0, 218, 219, 217, 1556, 220,
2563 1557, 1553, 1539, 0, 1005, 0, 1009, 0, 1000, 0,
2564 1006, 0, 1001, 998, 999, 0, 1004, 0, 0, 504,
2565 506, 0, 0, 2335, 2351, 0, 2374, 2406, 2407, 2466,
2566 2494, 2499, 2505, 0, 2534, 2545, 0, 1030, 1060, 1025,
2567 710, 0, 0, 1611, 1414, 2165, 0, 1664, 0, 0,
2568 0, 0, 1234, 1235, 236, 208, 0, 0, 0, 1062,
2569 2498, 1429, 976, 618, 0, 2005, 0, 2012, 2013, 2206,
2570 0, 0, 0, 0, 0, 0, 2011, 2173, 0, 0,
2571 0, 0, 0, 1937, 0, 0, 0, 2186, 0, 2192,
2572 0, 0, 1974, 0, 0, 0, 0, 0, 0, 0,
2573 0, 1938, 1918, 1919, 2009, 2158, 0, 2010, 2251, 0,
2574 1911, 2227, 2148, 0, 2145, 2146, 2147, 0, 0, 0,
2575 2221, 0, 2156, 0, 0, 1952, 2154, 1954, 0, 0,
2576 0, 0, 2142, 2143, 2144, 2136, 2137, 2138, 2139, 2140,
2577 2141, 2152, 1934, 0, 0, 2095, 0, 1933, 0, 0,
2578 1747, 0, 2249, 2209, 1747, 252, 253, 249, 0, 0,
2579 204, 203, 0, 222, 226, 227, 198, 225, 0, 221,
2580 206, 2082, 2081, 205, 197, 194, 192, 209, 211, 212,
2581 195, 193, 246, 0, 0, 0, 344, 1537, 0, 1520,
2582 1521, 1517, 1524, 1744, 0, 1658, 0, 1662, 1537, 0,
2583 1533, 1653, 1652, 1687, 1688, 1103, 1651, 1714, 1715, 0,
2584 0, 0, 0, 1740, 1738, 1705, 1698, 1704, 0, 0,
2585 1702, 0, 1706, 1914, 1733, 1640, 1692, 1693, 1696, 1639,
2586 0, 1736, 0, 1614, 1734, 1697, 1598, 0, 1576, 0,
2587 1792, 0, 0, 1447, 0, 0, 0, 1132, 1134, 0,
2588 1133, 0, 1136, 0, 1145, 0, 0, 1131, 1150, 0,
2589 1139, 1137, 0, 1481, 0, 0, 912, 0, 0, 0,
2590 0, 1467, 0, 0, 2534, 240, 1470, 1475, 1462, 1473,
2591 0, 0, 0, 0, 0, 1064, 1063, 0, 0, 1087,
2592 0, 0, 0, 1488, 492, 0, 341, 0, 0, 0,
2593 0, 0, 0, 0, 0, 800, 797, 0, 0, 796,
2594 0, 632, 0, 0, 0, 0, 0, 0, 0, 0,
2595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2596 0, 0, 0, 0, 672, 0, 1302, 0, 704, 0,
2597 1169, 0, 0, 1168, 0, 1173, 0, 0, 1170, 1165,
2598 1166, 2499, 2509, 2540, 242, 1171, 1193, 0, 1192, 1188,
2599 1114, 0, 1115, 0, 0, 0, 0, 0, 2361, 2385,
2600 284, 304, 0, 1301, 0, 0, 0, 0, 0, 0,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 326, 0, 0, 329, 328, 0, 0, 0, 0, 0,
2603 333, 312, 0, 313, 0, 332, 0, 0, 598, 599,
2604 0, 0, 0, 0, 1302, 0, 275, 0, 0, 0,
2605 0, 0, 0, 0, 1210, 0, 727, 0, 0, 0,
2606 2499, 1189, 0, 0, 0, 0, 0, 1377, 0, 0,
2607 159, 0, 154, 158, 0, 0, 0, 2499, 1190, 0,
2608 0, 0, 0, 581, 582, 595, 0, 586, 587, 584,
2609 588, 589, 0, 0, 0, 0, 0, 0, 0, 580,
2610 0, 0, 694, 693, 697, 0, 0, 0, 1386, 0,
2611 1184, 0, 0, 1385, 0, 0, 0, 0, 0, 0,
2612 0, 0, 0, 0, 1247, 1246, 0, 0, 0, 0,
2613 0, 0, 842, 0, 0, 0, 0, 0, 0, 0,
2614 0, 161, 714, 0, 713, 0, 155, 160, 0, 0,
2615 0, 0, 0, 0, 0, 216, 1436, 1442, 1686, 1686,
2616 1686, 2023, 0, 0, 0, 0, 1685, 2212, 2215, 1507,
2617 2240, 1506, 0, 0, 0, 0, 957, 0, 0, 0,
2618 0, 0, 0, 0, 0, 0, 949, 950, 951, 952,
2619 0, 0, 0, 0, 0, 389, 386, 387, 389, 0,
2620 0, 0, 0, 816, 0, 819, 822, 0, 1458, 458,
2621 0, 0, 624, 672, 0, 0, 442, 168, 0, 0,
2622 0, 0, 729, 0, 0, 0, 1372, 130, 177, 179,
2623 440, 0, 178, 180, 182, 183, 184, 181, 185, 0,
2624 691, 695, 0, 0, 0, 0, 620, 0, 0, 0,
2625 0, 0, 744, 748, 747, 751, 749, 0, 745, 0,
2626 0, 1812, 0, 0, 153, 0, 0, 571, 575, 0,
2627 0, 0, 0, 442, 544, 355, 2385, 0, 503, 0,
2628 2385, 0, 1084, 0, 803, 0, 0, 0, 0, 0,
2629 0, 0, 0, 0, 0, 1626, 344, 1154, 0, 1480,
2630 0, 0, 0, 344, 1886, 1885, 1838, 1834, 0, 0,
2631 0, 0, 915, 0, 0, 0, 0, 0, 0, 0,
2632 0, 0, 1854, 344, 1118, 167, 2267, 0, 883, 0,
2633 0, 0, 0, 344, 1212, 871, 344, 163, 344, 344,
2634 623, 0, 344, 165, 0, 0, 0, 615, 344, 909,
2635 344, 2235, 0, 344, 1569, 2385, 503, 1541, 1552, 1002,
2636 1011, 1010, 1008, 1007, 1003, 0, 1022, 0, 502, 0,
2637 0, 0, 0, 0, 1038, 1039, 0, 0, 1035, 1040,
2638 0, 1036, 1037, 1042, 1032, 1031, 1043, 1044, 0, 0,
2639 1062, 708, 0, 0, 0, 0, 1608, 0, 1606, 0,
2640 1790, 1610, 1599, 1560, 0, 1559, 0, 564, 1083, 1083,
2641 1244, 0, 0, 1019, 0, 0, 344, 1428, 0, 978,
2642 984, 0, 0, 0, 0, 0, 0, 0, 987, 988,
2643 0, 989, 980, 990, 981, 991, 0, 982, 0, 0,
2644 0, 0, 2219, 2169, 0, 2170, 0, 0, 2205, 2201,
2645 0, 0, 0, 0, 0, 2174, 2177, 2178, 2179, 2176,
2646 2180, 2175, 0, 0, 2181, 0, 0, 0, 0, 0,
2647 0, 0, 0, 0, 2604, 0, 0, 0, 0, 1978,
2648 0, 0, 2129, 0, 2158, 2191, 0, 0, 0, 0,
2649 0, 0, 2158, 2197, 0, 0, 0, 0, 2080, 0,
2650 2077, 0, 0, 0, 0, 2218, 0, 0, 2252, 1915,
2651 1929, 1930, 1931, 1935, 2226, 0, 2220, 0, 0, 1916,
2652 1943, 0, 2198, 1970, 0, 1975, 1958, 0, 1951, 0,
2653 1956, 1960, 1939, 0, 1936, 0, 2221, 2157, 0, 2155,
2654 0, 1926, 1927, 1928, 1920, 1921, 1922, 1923, 1924, 1925,
2655 1932, 2133, 2131, 2132, 0, 0, 0, 2103, 0, 0,
2656 1955, 2377, 2413, 0, 1677, 1677, 1677, 1665, 1675, 2225,
2657 0, 1807, 1686, 1807, 2231, 0, 0, 1911, 0, 1788,
2658 917, 918, 916, 1510, 1514, 1523, 1537, 2159, 1531, 1660,
2659 0, 0, 1512, 1535, 0, 1101, 1102, 0, 1106, 2604,
2660 2496, 0, 0, 0, 0, 1707, 1741, 0, 1732, 0,
2661 2245, 1708, 2244, 1709, 1712, 1713, 1703, 1742, 1612, 0,
2662 1737, 1644, 1643, 0, 1810, 0, 0, 0, 1590, 1578,
2663 0, 1793, 0, 1747, 1616, 0, 2218, 1745, 1348, 1248,
2664 1311, 1135, 0, 1856, 1146, 0, 1130, 0, 1129, 1856,
2665 0, 1147, 0, 1856, 1349, 1249, 1312, 913, 1350, 1250,
2666 1313, 1351, 1251, 1477, 1465, 1464, 1463, 0, 0, 0,
2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2668 0, 781, 2385, 344, 1486, 1352, 0, 1252, 340, 1487,
2669 1314, 1491, 799, 798, 0, 0, 1315, 0, 633, 0,
2670 637, 0, 639, 640, 641, 0, 0, 0, 642, 0,
2671 2312, 2368, 644, 647, 648, 649, 656, 661, 651, 0,
2672 0, 663, 657, 0, 0, 0, 0, 0, 0, 669,
2673 674, 0, 0, 0, 0, 0, 0, 0, 1163, 1164,
2674 1353, 1255, 0, 1316, 1113, 0, 1256, 169, 0, 0,
2675 267, 2385, 286, 0, 676, 781, 0, 1304, 283, 310,
2676 0, 0, 325, 320, 321, 319, 2385, 344, 2385, 344,
2677 0, 0, 0, 0, 0, 322, 317, 318, 314, 0,
2678 0, 327, 2287, 2353, 2510, 0, 680, 682, 0, 687,
2679 330, 1276, 351, 350, 349, 0, 334, 0, 356, 359,
2680 331, 311, 309, 306, 280, 0, 0, 0, 0, 0,
2681 0, 0, 0, 2238, 0, 0, 1205, 0, 1356, 1317,
2682 0, 1339, 0, 0, 0, 0, 721, 0, 1359, 1262,
2683 1320, 1378, 1380, 1370, 1263, 1379, 157, 1291, 146, 0,
2684 0, 142, 0, 0, 0, 0, 136, 0, 1360, 1264,
2685 1321, 0, 1361, 1265, 0, 0, 272, 574, 585, 590,
2686 1270, 594, 591, 1329, 592, 1368, 1266, 1364, 1294, 1324,
2687 1371, 1387, 1267, 1184, 1382, 1384, 0, 1302, 0, 261,
2688 263, 0, 282, 0, 1268, 0, 1322, 1363, 1293, 0,
2689 0, 0, 0, 0, 0, 0, 0, 0, 1494, 0,
2690 0, 0, 0, 0, 0, 344, 0, 0, 0, 1304,
2691 2385, 344, 1362, 0, 1299, 0, 1337, 0, 377, 0,
2692 1292, 0, 0, 274, 1272, 1331, 0, 0, 214, 213,
2693 215, 0, 0, 0, 0, 2163, 2164, 0, 2161, 2018,
2694 2214, 0, 966, 924, 965, 0, 2351, 0, 923, 925,
2695 0, 0, 0, 926, 0, 930, 931, 0, 0, 0,
2696 922, 920, 921, 388, 0, 0, 738, 739, 0, 0,
2697 0, 0, 818, 0, 0, 0, 1484, 0, 133, 631,
2698 0, 0, 0, 626, 671, 676, 0, 0, 0, 0,
2699 441, 445, 449, 450, 451, 0, 0, 0, 0, 147,
2700 134, 0, 860, 0, 503, 0, 731, 1376, 1375, 1183,
2701 0, 179, 172, 0, 0, 692, 0, 1532, 0, 0,
2702 355, 813, 811, 810, 812, 0, 0, 0, 834, 809,
2703 0, 1811, 1813, 0, 0, 0, 0, 0, 0, 564,
2704 444, 0, 0, 506, 0, 547, 0, 0, 0, 0,
2705 544, 0, 0, 0, 2271, 0, 830, 802, 1124, 0,
2706 1142, 1125, 0, 0, 0, 0, 1177, 1109, 1178, 1155,
2707 1110, 0, 0, 603, 1631, 1632, 0, 1202, 0, 0,
2708 1855, 1868, 882, 0, 1896, 1895, 1897, 1897, 0, 1839,
2709 0, 1880, 1905, 1906, 1907, 1908, 1909, 1910, 0, 1904,
2710 1848, 1196, 344, 0, 344, 0, 344, 1204, 1198, 1200,
2711 1392, 0, 880, 0, 0, 344, 873, 875, 0, 877,
2712 0, 1023, 505, 0, 0, 0, 0, 0, 0, 1034,
2713 601, 1041, 0, 1055, 1050, 1052, 0, 1056, 707, 0,
2714 0, 1609, 1602, 1604, 1603, 0, 0, 1600, 2166, 872,
2715 0, 570, 0, 0, 0, 0, 344, 0, 1057, 0,
2716 0, 985, 979, 0, 0, 983, 0, 0, 0, 986,
2717 0, 0, 1682, 2167, 2168, 0, 0, 0, 2202, 0,
2718 0, 2055, 0, 2031, 2033, 2045, 0, 2056, 2016, 2057,
2719 2035, 2037, 0, 2149, 0, 0, 2046, 0, 1980, 1981,
2720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2721 0, 0, 0, 0, 0, 0, 0, 1996, 1995, 2047,
2722 2128, 0, 0, 2189, 2190, 2048, 0, 0, 2196, 0,
2723 0, 0, 2053, 2058, 0, 0, 0, 0, 2064, 0,
2724 2085, 0, 0, 0, 2006, 2159, 0, 0, 0, 0,
2725 0, 0, 0, 0, 1976, 1959, 1953, 0, 1957, 1961,
2726 0, 0, 0, 1947, 0, 0, 1945, 1971, 1941, 0,
2727 0, 1972, 0, 0, 0, 2024, 0, 0, 1677, 1677,
2728 1677, 1677, 1674, 0, 0, 0, 0, 2496, 2624, 0,
2729 1771, 1746, 1748, 1758, 1771, 1776, 1771, 2026, 1805, 2027,
2730 2232, 0, 1717, 0, 1717, 190, 0, 223, 210, 1509,
2731 1661, 1664, 1689, 0, 2150, 1106, 0, 1691, 1711, 1710,
2732 0, 1701, 1739, 1699, 1613, 1597, 0, 1595, 1582, 1584,
2733 1583, 0, 0, 1585, 2218, 0, 1595, 1577, 1621, 0,
2734 0, 1810, 0, 1620, 0, 1856, 1127, 1128, 0, 1151,
2735 0, 1067, 1068, 0, 1066, 0, 0, 0, 491, 1086,
2736 0, 0, 0, 781, 0, 0, 495, 0, 1489, 0,
2737 1369, 1290, 635, 636, 0, 650, 0, 659, 658, 0,
2738 0, 0, 0, 0, 0, 0, 643, 665, 607, 666,
2739 668, 0, 0, 667, 670, 673, 1302, 0, 705, 1278,
2740 0, 1335, 1157, 1305, 0, 1116, 0, 0, 0, 0,
2741 0, 0, 458, 305, 0, 0, 0, 0, 364, 0,
2742 288, 297, 362, 303, 0, 1310, 336, 0, 308, 0,
2743 301, 323, 315, 324, 316, 335, 337, 0, 684, 685,
2744 683, 679, 0, 686, 688, 0, 353, 0, 0, 0,
2745 1355, 0, 1302, 0, 276, 0, 1274, 0, 1333, 0,
2746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2747 1338, 0, 0, 0, 0, 726, 0, 723, 1306, 0,
2748 0, 139, 138, 0, 145, 0, 1307, 0, 0, 0,
2749 0, 1388, 0, 0, 0, 0, 0, 0, 371, 0,
2750 281, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2751 0, 0, 0, 0, 0, 0, 0, 0, 378, 346,
2752 0, 837, 0, 0, 0, 380, 0, 0, 0, 0,
2753 0, 1354, 1257, 2021, 2022, 2019, 1686, 2213, 0, 0,
2754 0, 937, 0, 0, 0, 0, 0, 0, 391, 392,
2755 133, 390, 413, 0, 781, 0, 0, 815, 820, 828,
2756 2442, 2136, 2137, 826, 821, 823, 825, 827, 824, 0,
2757 0, 0, 0, 0, 474, 0, 0, 0, 464, 0,
2758 0, 1184, 457, 460, 461, 0, 0, 627, 630, 628,
2759 629, 664, 0, 444, 481, 532, 0, 149, 0, 0,
2760 150, 148, 0, 0, 355, 728, 0, 725, 0, 175,
2761 440, 0, 696, 0, 0, 0, 1184, 619, 750, 753,
2762 746, 0, 833, 835, 807, 0, 676, 0, 0, 576,
2763 0, 503, 1570, 559, 0, 534, 444, 532, 543, 0,
2764 0, 551, 354, 0, 0, 564, 355, 0, 0, 1087,
2765 0, 829, 0, 1123, 0, 0, 0, 1174, 1179, 1175,
2766 0, 0, 1138, 0, 1176, 1156, 1408, 1409, 1406, 1407,
2767 0, 0, 0, 1623, 0, 1874, 0, 1892, 1890, 1835,
2768 1840, 1913, 884, 0, 867, 0, 869, 344, 715, 0,
2769 616, 344, 0, 0, 0, 0, 0, 0, 1033, 0,
2770 1053, 0, 0, 1016, 1059, 0, 0, 1607, 1605, 562,
2771 0, 1236, 1237, 1062, 0, 1017, 1061, 0, 0, 0,
2772 0, 0, 0, 0, 0, 0, 2171, 0, 2204, 2200,
2773 0, 2028, 2172, 0, 2184, 2183, 2129, 0, 0, 1979,
2774 1991, 1992, 1993, 2185, 0, 2001, 0, 0, 1988, 1989,
2775 1990, 1982, 1983, 1984, 1985, 1986, 1987, 1994, 2194, 2193,
2776 2187, 2188, 0, 2050, 2051, 2052, 2195, 2059, 0, 2302,
2777 2086, 0, 2063, 2079, 2078, 0, 0, 0, 2066, 0,
2778 0, 2075, 0, 2130, 2253, 1917, 0, 0, 1944, 2199,
2779 1962, 0, 0, 0, 1940, 2149, 0, 0, 0, 0,
2780 0, 1949, 0, 0, 0, 2106, 2101, 2102, 2126, 0,
2781 0, 0, 0, 0, 0, 1668, 1667, 1673, 1771, 1776,
2782 1771, 0, 0, 1646, 0, 1758, 0, 1770, 1756, 1769,
2783 0, 0, 1782, 1780, 0, 1782, 0, 1782, 0, 1750,
2784 0, 1772, 1752, 1769, 1754, 0, 1797, 2233, 1806, 0,
2785 1730, 2018, 1730, 0, 0, 0, 1690, 1104, 1105, 1700,
2786 2331, 1808, 0, 1596, 0, 0, 0, 1587, 1593, 1575,
2787 0, 0, 1617, 1595, 1618, 1148, 0, 0, 1140, 1073,
2788 1074, 1077, 1075, 1072, 1076, 0, 0, 0, 781, 0,
2789 0, 513, 0, 1098, 1098, 0, 0, 497, 556, 508,
2790 784, 0, 0, 0, 782, 344, 1253, 0, 660, 0,
2791 0, 655, 653, 652, 654, 0, 608, 1367, 1254, 0,
2792 0, 0, 0, 1158, 0, 0, 1277, 0, 285, 0,
2793 454, 0, 0, 298, 0, 294, 0, 1303, 0, 0,
2794 0, 0, 293, 366, 0, 363, 0, 344, 344, 338,
2795 681, 352, 357, 358, 361, 0, 0, 0, 0, 0,
2796 1309, 0, 0, 0, 0, 0, 0, 0, 861, 844,
2797 0, 0, 862, 863, 0, 0, 0, 1207, 1208, 1206,
2798 1340, 1341, 1346, 1343, 1342, 1345, 1347, 1344, 0, 1260,
2799 0, 0, 719, 143, 140, 141, 144, 1288, 1271, 1330,
2800 1383, 0, 0, 0, 1269, 0, 1323, 0, 1284, 1280,
2801 0, 0, 0, 0, 0, 1366, 1298, 1328, 1365, 1296,
2802 1326, 1295, 1325, 1297, 1327, 0, 1289, 0, 1815, 841,
2803 0, 0, 0, 344, 344, 840, 717, 1273, 1332, 0,
2804 0, 0, 927, 0, 0, 929, 932, 0, 934, 396,
2805 414, 133, 0, 737, 801, 0, 0, 817, 780, 0,
2806 462, 0, 468, 472, 0, 0, 476, 477, 475, 463,
2807 1184, 503, 555, 770, 771, 0, 0, 791, 0, 625,
2808 0, 442, 0, 478, 0, 0, 446, 152, 151, 0,
2809 0, 0, 732, 736, 734, 733, 735, 730, 0, 721,
2810 179, 2385, 0, 0, 0, 0, 557, 1381, 0, 763,
2811 808, 0, 1814, 711, 0, 355, 572, 0, 0, 0,
2812 442, 564, 0, 447, 452, 453, 458, 0, 544, 533,
2813 0, 534, 545, 546, 0, 553, 1456, 0, 565, 553,
2814 0, 0, 0, 832, 0, 831, 1126, 1143, 1144, 0,
2815 0, 1107, 0, 0, 0, 0, 610, 344, 1836, 344,
2816 344, 1233, 0, 878, 1047, 1048, 1049, 1046, 1045, 602,
2817 0, 1051, 709, 0, 563, 344, 0, 993, 971, 992,
2818 970, 972, 0, 974, 975, 969, 967, 968, 2203, 2044,
2819 2054, 2182, 2128, 2159, 0, 0, 2002, 0, 0, 2049,
2820 2614, 0, 0, 2090, 2091, 0, 2087, 2088, 2083, 2084,
2821 2065, 0, 2432, 2070, 0, 0, 0, 1968, 1966, 1963,
2822 0, 1964, 1948, 0, 0, 1946, 1942, 0, 1973, 2092,
2823 0, 2108, 2105, 2125, 2159, 1672, 1671, 1670, 1669, 1757,
2824 1753, 1755, 0, 2619, 0, 1760, 1767, 0, 1749, 0,
2825 1781, 1777, 0, 1778, 0, 0, 1779, 0, 0, 1751,
2826 0, 1767, 0, 1804, 0, 0, 2097, 2250, 2097, 224,
2827 1659, 0, 0, 1594, 1579, 0, 1580, 1586, 0, 0,
2828 0, 0, 1622, 1615, 1141, 1149, 0, 0, 0, 493,
2829 0, 508, 0, 0, 0, 1100, 1100, 0, 508, 0,
2830 1184, 786, 785, 788, 783, 787, 1490, 0, 645, 646,
2831 662, 1279, 0, 1336, 1286, 0, 1611, 287, 0, 677,
2832 292, 0, 0, 289, 365, 367, 290, 291, 295, 346,
2833 307, 300, 0, 0, 0, 1275, 0, 1334, 1282, 1357,
2834 1258, 1318, 0, 0, 850, 0, 0, 0, 0, 1358,
2835 1259, 1319, 0, 0, 0, 0, 1611, 0, 0, 0,
2836 0, 0, 0, 0, 0, 1499, 0, 1308, 345, 839,
2837 838, 346, 379, 1300, 2020, 0, 928, 935, 936, 933,
2838 0, 385, 393, 396, 0, 0, 1224, 1224, 0, 781,
2839 0, 0, 459, 473, 0, 555, 512, 0, 465, 0,
2840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2841 0, 0, 0, 724, 723, 174, 0, 442, 0, 676,
2842 0, 757, 758, 752, 754, 0, 765, 769, 836, 0,
2843 0, 0, 564, 444, 0, 0, 1567, 443, 0, 0,
2844 455, 0, 547, 534, 544, 0, 0, 561, 0, 1449,
2845 0, 567, 0, 0, 0, 1180, 0, 1186, 0, 1137,
2846 1181, 0, 1807, 0, 0, 0, 0, 614, 1225, 868,
2847 870, 716, 1054, 0, 1058, 344, 973, 2130, 1997, 0,
2848 0, 0, 0, 2060, 0, 2061, 2089, 2067, 2071, 0,
2849 2068, 2069, 1965, 1969, 1967, 1950, 2094, 0, 1686, 2127,
2850 1800, 0, 1803, 0, 0, 1759, 0, 0, 1761, 0,
2851 0, 1763, 1765, 0, 0, 0, 0, 0, 0, 2236,
2852 2330, 2588, 2493, 0, 1716, 1718, 1721, 1723, 1722, 1724,
2853 1720, 1729, 0, 1648, 1647, 2151, 1809, 0, 0, 0,
2854 1088, 0, 1619, 1055, 0, 344, 1098, 1184, 514, 2442,
2855 515, 1097, 1099, 1103, 1103, 0, 1184, 0, 555, 638,
2856 0, 0, 269, 675, 0, 0, 299, 348, 360, 0,
2857 1611, 0, 0, 848, 857, 857, 845, 0, 0, 864,
2858 1261, 720, 0, 0, 264, 1285, 1281, 0, 0, 0,
2859 1501, 1502, 0, 0, 0, 0, 0, 344, 938, 0,
2860 416, 423, 397, 401, 1493, 0, 1493, 0, 398, 402,
2861 1493, 1493, 395, 1807, 412, 1224, 0, 1221, 1220, 779,
2862 0, 501, 578, 0, 466, 0, 523, 0, 0, 792,
2863 0, 0, 444, 532, 0, 490, 482, 483, 484, 486,
2864 485, 487, 488, 489, 480, 479, 0, 676, 854, 355,
2865 1456, 718, 0, 0, 689, 0, 755, 760, 759, 1493,
2866 764, 0, 0, 0, 676, 0, 1570, 560, 534, 444,
2867 532, 448, 458, 536, 0, 537, 551, 544, 547, 0,
2868 548, 0, 552, 0, 0, 0, 564, 1503, 1087, 0,
2869 1185, 0, 0, 0, 0, 0, 0, 1228, 609, 0,
2870 0, 613, 604, 676, 1018, 1998, 0, 1999, 0, 0,
2871 2073, 2072, 0, 2112, 1805, 0, 0, 1799, 0, 0,
2872 1829, 0, 0, 0, 1768, 1784, 0, 1764, 1762, 0,
2873 1773, 0, 1775, 0, 0, 0, 1725, 0, 2096, 2098,
2874 0, 0, 1592, 1807, 0, 1589, 0, 1069, 0, 1070,
2875 1100, 555, 0, 1106, 1106, 503, 555, 0, 781, 1287,
2876 0, 678, 578, 0, 302, 0, 277, 1283, 0, 0,
2877 859, 859, 0, 0, 0, 0, 0, 0, 373, 0,
2878 0, 1495, 0, 1496, 1497, 1500, 381, 394, 0, 421,
2879 0, 419, 418, 420, 0, 409, 0, 0, 0, 0,
2880 0, 0, 384, 1219, 1223, 1222, 0, 0, 467, 0,
2881 469, 0, 509, 510, 511, 0, 471, 519, 520, 0,
2882 789, 0, 794, 0, 0, 0, 676, 531, 700, 0,
2883 0, 0, 1450, 0, 0, 558, 0, 766, 767, 762,
2884 0, 0, 712, 1456, 564, 544, 0, 534, 456, 0,
2885 553, 547, 551, 549, 550, 0, 1453, 0, 566, 0,
2886 1094, 1108, 1187, 1182, 1412, 0, 0, 612, 611, 706,
2887 2000, 2076, 2062, 2074, 2107, 0, 0, 0, 0, 1798,
2888 1801, 0, 1832, 0, 0, 0, 0, 1818, 0, 1766,
2889 0, 0, 1774, 0, 0, 0, 1719, 0, 0, 1581,
2890 1591, 1089, 0, 0, 1103, 518, 0, 1091, 1090, 512,
2891 781, 507, 494, 1611, 296, 347, 0, 0, 0, 855,
2892 858, 846, 847, 866, 865, 722, 1611, 0, 369, 368,
2893 0, 372, 0, 417, 426, 0, 424, 399, 404, 0,
2894 408, 406, 405, 400, 403, 0, 500, 0, 0, 0,
2895 0, 0, 521, 0, 522, 554, 0, 793, 0, 0,
2896 0, 702, 853, 0, 0, 442, 676, 756, 761, 0,
2897 0, 1451, 1568, 547, 534, 544, 0, 0, 538, 1098,
2898 1098, 429, 551, 553, 1454, 1455, 0, 0, 355, 1411,
2899 1410, 1664, 0, 0, 2575, 2331, 2547, 0, 2124, 2113,
2900 2124, 2124, 2104, 0, 0, 1830, 1831, 1816, 0, 0,
2901 1820, 1783, 1796, 1727, 0, 1726, 2099, 2100, 1807, 344,
2902 1106, 0, 781, 516, 523, 496, 270, 1611, 849, 0,
2903 265, 0, 374, 1498, 422, 0, 407, 769, 577, 470,
2904 528, 0, 527, 0, 525, 524, 790, 795, 0, 676,
2905 843, 1456, 690, 768, 0, 551, 544, 547, 0, 535,
2906 0, 1100, 1100, 553, 427, 0, 0, 553, 1394, 1664,
2907 1393, 1395, 1403, 1400, 1402, 1401, 1399, 1231, 1232, 0,
2908 2117, 2116, 2115, 2119, 2118, 0, 2111, 2109, 2110, 1802,
2909 0, 1819, 1822, 0, 0, 0, 1828, 1821, 1823, 0,
2910 1794, 1728, 1588, 1071, 1092, 0, 498, 781, 278, 856,
2911 0, 425, 0, 526, 530, 529, 676, 701, 1452, 774,
2912 553, 547, 551, 1098, 539, 541, 540, 431, 1094, 1095,
2913 0, 1807, 0, 1404, 1398, 1646, 1633, 0, 0, 0,
2914 0, 2121, 0, 2122, 0, 1825, 1826, 1827, 1824, 0,
2915 0, 499, 0, 0, 703, 776, 0, 772, 775, 777,
2916 778, 430, 551, 553, 1100, 355, 1093, 0, 1078, 1396,
2917 1664, 0, 0, 2114, 2120, 2123, 0, 0, 517, 370,
2918 0, 740, 0, 553, 428, 542, 553, 1096, 1397, 0,
2919 0, 0, 1795, 0, 773, 432, 1807, 0, 0, 1817,
2920 774, 1079, 0, 0, 0, 1229, 1230, 741
2921};
2922
2923 /* YYPGOTO[NTERM-NUM]. */
2924static const yytype_int16 yypgoto[] =
2925{
2926 -4879, -4879, -4879, 3750, -4879, -4879, -878, -27, 2982, -1081,
2927 -4879, -4879, -4879, 1196, -4879, -4879, -4879, -4879, 3724, -4879,
2928 2072, -2437, -4879, -4879, 150, 3668, -1298, 98, 3249, 1725,
2929 -4879, -1138, -4879, -4879, -494, 115, -4879, 3678, 77, -4879,
2930 -4879, -4879, -4879, -4879, -4879, -4879, -4879, -681, 2191, -4879,
2931 2279, 1551, 5837, -3085, -4879, -4879, -1347, -3192, -4879, 865,
2932 -4879, 892, -4169, -615, -4879, -4879, -4879, 2179, -4879, -4879,
2933 -4879, 2122, 1356, -61, -4879, -4879, -4879, -4879, -4879, -4879,
2934 -465, -4879, -4879, -709, 152, 44, -2455, -3727, -4879, -4879,
2935 731, -110, -1418, -4879, -3589, -4879, 268, -2154, -4879, -4879,
2936 -4879, -77, -1390, 1657, -4879, -697, -1163, 1966, -4098, -574,
2937 -4879, 46, -4879, -684, -477, -475, -604, -3773, -4269, -4879,
2938 -4879, -4879, -713, -3181, -4502, -4757, -4299, -3832, 1670, -4879,
2939 153, -3150, -3226, 156, 705, -4879, 160, 161, -4879, 721,
2940 -407, -898, -1515, -4879, -804, -4879, -4879, -4879, -2923, -4879,
2941 -4879, -4879, -4879, 74, -4879, -4879, -4879, -4879, 770, -4879,
2942 -4879, -4879, -4879, -4879, -4879, -2674, 2147, 2148, -4879, -3158,
2943 -4879, -858, -4879, 916, -2966, 1573, -4879, -4879, 1347, 3739,
2944 757, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -1711, -4879,
2945 -4879, -4879, -4879, 272, -55, -4879, -4879, -4879, -4879, -4879,
2946 -4879, -4879, 168, -4879, 2163, 1345, -4879, -4879, -50, -4879,
2947 -4879, -4879, -4879, -4879, -4879, -663, -4483, -824, -805, -4879,
2948 -2917, -4879, -4879, -4879, -22, -4879, -4879, -4879, -4879, -4879,
2949 -867, -4879, 1407, -3600, -4879, -4879, 729, -4879, -4879, -4879,
2950 -4879, -4879, -580, 39, 2911, -4879, -190, -383, -4879, -4879,
2951 -4879, 41, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
2952 -1088, 10317, -812, -583, -4879, -4879, -4879, -4879, -4879, -2193,
2953 -4879, -4879, -4879, -4879, -3643, -4879, 4642, 2097, 333, 170,
2954 -4879, -29, 63, 3494, -1134, -2626, 689, -148, -4879, -4879,
2955 -4879, -2568, -4879, -4879, -4879, -4879, -3509, 172, -4879, -678,
2956 -4879, -3806, -4557, -3558, -732, -4879, -4052, -4439, -4429, -3501,
2957 -4879, -4879, -4879, -4879, -549, -185, 2881, -4879, -1397, 2522,
2958 -923, -4879, -2086, 755, 1748, 2898, -2764, -134, 2884, -2505,
2959 -657, -3250, -4879, -4879, -2315, -280, -4879, -4879, 1377, 548,
2960 -4879, -4879, -4879, -4879, -623, 2827, -181, -4879, -4879, 4040,
2961 -4879, -4301, -4879, 4003, -4879, -4879, -4879, -4879, 2739, 2743,
2962 -4879, 2746, -4879, -4879, -1393, 1515, -4879, -4879, -4879, -4879,
2963 949, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 1410, 954,
2964 -4879, -4879, -4879, -4879, -4879, -546, -721, -4879, -4879, 173,
2965 -4879, -4879, -4879, -4879, 2143, -880, -722, 3923, 651, 179,
2966 -4630, -4879, -4879, -1112, -4879, 3335, -4879, -4879, -4879, -4879,
2967 -4879, -4879, -4879, -4879, -4879, -2967, -4879, -4879, -4350, -4879,
2968 -4879, -4879, -4879, -4879, 3904, 104, 2636, -4879, -4879, -4879,
2969 -38, -4879, -4879, -956, 2627, -4879, -1932, -4879, -592, -4879,
2970 2833, -4879, -4879, -4879, -4879, -1873, 181, -3788, -4879, 6,
2971 -4879, -4879, 183, -4879, 593, -4879, -4879, -3415, 14, -4879,
2972 -4879, -4879, -4879, -4380, -4879, 16, -442, 1123, -2802, -4879,
2973 190, 154, -4879, -4879, 2, 3275, -42, -32, -12, 5,
2974 107, 3392, -4879, -4879, 3433, -4879, 13, 1945, -4879, -4879,
2975 -789, -154, -4879, 1872, -653, 2606, 3384, 3378, -4879, 1863,
2976 2640, -1974, -1936, -4879, 1173, -414, -254, -4879, -4879, -4879,
2977 -4879, 632, -639, 2623, -4879, 3388, -4879, -4879, -4879, -1930,
2978 -2826, -3458, 1201, -3444, -3337, 677, 656, -1307, -16, -43,
2979 -758, 3394, -4879, -4879, 1214, -214, -4879, -4879, -212, -2801,
2980 1163, -4879, -4321, -2322, 1222, -671, -502, -4879, -588, -4879,
2981 -372, 6869, 2973, -1029, -4879, -4879, -1004, 15354, -4879, -4879,
2982 -4879, 15643, 16678, -4879, -4879, 17397, 17630, -4879, -810, 18022,
2983 15009, -1012, -1875, -263, 14141, -1763, -471, 60, -4879, -3435,
2984 -2675, -4879, -4879, -4879, 33, 1274, 573, -4879, -4383, -3781,
2985 -4879, -4879, 248, -4879, -378, -4879, -377, -4879, -4879, -4879,
2986 -2624, -4878, -2618, 2744, -4879, -4879, -4879, -200, -4879, 19171,
2987 -2748, -4879, -735, -1322, -1511, -3431, -1886, -4879, -4879, -4879,
2988 -4879, -4879, -4879, -4879, -1796, -3299, -493, 1985, -4879, -4879,
2989 2074, -4879, -4879, -4879, -900, 2360, -755, -2638, 1988, -4879,
2990 -772, 2750, -769, 8044, -589, 10060, -530, -2209, -1253, -1635,
2991 -4879, 4707, -4879, 7349, 6853, 3, -117, 697, -638, -6,
2992 14340, -544, -875, 4425, 12957, 12179, -3159
2993};
2994
2995 /* YYDEFGOTO[NTERM-NUM]. */
2996static const yytype_int16 yydefgoto[] =
2997{
2998 -1, 52, 53, 54, 55, 56, 1524, 2497, 2352, 3279,
2999 3280, 57, 58, 1520, 59, 60, 61, 62, 1435, 63,
3000 1016, 1768, 2512, 64, 2185, 799, 800, 801, 2086, 2087,
3001 2436, 2088, 2076, 1322, 1909, 1457, 773, 774, 1417, 1458,
3002 66, 67, 1316, 2067, 68, 69, 70, 1488, 1576, 1489,
3003 1490, 1429, 1815, 4308, 5044, 3076, 2315, 3327, 3077, 3078,
3004 3701, 3702, 3780, 5058, 5059, 71, 1592, 1593, 72, 73,
3005 2478, 3244, 3830, 4661, 4662, 4892, 612, 4331, 4332, 4879,
3006 4880, 5072, 5215, 5216, 2513, 1760, 3322, 3915, 3270, 4402,
3007 3271, 4403, 3272, 4404, 3256, 3862, 3863, 4345, 3864, 3273,
3008 4363, 4924, 3274, 2204, 5088, 2554, 1931, 1929, 4580, 4906,
3009 4170, 4171, 5302, 5096, 5097, 5098, 5324, 4365, 4408, 4409,
3010 4954, 5257, 5258, 3325, 3921, 4415, 4727, 4678, 2961, 75,
3011 708, 1794, 3431, 709, 2557, 646, 710, 2514, 80, 2547,
3012 5090, 2548, 1550, 2366, 3843, 3411, 81, 1042, 3667, 4747,
3013 4981, 4982, 82, 224, 83, 1776, 84, 85, 2492, 3263,
3014 86, 2221, 2978, 87, 88, 3009, 3010, 3011, 89, 3692,
3015 4598, 1491, 3065, 3066, 3067, 3068, 3723, 90, 1771, 2521,
3016 2522, 91, 92, 93, 94, 2673, 2674, 95, 2423, 96,
3017 97, 98, 99, 3757, 4272, 4379, 3106, 3286, 3887, 4377,
3018 100, 3248, 2515, 1784, 2537, 2538, 4389, 4703, 4704, 4705,
3019 4939, 5247, 4707, 4941, 5119, 4943, 4355, 5436, 5437, 4669,
3020 3646, 4184, 102, 4356, 4357, 5103, 103, 2219, 104, 105,
3021 1744, 2484, 2485, 3844, 2564, 3335, 3336, 3901, 3902, 106,
3022 3188, 107, 4248, 4249, 647, 5110, 5050, 5201, 108, 109,
3023 4252, 4253, 110, 111, 112, 113, 114, 700, 701, 702,
3024 1133, 1134, 2933, 1081, 115, 2096, 116, 979, 980, 3223,
3025 117, 1209, 2719, 2720, 4458, 118, 733, 1153, 1154, 2516,
3026 120, 742, 2693, 744, 1946, 3413, 3414, 3983, 121, 122,
3027 2670, 2696, 123, 1422, 2195, 2196, 4165, 2517, 648, 1194,
3028 2561, 2956, 4819, 4820, 5268, 5410, 4575, 4833, 2878, 3597,
3029 125, 649, 1462, 2271, 1101, 1102, 2567, 3339, 2164, 2165,
3030 2166, 3941, 2167, 3341, 2168, 1396, 2169, 1052, 1053, 3347,
3031 3348, 3349, 3937, 3944, 2506, 4737, 4738, 126, 1460, 2269,
3032 127, 128, 129, 1503, 892, 1111, 1112, 130, 661, 662,
3033 131, 4897, 132, 1055, 133, 4745, 134, 135, 764, 765,
3034 1191, 1192, 136, 137, 2285, 3704, 138, 139, 140, 3100,
3035 3101, 4264, 141, 142, 1763, 1764, 143, 144, 3153, 3154,
3036 145, 146, 147, 5350, 5412, 5413, 5414, 3950, 5271, 5352,
3037 1184, 149, 150, 151, 188, 932, 933, 934, 845, 2518,
3038 4729, 153, 154, 1418, 1419, 1420, 1421, 2190, 155, 156,
3039 157, 158, 159, 160, 161, 1748, 162, 163, 4872, 164,
3040 165, 1709, 166, 167, 1345, 1346, 1347, 1348, 2101, 2866,
3041 606, 817, 1351, 1357, 1362, 1363, 1364, 169, 712, 1147,
3042 1148, 1149, 1911, 170, 1187, 983, 713, 1142, 172, 714,
3043 2147, 2908, 3611, 3612, 3613, 3616, 4560, 4143, 715, 2904,
3044 175, 1953, 2679, 2682, 2900, 716, 2913, 2914, 2915, 3619,
3045 717, 735, 1045, 2574, 718, 1283, 180, 181, 182, 826,
3046 820, 821, 2871, 184, 2060, 2847, 751, 1368, 786, 787,
3047 835, 2446, 2113, 2114, 2138, 2139, 1377, 1378, 2126, 2130,
3048 2131, 2891, 2884, 2119, 4130, 4804, 4805, 4806, 4807, 4808,
3049 4809, 4546, 2134, 2135, 1380, 1381, 1382, 2143, 185, 2851,
3050 3571, 3572, 3573, 4107, 4108, 4122, 4118, 4531, 4791, 3574,
3051 1182, 1388, 4539, 5380, 3575, 4780, 4781, 4997, 4126, 3582,
3052 3607, 3310, 3311, 3312, 3576, 5166, 5167, 5377, 5378, 4999,
3053 5000, 2170, 1844, 1083, 1284, 1084, 1856, 1285, 1828, 1086,
3054 1286, 1287, 1288, 1089, 1289, 1290, 1291, 1092, 1820, 1292,
3055 1293, 1838, 1853, 1854, 1352, 5001, 1295, 1296, 1297, 3578,
3056 1298, 4061, 4495, 4481, 2779, 2780, 2083, 4057, 3516, 4051,
3057 2055, 2837, 4813, 5018, 5019, 3555, 4086, 4511, 4778, 5158,
3058 5278, 5279, 5366, 1299, 1300, 1301, 2834, 2051, 895, 1302,
3059 3846, 2053, 2773, 1617, 1618, 1956, 1978, 2726, 2742, 2743,
3060 2753, 3475, 2761, 2766, 3503, 3504, 2774, 2803, 1303, 2728,
3061 2729, 3459, 1980, 1304, 938, 1621, 939, 1975, 2798, 1312,
3062 1305, 1306, 1947, 810, 4787, 1137, 851, 3092, 1701, 941,
3063 748, 1307, 1308, 1309, 1310, 1496, 866, 1104, 1105, 603,
3064 595, 868, 3069, 604, 597, 598, 1706
3065};
3066
3067 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
3068 positive, shift that token. If negative, reduce the rule whose
3069 number is the opposite. If YYTABLE_NINF, syntax error. */
3070static const yytype_int16 yytable[] =
3071{
3072 594, 809, 178, 894, 1010, 183, 173, 778, 1928, 825,
3073 1549, 1908, 1615, 859, 174, 1313, 176, 745, 1864, 747,
3074 1317, 899, 893, 753, 904, 737, 183, 836, 767, 775,
3075 745, 737, 782, 2203, 2379, 775, 775, 1402, 811, 1707,
3076 814, 3269, 1173, 1174, 1175, 1117, 1597, 1834, 1179, 1383,
3077 2280, 1554, 3584, 1609, 1344, 846, 1343, 645, 812, 1130,
3078 1824, 1825, 1702, 3350, 2272, 1773, 592, 1840, 3436, 1968,
3079 1833, 1495, 3292, 2449, 1331, 3151, 2542, 3605, 2281, 2926,
3080 2928, 2293, 4172, 1353, 2685, 3673, 743, 1195, 995, 3185,
3081 2725, 902, 699, 3913, 4136, 3848, 3718, 3945, 3720, 779,
3082 3945, 2440, 3417, 4210, 168, 923, 1463, 3871, 3897, 4073,
3083 3618, 4104, 1136, 1127, 1144, 65, 1048, 1746, 3693, 3094,
3084 4731, 1751, 4576, 4422, 4401, 711, 1755, 4167, 4233, 3595,
3085 830, 4121, 1115, 772, 2853, 1119, 1765, 4834, 2310, 1057,
3086 806, 4784, 4724, 1758, 4411, 2788, 4362, 3524, 2176, 3926,
3087 1789, 838, 74, 76, 2264, 2893, 77, 823, 3624, 1786,
3088 78, 79, 601, 1150, 2562, 2863, 1046, 3910, 101, 653,
3089 119, 839, 124, 148, 916, 3579, 2872, 4969, 2624, 152,
3090 2400, 171, 1376, 594, 849, 849, 852, 1343, 849, 4410,
3091 177, 798, 861, 4685, 811, 2896, 1379, 896, 4910, 5130,
3092 861, 4149, 1459, 861, 4040, 4173, 811, -2370, 849, -1889,
3093 2099, 811, 1785, -133, 2264, 849, 4842, 811, -133, 4796,
3094 4956, 4798, -2243, -2408, -2431, -1897, 1812, 1548, 3579, 1824,
3095 1825, 2264, 2404, 2405, 2758, 1575, -2463, 4119, 719, 4124,
3096 659, 4723, 1459, 610, 3481, 1602, -2271, 1459, 1048, 1833,
3097 -2272, 1840, 1821, 1822, -2271, -2271, 4864, 2023, -2272, -2272,
3098 -1856, 719, 3228, 1832, 3229, 3259, -1869, 3935, 3233, 4486,
3099 3235, 3236, 1349, -2299, 2094, -2373, -1894, 928, 3623, 3240,
3100 3241, 3242, 719, 1855, 719, 1349, 2029, -2630, 2438, 2439,
3101 3282, 1737, 844, 4874, 4875, -2630, -2630, -1884, 1324, 1155,
3102 5112, 1159, 659, 2187, 659, 5049, -2242, 2416, 2533, 1742,
3103 5229, 3208, 815, 2058, 659, 2503, 3004, 857, 2031, 659,
3104 1812, 2695, 4639, 1000, 2283, 5373, 1431, 1812, 3457, -1897,
3105 4423, 2656, 2073, 1492, 659, 659, 3674, 2476, 719, 3081,
3106 758, 1204, 2551, 1812, 1492, 1910, 4640, 1321, 4558, 719,
3107 659, 4245, 2211, 659, -1712, 4460, 4461, 1799, 4463, 4464,
3108 4465, 4466, 4467, 4398, 2796, 3421, 4898, 2552, 1390, 3423,
3109 725, 3260, 1812, 2411, 929, 5263, 5084, 3175, 1812, 1606,
3110 608, 4959, 3989, 2551, 4353, 2332, 725, 725, 4399, 3481,
3111 780, 1170, 2534, 3005, 726, 4960, 5359, 2838, -2429, 725,
3112 5014, 3384, 2023, 3386, 5033, 5034, 1901, 1431, 2552, 2110,
3113 726, 726, 1821, 1822, 4574, 3176, 2209, 930, 2259, 2947,
3114 4680, 2023, 2346, 726, 659, 759, 3006, 894, 1334, 4483,
3115 2283, 2029, 2875, 3104, 5374, 1432, 725, 2671, 725, 1832,
3116 2398, 2074, 2023, 1707, 186, 2959, 2796, 3581, 3177, 605,
3117 2029, 1609, 2301, 3778, 4957, 2081, 5132, 4246, -2134, 4343,
3118 726, 3425, 726, 2031, 3007, -2134, 4701, 3609, 1830, 1831,
3119 5046, 2029, 3306, 4827, 931, 1872, 5011, 3307, 894, 186,
3120 4836, 2831, 2031, 4344, 4702, -2153, 2302, 187, 2832, 186,
3121 1812, 3620, -2153, 5251, 2212, 829, 1335, 2082, 1813, 3779,
3122 1812, 2960, 3610, 2031, 2948, 5343, 2363, 3105, 1004, 1200,
3123 2260, 1959, 3434, 1743, 1014, 2095, 1432, 2876, 2333, 1989,
3124 2850, 2672, 187, 5085, 4354, 2077, 1702, 1028, 2017, 3990,
3125 2089, 2089, 187, 4681, 2839, 1071, 3082, 1812, 4484, 1948,
3126 3426, 5453, 2283, 2283, 2100, 660, 2283, 2016, 2283, 4372,
3127 1958, 3261, 3774, 1607, 2553, 4559, 2063, 2075, 1391, 1912,
3128 3477, 4247, 4961, 1707, 1171, 3008, 1969, 3895, 1743, 3848,
3129 2972, 2477, 4935, 2382, 3836, 4400, 5375, 760, 5400, 2657,
3130 3422, 5376, 3481, 2213, 3424, 4584, 2059, 1048, 2294, -415,
3131 3674, 5184, 1813, 4267, 5083, 4697, 2535, 858, 4641, 1813,
3132 942, 4902, 1951, 1001, 3222, 1048, 811, 3761, 849, 2536,
3133 849, 5230, 852, 987, 849, 1813, 183, 984, 761, 762,
3134 3936, 896, 1743, 1502, 816, 985, 1017, 986, 849, 5262,
3135 2727, 1862, -2429, 1819, 2488, 849, 2250, 1892, 5250, 3262,
3136 4373, 4500, 3209, 1608, 1813, 5443, 2258, 3013, 1522, 1814,
3137 1813, 2347, 4528, 1743, 2152, 4121, 4532, 1206, 1178, 594,
3138 1433, 1835, 2417, 852, 1048, 825, 2374, 1952, 861, 2377,
3139 611, 1523, 896, 1151, 2504, 861, -133, -133, 861, 5125,
3140 -1889, 978, 1836, 1036, 1384, 5463, -2370, 1615, 1615, 1615,
3141 2418, 936, 4371, -2243, 849, 937, 1837, 2384, 2393, 4418,
3142 -2429, 5398, -2408, -2431, 3369, 3496, 4766, 2797, 1181, 5345,
3143 763, 183, 5212, -2429, 1972, -2463, 4471, -2271, 2050, 731,
3144 732, -2272, 1434, 1152, 4374, 1157, 4177, 1161, 2437, 2210,
3145 2144, 1823, 2364, 1165, 4419, 2367, 2368, 1827, 4563, 2852,
3146 731, 732, 731, 732, 2145, 811, 3639, -1894, 4393, 1143,
3147 1841, 5335, -2299, 2399, -2373, 5300, 2412, 2248, -2630, 894,
3148 1196, 4519, 1813, 4521, 2645, 1835, 1859, 2106, -1884, 1181,
3149 1719, 3848, 1813, 2019, 5030, 2061, 1726, -2242, 1724, 1727,
3150 1311, 1311, 1048, 811, 775, 2856, 1836, 654, 775, 3544,
3151 1048, 1048, 3828, 3829, 838, 1870, 1493, 1494, -2134, 1387,
3152 1839, 1894, 811, 2268, 1048, 2628, 811, 1493, 1494, 1813,
3153 1712, 1146, 1311, 5306, 839, 1438, 936, 4720, 2326, 4756,
3154 937, 2833, 3910, 1037, 811, -2153, 5310, 1423, 2445, 1178,
3155 178, 5261, 2071, 183, 173, 5402, 811, 3620, 3771, 3626,
3156 5283, 3627, 174, 4904, 176, 1406, 2655, 3493, 3494, 3495,
3157 3496, 2602, 811, 3014, 3889, 2539, 2268, 2667, 5255, 3032,
3158 2047, 2048, 2049, 2050, 4157, 3775, 3089, 2973, 2486, 4199,
3159 811, 4237, 4375, 2268, 1333, 849, 849, 2045, 2046, 2047,
3160 2048, 2049, 2050, 2334, 2104, 2295, 840, 1743, 1168, 2104,
3161 4330, 3579, 2675, 4585, 3579, 1952, 867, 4903, 2296, 5442,
3162 2297, 3865, 5405, 5406, 2133, 903, 775, 775, 2893, 2930,
3163 4333, 2905, 2311, 1897, 4990, 1098, 2458, 4334, 1717, 924,
3164 3183, 5269, 3669, 1862, 2937, 1407, 1354, 5388, 659, 1311,
3165 1311, 3090, 168, 3218, 3589, 5239, 1424, 4398, 594, 2986,
3166 1320, 4376, 833, 65, 1328, 4743, 2735, 3600, 659, 861,
3167 5460, 3246, 2120, 896, 4873, 861, 4841, 5254, 861, 4963,
3168 3982, 2298, 4399, 1038, 5344, 3579, 1416, 4964, -1856, 2264,
3169 841, 4250, 605, 849, 2392, 833, 4147, 1408, 2816, 1372,
3170 74, 76, 3587, 3621, 77, 5336, 4948, 5424, 78, 79,
3171 912, 2121, 3478, 3479, 1504, 811, 101, 3498, 119, 1039,
3172 124, 148, 849, 849, 4265, 5465, 5038, 152, 3004, 171,
3173 772, 1568, 4848, 2500, 4172, 607, 2676, 5092, 177, 913,
3174 2584, 2585, 3822, 3823, 811, 811, 811, 2540, 849, 4436,
3175 594, 594, 594, 2379, 3528, 3529, 784, 3821, 3491, 3492,
3176 3493, 3494, 3495, 3496, 5407, 4291, -1856, 4761, 5411, 2197,
3177 2736, 1374, 2945, 5025, 655, 1156, 1158, 1160, 1040, 3118,
3178 1162, 1163, 1164, 4979, 1041, 1505, 2312, 2198, 4870, 4386,
3179 1169, 4788, 705, 1409, 746, 2722, 4792, 4251, -2240, 4794,
3180 1862, 4785, 2906, 3375, 2197, 3005, 5320, 4782, 2581, 1581,
3181 1425, 4871, 15, 2495, 2313, 4475, 5270, 4476, 2123, 2555,
3182 849, 5441, 849, 849, 1586, 4863, -671, 3878, 1334, 1897,
3183 1587, 2931, 656, 2817, 2932, 3918, 1805, 1707, 2818, 2314,
3184 4991, 3946, 2737, 3184, 4173, 2199, 20, 2186, 1426, 4965,
3185 2501, 1582, 1834, 3004, 1846, 1311, 785, 4173, 1615, 3119,
3186 5105, 5093, 1743, 2200, 5464, 3247, 1846, 2444, 40, 5245,
3187 657, 4360, 658, 2794, 2309, 2819, 183, 2124, 5124, 1777,
3188 2199, 1427, 5139, 1707, 5475, 1930, 1930, 5476, 3845, 3340,
3189 811, 3670, 745, 2664, 2665, 4716, 1335, 5127, 2200, 4744,
3190 3211, 3945, 4457, 2738, 44, 5104, 2739, 842, 811, 1200,
3191 1850, 3866, 3120, 2541, 1965, 1099, 3169, 811, 1718, 5185,
3192 1971, 1778, 3170, 4710, 5190, 3947, 1847, 5341, 5342, -1856,
3193 3005, 2677, 4292, 1588, 1311, 5094, 5026, 1514, 1847, 2987,
3194 3579, 5420, 5126, 2605, 1781, 48, 5155, 4722, 1428, 1862,
3195 1413, 2678, 1414, 4477, 3072, 4980, 3372, 2617, 49, 2721,
3196 825, 2724, 2925, 4599, 1311, 1782, 2583, 2731, 4348, 3121,
3197 2623, 4569, 3742, 2745, 2746, 2747, 2215, 3008, 3942, 2017,
3198 982, 50, 3695, 2763, 2765, 5045, 2216, 1848, 2775, 3879,
3199 1849, 3126, 1311, 1311, 1311, 2907, 1311, 5394, 1806, 1848,
3200 2496, 5321, 1849, 936, 2201, 3197, 3073, 937, 2579, 5117,
3201 2740, 1587, 2820, 659, 3850, 1583, 1311, 3373, 5421, 4173,
3202 32, 1881, 1702, 2622, 2466, 3171, 894, 2630, 1914, 2603,
3203 1916, 2637, 1918, 2102, 1920, 5028, 1922, 1923, 1924, 2201,
3204 831, 5118, 1005, 1926, 2616, 2898, 1515, 2618, 1005, 4986,
3205 40, 3018, 1807, 5361, 811, 5007, 2111, 2112, 4361, 2116,
3206 3853, 1005, 1387, 1882, 2654, 3126, 2467, 3122, 2659, 4562,
3207 4915, 5444, 2663, 3948, 1140, 2666, 839, 839, 5322, 839,
3208 1150, 3743, 5156, 5128, 1311, 1779, 44, 1589, 1311, 1311,
3209 750, 3696, 2751, 2897, 1850, 3686, 3661, 3074, 5422, 811,
3210 811, 2150, 3008, 1311, 832, 5323, 1850, 2658, 756, 1862,
3211 2661, 2662, 5157, 4349, 1588, 3855, 2202, 2206, 1584, -1856,
3212 2741, 4916, 1783, 2120, 1850, 1590, 775, 48, -1856, 4917,
3213 1823, -1856, 1401, 2022, -1856, 1406, 2023, 2217, 3662, 1559,
3214 49, 5048, 3949, 3019, 5395, 4455, 5052, 5053, 2205, 1808,
3215 2899, 2202, 1207, 3772, 3079, 3579, 4431, 4918, 1591, 3579,
3216 2191, 2255, 2121, 50, 2510, 2029, 775, 3687, 1177, 849,
3217 1366, 2192, -2631, 3848, 833, 2218, 2206, 51, 3102, 3172,
3218 1560, 811, 2282, 3318, 3137, 4213, 5181, 3123, 1780, 2193,
3219 1561, 811, 5362, 757, 849, 3124, 2117, 2031, 3125, 3179,
3220 1516, 1809, 4671, 2369, 1851, 1913, 4947, 3858, 1915, 936,
3221 1917, 4919, 1919, 937, 1921, 1407, 1851, 3173, 1925, 1372,
3222 896, 2122, 811, 1852, 4920, 3773, 775, 1883, 3698, 2243,
3223 2468, 2686, 3180, 1481, 928, 3744, 4921, 3155, 1517, 3382,
3224 5423, 1615, 2511, 775, 4847, 811, 2759, 2395, 811, 3859,
3225 3174, 1178, 5187, 5188, 2777, 4235, 4224, 4137, 4711, 4214,
3226 3178, 4934, 3075, 4958, 3530, 3860, 4352, 1408, 758, 2123,
3227 1367, 1518, 1392, 3745, 1349, 3533, 624, 3534, 2065, 5198,
3228 4782, 617, 3138, 4024, 811, 4025, 4877, 3697, 3698, 4006,
3229 3141, 1374, 2118, 3144, 1810, 849, 849, 849, 849, 811,
3230 3535, 4387, 3663, 4392, 3111, 3112, 3746, -2631, 3115, 4173,
3231 1393, 834, -2631, 811, 1862, 3030, 3699, 2350, 2207, 4138,
3232 783, 1403, 2353, 4180, 1311, 1311, 1311, 4236, 2124, 4346,
3233 1884, 929, 1375, 2469, 2194, 3257, 626, 2370, 2649, 1556,
3234 2371, 1562, 2379, 1394, 2433, -569, 2066, 4322, 3685, -2631,
3235 5199, 4325, 4326, 759, 4328, 1416, 3027, 2434, 3289, 1404,
3236 1416, 3861, 3845, 1409, 1397, 624, 1048, 1519, 2885, 3212,
3237 3213, 3214, 928, 2942, 930, 1563, 4581, 1557, 35, 1564,
3238 807, 3301, 3302, 3303, 3304, 2435, 4263, 40, -1081, 894,
3239 894, 2421, 1405, 3309, 2604, 2427, 2038, 4347, 1398, 4015,
3240 2577, 3136, 1399, 3969, 4181, 3664, 725, 2349, 3536, 2614,
3241 1558, 4026, 1565, 3537, 5259, 818, 4922, 1410, 3337, 4923,
3242 3218, 4027, 2450, 44, 811, 626, 3816, 827, 4041, 1416,
3243 726, 931, 4112, 1416, 3159, 1400, 849, 849, 4134, 4020,
3244 4021, 4022, 4023, 828, 4582, 4028, 4029, 4030, 4031, 4032,
3245 4033, 4034, 4035, 4036, 4037, 1411, 849, 5111, 2507, 35,
3246 5138, 4182, 40, 4183, 48, 4113, 3288, 3203, 2289, 929,
3247 2290, 3293, 4900, 2955, 4439, 811, 4440, 49, 2650, 3050,
3248 4534, 3052, 2544, 2023, 3776, 1330, -2631, 4686, 1412, 5108,
3249 4115, 849, 849, 849, 849, 624, 5131, 637, 44, 638,
3250 50, 4077, 4078, -2262, 811, 760, 5122, -156, 5409, 3298,
3251 2651, 811, 930, 2450, 51, 894, 1532, 3645, 1481, 5384,
3252 1413, 1029, 1414, 2652, 643, 594, 1522, 3181, 594, -1087,
3253 1551, 2291, 852, 4687, 4180, 3728, -156, 1311, 3116, 48,
3254 3051, 843, 3053, 4978, 2031, 5149, 761, 762, 3729, 1523,
3255 4755, 4173, 49, 3538, 1533, 626, 1030, 5077, 2653, 4937,
3256 3182, 2669, 5078, 3539, 3845, 3359, 2959, 3579, 1552, 931,
3257 40, 1415, 861, 861, 3579, 50, 3410, 844, 5086, 3579,
3258 624, 3330, 3579, 896, 896, -2631, 637, 861, 638, 51,
3259 861, 1031, 2045, 2046, 2047, 2048, 2049, 2050, 5041, 640,
3260 2369, 4117, 1862, 4665, 3579, 4938, 44, 849, 849, 5467,
3261 642, 3945, 5079, 1759, 849, 4181, 811, 3579, 5252, 1522,
3262 853, 3514, 3642, 1787, 855, 5259, 4684, 3521, 183, 2680,
3263 2505, 4173, 2431, 875, 2869, 4159, 4666, 5074, 1032, 5076,
3264 626, 1930, 1523, 5080, 5081, 1326, 1788, 48, 849, 2602,
3265 861, 2870, 918, 861, 861, 2301, 811, 811, 2692, 849,
3266 4823, 4974, 4825, 4695, 5253, 4715, 811, 2069, 5241, 876,
3267 2432, 3770, 4182, 811, 4183, 1535, 1553, 927, 877, 987,
3268 745, 745, 183, 984, 2697, 878, 879, 880, 1311, 2302,
3269 1311, 985, 5116, 986, 1536, 1311, 1311, 51, 1889, 3922,
3270 4588, 4589, 1311, 1311, 1311, 1835, 2442, 2443, 1311, 896,
3271 1311, 1311, 1311, 1311, 1311, 1311, 637, 1311, 638, 1311,
3272 1311, 1890, 1002, 1311, 1003, 4293, 1836, -440, 1146, 4178,
3273 3432, 3433, 4173, 1903, 2370, 935, 1904, 2371, 1311, 1311,
3274 1311, 1311, 3480, 1759, 1537, 849, 1311, 1048, 4294, 2691,
3275 1311, 3981, 894, 1311, 3508, 4675, 1311, 1311, 1311, 1311,
3276 1311, 1311, 1311, 1311, 1311, 2988, 1311, 2718, 2993, 2994,
3277 2283, 2992, 811, 1311, 2089, 1311, 3739, 5148, 4601, 3579,
3278 2284, 2341, 811, 3583, 4605, 4310, 3531, 2639, 3409, 2640,
3279 989, 2641, 3982, 2642, 5337, 2643, 5347, 3353, 2358, 2644,
3280 1029, 637, 1048, 638, 5348, 29, 4311, 4160, 5332, 2980,
3281 4342, 811, 5082, 4161, 3740, 991, 1372, 4882, 1311, 1525,
3282 4162, 1373, 811, 811, 3557, 1835, 4870, 3453, 1759, 5115,
3283 1538, 3625, 2104, 1311, 4870, 1030, 994, 1594, 3579, 734,
3284 1598, 5192, 1311, 1311, -440, 734, 1836, 3741, 4656, 4871,
3285 4657, 4658, 3395, 3585, 4659, 4163, 811, 4871, 997, 40,
3286 1837, 4883, 3898, 2911, 1011, 2916, -1685, 1897, 225, 2909,
3287 3891, -1685, 3908, 3675, 609, 5401, 3026, 4164, 1539, 1024,
3288 1835, 1540, 703, 2949, 2283, 2952, 4884, 1960, 1374, 3118,
3289 1961, 5397, 2378, 1577, 2292, 44, -568, 852, 40, 3703,
3290 781, 1836, 2097, 4885, 4223, 2098, 745, 4886, 745, 3275,
3291 3542, 3, 4, 2946, 3850, 1839, 4394, 1032, 2318, 1006,
3292 3851, 1007, 3012, 719, 1542, 1311, 2865, 4887, 2319, 1375,
3293 4888, 1578, 3852, 719, 44, 1579, 48, 594, -1685, 849,
3294 849, 3593, 5180, 1033, 861, 4889, 896, 861, 861, 49,
3295 849, 1035, 849, -1646, 3117, 1823, 849, 1401, 5434, 811,
3296 3853, 3454, 3854, 1535, 1580, -1646, 3455, 1034, 1544, 3119,
3297 -1646, 3598, 50, 5466, 1050, 48, 719, 3, 4, -1685,
3298 3579, 775, 1536, 1054, 3849, 4838, 51, 1097, 49, 3307,
3299 1545, 2282, 4208, 5305, 4111, 3507, 1513, 3509, 3510, 3037,
3300 811, 1530, 1106, 4200, 2759, 2759, 1113, 3049, 1615, 2759,
3301 1547, 50, 2424, 4421, 1615, 3855, 811, -1646, 1107, 1181,
3302 1181, 3994, 3120, 1181, 1124, 5349, 3630, 4890, 3200, 3631,
3303 3632, 1823, 1537, 2177, 1048, 1131, 811, -1646, 705, 1141,
3304 3579, 3093, 3093, 3856, 719, 4156, 2759, 2759, 2894, 2895,
3305 1823, 3678, 2177, 3374, 3376, 3377, 811, 811, 15, 4238,
3306 811, 3894, 852, 775, 2103, 1172, 4112, 2104, -1646, 3579,
3307 4215, 1180, 4222, 3276, 3957, 3958, 1176, 4891, -1646, 3121,
3308 -1646, 3634, 2572, 1183, 2573, -1646, 849, -1646, 2804, 849,
3309 2805, 2108, 20, 2634, 2098, 4218, 2104, 1186, 2486, 4113,
3310 3867, 1976, 3857, 51, 3837, 5386, 4555, 3858, 1188, 2646,
3311 811, 811, 2647, 2806, 4114, -1707, -1707, 5318, 1538, 936,
3312 1823, -2243, 2177, 937, 4115, 3186, 3734, 3189, 3191, 3558,
3313 1190, 3559, -1646, 883, 884, 885, 1189, 886, 887, 888,
3314 889, 890, 891, 2648, 3155, 2683, 2647, 1193, 2684, 3859,
3315 4116, 2868, -1646, 1048, 1897, 1197, 1311, 1311, 1311, 5449,
3316 2917, 5450, 1311, 2104, 2311, 3860, 1539, 3024, 849, 1540,
3317 3025, 4789, 40, 2311, 3579, 3096, 849, 3122, 3097, 849,
3318 2378, 1181, 4878, 1198, 2509, 849, 5141, 3755, 3252, 1201,
3319 5431, 3253, 2526, -1646, 1311, 1200, 849, 3360, 4175, 4176,
3320 2104, 4928, -1646, 3652, 2424, 3560, 3764, 3561, 44, 1199,
3321 2282, 3401, 1542, 3093, 2647, 811, 2807, 5382, 811, 1203,
3322 3277, 2808, 3291, 1202, -1646, 745, 2809, 3452, -1711, -1711,
3323 2104, -1645, 5031, 3461, 1208, 4117, 2104, 849, 1311, 3443,
3324 1329, 5036, 3446, -1645, 4405, 3447, 3845, 3467, -1645, 48,
3325 2104, 1214, 5280, 5281, 3481, 3186, 1544, 3340, 3482, 3483,
3326 3484, 3861, 49, 1210, 831, 849, 32, 3323, 3468, 3278,
3327 1336, 2104, 3319, 2376, 3294, 1332, -1686, 5299, 1545, 2606,
3328 1337, -1686, 2401, 2311, 3439, 50, 936, 1342, 3469, 1358,
3329 937, 2104, 4412, 1338, 1311, -1645, 40, 3123, 1547, 51,
3330 2781, 3500, 1350, 2784, 2104, 3124, 2424, 3884, 3125, 3513,
3331 3518, 3579, 2104, 3519, 3721, -1645, 3726, 3722, 2312, 3727,
3332 1355, 849, 4790, 849, 3093, 849, 3093, 2312, 832, 1356,
3333 5448, 3750, 44, 894, 3751, 3931, -1710, -1710, 3932, -1646,
3334 2311, 2602, 3933, 1358, 2722, 3934, 2313, 3955, -1686, 4047,
3335 2104, 4058, 4048, 1359, 4059, 2313, -1645, 3877, 1370, 3880,
3336 4000, 1930, 4053, 1385, 4069, -1645, 2810, 2104, 1386, 4145,
3337 4970, 2314, 4146, 48, 1389, 2022, 2811, 706, 2023, 1395,
3338 2314, 3985, 5367, 5368, 4150, 3579, 49, 4151, 1401, -1686,
3339 4155, 3579, 2430, 2932, 1461, 5481, 4179, 3594, 833, 2647,
3340 4395, 1436, 4452, 2647, 1466, 1952, 2309, 2029, 4472, 50,
3341 4501, 2104, 594, 2684, -2631, 2309, 1467, 4513, 861, 1214,
3342 2104, 861, 3481, 707, 861, 1609, 3482, 3483, 3484, 4223,
3343 3485, 4758, 3919, 849, 3920, 825, 1048, 2312, 1048, 2031,
3344 -2273, 1311, 4565, 2722, 1464, 2932, 1311, 4571, 4577, 3015,
3345 4572, 2647, 3486, 2311, 4578, 4717, 4763, 2647, 4718, 4764,
3346 -2535, 4765, 4017, 4772, 2104, 2313, 2684, 1502, 1506, 1311,
3347 1311, 1311, 4843, 4929, 1311, 4844, 2647, 4971, 4111, 825,
3348 4972, 1507, 1311, 1311, 1311, 1311, 3868, 4335, 3870, 4336,
3349 2314, 1358, 3579, -1634, 2312, 1311, 4046, 1369, 1311, 1371,
3350 1311, 4987, -1645, 1508, 2684, 4994, 3541, 1519, 4995, 4597,
3351 4715, 1311, 1311, 1521, 3487, 1311, 3993, 5004, 5010, 1048,
3352 1897, 3905, 2313, 5012, 1531, 2309, 3905, 896, 4533, 1311,
3353 4536, 1311, 1569, 1311, 5023, 834, 1534, 5024, 1570, 3978,
3354 4216, 4089, 2311, 5067, 1585, 4127, 5068, 2314, 1596, -2631,
3355 4112, -2535, 5107, 1311, -2631, 2068, 5140, 811, 5150, 5024,
3356 5151, 2684, 3091, 3519, 3580, 5152, 1595, 1599, 2104, 3939,
3357 5163, 2918, 3079, 5164, 4234, 1535, 4196, 3563, 3564, 3565,
3358 811, 5169, 2309, 4113, 1897, 825, 1604, 5172, 1311, 2934,
3359 3905, -2631, 1605, 1708, 1536, 2938, 3102, 5191, 4114, 2941,
3360 2647, -2535, 1214, 1311, 1711, 3481, 1710, 2312, 4115, 3482,
3361 3483, 3484, 1713, -2535, 1716, 3155, 2311, 3580, -2535, 5197,
3362 3486, 3614, 2684, -2535, 3617, 2965, 2916, 1720, 5203, -2535,
3363 3577, 2684, -2535, 1721, 4116, 2313, -2535, 5204, 2038, 5207,
3364 2684, 1729, 2104, 5208, 1537, 5209, 2104, 5237, 5210, 5287,
3365 5238, 3769, 5288, 5291, 5292, 5293, 1897, 2104, 2104, 5295,
3366 2314, 5314, 2104, 5339, 5315, -2535, 5340, 1311, 4262, 3093,
3367 4316, 3020, 4329, 1468, 1930, 5369, 1730, 2311, 3905, 1469,
3368 1733, 5381, 3487, 3577, 5017, -2535, 5408, 1736, -2537, 5024,
3369 1005, 5446, 1470, 1739, 5447, 2309, 2312, 5459, 1741, 5461,
3370 2104, 849, 5462, 849, 849, 849, 3488, 3489, 3490, 2311,
3371 3491, 3492, 3493, 3494, 3495, 3496, 4985, 5479, 1747, 4117,
3372 5288, 1471, 1750, 3070, 2313, 3777, -2535, 1752, -2631, -2535,
3373 1538, 2759, 2759, 2759, 2759, -2535, 1743, 2759, 2759, 2759,
3374 2759, 2759, 2759, 2759, 2759, 2759, 2759, 4319, 3098, 2314,
3375 1761, 5487, 1766, 4496, 5462, 3108, 1762, 1767, -176, 1769,
3376 1770, 3113, 1772, 1774, 4050, 1775, 1790, 1804, 1005, 1811,
3377 2312, 1472, 3128, 1797, 3594, 1473, 205, 3132, 1539, -2537,
3378 1816, 1540, 1474, 1817, 2309, 1475, 3810, 1818, 1819, 1823,
3379 -2535, 1826, 2378, 2759, 2759, 1827, 1829, 3145, 2313, 1843,
3380 1845, 1857, 3147, -2631, 1858, 1861, 3150, 1862, 1869, 1873,
3381 1476, 1875, 1876, 1878, 2311, 1880, 1886, 811, 4201, 3167,
3382 1888, 29, 1885, 2314, 1542, 1893, 1900, -2631, 1896, -2537,
3383 1899, 2312, 3192, 1902, 2045, 2046, 2047, 2048, 2049, 2050,
3384 1957, -2537, 1005, 1964, 1477, 750, -2537, 1927, 1966, 1967,
3385 1973, -2537, 1974, -1860, -1867, 1981, 1982, -2537, 2309, 2313,
3386 -2537, 1983, -1857, 2312, -2537, 3487, -1858, 1984, 1544, 1985,
3387 51, 1987, -2535, 1988, 3488, 3489, 3490, 1989, 3491, 3492,
3388 3493, 3494, 3495, 3496, 2314, 1990, 1991, -1861, 1992, 1994,
3389 1545, 2313, 1995, -2537, 1996, 4449, -2535, -1859, -2535, -2535,
3390 1997, 1998, 1999, 1478, 2000, 1479, 2001, 2003, 2004, 2005,
3391 1547, 2006, 2007, -2537, 40, 1480, 2314, 2008, 2009, 2309,
3392 2056, 2010, 2054, 4239, 1481, 1311, 2058, 4691, 2072, 2059,
3393 2068, 1311, 2084, 2092, -2535, 2107, 1482, -2535, -2535, -2535,
3394 849, 2109, 1373, 1375, 2140, 3093, 3093, 1707, 2151, 2142,
3395 44, 2309, 2153, 2154, -2537, 5162, 2155, -2537, 2156, 2172,
3396 4367, 4368, 2173, -2537, 2174, 2175, 2177, 2722, 2312, 2178,
3397 2179, 2180, 2181, 2182, 1483, 2183, 2022, 1484, 1485, 2023,
3398 811, 811, 811, 2208, 2189, 2214, 2220, 2245, 2252, 2249,
3399 2251, 48, 2253, 2254, 2256, 179, 2313, 811, 2257, 2273,
3400 2275, 2274, 2286, 2287, 49, 2288, 2303, 1486, 2029, 2305,
3401 3929, 2299, 2308, 2306, 2307, -2631, 179, 2309, -2537, 1930,
3402 811, 2314, 2316, 2317, 2322, 2320, 2321, 50, 2327, 1930,
3403 811, 811, 2331, 4482, 2328, 811, 2337, 2342, 3093, 2338,
3404 2031, 51, -1405, 2339, -1405, 2343, 824, 811, 4405, 2348,
3405 2344, 3925, 2345, 2351, 2354, 2365, 2309, 3488, 3489, 3490,
3406 2372, 3491, 3492, 3493, 3494, 3495, 3496, 2375, 2355, 1481,
3407 2356, 2387, 2360, 750, 1487, 2361, 2390, 2396, 3953, 2397,
3408 2394, 2413, 2414, 2373, 2380, 3415, 2381, 2419, 2441, 1439,
3409 4553, 2385, 2386, 2389, 2391, 2402, 1181, 2403, 2415, 2420,
3410 -2537, 2425, 2759, 3429, 4444, 4445, 4446, 4447, 4448, 2429,
3411 2448, 3415, 849, 2452, 2454, 2455, 2457, 2461, 4083, 2456,
3412 2462, 2463, 2464, 1440, -2537, 2465, -2537, -2537, 2471, 2472,
3413 2473, 2474, 4604, 811, 2475, 2481, 2022, 2479, 2482, 2023,
3414 2487, 2490, 2491, 2024, 2025, 2026, 811, 619, 2494, 811,
3415 -2631, 2499, 2508, 1553, 2519, -2631, 2505, 2480, 2523, 2527,
3416 2027, 2532, -2537, 2543, 2524, -2537, -2537, -2537, 2029, 2546,
3417 2549, 1311, 2550, 4663, 2559, 2030, 2569, 2571, 837, 2575,
3418 1311, 2563, 1442, 2566, 2580, 2586, 1311, 2588, 1311, 2589,
3419 2593, 1311, -2631, 2607, 2596, 2597, 1311, 1311, 1311, 1311,
3420 2031, 2594, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311,
3421 1311, 1311, 2598, 2600, 2599, 1311, 1311, 1443, 2609, 2610,
3422 2611, 2612, 2625, 2626, 2660, 1311, 2668, 4736, 825, 1311,
3423 2681, 2694, 4551, 1311, 2732, 2727, 2776, 2023, 2782, 2038,
3424 2786, 1311, 2795, 2815, 1311, 2801, 1311, 825, 3594, 2813,
3425 2835, 2836, 2850, 1444, 2855, 1311, 2858, 2859, 1311, 1311,
3426 2860, 2861, 832, 1311, 1311, 2887, 2910, 2874, 4087, 2886,
3427 1311, 2888, 3594, 2889, 2903, 2921, 2922, 811, 811, 811,
3428 594, 2924, 2950, 3580, 4109, 2953, 4595, 1445, 4109, 4123,
3429 4109, 4091, 4092, 4093, 4094, 1311, 2955, 2957, 2958, 2974,
3430 4487, 2964, 2969, 2979, 2981, 2985, 2989, 3000, 2975, 2999,
3431 2032, 2977, 3016, 987, 3003, 2033, 183, 984, 3017, 1447,
3432 1311, 1326, 1330, 3022, 3033, 985, 3040, 986, 3041, -2631,
3433 5425, 5426, 3054, 3059, 2916, 3086, 1311, 2034, 2035, 3060,
3434 3088, 3085, 3095, 3107, 3103, 3127, 3577, 3131, 3187, 3577,
3435 3206, 4524, 2036, 3207, 4174, 1930, 1930, 3199, 2450, 3210,
3436 35, 833, 2266, 4635, 1449, 3219, 3225, 3230, 3231, 3232,
3437 4700, 3238, 3243, 1450, 4676, 849, 849, 849, 849, 3266,
3438 3281, 1451, 3254, 3267, 3283, 2037, 3285, 3296, 3305, 2267,
3439 3299, 3650, 3314, 3316, 5037, 3287, 3317, 3313, 3321, 2038,
3440 3308, 1453, 2039, 3315, 2282, 3324, 3326, 1535, 3328, 3329,
3441 1454, 3332, 3333, 3351, 1455, 3352, 3354, 3355, 3356, 3358,
3442 3577, 4642, 4643, 4228, 4645, 3363, 1536, 3361, -2631, 3364,
3443 3365, 3366, 2379, 3379, 1850, 2045, 2046, 2047, 2048, 2049,
3444 2050, 3367, 3371, 3380, 3391, 3393, 3394, 3400, 3398, 3403,
3445 3594, 3404, 3405, 3406, 3407, 1897, 1894, 3408, 1859, 3416,
3446 4693, 2695, 3419, 5071, 3418, 3420, 3427, 1456, 3430, 1178,
3447 3435, 3437, 3444, 3442, 3449, 3441, 1537, 4217, 3445, 3466,
3448 3463, 3477, 4273, -2126, 2211, 3532, 3515, 3464, -2552, 2040,
3449 3465, 2104, 2022, 3549, 3470, 2023, 3471, 3473, 3476, -2631,
3450 -2631, -2631, 3730, 3499, 5061, 4881, 5063, 3505, 3512, 2022,
3451 3527, 3526, 2023, 3540, 3550, 3554, 3590, 3552, 4313, 3581,
3452 3596, 3553, -1713, 3601, 2029, 3556, 3591, 3604, 3608, 3602,
3453 3606, 2030, 3615, 3628, 3622, 3644, 3640, 3633, 3636, 4218,
3454 3647, 2029, 3635, 3649, 3656, 3671, 3682, 3672, -2631, 3684,
3455 849, 3689, 3688, 3690, 3691, 3641, 2031, 3707, 3706, 3694,
3456 3709, 3715, 1538, 811, 3716, 849, 3717, 1311, 3725, 3735,
3457 3754, 3752, 3756, 2031, 811, 1952, 3760, 3759, 1214, -2552,
3458 4358, 3481, 3765, 3763, 3767, 3482, 3483, 3484, 2041, 3768,
3459 2282, 2042, 2043, 2044, 3783, 2045, 2046, 2047, 2048, 2049,
3460 2050, 3781, 4066, 3782, 3784, 811, 179, 3796, 3472, 3580,
3461 1539, 3785, 3786, 1540, 3787, 3788, 3789, 3790, 3791, 3186,
3462 3793, 3800, 3792, 3811, 2378, 3794, 4219, 3795, 4406, -2552,
3463 3802, 3797, 3804, 3806, 3807, 5220, 5222, 2411, 811, 4926,
3464 4076, -2552, 2450, 3813, 3817, 4416, -2552, 3820, 3809, 1311,
3465 1311, -2552, 5214, 3814, 3815, 894, 1542, -2552, 3824, 3825,
3466 -2552, 3827, 3833, 3835, -2552, 3875, 2032, 3885, 3882, 3876,
3467 4830, 2033, 3886, 3888, 3890, 3577, 3893, 3093, 3905, 3093,
3468 3907, 3923, 3904, -2631, 3914, 3924, 811, 3928, -2631, 3917,
3469 3927, 3943, 3952, -2552, 3972, 4849, 3959, 3930, 3973, 3974,
3470 1544, 179, 824, 3963, 3975, 3960, 3965, 3976, 2036, 4993,
3471 3986, 3977, 3984, -2552, 3997, 3998, 3987, 3961, 3988, 3999,
3472 4854, 1311, 1545, 2759, 3979, -2631, 4009, 4001, 4002, 4003,
3473 1214, 1976, 1311, 3481, 4004, 4005, 3502, -2631, -2631, -2631,
3474 3481, -2125, 1547, 3501, 4220, 4060, 4071, 4221, 4084, 4989,
3475 4043, 4018, 4129, 4044, -2552, 2038, 4072, -2552, 4125, 4045,
3476 4101, 4139, 1311, -2552, 4052, 1311, 4075, 4142, 4148, 4736,
3477 4144, 4166, 2038, 1311, 1311, 4090, 5316, 4102, 4110, 3486,
3478 1311, 1311, 4131, 4133, 4135, 1311, 4158, 4187, 2016, 4202,
3479 1311, 4189, 4195, 1311, 1311, 4190, 4204, 5073, 1311, 4512,
3480 4203, 4205, 4207, 4209, 1311, 811, 811, 811, 811, 4212,
3481 4226, 2424, 4109, 4123, 4109, 4211, 1311, 4109, -2552, 4229,
3482 4526, 837, 4241, 179, 3580, 4242, 4243, 4254, 3580, 3980,
3483 4255, 4257, 4244, 4256, 4541, 4258, 4268, 4259, 4270, 4271,
3484 4281, 3487, 4282, 4287, 4305, 2040, 4290, 4307, 2309, 896,
3485 4309, 4217, 5056, 5057, 3996, 4312, 1311, 4567, 4320, 4321,
3486 3614, 4323, -2631, 4324, 4327, 2916, 4554, 4556, 4364, 4339,
3487 4350, 4370, 4378, 750, 4384, 4385, 2647, 4388, 4390, 4391,
3488 745, 4397, 4407, 1311, 4413, 4414, 4424, 4437, 4429, 4432,
3489 3577, 4430, 4433, 1468, 3577, 4434, 4435, 5214, 4438, 1469,
3490 -2552, 4450, 4442, 3093, 3093, 4454, 4462, 4456, 4474, 4469,
3491 4478, 5227, 4479, 4881, 4485, 4488, 4489, 5003, 4490, 4494,
3492 -2127, 2282, 4509, 4522, -2552, 4529, -2552, -2552, 5003, 4537,
3493 4525, 4527, 4530, 4538, 4600, 4608, 4543, 4542, 4544, 4545,
3494 4550, 1471, 4552, 4607, 2041, 4564, 4561, -2631, -2631, -2631,
3495 4566, 2045, 2046, 2047, 2048, 2049, 2050, 4568, 4574, 4579,
3496 4573, -2631, -2552, 4583, 4602, -2552, -2552, -2552, 2045, 2046,
3497 2047, 2048, 2049, 2050, 4603, 4606, 4612, 5154, 4613, 2022,
3498 4614, 4632, 2023, 4625, 1311, 4634, 2024, 2025, 2026, 4628,
3499 4646, 4637, 4654, 3487, 5171, 1473, 4638, 4655, 5173, 4660,
3500 5175, 4664, 1474, 2027, 4667, 1475, 849, 5065, 2759, 4673,
3501 5286, 2029, 4668, 4674, 4682, 4683, 4677, 4692, 2030, 4688,
3502 4689, 849, 4690, 4696, 4698, 4706, 4709, 4719, 4714, 4721,
3503 1476, 4725, 2759, 3488, 3489, 3490, 4726, 3491, 3492, 3493,
3504 3494, 3495, 3496, 2031, 4728, 5060, 4730, 4732, 4733, 4741,
3505 4746, 4734, 4752, 1311, 4753, 4759, 4768, 1048, 5189, 4769,
3506 4793, 4777, 4760, 4762, 1477, 4812, 4821, 4770, 4771, 594,
3507 4818, 4824, 4835, 4840, 4783, 2282, 4786, 4845, 4846, 4797,
3508 4851, 4815, 1214, 4837, 1930, 3481, 4839, 4857, 4197, 3482,
3509 3483, 3484, 4876, 894, 4858, 4862, 4867, 4868, 4869, 1311,
3510 4896, 4349, 2022, 4907, 4905, 2023, 4067, 4914, 4908, 4911,
3511 4932, 4913, 849, 4933, 3323, 4940, 4942, 4945, 4950, 4712,
3512 4975, 4973, 4977, 1478, 4952, 1479, 4976, 4996, 4992, 5186,
3513 5002, 5017, 3594, 5021, 2029, 1480, 5040, 5170, 5006, 5009,
3514 5042, -2631, 5013, 894, 1481, 5015, 179, 5032, 811, 5049,
3515 5043, 596, 5087, 2032, 5055, 5089, 1482, 4853, 2033, 5095,
3516 5102, 5099, 4855, 5114, 5100, 5109, 2031, 5120, 5121, 5129,
3517 5133, 5134, 5135, 5136, 5137, 5144, 5145, 5146, 5161, 5174,
3518 2034, 2035, 5147, 5178, 5182, -2631, -2631, -2631, 1311, 3491,
3519 3492, 3493, 3494, 3495, 3496, 2036, 5183, 1484, 1485, 5153,
3520 4895, 5177, 5196, 4295, 5219, 5225, 4298, 5200, 5226, 5231,
3521 5233, 1977, 5236, 5240, 5243, 5244, 5264, 1311, 1311, 5265,
3522 5267, 1311, 5272, 5266, 5273, 5301, 5282, 1486, 2037, 5309,
3523 5284, 1986, 4085, 4079, 5303, 5311, 594, 5317, 5319, 4109,
3524 5229, 5230, 2038, 3580, 5440, 2039, 1048, 2759, 3580, 5327,
3525 5360, 3580, 594, 5326, 3186, 5328, 4799, 5346, 1311, 1311,
3526 5365, 5372, 2002, 5393, 5417, 5418, 5379, 5385, 5390, 5399,
3527 5419, 5427, 5429, 4174, 5433, 1311, -2631, 2014, 5451, 5452,
3528 5455, -2631, 5454, 3486, 5456, 5469, 4174, 896, 849, 849,
3529 849, 5470, 5477, 5480, 1487, 5478, 5482, 5483, 1360, 2426,
3530 3290, 1567, 3577, 3588, 2091, 4380, 3160, 5440, 3700, 3577,
3531 1566, 1465, 4232, 4225, 3577, 5312, 3084, 3577, -2631, 3198,
3532 3245, 3832, 4893, 5213, 2424, 5440, 5391, 4366, 4951, 4672,
3533 4925, 3638, 2040, 3402, 596, 5304, 861, 896, 4828, 3577,
3534 5387, 5234, 5232, 596, 869, 3487, 5325, 5404, 3643, 4417,
3535 4396, 596, 3577, 869, 596, 5194, 3719, 4359, 4230, 4931,
3536 3264, 3265, 3892, 837, 837, 2038, 837, 869, 1555, 4383,
3537 3255, 4694, 3900, 4936, 5392, 5432, 5484, 5474, 4909, 861,
3538 3838, 4425, 811, 5330, 4856, 5051, 5060, 2498, 5202, 4859,
3539 752, 4451, 1949, 2021, 4358, 5027, 5445, 811, 2022, 3415,
3540 3629, 2023, 811, 2568, 3093, 2024, 2025, 2026, 2927, 4426,
3541 4968, 2282, 5142, 2759, 4930, 2576, 2613, 1125, 2565, 2688,
3542 4260, 1049, 2027, 2689, 3803, 2028, 4816, 2690, 811, 3896,
3543 2029, 2041, 4406, 593, 2042, 2043, 2044, 2030, 2045, 2046,
3544 2047, 2048, 2049, 2050, 4280, 5351, 849, 811, 4174, 5468,
3545 1339, 3522, 4966, 1361, 2864, -2631, 2873, 2638, 4817, 4557,
3546 5298, 1214, 2031, 4152, 3481, 2064, 3592, 2105, 3482, 3483,
3547 3484, 2902, 3603, 1311, 2188, 2136, 1311, 4132, 1311, 2883,
3548 5294, 825, 2137, 5176, 4548, 4503, 2022, 2901, 2141, 2023,
3549 4105, 1048, 4535, 2024, 2025, 2026, 4520, 1311, 5008, 2146,
3550 4099, 5160, 5159, 1311, 4153, 5471, 5371, 3580, 4100, 5428,
3551 2027, 4799, 5285, 4054, 3577, 4988, 4814, 1311, 2029, 5296,
3552 2840, 5297, 3458, 3547, 3545, 2030, 5020, 2587, 3221, 2849,
3553 0, 0, 0, 5370, 0, 0, 0, 3488, 3489, 3490,
3554 0, 3491, 3492, 3493, 3494, 3495, 3496, 0, 0, 811,
3555 2031, 1930, 894, 0, -2631, 0, 0, 0, 0, 0,
3556 0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 0,
3557 0, 0, 2032, 3577, 0, 0, 1311, 2033, 0, 0,
3558 0, 1311, 1311, 0, 0, 0, 849, 849, 849, 849,
3559 0, 0, 0, 0, 0, 0, 0, 0, 0, 2034,
3560 2035, 0, 0, 0, 0, 2022, 0, 0, 2023, 0,
3561 0, 0, 0, 0, 2036, 0, 847, 1311, 0, 0,
3562 0, 0, 2759, 2759, 594, 860, 0, 0, 0, 0,
3563 0, 0, 0, 860, 0, 0, 860, 2029, 0, 0,
3564 0, 0, 0, 0, -2631, 0, 811, 2037, 0, 3580,
3565 0, 0, 0, 0, 0, 0, 0, 0, 0, 4619,
3566 2032, 2038, 3486, 0, 2039, 2033, 0, 5123, 0, 2031,
3567 0, 4629, 0, 0, 0, 0, 0, 0, 0, 0,
3568 0, 0, 0, 0, 0, 0, 0, 2034, 2035, 0,
3569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3570 0, 0, 2036, 0, 0, 0, 1311, 0, 0, 594,
3571 0, 0, 1311, 0, 0, 3577, 5168, 0, 0, 0,
3572 0, 0, 0, 1311, 3487, 0, 0, 1311, 0, 1311,
3573 0, 1311, 5308, 0, 0, 2037, 4080, 0, 4174, 0,
3574 0, 0, 0, 5179, 849, 0, 896, 0, 0, 2038,
3575 0, 2040, 2039, 1214, 0, 0, 3481, 1311, 0, 0,
3576 3482, 3483, 3484, 0, 0, 0, 0, 0, 0, 0,
3577 869, 0, 0, 0, 0, 3577, 869, 4504, 0, -2631,
3578 0, 0, 0, 0, -2631, 0, 0, 0, 0, 869,
3579 0, 0, 1930, 1930, 0, 0, 0, 0, 0, 0,
3580 0, 0, 0, 0, 3577, 869, 0, 5357, 5358, 0,
3581 596, 0, 0, 0, 0, 1096, 0, 0, 0, 596,
3582 869, -2631, 0, 849, 0, 0, 596, 0, 869, 596,
3583 5248, 0, 0, 0, 1311, 0, 0, 0, 0, 2040,
3584 0, 1096, 869, 5260, 0, 0, 0, 0, 0, 0,
3585 2041, 0, 869, 2042, 2043, 2044, 0, 2045, 2046, 2047,
3586 2048, 2049, 2050, 0, 0, 0, 0, 0, 2038, 1311,
3587 1311, 1311, 0, 3415, 0, 3186, 0, 0, 1311, 0,
3588 0, 0, 0, 0, 0, 0, 0, 0, 1311, 0,
3589 0, 5020, 0, 0, 0, 0, 2916, 0, 179, 0,
3590 0, 0, 0, 0, 0, 0, 0, 0, 0, 3577,
3591 0, 861, 0, 0, 0, 0, 3488, 3489, 3490, 0,
3592 3491, 3492, 3493, 3494, 3495, 3496, 849, 0, 0, 0,
3593 0, 596, 596, 1930, 0, 0, 0, 869, 2041, 0,
3594 0, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049,
3595 2050, 0, 179, 0, 3486, 2785, 0, 0, -2631, 2282,
3596 0, 869, 0, 596, 594, 0, 5331, 0, 0, 0,
3597 1311, 0, 0, 0, 869, 0, 0, 0, 0, 0,
3598 4174, 0, 0, 3415, 0, 3415, 861, 861, 1311, 0,
3599 0, 0, 0, 5356, 0, 0, 183, 5353, 1311, 0,
3600 0, 0, 5168, 0, 0, 5354, 0, 5355, 0, 0,
3601 0, 0, 0, 0, 0, 0, 3487, 5485, 5486, 0,
3602 0, 0, 0, 849, 0, 0, 0, 5416, 2802, 0,
3603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3604 0, 0, 0, 0, 0, 0, 3577, 0, 0, 0,
3605 0, 0, 0, 0, 5260, 849, 849, -2631, 0, 0,
3606 4174, 0, 0, 0, 2045, 2046, 2047, 2048, 2049, 2050,
3607 0, 5356, 0, 0, 183, 5353, 0, 0, 0, 0,
3608 596, 596, 1703, 5354, 0, 5355, 0, 1311, 1311, 596,
3609 0, 0, 847, 0, 0, 0, 1096, 0, 0, 1311,
3610 596, 860, 0, 0, 1311, 0, 596, 0, 860, 596,
3611 0, 860, 0, 0, 0, 0, 0, 0, 0, 0,
3612 3577, 1096, 0, 0, 0, 0, 3577, 0, 0, 0,
3613 0, 0, 0, 1311, 0, 0, 1096, 0, 0, 0,
3614 0, 0, 179, 1311, 0, 0, 0, 0, 0, 0,
3615 0, 0, 0, 0, 0, 0, 0, 0, 849, 0,
3616 0, 4174, 0, 0, 0, 0, 0, 0, 0, 0,
3617 5168, 0, 5356, 0, 594, 183, 5353, 0, 0, 0,
3618 0, 596, 596, 596, 5354, 0, 5355, 0, 0, 0,
3619 0, 0, 0, 0, 0, 0, 861, 861, 0, 0,
3620 0, 0, 0, 0, 0, 0, 0, 0, 3488, 3489,
3621 3490, 0, 3491, 3492, 3493, 3494, 3495, 3496, 0, 0,
3622 0, 1096, 0, 0, 0, 0, 0, 3577, 0, 0,
3623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3624 0, 2022, 0, 0, 2023, 0, 0, 0, 2024, 2025,
3625 2026, 0, 0, 0, 0, 0, 0, 0, 869, 0,
3626 0, 0, 0, 0, 0, 2027, 0, 0, 0, -128,
3627 0, 0, 0, 2029, 0, 0, 869, 0, 0, 0,
3628 2030, 0, 0, 0, 0, 0, 596, 1, 0, 0,
3629 0, 0, 0, 0, 869, 0, 0, 2, 0, 3,
3630 4, 0, 0, 0, 0, 2031, 0, 0, 0, 0,
3631 0, 0, 0, 0, 0, 5, 0, 0, 0, 0,
3632 2022, 0, 869, 2023, 6, 0, 0, 2024, 2025, 2026,
3633 0, 1096, 0, 869, 0, 0, 7, 0, 8, 9,
3634 0, 0, 0, 0, 2027, 10, 0, 11, 0, 869,
3635 0, 0, 2029, 869, 0, 0, 0, 0, 12, 2030,
3636 13, 0, 0, 0, 0, 596, 0, 0, 0, 0,
3637 0, 847, 0, 0, 0, 0, 0, 14, 1214, 0,
3638 15, 3481, 860, 0, 2031, 3482, 3483, 3484, 860, 0,
3639 0, 860, 0, 0, 16, 596, 17, 0, 0, 0,
3640 18, 0, 0, 0, 0, 5165, 19, 0, 0, 0,
3641 0, 0, 0, 0, 20, 2032, 21, 0, 0, 0,
3642 2033, 0, 22, 596, 596, 596, 0, 596, 0, 0,
3643 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
3644 0, 0, 2034, 2035, 0, 0, 0, 596, 0, 0,
3645 0, 0, 0, 0, 0, 24, 0, 2036, 0, 0,
3646 0, 0, 0, 1800, 1801, 1802, 2022, 0, 0, 2023,
3647 0, 869, 0, 2024, 2025, 2026, 0, 0, 0, 869,
3648 869, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3649 2037, 0, 0, 869, 2032, 25, 26, 0, 2029, 2033,
3650 0, 27, 0, 0, 2038, 2030, 0, 2039, 0, 0,
3651 0, 0, 0, 28, 0, 596, 0, 0, 0, 596,
3652 596, 2034, 2035, 0, 0, 29, 0, 0, 0, 0,
3653 2031, 0, 0, 0, 596, 0, 2036, 0, 0, 0,
3654 1096, 0, 0, 0, 0, 179, 1703, 0, 0, 0,
3655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3656 0, 0, 0, 0, 0, 0, 0, 0, 30, 2037,
3657 0, 0, 0, 0, 0, 0, 0, 0, 0, 3486,
3658 0, 0, 31, 2038, 0, 0, 2039, 0, 32, 33,
3659 0, 34, 0, 0, 2040, 0, 35, 0, 0, 0,
3660 3415, 36, 0, 0, 37, 0, 1096, 0, 0, 0,
3661 0, 38, 0, 0, 0, 0, 0, 39, 40, 0,
3662 0, 0, 0, 0, 0, 41, 0, 0, 0, 42,
3663 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
3664 2032, 3487, 0, 0, 0, 2033, 0, 1096, 0, 0,
3665 0, 0, 0, 0, 44, 0, 0, 0, 0, 0,
3666 0, 0, 0, 0, 0, 0, 0, 2034, 2035, 0,
3667 0, 0, 0, 2040, 45, 0, 0, 0, 0, 0,
3668 1096, 0, 2036, 0, 46, 0, 0, 2698, 0, 0,
3669 47, 0, 0, 2041, 0, 48, 2042, 2043, 2044, 0,
3670 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 49, 0,
3671 3834, 0, 0, 0, 0, 2037, 0, 0, 0, 0,
3672 0, 0, 0, 0, 0, 0, 0, 0, 0, 2038,
3673 0, 50, 0, 0, 0, 0, 2699, 0, 0, 0,
3674 869, 0, 0, 0, 0, 51, 0, 0, -128, 0,
3675 0, 0, 2014, 0, 0, 596, 596, 596, 0, 0,
3676 0, 0, 2022, 0, 0, 2023, 0, 0, 2700, 2024,
3677 2025, 2026, 2041, 0, 0, 2042, 2043, 2044, 0, 2045,
3678 2046, 2047, 2048, 2049, 2050, 0, 2027, 0, 0, 4011,
3679 0, 2701, 0, 0, 2029, 0, 2014, 0, 0, 0,
3680 0, 2030, 2702, 0, 0, 0, 0, 0, 0, 0,
3681 0, 0, 0, 2802, 0, 0, 0, 0, 0, 2040,
3682 0, 0, 2703, 0, 0, 0, 2031, 2704, 0, 3551,
3683 0, 0, 0, 3488, 3489, 3490, 0, 3491, 3492, 3493,
3684 3494, 3495, 3496, 0, 0, 3570, 0, 0, 0, 0,
3685 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0,
3686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3687 0, 0, 0, 0, 0, 1096, 0, 0, 2705, 0,
3688 0, 0, 0, 0, 0, 0, 0, 0, 1703, 0,
3689 0, 0, 0, 1096, 0, 0, 0, 0, 3570, 2706,
3690 0, 0, 824, 0, 0, 0, 0, 0, 0, 0,
3691 0, 0, 869, 0, 0, 0, 0, 0, 2041, 0,
3692 869, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049,
3693 2050, 0, 869, 0, 0, 0, 2032, 0, 0, 0,
3694 0, 2033, 0, 0, 0, 0, 0, 0, 0, 1096,
3695 0, 0, 0, 0, 0, 0, 596, 0, 0, 596,
3696 0, 0, 1096, 2034, 2035, 0, 205, 2707, 596, 0,
3697 2708, 0, 0, 0, 1096, 0, 0, 0, 2036, 0,
3698 0, 0, 0, 0, 2022, 0, 1096, 2023, 0, 0,
3699 0, 2024, 2025, 2026, 0, 0, 2709, 0, 0, 2710,
3700 0, 0, 0, 596, 596, 2711, 869, 869, 2027, 0,
3701 0, 2037, 2712, 0, 0, 0, 2029, 0, 596, 0,
3702 869, 596, 0, 2030, 0, 2038, 0, 0, 2039, 0,
3703 1096, 1096, 0, 869, 869, 0, 0, 0, 0, 0,
3704 0, 2713, 0, 0, 0, 0, 0, 2714, 2031, 869,
3705 2715, 0, 0, 0, 0, 0, 2022, 0, 0, 2023,
3706 0, 0, 0, 2024, 2025, 2026, 0, 0, 0, 2716,
3707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3708 2027, 596, 0, 0, 596, 596, 0, 0, 2029, 0,
3709 0, 0, 0, 0, 2717, 2030, 0, 0, 0, 0,
3710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3711 0, 0, 0, 0, 0, 2040, 0, 0, 0, 596,
3712 2031, 596, 0, 0, 0, 0, 596, 596, 0, 0,
3713 0, 0, 0, 596, 596, 596, 0, 0, 0, 596,
3714 0, 596, 596, 596, 596, 596, 596, 0, 596, 0,
3715 596, 596, 0, 0, 596, 0, 0, 0, 2032, 0,
3716 0, 0, 0, 2033, 0, 0, 0, 0, 1096, 596,
3717 596, 596, 596, 1703, 0, 0, 0, 596, 0, 0,
3718 0, 596, 0, 0, 596, 2034, 2035, 596, 596, 596,
3719 596, 596, 596, 596, 596, 596, 0, 596, 0, 0,
3720 2036, 0, 0, 0, 596, 0, 596, 0, 0, 0,
3721 0, 0, 0, 0, 2041, 0, 0, 2042, 2043, 2044,
3722 0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 0,
3723 2032, 4063, 0, 2037, 0, 2033, 0, 0, 847, 0,
3724 0, 847, 0, 869, 0, 0, 0, 2038, 0, 596,
3725 2039, 0, 0, 0, 0, 0, 0, 2034, 2035, 0,
3726 0, 0, 0, 0, 596, 0, 0, 0, 0, 0,
3727 0, 0, 2036, 596, 596, 0, 0, 0, 0, 0,
3728 0, 2022, 0, 0, 2023, 860, 860, 0, 0, 0,
3729 0, 0, 0, 0, 0, 0, 0, 0, 0, 869,
3730 860, 0, 0, 860, 0, 2037, 1096, 0, 0, 0,
3731 1096, 1096, 0, 2029, 0, 0, 0, 869, 0, 2038,
3732 -2631, 0, 1703, 869, 179, 0, 0, 869, 0, 0,
3733 0, 0, 0, 0, 0, 869, 0, 2040, 0, 0,
3734 0, 0, 0, 0, 0, 2031, 0, 0, 0, 0,
3735 0, 179, 0, 869, 0, 0, 596, 0, 0, 0,
3736 0, 0, 0, 860, 0, 0, 860, 860, 596, 0,
3737 0, 0, 1096, 0, 0, 596, 0, 0, 596, 596,
3738 0, 0, 0, 0, 0, 0, 1096, 0, 0, 0,
3739 0, 0, 0, 0, 0, 0, 0, 0, 0, 869,
3740 0, 0, 0, 0, 0, 0, 0, 0, 0, 2040,
3741 0, 0, 4507, 0, 0, 0, 0, 0, 869, 869,
3742 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0,
3743 0, 0, 0, 0, 0, 0, 2041, 0, 0, 2042,
3744 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0,
3745 1703, 869, 0, 4168, 1703, -2631, 0, 0, 0, 0,
3746 -2631, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3747 0, 0, 0, 0, 0, 0, 869, 0, 1703, 0,
3748 0, 0, 0, 869, 0, 0, 0, 0, 0, 869,
3749 1439, 0, 0, 0, 0, 0, 869, -2631, 0, 0,
3750 869, 0, 0, 0, 0, 869, 0, 0, 2041, 1439,
3751 0, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049,
3752 2050, 0, 0, 0, 1440, 869, 0, 0, 0, 0,
3753 869, 0, 0, 0, 869, 0, 0, 1703, 0, 0,
3754 0, 0, 0, 1440, 2038, 2014, 0, 869, 0, 0,
3755 0, 0, 0, 0, 1441, 0, 0, 0, 0, 0,
3756 869, 4098, 0, 0, 4103, 0, 0, 0, 0, 0,
3757 869, 0, 0, 1509, 0, 0, 0, 0, 0, 0,
3758 0, 0, 0, 1442, 0, 0, 179, 596, 596, 596,
3759 663, 0, 0, 596, 0, 0, 0, 0, 0, 749,
3760 0, 0, 1442, 0, 0, 0, 0, 0, 0, 0,
3761 0, 0, 0, 0, 0, 0, 0, 0, 1443, 0,
3762 0, 0, 0, 0, 0, 596, 1096, 0, 0, 0,
3763 0, 0, 3342, 0, -2631, 1703, 0, 1443, 1842, 0,
3764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3765 847, 0, 0, 1439, 1444, 0, 0, 860, 1860, 0,
3766 860, 860, 0, 0, 0, 0, 0, 0, 1871, 596,
3767 0, 0, 1874, 1444, 0, 0, 1877, 0, 1879, 0,
3768 0, 0, 0, 0, 1887, 0, 0, 1440, 1445, 0,
3769 1895, 2022, 0, 1898, 2023, 0, 0, 0, 2024, 2025,
3770 2026, 0, 0, 0, 0, 0, 0, 1445, 1096, 0,
3771 0, 1096, 0, 0, 0, 2027, 869, 0, 0, 1446,
3772 1447, 0, 0, 2029, 0, 596, 0, 0, 0, 0,
3773 2030, 0, 0, -2631, 0, 0, 0, 0, 1510, 1447,
3774 2045, 2046, 2047, 2048, 2049, 2050, 1442, 0, 0, 0,
3775 0, 0, 0, 0, 0, 2031, 0, 1448, 0, 0,
3776 0, 35, 0, 0, 0, 1449, 0, 0, 0, 0,
3777 0, 869, 0, 0, 1450, 0, 1511, 0, 0, 0,
3778 35, 1443, 1451, 0, 1449, 0, 0, 0, 0, 0,
3779 1452, 0, 0, 1450, 0, 0, 0, 0, 0, 0,
3780 0, 1451, 1453, 0, 0, 0, 0, 0, 0, 1512,
3781 0, 1454, 3343, 869, 0, 1455, 0, 1444, 0, 0,
3782 0, 1453, 0, 0, 0, 0, 0, 0, 0, 1096,
3783 1454, 869, 0, 0, 1455, 0, 3342, 0, 0, 869,
3784 0, 0, 0, 596, 0, 0, 1096, 0, 0, 596,
3785 0, 1445, 596, 0, 0, 596, 0, 1439, 0, 0,
3786 0, 1096, 0, 0, 0, 2032, 0, 0, 1456, 0,
3787 2033, 0, 596, 0, 0, 0, 0, 596, 0, 0,
3788 0, 0, 0, 1447, 0, 0, 0, 1456, 0, 0,
3789 3570, 1440, 2034, 2035, 0, 0, 0, 0, 0, 0,
3790 596, 596, 596, 0, 0, 596, 0, 2036, 0, 0,
3791 0, 0, 0, 596, 596, 596, 596, 0, 179, 0,
3792 0, 1703, 0, 0, 35, 0, 596, 1703, 3344, 596,
3793 0, 596, 0, 0, 0, 0, 0, 1450, 0, 0,
3794 2037, 0, 596, 596, 0, 1451, 596, 0, 0, 0,
3795 1442, 0, 0, 2267, 2038, 0, 0, 2039, 0, 0,
3796 596, 0, 596, 0, 596, 1453, 0, 0, 0, 0,
3797 0, 0, 0, 0, 1454, 0, 0, 0, 1455, 0,
3798 0, 0, 0, 0, 596, 1443, 0, 0, 0, 0,
3799 0, 0, 0, 0, 0, 596, 0, 3345, 0, 0,
3800 0, 0, 0, 869, 0, 0, 0, 0, 0, 0,
3801 0, 0, 0, 0, 0, 2022, 3343, 0, 2023, 596,
3802 0, 1444, 2024, 2025, 2026, 0, 0, 0, 0, 0,
3803 0, 1456, 0, 0, 596, 3346, 0, 0, 0, 2027,
3804 0, 0, 0, 0, 2040, 0, 0, 2029, 596, 0,
3805 2022, 0, 0, 2023, 2030, 1445, 0, 2024, 2025, 2026,
3806 0, 0, 0, 0, 0, 0, 0, 1096, 0, 0,
3807 1096, 0, 1096, 0, 2027, 0, 0, 1096, 0, 2031,
3808 0, 0, 2029, 0, 0, 0, 0, 1447, 0, 2030,
3809 0, 736, 869, 869, 0, 0, 0, 736, 596, 0,
3810 0, 0, 0, 0, 0, 3570, 0, 0, 0, 3570,
3811 0, 0, 0, 0, 2031, 0, 0, 0, 0, 869,
3812 0, 0, 869, 0, 0, 847, 1096, 0, 35, 0,
3813 0, 860, 1449, 0, 860, 0, 0, 860, 0, 179,
3814 179, 1450, 0, 2041, 0, 1096, 2042, 2043, 2044, 1451,
3815 2045, 2046, 2047, 2048, 2049, 2050, 0, 2267, 0, 0,
3816 4470, 0, 0, 0, 0, 0, 0, 0, 0, 1453,
3817 1096, 0, 0, 0, 0, 0, 0, 0, 1454, 0,
3818 0, 981, 1455, 0, 0, 0, 0, 0, 0, 2032,
3819 0, 0, 0, 0, 2033, 0, 1468, 0, 0, 0,
3820 0, 3345, 1469, 0, 0, 0, 0, 1703, 1703, 1703,
3821 0, 0, 0, 0, 0, 1571, 2034, 2035, 0, 0,
3822 0, 0, 0, 0, 2032, 0, 0, 0, 0, 2033,
3823 869, 2036, 0, 1047, 663, 1456, 0, 0, 0, 3346,
3824 1096, 0, 1096, 0, 1471, 0, 0, 0, 0, 0,
3825 869, 2034, 2035, 0, 0, 0, 0, 0, 0, 1082,
3826 0, 0, 0, 0, 2037, 0, 2036, 0, 0, 869,
3827 0, 0, 0, 0, 0, 0, 0, 593, 2038, 2022,
3828 0, 2039, 2023, 0, 0, 1082, 2024, 2025, 2026, 0,
3829 0, 0, 0, 0, 0, 0, 1572, 0, 1473, 2037,
3830 0, 0, 0, 2027, 0, 1474, 0, 0, 1475, 0,
3831 0, 2029, 0, 2038, 0, 0, 2039, 0, 2030, 0,
3832 0, 0, 0, 0, 0, 0, 0, 1185, 0, 0,
3833 593, 1096, 0, 1476, 0, 0, 0, 0, 0, 0,
3834 0, 0, 0, 2031, 0, 0, 0, 0, 0, 0,
3835 0, 869, 0, 1205, 0, 0, 596, 0, 0, 0,
3836 0, 1314, 596, 0, 1323, 1047, 1325, 1477, 2040, 0,
3837 1096, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3839 0, 0, 179, 0, 0, 0, 0, 0, 1703, 1096,
3840 0, 0, 0, 2040, 0, 869, 0, 869, 0, 0,
3841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3842 869, 2608, 869, 0, 0, 0, 1478, 0, 1479, 2615,
3843 0, 0, 0, 0, 0, 0, 0, 0, 1480, 0,
3844 0, 0, 0, 0, 1703, 0, 0, 1481, 0, 2627,
3845 0, 0, 0, 2032, 0, 0, 0, 0, 2033, 1482,
3846 0, 0, 0, 0, 0, 0, 0, 2041, 1096, 0,
3847 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050,
3848 2034, 2035, 0, 0, 4508, 0, 0, 0, 869, 1096,
3849 0, 0, 0, 0, 0, 2036, 0, 1573, 0, 0,
3850 1484, 1485, 2041, 1096, 0, 2042, 2043, 2044, 0, 2045,
3851 2046, 2047, 2048, 2049, 2050, 0, 0, 0, 0, 4757,
3852 0, 0, 0, 0, 3570, 0, 0, 0, 2037, 3570,
3853 1574, 0, 3570, 0, 0, 0, 0, 0, 0, 869,
3854 1715, 0, 2038, 0, 0, 2039, 0, 0, 0, 0,
3855 0, 0, 0, 0, 0, 0, 0, 869, 0, 0,
3856 0, 0, 0, 0, 0, 1732, 0, 0, 0, 0,
3857 0, 0, 0, 0, 0, 0, 0, 0, 0, 869,
3858 1740, 0, 869, 0, 0, 0, 0, 0, 0, 0,
3859 0, 0, 0, 0, 0, 0, 0, 1487, 0, 0,
3860 0, 0, 596, 0, 0, 1096, 0, 0, 0, 0,
3861 0, 596, 0, 0, 0, 0, 0, 596, 0, 596,
3862 0, 0, 596, 0, 0, 0, 1096, 596, 596, 596,
3863 596, 0, 2040, 596, 596, 596, 596, 596, 596, 596,
3864 596, 596, 596, 0, 0, 0, 596, 596, 0, 0,
3865 0, 1096, 0, 2862, 0, 0, 596, 0, 0, 0,
3866 596, 0, 1703, 0, 596, 0, 0, 0, 0, 0,
3867 0, 0, 596, 0, 0, 596, 0, 596, 0, 0,
3868 0, 0, 0, 0, 0, 1096, 596, 179, 0, 596,
3869 596, 0, 0, 0, 596, 596, 0, 0, 0, 0,
3870 0, 596, 0, 0, 1047, 0, 0, 0, 0, 0,
3871 0, 596, 0, 0, 596, 0, 0, 0, 0, 0,
3872 0, 0, 1047, 0, 0, 179, 596, 0, 0, 0,
3873 0, 2041, 0, 0, 2042, 2043, 2044, 0, 2045, 2046,
3874 2047, 2048, 2049, 2050, 0, 0, 0, 0, 4767, 0,
3875 0, 596, 0, 0, 0, 0, 1954, 0, 0, 0,
3876 0, 0, 0, 0, 0, 0, 2222, 596, 0, 0,
3877 0, 2223, 0, 1096, 0, 1955, 0, 0, 0, 0,
3878 0, 1047, 0, 0, 0, 596, 0, 0, 3570, 736,
3879 1439, 736, 0, 736, 0, 0, 0, 0, 2014, 736,
3880 1166, 1167, 0, 0, 0, 0, 2224, 0, 0, 0,
3881 0, 0, 0, 0, 0, 0, 869, 0, 0, 2225,
3882 0, 0, 0, 0, 1440, 0, 0, 0, 0, 2022,
3883 0, 0, 2023, 0, 2226, 0, 2024, 2025, 2026, 0,
3884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3885 0, 0, 0, 2027, 1526, 0, 0, 2018, 0, 0,
3886 0, 2029, 0, 0, 0, 0, 2020, 1703, 2030, 0,
3887 0, 0, 1703, 1096, 1703, 2227, 0, 0, 0, 0,
3888 2062, 0, 0, 1442, 0, 0, 2228, 0, 0, 0,
3889 0, 0, 0, 2031, 0, 0, 1703, 1096, 0, 1047,
3890 0, 0, 2079, 2080, 0, 0, 2229, 1047, 1047, 0,
3891 0, 2230, 0, 0, 0, 1703, 0, 0, 1443, 0,
3892 0, 1047, 0, 0, 0, 0, 0, 0, 0, 0,
3893 3570, 869, 0, 0, 869, 0, 0, 0, 0, 0,
3894 179, 0, 0, 0, 736, 0, 0, 0, 0, 0,
3895 0, 0, 0, 0, 1444, 0, 0, 0, 0, 0,
3896 0, 0, 0, 0, 874, 0, 0, 0, 0, 0,
3897 0, 0, 0, 0, 0, 0, 908, 0, 0, 0,
3898 0, 0, 0, 2231, 0, 0, 0, 926, 1445, 0,
3899 0, 0, 0, 593, 0, 0, 593, 0, 596, 0,
3900 0, 0, 0, 2032, 0, 0, 0, 0, 2033, 0,
3901 0, 0, 1468, 0, 0, 0, 179, 2232, 1469, 1527,
3902 1447, 0, 0, 869, 869, 1535, 0, 1096, 0, 0,
3903 2034, 2035, 0, 869, 0, 0, 0, 0, 0, 0,
3904 596, 0, 0, 0, 1536, 2036, 0, 0, 0, 0,
3905 205, 2233, 869, 0, 0, 0, 0, 1528, 0, 0,
3906 1471, 35, 0, 0, 0, 1449, 0, 593, 0, 0,
3907 0, 0, 0, 0, 1450, 1096, 0, 0, 2037, 1096,
3908 596, 596, 1451, 2234, 0, 0, 0, 0, 0, 2235,
3909 1529, 2330, 2038, 0, 1537, 2039, 2236, 0, 0, 2237,
3910 0, 0, 1453, 0, 0, 0, 0, 0, 0, 0,
3911 0, 1454, 0, 0, 1473, 1455, 0, 0, 0, 0,
3912 0, 1474, 0, 0, 1475, 0, 2383, 869, 0, 0,
3913 0, 2238, 2388, 3357, 0, 0, 0, 0, 2239, 0,
3914 3362, 0, 0, 0, 0, 0, 2240, 0, 0, 1476,
3915 0, 0, 596, 2241, 0, 0, 0, 0, 0, 0,
3916 3381, 0, 0, 596, 0, 0, 0, 0, 1456, 0,
3917 3387, 0, 0, 3388, 0, 3389, 3390, 0, 2242, 3392,
3918 1538, 0, 2040, 1477, 0, 3396, 0, 3397, 0, 0,
3919 3399, 0, 1468, 596, 0, 0, 596, 0, 1469, 0,
3920 0, 0, 0, 0, 596, 596, 0, 1096, 0, 0,
3921 0, 596, 596, 0, 0, 0, 596, 1096, 736, 0,
3922 0, 596, 0, 0, 596, 596, 0, 0, 1539, 596,
3923 0, 1540, 0, 0, 0, 596, 0, 0, 0, 179,
3924 1471, 0, 1541, 0, 1479, 0, 0, 596, 0, 0,
3925 0, 0, 0, 3438, 1480, 596, 0, 0, 0, 596,
3926 0, 0, 0, 1481, 0, 0, 179, 0, 0, 0,
3927 0, 0, 0, 0, 1542, 1482, 0, 0, 0, 0,
3928 0, 2041, 0, 0, 2042, 2043, 2044, 596, 2045, 2046,
3929 2047, 2048, 2049, 2050, 1473, 0, 0, 0, 4776, 0,
3930 0, 1474, 2453, 0, 1475, 0, 0, 0, 0, 0,
3931 0, 0, 0, 1543, 596, 0, 1484, 1485, 1544, 2470,
3932 0, 0, 593, 0, 0, 0, 0, 0, 0, 1476,
3933 0, 0, 1096, 0, 0, 0, 0, 2489, 0, 0,
3934 1545, 0, 0, 2520, 5415, 0, 1546, 2525, 0, 869,
3935 0, 0, 0, 0, 1703, 0, 0, 0, 0, 0,
3936 1547, 0, 0, 1477, 0, 0, 0, 0, 0, 0,
3937 940, 1096, 0, 0, 0, 0, 988, 0, 0, 0,
3938 0, 0, 0, 0, 0, 0, 0, 869, 0, 0,
3939 0, 0, 1096, 2570, 0, 0, 0, 0, 736, 869,
3940 0, 0, 0, 736, 736, 0, 2578, 0, 0, 0,
3941 0, 0, 0, 1487, 0, 596, 0, 736, 1082, 0,
3942 0, 0, 1478, 0, 1479, 0, 869, 0, 2022, 0,
3943 2592, 2023, 0, 0, 1480, 2024, 2025, 2026, 0, 0,
3944 0, 0, 0, 1481, 0, 179, 0, 0, 0, 0,
3945 0, 0, 2027, 0, 0, 1482, 0, 1096, 0, 0,
3946 2029, 0, 0, 0, 0, 0, 0, 2030, 0, 0,
3947 0, 0, 0, 0, 2621, 1082, 0, 0, 0, 0,
3948 0, 0, 0, 0, 596, 0, 0, 0, 0, 0,
3949 0, 0, 2031, 1600, 0, 0, 1484, 1485, 0, 0,
3950 596, 0, 0, 0, 0, 0, 0, 0, 0, 736,
3951 0, 0, 0, 0, 0, 0, 0, 0, 0, 736,
3952 3648, 0, 0, 869, 0, 0, 1601, 0, 0, 0,
3953 596, 0, 0, 0, 0, 0, 0, 593, 0, 0,
3954 0, 593, 0, 0, 0, 0, 0, 0, 0, 0,
3955 0, 0, 0, 1318, 0, 0, 0, 0, 0, 0,
3956 2744, 0, 1166, 1167, 0, 0, 0, 0, 0, 0,
3957 0, 0, 1341, 0, 0, 1096, 0, 1096, 0, 0,
3958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3959 0, 0, 0, 1487, 1365, 0, 0, 0, 0, 0,
3960 0, 869, 2032, 0, 3708, 736, 3710, 2033, 736, 736,
3961 0, 0, 2789, 0, 0, 0, 0, 0, 0, 596,
3962 0, 0, 0, 1096, 0, 0, 0, 0, 0, 2034,
3963 2035, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3964 1499, 0, 0, 0, 2036, 0, 0, 0, 596, 596,
3965 0, 2857, 596, 0, 0, 0, 0, 0, 0, 0,
3966 0, 0, 0, 0, 0, 0, 0, 596, 0, 0,
3967 0, 0, 0, 0, 596, 0, 0, 2037, 0, 596,
3968 0, 0, 596, 596, 0, 0, 0, 0, 0, 596,
3969 596, 2038, 0, 0, 2039, 0, 0, 0, 0, 0,
3970 0, 0, 0, 0, 596, 0, 596, 0, 0, 0,
3971 0, 869, 0, 869, 0, 0, 0, 596, 0, 0,
3972 0, 2022, 0, 0, 2023, 0, 0, 0, 2024, 2025,
3973 2026, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3974 0, 0, 3798, 0, 0, 2027, 0, 0, 3805, 0,
3975 0, 0, 0, 2029, 0, 0, 0, 1096, 869, 0,
3976 2030, 0, 0, 1047, 0, 1754, 0, 596, 0, 0,
3977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3978 0, 2040, 4679, 0, 0, 2031, 0, 0, 0, 736,
3979 0, 0, 0, 0, 1792, 1795, 1796, 0, 0, 0,
3980 0, 0, 0, 0, 0, 1703, 0, 0, 0, 0,
3981 596, 0, 0, 0, 0, 0, 2984, 0, 0, 0,
3982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3983 3001, 0, 0, 0, 1325, 0, 0, 0, 0, 0,
3984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3986 0, 0, 0, 0, 0, 0, 4955, 0, 0, 0,
3987 0, 3034, 0, 0, 0, 0, 0, 0, 0, 596,
3988 2041, 1096, 0, 2042, 2043, 2044, 0, 2045, 2046, 2047,
3989 2048, 2049, 2050, 0, 0, 2032, 2582, 4779, 0, 0,
3990 2033, 0, 0, 0, 596, 1096, 2590, 596, 2591, 596,
3991 0, 0, 0, 1325, 2595, 0, 0, 0, 0, 0,
3992 0, 2601, 2034, 2035, 0, 0, 0, 0, 596, 0,
3993 1325, 0, 0, 0, 596, 0, 0, 2036, 596, 3962,
3994 1318, 3964, 0, 3966, 1096, 0, 0, 0, 596, 593,
3995 0, 0, 3970, 0, 0, 0, 593, 0, 1962, 0,
3996 0, 593, 0, 0, 593, 4795, 0, 1318, 0, 0,
3997 2037, 0, 0, 0, 1468, 0, 0, 0, 0, 0,
3998 1469, 0, 0, 0, 2038, 0, 593, 2039, 0, 1703,
3999 0, 3195, 0, 3995, 0, 0, 0, 1096, 0, 593,
4000 0, 0, 1096, 1096, 0, 0, 0, 596, 0, 0,
4001 0, 0, 596, 596, 869, 0, 0, 0, 0, 0,
4002 0, 0, 1471, 0, 0, 3224, 869, 0, 3224, 0,
4003 3224, 0, 0, 0, 3224, 0, 3224, 3224, 0, 0,
4004 0, 0, 0, 0, 0, 3224, 3224, 3224, 596, 860,
4005 0, 0, 0, 2733, 2734, 596, 0, 0, 0, 0,
4006 2748, 2749, 0, 0, 0, 0, 0, 0, 0, 0,
4007 3250, 0, 2323, 0, 2040, 0, 1473, 0, 0, 0,
4008 596, 0, 0, 1474, 0, 0, 1475, 0, 2787, 0,
4009 0, 0, 860, 1468, 0, 0, 0, 0, 0, 1469,
4010 3300, 0, 0, 0, 2093, 0, 0, 0, 0, 0,
4011 0, 1476, 1571, 0, 0, 0, 0, 1096, 1096, 0,
4012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4013 0, 0, 3331, 0, 0, 0, 0, 596, 0, 0,
4014 596, 1471, 0, 596, 1047, 1477, 0, 0, 0, 0,
4015 2148, 0, 0, 0, 596, 0, 0, 0, 596, 0,
4016 596, 593, 596, 0, 0, 0, 0, 0, 0, 596,
4017 0, 0, 0, 2041, 0, 0, 2042, 2043, 2044, 0,
4018 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 596, 0,
4019 4826, 0, 0, 1572, 0, 1473, 0, 2892, 2892, 1047,
4020 0, 0, 1474, 0, 1478, 1475, 1479, 0, 0, 0,
4021 0, 0, 0, 1703, 0, 869, 1480, 0, 0, 0,
4022 593, 0, 0, 0, 0, 1481, 0, 0, 0, 0,
4023 1476, 2276, 0, 0, 0, 0, 0, 1482, 0, 0,
4024 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0,
4025 0, 0, 0, 0, 0, 0, 0, 0, 0, 736,
4026 0, 0, 0, 0, 1477, 596, 0, 0, 0, 0,
4027 0, 0, 2336, 3428, 596, 2324, 0, 0, 1484, 1485,
4028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4029 3440, 0, 0, 0, 0, 2359, 0, 0, 2362, 0,
4030 596, 596, 596, 0, 0, 3448, 0, 0, 2325, 596,
4031 1703, 0, 0, 1096, 0, 0, 0, 0, 0, 596,
4032 0, 0, 0, 1478, 0, 1479, 0, 0, 869, 0,
4033 1468, 0, 0, 0, 0, 1480, 1469, 5101, 0, 0,
4034 0, 0, 596, 0, 1481, 0, 0, 0, 0, 2410,
4035 0, 0, 0, 0, 3036, 869, 1482, 0, 0, 0,
4036 0, 0, 593, 2428, 0, 0, 0, 0, 0, 0,
4037 0, 0, 0, 0, 0, 1487, 0, 0, 1471, 0,
4038 0, 0, 0, 0, 2022, 0, 0, 2023, 0, 0,
4039 0, 2024, 2025, 2026, 3157, 596, 0, 1484, 1485, 0,
4040 0, 596, 0, 0, 0, 0, 0, 0, 2027, 0,
4041 0, 596, 0, 0, 0, 0, 2029, 596, 596, 596,
4042 0, 0, 593, 2030, 0, 0, 0, 3158, 0, 596,
4043 0, 1047, 1473, 0, 0, 736, 0, 0, 0, 1474,
4044 0, 0, 1475, 736, 0, 0, 736, 0, 2031, 0,
4045 0, 593, 0, 0, 0, 0, 0, 0, 0, 0,
4046 869, 0, 0, 0, 0, 0, 0, 1476, 0, 0,
4047 0, 0, 0, 0, 2451, 0, 0, 0, 0, 0,
4048 0, 0, 0, 0, 0, 596, 0, 0, 0, 0,
4049 0, 596, 0, 0, 1487, 0, 0, 0, 0, 0,
4050 0, 1477, 2022, 0, 0, 2023, 0, 0, 0, 2024,
4051 2025, 2026, 0, 0, 0, 0, 0, 0, 596, 596,
4052 0, 0, 0, 0, 4441, 2502, 2027, 0, 4443, 0,
4053 596, 0, 0, 0, 2029, 596, 0, 0, 0, 0,
4054 0, 2030, 0, 0, 1703, 0, 0, 0, 0, 0,
4055 1047, 0, 0, 0, 2545, 0, 593, 0, 2032, 0,
4056 1478, 2558, 1479, 2033, 596, 0, 2031, 0, 0, 0,
4057 3654, 0, 1480, 0, 596, 0, 0, 0, 0, 0,
4058 0, 1481, 0, 0, 0, 2034, 2035, 0, 0, 3665,
4059 0, 0, 596, 1482, 0, 0, 0, 0, 0, 0,
4060 2036, 0, 0, 0, 0, 596, 0, 1703, 0, 0,
4061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4062 0, 0, 0, 0, 860, 1703, 0, 596, 596, 0,
4063 0, 2246, 0, 2037, 1484, 1485, 0, 0, 0, 0,
4064 0, 3724, 0, 0, 0, 0, 0, 2038, 0, 0,
4065 2039, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4066 0, 0, 3368, 3370, 2247, 0, 2636, 0, 3378, 0,
4067 0, 0, 0, 0, 0, 0, 2032, 5334, 0, 0,
4068 0, 2033, 0, 0, 3747, 0, 3749, 0, 0, 2022,
4069 0, 0, 2023, 593, 0, 3762, 2024, 2025, 2026, 860,
4070 860, 0, 0, 2034, 2035, 0, 1318, 1318, 0, 0,
4071 0, 0, 0, 2027, 0, 0, 0, 0, 2036, 0,
4072 0, 2029, 0, 2687, 0, 0, 0, 0, 2030, 736,
4073 0, 1487, 0, 0, 0, 0, 0, 2040, 0, 0,
4074 2022, 0, 4586, 2023, 0, 0, 0, 2024, 2025, 2026,
4075 0, 2037, 0, 2031, 0, 0, 0, 0, 0, 0,
4076 0, 3801, 0, 0, 2027, 2038, 0, 593, 2039, 0,
4077 0, 0, 2029, 593, 0, 3799, 0, 0, 0, 2030,
4078 0, 0, 0, 0, 4610, 4611, 0, 0, 602, 0,
4079 0, 0, 0, 0, 652, 602, 0, 0, 0, 0,
4080 704, 0, 602, 3224, 2031, 0, 0, 0, 602, 0,
4081 755, 0, 0, 0, 3818, 0, 0, 3831, 3831, 0,
4082 0, 0, 2848, 0, 0, 0, 0, 3847, 0, 822,
4083 822, 0, 2854, 1047, 0, 1047, 2041, 0, 0, 2042,
4084 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0,
4085 0, 0, 0, 4861, 0, 2040, 0, 0, 0, 0,
4086 0, 1365, 0, 2032, 0, 0, 0, 0, 2033, 0,
4087 4652, 4653, 1365, 1365, 593, 0, 1468, 0, 0, 0,
4088 0, 3903, 1469, 0, 0, 0, 0, 5473, 0, 0,
4089 2034, 2035, 0, 0, 0, 0, 0, 0, 0, 0,
4090 0, 0, 0, 0, 0, 2036, 1318, 0, 0, 860,
4091 860, 0, 3034, 0, 2032, 3938, 1047, 0, 0, 2033,
4092 0, 0, 0, 0, 1471, 3586, 0, 736, 0, 0,
4093 0, 0, 0, 0, 0, 0, 0, 0, 2037, 0,
4094 0, 2034, 2035, 0, 0, 0, 0, 3954, 0, 0,
4095 3599, 3599, 2038, 0, 2041, 2039, 2036, 2042, 2043, 2044,
4096 0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 0,
4097 0, 4901, 0, 0, 0, 0, 856, 0, 1473, 0,
4098 0, 0, 0, 0, 898, 1474, 0, 900, 1475, 2037,
4099 905, 906, 0, 909, 4748, 911, 4749, 4750, 917, 0,
4100 919, 0, 0, 2038, 0, 0, 2039, 0, 0, 0,
4101 0, 0, 4754, 1476, 0, 0, 0, 0, 0, 0,
4102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4103 0, 0, 2022, 0, 0, 2023, 0, 0, 0, 2024,
4104 2025, 2026, 2040, 0, 0, 0, 0, 1477, 0, 4010,
4105 3038, 0, 0, 0, 0, 0, 2027, 0, 0, 0,
4106 0, 0, 0, 0, 2029, 0, 3061, 0, 0, 0,
4107 4019, 2030, 0, 0, 0, 0, 0, 0, 0, 0,
4108 0, 0, 0, 0, 0, 0, 3087, 0, 0, 0,
4109 0, 0, 0, 2040, 0, 4042, 2031, 0, 0, 4064,
4110 0, 0, 0, 0, 2022, 0, 1478, 2023, 1479, 0,
4111 0, 2024, 2025, 2026, 0, 0, 0, 0, 1480, 0,
4112 0, 0, 0, 0, 0, 0, 0, 1481, 2027, 1955,
4113 0, 0, 0, 0, 0, 0, 2029, 0, 0, 1482,
4114 0, 2041, 0, 2030, 2042, 2043, 2044, 0, 2045, 2046,
4115 2047, 2048, 2049, 2050, 0, 0, 0, 0, 5205, 0,
4116 3161, 3162, 0, 0, 0, 0, 0, 0, 2031, 0,
4117 0, 0, 0, 0, 0, 0, 0, 3029, 0, 0,
4118 1484, 1485, 0, 0, 0, 0, 0, 0, 0, 0,
4119 0, 0, 2041, 0, 0, 2042, 2043, 2044, 0, 2045,
4120 2046, 2047, 2048, 2049, 2050, 0, 2032, 0, 0, 5228,
4121 1486, 2033, 0, 0, 0, 0, 0, 0, 0, 0,
4122 0, 0, 0, 0, 0, 0, 0, 848, 850, 0,
4123 0, 854, 0, 2034, 2035, 0, 0, 0, 0, 0,
4124 0, 0, 0, 0, 0, 0, 0, 0, 2036, 0,
4125 0, 910, 0, 0, 0, 0, 0, 0, 920, 0,
4126 0, 0, 0, 0, 0, 3284, 0, 0, 0, 0,
4127 0, 0, 0, 0, 0, 0, 0, 1487, 2032, 0,
4128 0, 2037, 0, 2033, 0, 0, 0, 0, 0, 0,
4129 0, 0, 0, 0, 0, 2038, 0, 0, 2039, 0,
4130 0, 3847, 0, 0, 0, 2034, 2035, 0, 0, 0,
4131 0, 0, 4984, 0, 0, 0, 0, 0, 0, 0,
4132 2036, 0, 0, 736, 0, 4266, 0, 0, 0, 0,
4133 0, 0, 2022, 4274, 0, 2023, 4275, 0, 4276, 2024,
4134 2025, 2026, 0, 0, 0, 0, 0, 3881, 0, 0,
4135 0, 0, 0, 2037, 0, 0, 2027, 0, 0, 0,
4136 0, 0, 0, 0, 2029, 0, 0, 2038, 0, 0,
4137 2039, 2030, 0, 0, 0, 0, 0, 0, 0, 0,
4138 4315, 0, 5029, 0, 0, 2040, 0, 0, 0, 0,
4139 0, 0, 0, 3224, 0, 0, 2031, 3224, 3224, 0,
4140 3224, 0, 999, 0, 0, 0, 0, 0, 0, 1012,
4141 1013, 0, 0, 1019, 0, 1022, 1023, 0, 0, 0,
4142 1025, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4143 0, 1044, 3956, 0, 5066, 0, 0, 0, 0, 0,
4144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4145 0, 0, 0, 0, 0, 0, 0, 2040, 0, 0,
4146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4147 1121, 4369, 1123, 0, 0, 0, 0, 0, 0, 0,
4148 0, 0, 1139, 0, 2041, 0, 0, 2042, 2043, 2044,
4149 0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 0,
4150 4420, 5333, 0, 3847, 0, 0, 2032, 0, 0, 0,
4151 0, 2033, 0, 736, 602, 0, 0, 0, 0, 0,
4152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4153 0, 0, 0, 2034, 2035, 0, 0, 0, 0, 0,
4154 0, 0, 0, 0, 0, 0, 0, 0, 2036, 0,
4155 0, 0, 0, 0, 0, 0, 2041, 0, 0, 2042,
4156 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0,
4157 4459, 4459, 4459, 5403, 4459, 4459, 4459, 4459, 4459, 0,
4158 0, 2037, 0, 0, 0, 0, 0, 0, 0, 0,
4159 0, 0, 0, 0, 0, 2038, 0, 0, 2039, 822,
4160 0, 0, 0, 0, 0, 0, 0, 3562, 0, 0,
4161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4163 1365, 0, 0, 0, 0, 1430, 0, 0, 0, 0,
4164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4165 0, 990, 0, 993, 0, 0, 0, 996, 0, 2022,
4166 0, 1955, 2023, 0, 0, 0, 2024, 2025, 2026, 0,
4167 0, 1021, 0, 0, 0, 0, 0, 0, 1026, 0,
4168 0, 0, 0, 2027, 0, 2040, 0, 0, 0, 0,
4169 0, 2029, 0, 0, 0, 0, 0, 0, 2030, 0,
4170 0, 0, 0, 0, 4547, 0, 4549, 1603, 0, 0,
4171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4172 0, 0, 0, 2031, 0, 0, 0, 0, 1714, 0,
4173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4174 1725, 0, 0, 0, 0, 1728, 0, 0, 0, 0,
4175 0, 0, 0, 0, 0, 1731, 0, 0, 0, 0,
4176 1735, 0, 0, 0, 0, 0, 0, 0, 0, 1738,
4177 0, 0, 0, 0, 1745, 0, 4587, 1749, 0, 0,
4178 0, 0, 0, 0, 2041, 0, 0, 2042, 2043, 2044,
4179 0, 2045, 2046, 2047, 2048, 2049, 2050, 736, 0, 0,
4180 0, 5458, 2022, 0, 0, 2023, 0, 0, 0, 2024,
4181 2025, 2026, 0, 0, 0, 4609, 0, 0, 0, 1803,
4182 0, 736, 0, 0, 0, 0, 2027, 0, 736, 0,
4183 0, 0, 0, 2032, 2029, 0, 4624, 0, 2033, 0,
4184 2022, 2030, 0, 2023, 0, 0, 0, 2024, 2025, 2026,
4185 0, 0, 0, 0, 0, 0, 5383, 0, 0, 0,
4186 2034, 2035, 0, 0, 2027, 0, 2031, 3753, 2875, 0,
4187 0, 0, 2029, 0, 0, 2036, 0, 0, 0, 2030,
4188 0, 0, 0, 4649, 4650, 0, 0, 0, 0, 0,
4189 0, 0, 0, 0, 3224, 0, 3224, 3224, 0, 0,
4190 3224, 4651, 0, 0, 2031, 0, 0, 0, 2037, 0,
4191 1166, 1167, 0, 0, 0, 0, 0, 0, 1500, 1501,
4192 0, 0, 2038, 2022, 0, 2039, 2023, 0, 0, 0,
4193 2024, 2025, 2026, 0, 602, 0, 602, 0, 602, 0,
4194 602, 0, 602, 602, 602, 0, 0, 2027, 0, 602,
4195 0, 0, 0, 2876, 0, 2029, 0, 0, 0, 0,
4196 1950, 0, 2030, 0, 4708, 0, 0, 0, 0, 0,
4197 0, 0, 0, 0, 0, 1963, 2032, 0, 0, 0,
4198 0, 2033, 0, 0, 0, 0, 0, 2031, 0, 0,
4199 0, 0, 0, 0, 0, 0, 0, 0, 0, 736,
4200 0, 0, 4735, 2034, 2035, 0, 0, 0, 0, 0,
4201 0, 0, 2040, 0, 2032, 0, 1734, 0, 2036, 2033,
4202 0, 4740, 0, 0, 0, 0, 0, 0, 0, 0,
4203 3872, 3873, 3874, 0, 0, 4459, 0, 0, 0, 0,
4204 0, 2034, 2035, 0, 0, 1756, 1757, 3883, 736, 0,
4205 0, 2037, 0, 0, 0, 0, 2036, 0, 0, 0,
4206 0, 0, 0, 0, 0, 2038, 0, 1955, 2039, 0,
4207 3899, 1798, 0, 3501, 0, 0, 0, 0, 3502, 0,
4208 3909, 3911, 0, 0, 0, 3916, 0, 0, 0, 2037,
4209 0, 0, 0, 0, 0, 0, 0, 2032, 0, 0,
4210 0, 0, 2033, 2038, 0, 0, 2039, 0, 0, 0,
4211 0, 2041, 0, 0, 2042, 2043, 2044, 0, 2045, 2046,
4212 2047, 2048, 2049, 2050, 2034, 2035, 0, 0, 5472, 0,
4213 0, 0, 0, 0, 0, 822, 0, 0, 0, 2036,
4214 0, 0, 0, 0, 2022, 1866, 1868, 2023, 0, 0,
4215 0, 2024, 2025, 2026, 0, 2040, 0, 0, 0, 0,
4216 0, 0, 0, 0, 0, 0, 0, 0, 2027, 0,
4217 0, 0, 2037, 0, 0, 0, 2029, 0, 0, 0,
4218 0, 0, 0, 2030, 0, 3847, 2038, 0, 0, 2039,
4219 0, 0, 0, 2040, 0, 0, 3991, 0, 0, 1318,
4220 0, 0, 0, 0, 0, 0, 0, 0, 2031, 0,
4221 0, 0, 0, 0, 0, 0, 2244, 0, 0, 0,
4222 0, 0, 0, 0, 0, 0, 0, 0, 3224, 0,
4223 0, 0, 0, 0, 0, 0, 0, 4894, 0, 0,
4224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4225 0, 0, 2877, 0, 2041, 0, 0, 2042, 2043, 2044,
4226 0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 2447,
4227 0, 0, 0, 0, 0, 0, 2040, 0, 0, 0,
4228 736, 0, 0, 0, 0, 736, 0, 2335, 0, 736,
4229 0, 0, 2041, 0, 0, 2042, 2043, 2044, 0, 2045,
4230 2046, 2047, 2048, 2049, 2050, 0, 0, 0, 0, 0,
4231 0, 0, 0, 0, 4622, 4623, 0, 0, 2032, 4626,
4232 4627, 0, 0, 2033, 0, 0, 0, 4095, 4096, 4097,
4233 0, 0, 2022, 0, 0, 2023, 0, 0, 0, 2024,
4234 2025, 2026, 0, 0, 0, 2034, 2035, 0, 0, 1955,
4235 0, 0, 0, 0, 0, 0, 2027, 0, 0, 3460,
4236 2036, 0, 0, 0, 2029, 0, 0, 0, 0, 0,
4237 0, 2030, 0, 0, 0, 2041, 0, 0, 2042, 2043,
4238 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 3799, 0,
4239 0, 0, 0, 2037, 0, 0, 2031, 0, 0, 0,
4240 0, 0, 0, 0, 0, 0, 0, 2038, 0, 0,
4241 2039, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4243 0, 0, 0, 0, 4055, 0, 0, 0, 0, 0,
4244 0, 1955, 0, 0, 0, 0, 1955, 1955, 0, 0,
4245 0, 0, 0, 0, 1047, 0, 0, 0, 5075, 0,
4246 0, 0, 0, 0, 0, 0, 2022, 0, 0, 2023,
4247 0, 0, 0, 2024, 2025, 2026, 0, 1468, 0, 0,
4248 0, 0, 0, 1469, 0, 0, 0, 0, 0, 0,
4249 2027, 0, 2265, 0, 0, 0, 0, 2040, 2029, 0,
4250 0, 0, 0, 0, 0, 2030, 2032, 0, 0, 0,
4251 0, 2033, 0, 0, 4056, 0, 0, 2304, 0, 0,
4252 0, 0, 0, 0, 0, 1471, 0, 0, 0, 0,
4253 2031, 0, 2493, 2034, 2035, 0, 0, 0, 0, 0,
4254 0, 0, 0, 0, 0, 0, 0, 0, 2036, 0,
4255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4256 0, 0, 5143, 0, 0, 0, 0, 0, 0, 0,
4257 0, 0, 0, 0, 0, 0, 0, 0, 0, 1473,
4258 0, 2037, 0, 0, 0, 0, 1474, 0, 0, 1475,
4259 0, 0, 0, 0, 0, 2038, 2041, 0, 2039, 2042,
4260 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0,
4261 0, 0, 0, 4338, 1476, 5363, 0, 0, 2406, 2407,
4262 2408, 2409, 0, 0, 4351, 0, 0, 0, 0, 0,
4263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4264 2032, 0, 0, 1047, 0, 2033, 0, 5217, 1477, 5218,
4265 0, 0, 0, 5223, 5224, 4382, 0, 0, 2619, 0,
4266 2620, 0, 0, 0, 0, 0, 0, 2034, 2035, 0,
4267 0, 0, 0, 0, 0, 0, 0, 2631, 0, 2632,
4268 0, 736, 2036, 0, 0, 2040, 0, 0, 2558, 0,
4269 0, 0, 0, 602, 0, 602, 0, 602, 0, 602,
4270 0, 602, 0, 0, 0, 602, 0, 1478, 0, 1479,
4271 0, 0, 0, 0, 0, 2037, 0, 0, 0, 1480,
4272 0, 0, 0, 0, 0, 0, 0, 0, 1481, 2038,
4273 0, 0, 2039, 0, 0, 0, 2636, 0, 0, 0,
4274 1482, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4275 0, 0, 0, 0, 5364, 0, 0, 5290, 0, 2459,
4276 2460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4277 0, 0, 0, 0, 0, 0, 0, 0, 3201, 2483,
4278 0, 1484, 1485, 0, 2041, 0, 0, 2042, 2043, 2044,
4279 0, 2045, 2046, 2047, 2048, 2049, 2050, 2022, 0, 0,
4280 2023, 0, 0, 0, 2024, 2025, 2026, 0, 0, 0,
4281 0, 3202, 0, 0, 2528, 2529, 2530, 2531, 0, 2040,
4282 0, 2027, 0, 0, 0, 0, 0, 0, 0, 2029,
4283 0, 0, 0, 0, 0, 0, 2030, 0, 0, 0,
4284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4285 0, 0, 0, 0, 0, 4515, 4516, 4517, 4518, 0,
4286 2022, 2031, 0, 2023, 0, 0, 0, 2024, 2025, 2026,
4287 0, 1468, 0, 0, 0, 0, 0, 1469, 1487, 0,
4288 0, 0, 0, 0, 2027, 0, 0, 3506, 1047, 0,
4289 0, 0, 2029, 0, 0, 0, 0, 0, 0, 2030,
4290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4291 0, 0, 0, 0, 0, 0, 0, 0, 2041, 1471,
4292 0, 2042, 2043, 2044, 2031, 2045, 2046, 2047, 2048, 2049,
4293 2050, 2629, 0, 0, 0, 2919, 2920, 2633, 0, 0,
4294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4295 736, 0, 0, 0, 2935, 2936, 0, 0, 0, 2939,
4296 2940, 0, 0, 0, 2943, 0, 0, 0, 0, 0,
4297 0, 2032, 5439, 1473, 0, 0, 2033, 0, 2954, 0,
4298 1474, 0, 0, 1475, 0, 2963, 0, 0, 0, 2966,
4299 2967, 0, 0, 2970, 2971, 0, 0, 0, 2034, 2035,
4300 2976, 0, 0, 0, 0, 0, 0, 0, 1476, 0,
4301 0, 0, 0, 2036, 0, 2995, 0, 2997, 0, 0,
4302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4303 0, 0, 0, 0, 2032, 5439, 3021, 0, 0, 2033,
4304 0, 3023, 1477, 0, 0, 0, 2037, 0, 0, 0,
4305 0, 0, 0, 5439, 0, 3028, 0, 0, 0, 0,
4306 2038, 2034, 2035, 2039, 3035, 0, 0, 3039, 2799, 0,
4307 3042, 3045, 3047, 0, 0, 0, 2036, 3055, 3058, 0,
4308 0, 3474, 0, 0, 0, 0, 0, 3071, 0, 0,
4309 0, 0, 3080, 0, 0, 0, 3083, 862, 871, 0,
4310 0, 1478, 0, 1479, 0, 862, 0, 871, 862, 2037,
4311 0, 0, 3099, 1480, 0, 0, 0, 0, 0, 3109,
4312 3110, 871, 1481, 2038, 0, 3114, 2039, 0, 0, 5211,
4313 0, 0, 0, 0, 1482, 0, 3129, 3130, 0, 0,
4314 0, 3133, 0, 0, 0, 0, 0, 0, 0, 0,
4315 2040, 0, 0, 3140, 0, 0, 3143, 0, 0, 0,
4316 0, 3146, 0, 0, 0, 0, 3148, 3149, 0, 0,
4317 0, 3152, 3676, 0, 3156, 1484, 1485, 0, 3163, 3164,
4318 3165, 3166, 0, 3168, 0, 0, 0, 0, 1468, 0,
4319 0, 0, 0, 0, 1469, 0, 3193, 3194, 4742, 3196,
4320 0, 1535, 0, 0, 0, 3677, 0, 0, 0, 3204,
4321 3205, 0, 0, 2040, 0, 0, 0, 0, 0, 0,
4322 1536, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4323 0, 0, 0, 0, 0, 0, 1471, 0, 0, 0,
4324 0, 0, 0, 0, 0, 0, 0, 0, 0, 2041,
4325 0, 0, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048,
4326 2049, 2050, 2982, 2983, 0, 0, 0, 0, 0, 0,
4327 1537, 3258, 1487, 2996, 2022, 2998, 0, 2023, 0, 3002,
4328 0, 2024, 2025, 2026, 0, 0, 0, 0, 0, 0,
4329 1473, 0, 0, 0, 0, 0, 0, 1474, 2027, 3295,
4330 1475, 0, 0, 0, 0, 0, 2029, 0, 0, 0,
4331 0, 0, 2041, 2030, 0, 2042, 2043, 2044, 0, 2045,
4332 2046, 2047, 2048, 2049, 2050, 1476, 0, 0, 0, 0,
4333 0, 0, 0, 0, 0, 0, 0, 0, 2031, 0,
4334 0, 0, 0, 0, 0, 0, 2022, 0, 0, 2023,
4335 0, 0, 0, 2024, 2025, 2026, 1538, 0, 0, 1477,
4336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4337 2027, 0, 0, 3517, 0, 0, 0, 0, 2029, 0,
4338 0, 0, 0, 0, 0, 2030, 0, 0, 0, 0,
4339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4340 0, 0, 0, 0, 1539, 0, 0, 1540, 0, 3139,
4341 2031, 0, 3142, 0, 0, 0, 0, 0, 1541, 0,
4342 1479, 0, 0, 0, 0, 0, 0, 0, 0, 3511,
4343 1480, 0, 4899, 0, 2022, 0, 0, 2023, 0, 1481,
4344 0, 2024, 2025, 2026, 0, 0, 0, 4912, 2032, 0,
4345 1542, 1482, 1318, 2033, 0, 0, 0, 0, 2027, 0,
4346 0, 0, 0, 0, 0, 0, 2029, 0, 5438, 0,
4347 0, 0, 0, 2030, 0, 2034, 2035, 0, 4949, 0,
4348 0, 0, 0, 0, 0, 0, 0, 0, 0, 3134,
4349 2036, 3227, 1484, 1485, 1544, 0, 0, 0, 2031, 3234,
4350 3451, 0, 3237, 2022, 0, 0, 2023, 0, 3239, 0,
4351 2024, 2025, 2026, 0, 0, 0, 1545, 0, 0, 3251,
4352 2032, 0, 3135, 2037, 871, 2033, 0, 2027, 0, 0,
4353 871, 5438, 0, 0, 0, 2029, 1547, 2038, 0, 0,
4354 2039, 0, 2030, 871, 0, 0, 0, 2034, 2035, 5438,
4355 0, 0, 0, 0, 0, 0, 0, 0, 0, 871,
4356 3297, 0, 2036, 0, 0, 0, 0, 2031, 0, 0,
4357 0, 0, 0, 862, 871, 0, 0, 0, 0, 0,
4358 862, 0, 871, 862, 0, 0, 0, 0, 3320, 1487,
4359 0, 0, 0, 0, 0, 2037, 871, 0, 0, 5035,
4360 0, 0, 0, 0, 0, 0, 871, 0, 2032, 2038,
4361 0, 0, 2039, 2033, 0, 0, 0, 0, 0, 0,
4362 0, 0, 0, 0, 0, 0, 0, 2040, 0, 0,
4363 0, 0, 0, 0, 0, 2034, 2035, 0, 0, 0,
4364 0, 0, 0, 0, 0, 0, 3383, 0, 3385, 0,
4365 2036, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4366 0, 0, 0, 2022, 0, 0, 2023, 0, 0, 0,
4367 2024, 2025, 2026, 0, 0, 0, 0, 2032, 0, 0,
4368 0, 0, 2033, 2037, 0, 0, 0, 2027, 0, 0,
4369 4062, 871, 0, 0, 0, 2029, 5113, 2038, 0, 2040,
4370 2039, 0, 2030, 0, 2034, 2035, 0, 0, 0, 0,
4371 0, 0, 0, 0, 0, 871, 0, 0, 0, 2036,
4372 0, 0, 0, 0, 0, 0, 2041, 2031, 871, 2042,
4373 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0,
4374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4375 0, 0, 2037, 0, 0, 3651, 3450, 0, 0, 3653,
4376 0, 0, 0, 0, 0, 3655, 2038, 0, 0, 2039,
4377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4378 0, 0, 0, 3666, 3668, 0, 0, 2040, 3668, 0,
4379 0, 0, 0, 3679, 3680, 3681, 0, 3683, 2041, 0,
4380 0, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049,
4381 2050, 0, 0, 0, 0, 0, 0, 0, 0, 4007,
4382 3705, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4383 3711, 3712, 3713, 3714, 0, 0, 1705, 2032, 0, 0,
4384 0, 0, 2033, 0, 0, 0, 0, 0, 0, 0,
4385 0, 0, 0, 0, 862, 0, 2040, 0, 0, 0,
4386 862, 0, 0, 862, 2034, 2035, 3731, 0, 0, 3736,
4387 3737, 3738, 0, 0, 0, 0, 870, 0, 0, 2036,
4388 0, 0, 0, 0, 0, 870, 2041, 3758, 0, 2042,
4389 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 870,
4390 0, 0, 0, 0, 0, 0, 0, 3766, 0, 0,
4391 0, 0, 2037, 0, 0, 0, 0, 0, 0, 0,
4392 0, 0, 0, 0, 0, 0, 2038, 0, 0, 2039,
4393 0, 0, 0, 0, 0, 0, 0, 2022, 0, 0,
4394 2023, 0, 0, 0, 2024, 2025, 2026, 0, 0, 0,
4395 0, 0, 0, 0, 0, 2041, 0, 0, 2042, 2043,
4396 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 2029,
4397 0, 0, 0, 0, 0, 0, 2030, 0, 0, 3808,
4398 0, 0, 0, 0, 0, 0, 0, 3812, 0, 0,
4399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4400 0, 2031, 0, 0, 0, 0, 0, 0, 0, 0,
4401 0, 0, 871, 0, 0, 0, 2040, 0, 3826, 1468,
4402 0, 0, 0, 0, 3657, 1469, 3658, 3659, 3660, 0,
4403 871, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4404 0, 3869, 0, 0, 0, 0, 0, 0, 871, 0,
4405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4406 0, 0, 0, 0, 0, 0, 0, 1471, 0, 0,
4407 0, 0, 0, 0, 0, 0, 871, 0, 0, 0,
4408 0, 0, 0, 0, 0, 0, 0, 871, 0, 0,
4409 0, 0, 0, 3906, 0, 943, 0, 0, 3912, 0,
4410 944, 0, 0, 871, 0, 0, 0, 871, 0, 0,
4411 0, 2032, 0, 0, 0, 2041, 2033, 0, 2042, 2043,
4412 2044, 1473, 2045, 2046, 2047, 2048, 2049, 2050, 1474, 0,
4413 0, 1475, 3951, 0, 0, 945, 0, 0, -2631, -2631,
4414 0, 0, 0, 0, 0, 0, 0, 0, 946, 947,
4415 0, 0, 0, 2036, 0, 0, 1476, 0, 0, 948,
4416 0, 0, 0, 949, 0, 0, 0, 0, 0, 0,
4417 0, 3967, 0, 3968, 0, 0, 0, 0, 0, 0,
4418 0, 950, 0, 0, 0, 0, -2631, 0, 0, 0,
4419 1477, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4420 2038, 0, 0, 0, 951, 0, 0, 0, 0, 0,
4421 0, 0, 0, 3992, 0, 952, 0, 0, 0, 0,
4422 0, 0, 0, 953, 0, 871, 0, 0, 0, 0,
4423 0, 0, 0, 871, 871, 954, 0, 0, 0, 0,
4424 955, 0, 0, 0, 0, 0, 0, 871, 0, 1478,
4425 0, 1479, 0, 0, 0, 0, 0, 0, 0, 0,
4426 0, 1480, 0, 3819, 0, 0, 956, 0, 0, 0,
4427 1481, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4428 0, 0, 1482, 0, 0, 0, 0, 0, 0, 0,
4429 2040, 957, 0, 0, 0, 0, 0, 0, 0, 0,
4430 1705, 0, 870, 0, 0, 0, 0, 0, 870, 0,
4431 0, 0, 958, 0, 0, 0, 0, 0, 0, 0,
4432 3732, 870, 0, 1484, 1485, 0, 0, 0, 0, 0,
4433 0, 0, 0, 0, 0, 0, 0, 870, 0, 0,
4434 0, 0, 0, 0, 0, 0, 959, 0, 0, 0,
4435 0, 0, 870, 3733, 0, 0, 0, 0, 0, 0,
4436 870, 0, 0, 0, 0, 0, 0, 0, 0, 960,
4437 0, 0, 0, 0, 870, 0, 0, 0, 0, 205,
4438 961, 0, 0, 962, 870, 0, 0, 0, 0, 2041,
4439 0, 0, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048,
4440 2049, 2050, 0, 0, 0, 0, 0, 0, 0, 963,
4441 0, 0, 964, 0, 0, 0, 965, 0, 966, 0,
4442 1487, 0, 0, 0, 0, 967, 0, 4185, 968, 4186,
4443 0, 0, 0, 0, 0, 3971, 4188, 0, 0, 0,
4444 0, 0, 0, 0, 0, 0, 0, 969, 0, 0,
4445 0, 0, 4198, 0, 970, 0, 0, 0, 0, 0,
4446 971, 0, 0, 972, 0, 0, 0, 973, 4206, 870,
4447 0, 0, 0, 0, 0, 974, 0, 975, 0, 0,
4448 0, 0, 976, 0, 0, 0, 0, 4227, 0, 0,
4449 0, 0, 0, 870, 871, 0, 0, 0, 0, 0,
4450 0, 0, 0, 0, 0, 4231, 870, 977, 0, 0,
4451 0, 0, 0, 0, 0, 4240, 0, 0, 0, 0,
4452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4453 0, 0, 0, 0, 4269, 0, 0, 0, 0, 0,
4454 0, 0, 0, 0, 0, 0, 0, 4277, 4278, 4279,
4455 0, 0, 0, 0, 4283, 4284, 4285, 4286, 0, 0,
4456 0, 4288, 4289, 0, 0, 0, 0, 4296, 4297, 0,
4457 4299, 4300, 4301, 4302, 4303, 4304, 0, 4306, 0, 0,
4458 0, 0, 0, 0, 0, 0, 4314, 0, 0, 4317,
4459 4318, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4461 0, 0, 0, 3668, 1704, 0, 0, 0, 0, 0,
4462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4463 0, 0, 4341, 0, 0, 0, 0, 0, 0, 0,
4464 0, 0, 1705, 0, 0, 0, 0, 0, 0, 0,
4465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4466 0, 0, 0, 0, 0, 0, 871, 0, 0, 0,
4467 0, 0, 0, 0, 871, 0, 0, 0, 0, 0,
4468 0, 0, 0, 0, 0, 0, 871, 0, 0, 0,
4469 0, 0, 0, 0, 0, 0, 0, 0, 4191, 4192,
4470 4193, 4194, 0, 0, 0, 0, 0, 0, 0, 0,
4471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4473 0, 0, 3668, 0, 0, 0, 0, 0, 0, 0,
4474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4475 0, 0, 0, 0, 0, 0, 0, 862, 862, 0,
4476 871, 871, 0, 0, 0, 0, 4453, 0, 0, 0,
4477 0, 0, 862, 0, 871, 862, 0, 0, 613, 0,
4478 0, 0, 0, 0, 0, 0, 0, 871, 871, 0,
4479 870, 0, 0, 0, 0, 614, 0, 0, 0, 0,
4480 0, 0, 0, 871, 0, 0, 0, 0, 870, 0,
4481 0, 0, 0, 0, 0, 0, 0, 0, 615, 0,
4482 0, 0, 0, 0, 0, 0, 870, 0, 0, 0,
4483 0, 616, 0, 0, 0, 862, 0, 0, 862, 862,
4484 0, 0, 617, 0, 0, 0, -852, 0, 0, 0,
4485 0, 0, 0, 0, 870, 0, 0, 0, 0, 0,
4486 0, 0, 0, 0, 618, 870, 0, 0, 0, 0,
4487 619, 0, 0, 4337, 0, 0, 0, 0, 0, 0,
4488 0, 870, 0, 0, 0, 870, 0, 620, 4340, 0,
4489 0, 0, 0, 0, 0, 0, 0, 0, 621, 0,
4490 0, 0, 0, 0, 0, 0, 622, 0, 0, 0,
4491 0, 0, 0, 0, 0, 0, 0, 0, 623, 0,
4492 0, 0, 0, 0, 0, 0, 624, 1705, 0, 0,
4493 625, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4494 0, 0, 0, 0, 0, 0, 0, 0, 0, -1081,
4495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4497 0, 0, 0, 0, 0, 4590, 0, 0, 0, 4591,
4498 4592, 4593, 4594, 0, 0, 4596, 626, 0, 0, 0,
4499 0, 0, 0, 0, 0, -569, 0, 871, 0, 0,
4500 0, 0, 0, 870, 0, 0, 0, 0, 0, 0,
4501 0, 870, 870, 0, 0, 0, 0, 4615, 4616, 4617,
4502 0, 4618, 0, 4620, 4621, 870, 0, 0, 0, 627,
4503 0, 0, 628, 0, 0, 4630, 4631, 0, 0, 0,
4504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4505 0, 0, 629, 871, 0, 0, 0, 0, 0, 0,
4506 0, 0, 4636, 0, 0, 0, 630, 0, 0, 0,
4507 0, 871, 0, -440, 0, 0, 1705, 871, 1704, 0,
4508 0, 871, 0, 0, 0, 4647, 0, 0, 0, 871,
4509 0, 0, 631, 0, 0, 0, 0, 0, 0, 0,
4510 0, 632, 0, 0, 0, 0, 0, 871, -440, 0,
4511 0, 633, 0, 0, 0, 0, 664, 0, 0, 0,
4512 0, 665, 0, 0, 0, 0, 0, 0, 0, 862,
4513 634, 0, 862, 862, 0, 0, 0, 635, 0, 0,
4514 0, 0, 0, -440, 0, 0, 636, 637, 0, 638,
4515 639, 0, 0, 871, 0, 0, 666, 0, 0, 0,
4516 640, 0, 0, 0, 4699, 641, 0, 0, 0, 667,
4517 0, 642, 871, 871, 643, 0, 0, 644, 0, 0,
4518 0, 0, 0, 0, 668, 0, 0, 0, 0, 0,
4519 -440, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4520 0, 0, 669, 0, 1705, 871, 0, 0, 1705, 0,
4521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4522 0, 0, 4751, 0, 0, 670, 0, 0, 0, 0,
4523 871, 0, 1705, 0, 0, 0, 671, 871, 0, 0,
4524 0, 0, 0, 871, 672, 0, 0, 0, 0, 0,
4525 871, 0, 0, 0, 871, 0, 673, 0, 0, 871,
4526 0, 674, 0, 0, 0, 0, 0, 0, 675, 0,
4527 0, 0, 870, 0, 0, 0, 0, 0, 0, 871,
4528 0, 0, 0, 0, 871, 0, 0, 676, 871, 0,
4529 0, 1705, 0, 0, 0, 0, 0, 0, 0, 0,
4530 0, 871, 0, 0, 0, 0, 0, 0, 0, 0,
4531 0, 0, 0, 0, 871, 0, 0, 0, 0, 0,
4532 0, 0, 0, 0, 871, 0, 0, 0, 0, 4644,
4533 0, 0, 602, 677, 0, 0, 0, 0, 0, 0,
4534 0, 0, 0, 0, 4648, 0, 0, 0, 0, 0,
4535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4536 0, 0, 0, 0, 0, 0, 0, 678, 0, 0,
4537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4538 679, 0, 0, 0, 0, 0, 0, 0, 0, 1705,
4539 680, 0, 0, 0, 4850, 0, 0, 0, 0, 0,
4540 205, 681, 0, 0, 682, 0, 0, 0, 0, 0,
4541 0, 0, 4860, 0, 0, 0, 0, 4865, 4866, 0,
4542 1704, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4543 683, 0, 0, 684, 0, 4713, 0, 685, 0, 686,
4544 0, 0, 0, 0, 870, 0, 687, 0, 0, 688,
4545 0, 0, 870, 0, 0, 0, 0, 0, 0, 0,
4546 0, 0, 0, 0, 870, 0, 0, 0, 689, 4927,
4547 871, 0, 0, 0, 0, 690, 0, 0, 0, 0,
4548 0, 691, 0, 0, 692, 0, 0, 0, 693, 4944,
4549 0, 4946, 0, 0, 0, 0, 694, 0, 695, 0,
4550 0, 0, 0, 696, 0, 0, 4962, 0, 0, 0,
4551 0, 0, 0, 0, 0, 697, 0, 0, 0, 0,
4552 0, 0, 0, 0, 0, 871, 3668, 0, 698, 0,
4553 0, 0, 0, 4983, 0, 0, 0, 0, 870, 870,
4554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4555 0, 0, 870, 0, 0, 0, 0, 0, 0, 0,
4556 0, 0, 0, 0, 0, 870, 870, 871, 0, 0,
4557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4558 0, 870, 0, 0, 0, 871, 0, 0, 0, 0,
4559 0, 0, 0, 871, 0, 0, 0, 0, 5022, 0,
4560 0, 0, 0, 862, 0, 0, 862, 0, 0, 862,
4561 0, 4831, 4832, 4832, 0, 0, 0, 0, 0, 0,
4562 5039, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4563 0, 5047, 0, 0, 0, 0, 0, 0, 0, 0,
4564 0, 0, 0, 0, 0, 0, 0, 1294, 1294, 0,
4565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4567 0, 0, 0, 0, 0, 1705, 0, 0, 0, 0,
4568 0, 1705, 0, 0, 0, 0, 0, 0, 0, 0,
4569 0, 0, 0, 0, 5106, 0, 0, 0, 0, 0,
4570 0, 0, 0, 0, 0, 1704, 0, 0, 0, 0,
4571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4573 1095, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4575 0, 0, 0, 0, 0, 0, 1095, 871, 0, 0,
4576 3668, 0, 0, 0, 0, 0, 0, 0, 0, 4967,
4577 0, 0, 0, 0, 0, 870, 0, 0, 0, 0,
4578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4579 0, 0, 0, 0, 0, 0, 1616, 1620, 0, 0,
4580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4582 5193, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4583 0, 870, 0, 0, 0, 5206, 0, 0, 0, 0,
4584 0, 0, 0, 0, 0, 0, 871, 871, 0, 870,
4585 0, 0, 0, 0, 1704, 870, 0, 0, 0, 870,
4586 0, 0, 0, 0, 0, 0, 0, 870, 0, 0,
4587 0, 0, 0, 871, 0, 0, 871, 0, 0, 5235,
4588 0, 0, 0, 0, 0, 870, 0, 0, 0, 0,
4589 0, 0, 0, 0, 5246, 0, 0, 0, 0, 0,
4590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4591 5062, 0, 5064, 0, 0, 0, 0, 0, 0, 0,
4592 0, 0, 0, 0, 0, 189, 0, 0, 0, 0,
4593 0, 870, 0, 0, 0, 0, 0, 0, 0, 0,
4594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4595 870, 870, 0, 0, 0, 0, 0, 0, 0, 0,
4596 0, 1705, 1705, 1705, 0, 0, 0, 0, 0, 0,
4597 0, 0, 0, 190, 0, 0, 5307, 0, 0, 0,
4598 0, 0, 1704, 870, 871, 0, 1704, 0, 191, 0,
4599 0, 0, 0, 0, 0, 1619, 0, 0, 0, 0,
4600 0, 0, 0, 0, 871, 0, 192, 0, 870, 0,
4601 1704, 1095, 193, 0, 0, 870, 0, 0, 0, 0,
4602 5329, 870, 0, 871, 0, 0, 0, 0, 870, 194,
4603 0, 0, 870, 0, 0, 0, 1095, 870, 0, 0,
4604 195, 0, 0, 0, 0, 0, 0, 0, 196, 0,
4605 0, 1095, 0, 0, 0, 0, 0, 870, 0, 0,
4606 197, 0, 870, 0, 0, 198, 870, 4832, 0, 1704,
4607 0, 0, 199, 0, 0, 0, 0, 0, 0, 870,
4608 0, 1979, 0, 0, 0, 0, 0, 0, 0, 0,
4609 0, 200, 870, 0, 0, 0, 0, 0, 0, 0,
4610 0, 0, 870, 0, 0, 871, 0, 0, 5396, 0,
4611 0, 1993, 0, 0, 0, 0, 201, 0, 0, 0,
4612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4613 0, 0, 0, 0, 0, 0, 1095, 202, 0, 2011,
4614 2012, 2013, 0, 2015, 0, 0, 5242, 0, 0, 0,
4615 0, 0, 1705, 0, 0, 0, 0, 0, 0, 871,
4616 0, 871, 0, 2057, 0, 0, 0, 1704, 0, 0,
4617 0, 203, 0, 0, 871, 0, 871, 0, 0, 0,
4618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4619 0, 0, 0, 0, 204, 0, 0, 0, 1705, 0,
4620 0, 0, 0, 0, 205, 206, 0, 0, 207, 0,
4621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4623 0, 2115, 0, 0, 208, 2127, 2132, 209, 0, 0,
4624 0, 210, 871, 211, 0, 0, 1095, 0, 870, 5313,
4625 212, 0, 0, 213, 0, 0, 0, 0, 0, 0,
4626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4627 0, 0, 214, 0, 0, 0, 0, 0, 0, 215,
4628 0, 0, 0, 0, 216, 217, 0, 0, 218, 0,
4629 0, 0, 219, 871, 0, 0, 0, 0, 0, 0,
4630 0, 0, 220, 870, 0, 0, 0, 221, 0, 0,
4631 0, 871, 0, 0, 0, 0, 0, 0, 0, 222,
4632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4633 0, 0, 223, 871, 0, 0, 871, 0, 0, 0,
4634 0, 0, 0, 0, 0, 870, 5389, 0, 0, 0,
4635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4636 0, 0, 0, 870, 0, 0, 0, 0, 0, 0,
4637 0, 870, 0, 0, 0, 0, 0, 0, 4832, 4832,
4638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4639 0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
4640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4641 0, 0, 0, 0, 0, 0, 1705, 0, 0, 0,
4642 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
4643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4645 0, 0, 0, 1704, 0, 2171, 0, 0, 0, 1704,
4646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4647 0, 1616, 1616, 1616, 0, 0, 0, 0, 0, 0,
4648 0, 4832, 0, 0, 0, 0, 0, 0, 0, 0,
4649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4652 0, 2171, 0, 0, 0, 0, 0, 0, 0, 0,
4653 0, 0, 0, 0, 0, 870, 0, 0, 0, 0,
4654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4656 0, 0, 1095, 0, 0, 0, 0, 0, 0, 0,
4657 871, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4659 0, 0, 0, 0, 0, 1095, 0, 0, 0, 0,
4660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4662 0, 1705, 0, 0, 870, 870, 1705, 0, 1705, 0,
4663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4665 1705, 870, 0, 0, 870, 0, 0, 0, 0, 0,
4666 0, 0, 0, 0, 0, 0, 0, 0, 0, 1705,
4667 1619, 1619, 1619, 0, 0, 0, 0, 0, 0, 0,
4668 1094, 0, 0, 0, 0, 871, 0, 0, 871, 0,
4669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4670 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
4671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4672 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4673 0, 0, 0, 0, 0, 0, 0, 0, 0, 1704,
4674 1704, 1704, 0, 0, 1085, 0, 0, 0, 0, 0,
4675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4676 0, 0, 870, 0, 0, 0, 0, 0, 0, 0,
4677 1085, 0, 0, 1095, 0, 0, 0, 871, 871, 0,
4678 0, 0, 870, 0, 0, 0, 0, 871, 0, 0,
4679 1095, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4680 0, 870, 0, 0, 0, 1094, 871, 0, 1095, 0,
4681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4684 0, 0, 2730, 0, 0, 0, 0, 0, 0, 0,
4685 0, 0, 0, 0, 0, 2750, 0, 2752, 0, 0,
4686 2764, 2767, 2772, 0, 1095, 0, 0, 2778, 0, 0,
4687 2783, 0, 0, 0, 0, 0, 0, 1095, 0, 0,
4688 0, 871, 0, 870, 0, 2790, 2791, 2792, 2793, 1095,
4689 0, 0, 0, 2800, 0, 0, 0, 2812, 0, 0,
4690 2814, 1095, 0, 2821, 2822, 2823, 2824, 2825, 2826, 2827,
4691 2828, 2829, 0, 2830, 0, 1094, 0, 0, 0, 0,
4692 1294, 0, 1616, 0, 0, 0, 0, 0, 0, 0,
4693 1704, 0, 0, 0, 0, 0, 0, 870, 0, 870,
4694 0, 0, 0, 0, 0, 1095, 1095, 0, 0, 0,
4695 0, 0, 870, 0, 870, 0, 0, 0, 0, 0,
4696 0, 0, 0, 0, 0, 2867, 0, 0, 0, 0,
4697 0, 0, 0, 0, 0, 0, 1704, 0, 0, 0,
4698 0, 0, 0, 0, 0, 0, 0, 0, 0, 2012,
4699 2013, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4702 870, 0, 0, 0, 0, 1085, 0, 0, 0, 0,
4703 0, 0, 0, 1087, 0, 0, 0, 0, 0, 0,
4704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4705 1085, 0, 0, 0, 0, 0, 0, 0, 2078, 1087,
4706 0, 0, 0, 0, 0, 1085, 0, 0, 0, 0,
4707 0, 870, 2968, 0, 0, 0, 0, 0, 0, 0,
4708 0, 0, 0, 1095, 0, 0, 0, 0, 0, 870,
4709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4710 0, 0, 0, 871, 0, 0, 0, 0, 1705, 0,
4711 0, 870, 0, 0, 870, 0, 0, 0, 0, 0,
4712 0, 1619, 0, 0, 1094, 0, 0, 0, 0, 0,
4713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4714 0, 871, 0, 0, 0, 0, 0, 0, 0, 0,
4715 1085, 0, 0, 871, 0, 0, 0, 0, 0, 0,
4716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4718 871, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4719 1094, 0, 0, 0, 1704, 0, 0, 0, 0, 0,
4720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4722 0, 2923, 0, 0, 0, 2171, 2929, 0, 0, 0,
4723 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0,
4724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4726 1085, 0, 0, 0, 1094, 0, 0, 0, 0, 0,
4727 0, 0, 0, 0, 0, 0, 0, 871, 0, 0,
4728 0, 0, 0, 0, 0, 0, 0, 1095, 0, 0,
4729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4730 0, 1095, 0, 3215, 3216, 1616, 0, 0, 0, 3220,
4731 0, 0, 0, 0, 1087, 0, 0, 0, 0, 0,
4732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4733 0, 0, 0, 0, 0, 0, 0, 0, 0, 1087,
4734 0, 3249, 1095, 0, 0, 0, 0, 0, 870, 0,
4735 0, 0, 0, 0, 1087, 871, 0, 0, 0, 0,
4736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4739 0, 0, 0, 0, 0, 0, 0, 0, 0, 1704,
4740 0, 0, 0, 0, 1704, 0, 1704, 0, 0, 0,
4741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4742 0, 0, 0, 0, 0, 0, 0, 0, 1704, 0,
4743 0, 0, 0, 0, 0, 0, 0, 0, 0, 1087,
4744 0, 0, 1094, 0, 0, 0, 0, 1704, 0, 0,
4745 0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
4746 0, 0, 0, 870, 0, 871, 870, 871, 0, 1085,
4747 0, 0, 0, 0, 0, 0, 0, 1094, 0, 0,
4748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4750 0, 0, 0, 0, 1619, 0, 0, 0, 0, 0,
4751 0, 0, 871, 0, 0, 0, 0, 0, 0, 0,
4752 0, 862, 0, 0, 0, 0, 0, 0, 0, 0,
4753 0, 0, 0, 1094, 0, 1085, 0, 0, 0, 0,
4754 0, 1095, 0, 0, 0, 0, 1094, 0, 0, 1087,
4755 0, 0, 0, 0, 0, 870, 870, 0, 1094, 1705,
4756 0, 0, 0, 0, 862, 870, 0, 0, 0, 0,
4757 1094, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
4758 0, 0, 0, 0, 870, 0, 0, 0, 3456, 0,
4759 0, 0, 0, 3462, 0, 0, 0, 0, 0, 0,
4760 0, 0, 0, 0, 0, 0, 0, 0, 0, 1085,
4761 0, 0, 0, 0, 1094, 1094, 0, 0, 2015, 0,
4762 0, 0, 0, 2171, 0, 0, 2171, 0, 0, 2772,
4763 0, 2772, 2772, 0, 0, 0, 0, 0, 0, 0,
4764 0, 0, 3520, 0, 0, 3523, 0, 3525, 0, 0,
4765 0, 0, 0, 0, 0, 0, 0, 0, 0, 870,
4766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4767 0, 0, 0, 0, 0, 0, 3543, 0, 3546, 0,
4768 3548, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4773 0, 0, 0, 0, 0, 2115, 0, 0, 0, 0,
4774 0, 0, 0, 1705, 1095, 0, 0, 0, 0, 0,
4775 2132, 0, 1094, 0, 0, 0, 0, 0, 1087, 0,
4776 0, 1095, 0, 0, 0, 0, 0, 0, 871, 0,
4777 0, 0, 0, 0, 0, 0, 1095, 0, 0, 0,
4778 871, 0, 0, 0, 0, 0, 0, 1085, 0, 0,
4779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4780 0, 0, 0, 0, 1085, 0, 0, 0, 0, 0,
4781 0, 0, 0, 0, 3637, 0, 0, 0, 0, 0,
4782 0, 0, 1085, 0, 1087, 0, 0, 0, 0, 0,
4783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4786 0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
4787 0, 0, 0, 0, 0, 0, 0, 0, 1085, 0,
4788 0, 870, 0, 0, 0, 0, 1704, 0, 0, 0,
4789 1094, 1085, 0, 0, 1094, 1094, 0, 0, 1087, 0,
4790 0, 0, 0, 1085, 0, 0, 0, 0, 0, 0,
4791 0, 0, 0, 0, 0, 1085, 0, 0, 0, 870,
4792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4793 0, 870, 0, 0, 0, 0, 0, 0, 0, 0,
4794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4795 0, 0, 0, 0, 0, 0, 1094, 0, 870, 1085,
4796 1085, 0, 0, 0, 0, 0, 0, 1705, 0, 871,
4797 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4798 0, 0, 2171, 0, 0, 2929, 0, 2929, 0, 0,
4799 0, 0, 2171, 0, 0, 0, 0, 0, 0, 0,
4800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4801 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0,
4802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4804 0, 1095, 0, 0, 0, 0, 0, 0, 0, 0,
4805 0, 0, 0, 0, 0, 870, 0, 0, 0, 0,
4806 1095, 0, 0, 0, 1705, 0, 0, 0, 1088, 0,
4807 0, 0, 1616, 0, 0, 0, 1087, 0, 1616, 0,
4808 0, 0, 871, 0, 0, 2171, 0, 0, 0, 0,
4809 0, 0, 0, 1087, 1088, 0, 862, 1085, 0, 0,
4810 0, 0, 0, 0, 0, 0, 0, 0, 0, 871,
4811 0, 1087, 0, 0, 0, 0, 0, 0, 0, 0,
4812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4813 0, 0, 0, 870, 0, 0, 0, 0, 0, 0,
4814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4815 0, 0, 0, 0, 0, 1095, 0, 1095, 0, 0,
4816 0, 0, 0, 0, 0, 0, 0, 1087, 0, 0,
4817 0, 862, 862, 0, 0, 0, 0, 0, 0, 0,
4818 1087, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4819 0, 0, 1087, 0, 0, 0, 0, 0, 0, 0,
4820 0, 0, 0, 0, 1087, 0, 0, 0, 0, 0,
4821 1094, 0, 0, 0, 871, 0, 0, 0, 0, 0,
4822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4823 0, 0, 0, 0, 0, 1085, 0, 0, 0, 1085,
4824 1085, 0, 0, 870, 0, 870, 1095, 0, 1087, 1087,
4825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4827 0, 1619, 0, 0, 0, 0, 0, 1619, 0, 0,
4828 0, 0, 0, 0, 0, 1095, 0, 0, 0, 0,
4829 870, 0, 1094, 0, 0, 1094, 0, 0, 1705, 0,
4830 0, 1085, 0, 0, 0, 0, 0, 0, 0, 0,
4831 0, 0, 0, 0, 2929, 1085, 0, 0, 4008, 0,
4832 0, 0, 0, 0, 0, 0, 0, 4012, 0, 0,
4833 0, 0, 0, 4013, 0, 4014, 0, 1704, 0, 0,
4834 0, 0, 0, 0, 0, 0, 0, 0, 0, 1088,
4835 0, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
4836 0, 1705, 4038, 4039, 0, 0, 0, 0, 0, 0,
4837 0, 0, 0, 0, 1088, 0, 0, 0, 0, 1705,
4838 2778, 862, 862, 1095, 0, 0, 1087, 0, 4065, 1088,
4839 0, 4068, 0, 4070, 0, 0, 0, 0, 0, 0,
4840 0, 0, 4074, 0, 2929, 0, 0, 0, 0, 0,
4841 4081, 4082, 0, 1094, 0, 0, 0, 0, 1095, 0,
4842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4843 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4844 0, 0, 4128, 0, 0, 1094, 0, 0, 0, 0,
4845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4846 0, 0, 0, 0, 0, 0, 0, 4141, 0, 0,
4847 0, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
4848 0, 0, 0, 4154, 0, 0, 0, 0, 0, 0,
4849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4852 1095, 1704, 0, 0, 1087, 0, 0, 0, 1087, 1087,
4853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4854 0, 1095, 0, 0, 0, 0, 870, 0, 0, 0,
4855 0, 0, 0, 0, 0, 1085, 0, 0, 870, 0,
4856 0, 0, 0, 0, 0, 0, 1095, 0, 0, 0,
4857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4858 0, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
4859 1087, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4860 1095, 0, 0, 0, 1087, 0, 0, 0, 0, 0,
4861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4863 0, 0, 0, 0, 0, 0, 0, 1085, 0, 0,
4864 1085, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
4865 0, 1094, 0, 0, 1094, 0, 1094, 0, 0, 0,
4866 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0,
4867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4868 0, 0, 0, 0, 0, 0, 0, 0, 2171, 0,
4869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4871 1094, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4872 0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
4873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4874 0, 0, 0, 0, 0, 1704, 0, 870, 0, 0,
4875 0, 0, 0, 0, 1094, 0, 0, 0, 1085, 0,
4876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4877 0, 0, 0, 0, 0, 1085, 0, 0, 0, 0,
4878 0, 0, 0, 0, 0, 0, 0, 1090, 2929, 0,
4879 1085, 0, 0, 1088, 0, 0, 4427, 4428, 0, 0,
4880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4881 0, 0, 2929, 1090, 0, 0, 0, 0, 0, 0,
4882 0, 0, 0, 0, 1094, 0, 1094, 0, 0, 0,
4883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4884 0, 0, 1704, 0, 1087, 0, 0, 0, 0, 0,
4885 0, 0, 0, 0, 0, 0, 0, 0, 0, 1088,
4886 870, 0, 0, 0, 0, 0, 0, 0, 4468, 0,
4887 0, 0, 0, 0, 0, 0, 0, 0, 0, 4473,
4888 0, 0, 0, 0, 0, 0, 0, 870, 0, 0,
4889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4890 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4891 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
4892 4491, 4493, 0, 0, 0, 0, 1087, 4497, 4498, 1087,
4893 0, 0, 4499, 1088, 0, 0, 0, 4502, 0, 0,
4894 4505, 4506, 1095, 0, 0, 4510, 0, 0, 0, 0,
4895 0, 4514, 0, 0, 1094, 0, 0, 0, 0, 0,
4896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4898 0, 0, 0, 1094, 0, 0, 0, 0, 0, 0,
4899 2929, 0, 870, 0, 2171, 0, 1085, 0, 0, 1085,
4900 0, 1085, 0, 1294, 0, 0, 1085, 0, 0, 0,
4901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4902 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4903 4570, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4904 0, 0, 0, 0, 0, 0, 1091, 1087, 0, 0,
4905 0, 0, 1094, 0, 0, 1085, 0, 0, 0, 0,
4906 0, 0, 0, 0, 1087, 0, 0, 0, 1090, 0,
4907 0, 0, 0, 1094, 1085, 0, 1704, 0, 0, 1087,
4908 0, 0, 0, 0, 0, 0, 0, 1094, 0, 0,
4909 0, 0, 0, 1090, 0, 0, 0, 0, 0, 1085,
4910 0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
4911 0, 1088, 0, 0, 0, 0, 0, 0, 0, 0,
4912 0, 0, 1095, 0, 0, 0, 0, 0, 1088, 0,
4913 0, 4633, 1095, 0, 0, 0, 0, 0, 0, 1704,
4914 0, 0, 0, 0, 0, 0, 1088, 0, 0, 0,
4915 0, 0, 0, 0, 0, 0, 0, 1704, 0, 0,
4916 0, 0, 0, 0, 0, 0, 0, 0, 0, 1085,
4917 0, 1085, 0, 0, 0, 0, 0, 0, 0, 0,
4918 0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
4919 0, 0, 0, 1090, 0, 0, 0, 0, 0, 0,
4920 4670, 0, 1088, 0, 0, 0, 0, 0, 0, 0,
4921 1094, 0, 0, 0, 0, 1088, 0, 0, 0, 0,
4922 0, 0, 0, 0, 0, 0, 0, 1088, 0, 0,
4923 0, 0, 0, 0, 0, 1094, 0, 0, 0, 1088,
4924 0, 0, 0, 0, 0, 0, 0, 1095, 0, 0,
4925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4926 1085, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
4927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4928 0, 0, 0, 1088, 1088, 1087, 1095, 0, 1087, 0,
4929 1087, 0, 0, 0, 0, 1087, 0, 0, 0, 1085,
4930 0, 1091, 0, 1090, 0, 0, 0, 1095, 0, 0,
4931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4932 0, 0, 0, 0, 0, 0, 1091, 0, 1085, 0,
4933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4934 0, 1091, 0, 0, 1087, 0, 0, 0, 0, 0,
4935 0, 0, 0, 0, 0, 0, 0, 1094, 0, 0,
4936 0, 0, 0, 1087, 4773, 4774, 0, 0, 4775, 0,
4937 0, 0, 1095, 0, 0, 0, 0, 0, 0, 0,
4938 0, 0, 0, 0, 0, 0, 0, 0, 1087, 0,
4939 0, 0, 0, 0, 0, 0, 0, 1085, 0, 0,
4940 0, 0, 0, 0, 0, 4810, 4811, 0, 0, 0,
4941 0, 0, 1093, 0, 0, 0, 0, 0, 1085, 0,
4942 0, 1088, 4822, 0, 0, 0, 1091, 0, 0, 0,
4943 0, 0, 1085, 0, 0, 0, 0, 0, 1093, 0,
4944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4945 0, 0, 0, 0, 0, 0, 0, 1094, 1087, 0,
4946 1087, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4948 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0,
4949 4739, 0, 1095, 0, 0, 0, 0, 0, 0, 0,
4950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4951 0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
4952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4953 0, 0, 0, 0, 1085, 0, 1091, 0, 1095, 0,
4954 0, 0, 0, 0, 0, 0, 0, 0, 0, 1087,
4955 0, 0, 0, 0, 0, 1085, 0, 0, 0, 1088,
4956 0, 0, 0, 1088, 1088, 0, 0, 0, 0, 0,
4957 0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
4958 1085, 0, 0, 0, 0, 0, 0, 0, 1087, 0,
4959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4961 0, 1094, 0, 0, 1085, 0, 0, 1087, 0, 1090,
4962 0, 0, 0, 2778, 0, 1088, 0, 0, 0, 0,
4963 0, 0, 0, 0, 0, 0, 0, 0, 0, 1088,
4964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4965 5005, 0, 1090, 0, 0, 0, 0, 0, 0, 1094,
4966 0, 0, 0, 1094, 2015, 0, 0, 0, 0, 0,
4967 0, 0, 2929, 0, 0, 0, 0, 0, 0, 0,
4968 1088, 0, 0, 0, 0, 0, 1087, 0, 0, 0,
4969 0, 0, 0, 1093, 0, 0, 0, 0, 0, 0,
4970 0, 0, 1085, 0, 0, 0, 0, 1087, 0, 0,
4971 0, 0, 0, 0, 0, 0, 0, 0, 1093, 0,
4972 0, 1087, 0, 5054, 0, 0, 0, 0, 0, 0,
4973 0, 0, 0, 1093, 0, 0, 0, 0, 0, 0,
4974 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0,
4975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4976 0, 0, 0, 0, 5091, 0, 0, 0, 0, 0,
4977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4979 0, 1094, 0, 0, 0, 0, 2929, 0, 0, 0,
4980 0, 1094, 1085, 0, 0, 0, 0, 0, 0, 0,
4981 0, 1091, 0, 0, 0, 0, 0, 0, 1093, 0,
4982 1095, 0, 0, 1087, 0, 0, 1085, 0, 0, 0,
4983 1090, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4984 0, 0, 0, 0, 1087, 0, 0, 1090, 0, 0,
4985 0, 0, 1091, 0, 0, 0, 0, 0, 0, 1095,
4986 0, 0, 0, 0, 0, 1090, 0, 0, 0, 1087,
4987 0, 0, 0, 0, 0, 0, 0, 0, 4810, 1088,
4988 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0,
4989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4990 0, 0, 0, 1087, 5195, 0, 0, 0, 0, 0,
4991 0, 0, 1095, 0, 0, 0, 1094, 1095, 1095, 0,
4992 0, 1090, 0, 0, 0, 0, 0, 0, 1093, 0,
4993 0, 0, 0, 0, 1090, 0, 0, 0, 0, 0,
4994 0, 0, 0, 0, 0, 0, 1090, 0, 0, 0,
4995 0, 0, 0, 0, 0, 1094, 1085, 0, 1090, 0,
4996 0, 1088, 0, 0, 1088, 0, 0, 0, 0, 0,
4997 0, 0, 0, 0, 0, 0, 1094, 0, 0, 0,
4998 0, 5249, 0, 0, 0, 0, 0, 0, 0, 0,
4999 0, 1087, 0, 0, 0, 0, 0, 0, 0, 0,
5000 0, 0, 1090, 1090, 1085, 0, 0, 0, 1085, 0,
5001 0, 0, 0, 0, 0, 0, 5277, 5277, 5277, 0,
5002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5003 0, 0, 4739, 1095, 0, 4810, 0, 0, 0, 0,
5004 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0,
5005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5006 0, 0, 0, 1091, 0, 0, 0, 0, 0, 0,
5007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5008 1091, 0, 1088, 0, 0, 0, 0, 0, 0, 0,
5009 0, 1087, 0, 0, 0, 0, 0, 0, 1091, 1088,
5010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5011 0, 0, 0, 0, 1088, 1087, 0, 5338, 0, 0,
5012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5013 0, 0, 0, 0, 0, 5277, 1085, 1093, 0, 0,
5014 1090, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
5015 0, 0, 0, 0, 1091, 0, 0, 0, 0, 0,
5016 0, 1094, 0, 0, 0, 0, 0, 1091, 0, 0,
5017 0, 0, 0, 0, 0, 0, 0, 0, 0, 1091,
5018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5019 0, 1091, 0, 0, 0, 0, 0, 0, 0, 0,
5020 0, 0, 0, 1093, 0, 0, 0, 1094, 0, 0,
5021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5022 0, 0, 0, 0, 0, 0, 0, 0, 1095, 0,
5023 0, 0, 0, 0, 0, 1091, 1091, 0, 0, 0,
5024 0, 0, 0, 0, 1093, 1087, 5430, 0, 0, 0,
5025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5026 0, 1085, 0, 0, 0, 0, 0, 0, 0, 0,
5027 0, 0, 0, 0, 0, 0, 0, 1093, 1090, 0,
5028 5277, 0, 1090, 1090, 0, 0, 0, 0, 0, 0,
5029 5457, 0, 0, 1087, 0, 0, 0, 1087, 0, 0,
5030 1085, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5032 1088, 1085, 0, 1088, 0, 1088, 0, 0, 0, 0,
5033 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5034 0, 1094, 0, 0, 1090, 0, 0, 0, 0, 0,
5035 0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
5036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5037 0, 0, 0, 1091, 0, 0, 0, 0, 0, 1088,
5038 0, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
5039 0, 0, 0, 0, 0, 0, 0, 0, 1088, 1090,
5040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5042 0, 0, 0, 1088, 0, 1087, 0, 0, 0, 0,
5043 0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
5044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5045 0, 0, 0, 0, 0, 1093, 0, 0, 0, 0,
5046 0, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
5047 0, 0, 1093, 0, 0, 0, 0, 0, 0, 0,
5048 0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
5049 1093, 0, 0, 1088, 0, 1088, 0, 0, 0, 0,
5050 0, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
5051 0, 1091, 0, 0, 0, 1091, 1091, 0, 0, 0,
5052 0, 0, 0, 0, 0, 0, 0, 0, 1094, 0,
5053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5054 0, 0, 0, 0, 0, 0, 1093, 0, 0, 0,
5055 1087, 0, 1085, 0, 0, 0, 0, 0, 0, 1093,
5056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5057 0, 1093, 0, 0, 0, 0, 0, 1091, 0, 0,
5058 0, 1094, 0, 1093, 1088, 0, 1094, 1094, 0, 1087,
5059 0, 1091, 0, 0, 0, 0, 0, 0, 1090, 0,
5060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5061 1087, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5062 0, 0, 0, 1088, 0, 0, 0, 1093, 1093, 0,
5063 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
5064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5065 0, 0, 1088, 0, 0, 0, 0, 0, 0, 0,
5066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5067 0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
5068 1090, 0, 0, 1090, 0, 0, 1085, 0, 0, 0,
5069 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5070 0, 0, 1094, 0, 0, 0, 0, 0, 0, 0,
5071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5072 0, 1088, 0, 0, 0, 0, 0, 0, 0, 0,
5073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5074 0, 0, 1088, 0, 0, 0, 0, 0, 0, 0,
5075 0, 0, 0, 0, 0, 0, 1088, 0, 0, 0,
5076 0, 0, 0, 0, 0, 1093, 0, 0, 0, 0,
5077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5079 0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
5080 0, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
5081 1085, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
5082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5083 0, 1091, 0, 1090, 1085, 0, 0, 0, 0, 0,
5084 0, 1087, 0, 0, 0, 0, 0, 0, 0, 0,
5085 0, 0, 0, 0, 0, 0, 0, 0, 1088, 0,
5086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5087 0, 0, 0, 1085, 0, 0, 0, 0, 0, 1088,
5088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5089 0, 0, 0, 0, 0, 0, 0, 1094, 0, 0,
5090 0, 0, 0, 1093, 1088, 0, 0, 1093, 1093, 0,
5091 0, 0, 0, 1091, 0, 0, 1091, 0, 0, 0,
5092 0, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
5093 0, 1085, 1085, 0, 0, 0, 0, 0, 1088, 0,
5094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5096 0, 0, 0, 0, 0, 0, 0, 0, 0, 1093,
5097 0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
5098 0, 0, 0, 1093, 0, 0, 0, 0, 0, 0,
5099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5102 0, 0, 0, 0, 1093, 0, 1088, 0, 0, 0,
5103 0, 0, 0, 0, 1091, 0, 0, 0, 0, 1090,
5104 0, 0, 1090, 0, 1090, 0, 0, 1085, 0, 1090,
5105 0, 1091, 0, 0, 0, 0, 0, 0, 0, 0,
5106 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0,
5107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5109 0, 0, 0, 0, 0, 0, 0, 0, 1090, 1087,
5110 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5111 0, 0, 0, 0, 0, 0, 0, 1090, 0, 0,
5112 0, 0, 0, 1087, 0, 0, 1088, 0, 0, 0,
5113 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5114 0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
5115 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5116 0, 0, 1087, 0, 0, 0, 0, 0, 0, 0,
5117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5118 0, 0, 0, 0, 0, 2052, 0, 0, 0, 0,
5119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5121 0, 0, 1090, 0, 1090, 1087, 0, 0, 0, 0,
5122 1087, 1087, 0, 1093, 0, 0, 0, 0, 0, 0,
5123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5124 0, 0, 1085, 2052, 0, 0, 0, 0, 0, 0,
5125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5127 0, 0, 1091, 0, 0, 1091, 0, 1091, 0, 0,
5128 1088, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
5129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5130 0, 0, 0, 1090, 0, 1093, 0, 0, 1093, 0,
5131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5132 0, 0, 0, 0, 0, 0, 0, 0, 1088, 0,
5133 0, 1091, 1088, 0, 0, 0, 1087, 0, 0, 0,
5134 0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
5135 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5137 0, 1090, 0, 0, 0, 1091, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5142 0, 0, 0, 0, 0, 0, 1093, 0, 0, 0,
5143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5144 1090, 0, 0, 1093, 0, 1091, 0, 1091, 0, 0,
5145 0, 0, 0, 0, 0, 0, 0, 0, 1093, 0,
5146 1088, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
5147 1088, 0, 0, 0, 0, 1090, 0, 0, 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, 2052, 0, 0,
5151 0, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
5152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5153 0, 1087, 0, 0, 0, 0, 1091, 0, 0, 0,
5154 0, 0, 0, 0, 0, 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, 1091, 0, 1090, 0, 0,
5158 0, 0, 0, 0, 0, 1088, 0, 0, 0, 0,
5159 0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
5160 0, 0, 0, 0, 1091, 0, 0, 0, 0, 0,
5161 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5162 0, 0, 0, 1090, 1088, 0, 0, 0, 0, 0,
5163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5164 0, 0, 0, 0, 0, 1088, 0, 0, 0, 0,
5165 0, 0, 0, 0, 0, 0, 0, 1090, 0, 0,
5166 0, 0, 0, 0, 1093, 0, 0, 1093, 0, 1093,
5167 0, 0, 0, 1091, 1093, 0, 0, 0, 0, 0,
5168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5169 0, 0, 0, 0, 1091, 0, 0, 0, 0, 0,
5170 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0,
5171 1088, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5172 0, 0, 0, 1093, 0, 0, 0, 0, 0, 0,
5173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5174 0, 0, 1093, 0, 0, 1090, 0, 0, 0, 0,
5175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5176 0, 0, 0, 0, 0, 0, 0, 1093, 0, 0,
5177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5178 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5181 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5182 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5183 1088, 1091, 0, 0, 0, 0, 0, 1093, 0, 1093,
5184 0, 0, 0, 0, 0, 1090, 0, 0, 0, 0,
5185 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0,
5186 0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
5187 2052, 0, 0, 0, 0, 0, 1088, 0, 0, 0,
5188 0, 0, 0, 0, 2052, 0, 0, 0, 2760, 0,
5189 1091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5190 0, 0, 2052, 2052, 2052, 0, 2052, 0, 0, 0,
5191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5192 0, 0, 0, 0, 0, 0, 0, 0, 1093, 0,
5193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5194 0, 0, 0, 0, 0, 0, 0, 0, 2052, 0,
5195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5196 0, 0, 0, 0, 0, 0, 0, 1093, 0, 0,
5197 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0,
5198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5199 0, 0, 0, 0, 0, 0, 1093, 0, 0, 1090,
5200 0, 0, 0, 0, 0, 0, 2052, 0, 0, 0,
5201 1088, 0, 0, 0, 0, 0, 0, 0, 2052, 0,
5202 0, 0, 0, 2052, 0, 0, 0, 0, 0, 0,
5203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5204 0, 0, 0, 0, 0, 0, 0, 1090, 0, 0,
5205 0, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
5206 0, 0, 0, 0, 0, 1093, 0, 0, 0, 0,
5207 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0,
5208 0, 0, 0, 0, 0, 0, 1093, 0, 0, 0,
5209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5210 1093, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
5211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5213 0, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
5214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5215 0, 0, 0, 0, 0, 0, 0, 0, 1088, 0,
5216 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5217 0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
5218 0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
5219 0, 0, 0, 0, 0, 0, 0, 1088, 0, 0,
5220 0, 0, 1093, 0, 0, 0, 0, 0, 0, 0,
5221 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5222 0, 0, 0, 1093, 0, 0, 0, 0, 0, 0,
5223 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
5224 0, 0, 0, 0, 0, 0, 0, 0, 1093, 0,
5225 1088, 0, 0, 0, 0, 1088, 1088, 0, 0, 0,
5226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5228 1091, 0, 1093, 0, 1091, 0, 0, 0, 0, 0,
5229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5230 0, 0, 0, 0, 1090, 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, 0,
5233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5234 0, 0, 0, 1090, 0, 0, 0, 0, 0, 0,
5235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5236 0, 0, 0, 0, 1090, 0, 0, 0, 0, 0,
5237 1093, 1088, 0, 0, 0, 0, 0, 0, 0, 0,
5238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5241 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
5242 0, 0, 1091, 0, 0, 0, 0, 0, 0, 1090,
5243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5247 1093, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5249 0, 0, 0, 0, 1093, 0, 0, 0, 0, 0,
5250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5253 0, 0, 0, 0, 0, 0, 0, 1091, 0, 0,
5254 0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
5255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5256 0, 0, 0, 0, 0, 0, 1088, 0, 0, 0,
5257 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0,
5258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5259 0, 0, 0, 0, 0, 1090, 0, 1091, 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, 2052, 0, 0, 1093, 0, 0, 0, 0, 0,
5263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5264 0, 2052, 0, 2052, 0, 0, 2760, 2760, 0, 3497,
5265 0, 2760, 0, 0, 0, 2052, 0, 0, 2052, 0,
5266 0, 0, 1091, 2052, 0, 0, 0, 0, 0, 2052,
5267 0, 0, 1093, 0, 2052, 0, 1093, 0, 0, 0,
5268 0, 2052, 2052, 2052, 2052, 0, 0, 0, 2760, 2760,
5269 0, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
5270 0, 0, 0, 2052, 0, 2052, 0, 0, 0, 0,
5271 0, 0, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052,
5272 2052, 2052, 0, 0, 0, 0, 0, 0, 0, 1090,
5273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5275 0, 0, 0, 0, 0, 0, 0, 0, 2052, 0,
5276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5278 0, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
5279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5280 0, 0, 0, 0, 1093, 0, 0, 0, 0, 0,
5281 0, 0, 0, 0, 1093, 0, 0, 0, 0, 0,
5282 0, 0, 0, 0, 0, 0, 0, 0, 1091, 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, 1090, 0, 0, 0, 0, 0, 2052,
5286 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5287 0, 0, 0, 0, 0, 0, 0, 1090, 0, 0,
5288 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5291 0, 0, 0, 0, 0, 0, 1090, 0, 0, 0,
5292 0, 0, 0, 0, 0, 0, 0, 0, 0, 1093,
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, 0,
5296 0, 0, 1091, 0, 0, 0, 0, 0, 1093, 1090,
5297 0, 0, 0, 0, 1090, 1090, 0, 0, 0, 0,
5298 0, 0, 0, 0, 0, 0, 0, 0, 0, 1093,
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, 0, 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, 1093, 0, 0, 0, 0, 0,
5306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5308 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0,
5309 1090, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5310 0, 0, 0, 0, 0, 0, 2052, 2052, 0, 0,
5311 1091, 2052, 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 2052, 0, 0, 0, 0, 0, 0, 0, 0, 1091,
5315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5317 0, 0, 0, 0, 1093, 0, 0, 0, 0, 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, 1091, 0, 0, 0, 0, 1091, 1091, 0,
5321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5322 1093, 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, 1090, 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, 1091, 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, 2052, 0, 0,
5335 0, 0, 0, 2052, 1093, 0, 0, 0, 0, 0,
5336 0, 0, 0, 0, 0, 0, 0, 0, 0, 3497,
5337 3497, 0, 0, 2760, 2760, 2760, 2760, 0, 0, 2760,
5338 2760, 2760, 2760, 2760, 2760, 2760, 2760, 2760, 2760, 3497,
5339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5341 0, 2052, 0, 0, 2052, 0, 2052, 0, 0, 3497,
5342 3497, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5343 0, 0, 0, 0, 2052, 2760, 2760, 2052, 0, 2052,
5344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5345 0, 0, 0, 0, 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, 1093, 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, 1093, 0, 0, 0, 0, 0, 0, 0,
5351 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0,
5352 0, 0, 0, 0, 0, 0, 0, 0, 2052, 0,
5353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5354 0, 1093, 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, 0, 0, 0, 0, 0, 0, 0, 0,
5358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5359 0, 0, 0, 0, 1093, 0, 0, 0, 0, 1093,
5360 1093, 0, 0, 0, 0, 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 0, 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, 0, 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, 1093, 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, 2760, 0, 0, 0, 0, 0,
5375 0, 0, 0, 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, 0, 0, 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, 0, 0, 0, 0, 0, 0,
5383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5389 0, 0, 0, 0, 0, 0, 0, 0, 0, 2052,
5390 0, 0, 0, 2052, 2052, 2052, 0, 0, 0, 0,
5391 1093, 3497, 3497, 3497, 3497, 0, 0, 0, 0, 3497,
5392 3497, 3497, 3497, 3497, 3497, 3497, 3497, 3497, 3497, 2052,
5393 2052, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5395 0, 0, 0, 0, 0, 0, 2052, 0, 0, 2052,
5396 0, 2052, 0, 0, 0, 2052, 0, 0, 3497, 3497,
5397 0, 0, 2052, 2052, 0, 0, 0, 0, 0, 0,
5398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5401 0, 0, 0, 0, 0, 0, 0, 0, 0, 2052,
5402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5403 0, 0, 2052, 0, 0, 0, 0, 0, 0, 0,
5404 0, 0, 0, 0, 0, 2052, 0, 0, 0, 0,
5405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5423 0, 0, 0, 3497, 0, 0, 0, 0, 0, 0,
5424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5431 0, 0, 0, 0, 0, 0, 0, 0, 2052, 2052,
5432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5435 0, 0, 0, 0, 0, 0, 0, 0, 0, 2052,
5436 0, 0, 0, 0, 2052, 2760, 0, 0, 0, 0,
5437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5438 0, 0, 2052, 0, 2052, 0, 0, 0, 2052, 2052,
5439 2052, 0, 0, 2052, 0, 0, 2052, 2052, 0, 0,
5440 0, 2052, 0, 0, 0, 2052, 0, 0, 0, 0,
5441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5446 0, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
5447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5452 0, 0, 0, 0, 2052, 0, 0, 0, 0, 0,
5453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5456 0, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
5457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5464 0, 0, 0, 0, 0, 0, 0, 0, 0, 3497,
5465 2760, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5466 0, 0, 0, 0, 2052, 2052, 2052, 0, 0, 0,
5467 0, 0, 0, 0, 2760, 0, 0, 0, 0, 0,
5468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5470 0, 2052, 2052, 0, 0, 0, 0, 0, 0, 0,
5471 0, 0, 0, 2052, 0, 0, 0, 0, 0, 0,
5472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5487 0, 0, 0, 0, 0, 0, 3497, 0, 0, 0,
5488 0, 0, 0, 0, 0, 0, 0, 0, 0, 2760,
5489 0, 0, 3497, 0, 0, 0, 2052, 0, 0, 0,
5490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5494 0, 0, 0, 0, 0, 2052, 0, 0, 0, 0,
5495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5498 0, 0, 2052, 0, 0, 0, 0, 0, 0, 0,
5499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5505 0, 0, 0, 3497, 0, 2760, 0, 0, 0, 0,
5506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5508 0, 0, 0, 0, 0, 0, 2052, 0, 0, 0,
5509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5514 2052, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5516 0, 0, 0, 0, 0, 0, 0, 0, 2052, 0,
5517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5522 0, 0, 0, 0, 0, 0, 0, 0, 0, 2052,
5523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5526 0, 0, 0, 0, 2760, 2760, 0, 0, 0, 0,
5527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5531 0, 0, 0, 0, 0, 0, 3497, 3497, 0, 0,
5532 0, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
5533 0, 0, 0, 0, 226, 1211, 659, 1212, 1213, 1214,
5534 719, 1215, 0, 0, 0, 0, 0, 0, 2052, 227,
5535 228, 229, 230, 231, 232, 233, 234, 1610, 235, 236,
5536 237, 0, 0, 0, 0, 1216, 0, 0, 238, 239,
5537 0, 240, 241, 242, 243, 244, 245, 246, 247, 1217,
5538 249, 1218, 1219, 0, 252, 253, 254, 255, 256, 257,
5539 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263, 264,
5540 265, 266, 1224, 0, 1225, 0, 269, 270, 271, 272,
5541 273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
5542 282, 283, 0, 284, 285, 286, 287, 1226, 1227, 1228,
5543 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293, 294,
5544 1233, 1234, 297, 1235, 298, 0, 299, 300, 301, 302,
5545 303, 304, 0, 305, 306, 307, 308, 1611, 0, 309,
5546 310, 1066, 312, 313, 0, 314, 315, 316, 0, 317,
5547 318, 319, 0, 320, 321, 322, 323, 1236, 325, 326,
5548 327, 1237, 1238, 329, 0, 330, 331, 1239, 333, 0,
5549 334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
5550 0, 342, 1240, 0, 1241, 345, 346, 0, 347, 348,
5551 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
5552 358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
5553 367, 368, 369, 370, 1242, 1243, 0, 1244, 0, 374,
5554 375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
5555 0, 384, 1245, 386, 387, 388, 0, 389, 390, 391,
5556 1246, 1247, 392, 393, 394, 395, 396, 397, 398, 399,
5557 400, 401, 402, 403, 404, 405, 406, 407, 1248, 409,
5558 1249, 411, 412, 413, 414, 1250, 415, 416, 417, 418,
5559 1251, 1252, 420, 1253, 422, 423, 424, 0, 425, 426,
5560 0, 0, 1254, 428, 429, 0, 0, 430, 431, 432,
5561 433, 434, 435, 1255, 437, 438, 439, 440, 441, 442,
5562 443, 444, 445, 0, 446, 447, 1256, 449, 450, 451,
5563 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
5564 461, 462, 463, 1257, 465, 466, 467, 468, 0, 469,
5565 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
5566 480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
5567 1258, 490, 491, 492, 493, 494, 495, 496, 497, 498,
5568 0, 499, 500, 501, 502, 503, 1259, 504, 505, 506,
5569 507, 508, 509, 510, 511, 1260, 513, 0, 514, 515,
5570 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
5571 526, 1261, 528, 0, 529, 530, 0, 531, 532, 533,
5572 534, 535, 536, 537, 0, 538, 1262, 1263, 0, 0,
5573 541, 542, 1264, 544, 1265, 1266, 546, 547, 548, 549,
5574 550, 551, 552, 0, 1267, 553, 554, 555, 556, 557,
5575 1268, 0, 558, 559, 560, 561, 562, 563, 1269, 1612,
5576 565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
5577 0, 572, 573, 574, 575, 576, 577, 578, 1270, 1271,
5578 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590,
5579 591, 1278, 0, 0, 0, 0, 0, 0, 1279, 1280,
5580 1613, 0, 0, 0, 0, 0, 0, 1282, 1614, 226,
5581 1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
5582 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
5583 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
5584 1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
5585 244, 245, 246, 247, 1217, 249, 1218, 1219, 0, 252,
5586 253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
5587 1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
5588 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
5589 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
5590 286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
5591 290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
5592 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
5593 307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
5594 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
5595 322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
5596 330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
5597 337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
5598 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
5599 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
5600 363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
5601 1243, 0, 1244, 0, 374, 375, 376, 377, 378, 379,
5602 380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
5603 388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
5604 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
5605 405, 406, 407, 1248, 409, 1249, 411, 412, 413, 414,
5606 1250, 415, 416, 417, 418, 1251, 1252, 420, 1253, 422,
5607 423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
5608 0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
5609 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
5610 447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
5611 456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
5612 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
5613 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
5614 484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
5615 494, 495, 496, 497, 498, 40, 499, 500, 501, 502,
5616 503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
5617 1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
5618 521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
5619 530, 44, 531, 532, 533, 534, 535, 536, 537, 0,
5620 538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
5621 1266, 546, 547, 548, 549, 550, 551, 552, 0, 1267,
5622 553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
5623 561, 562, 1145, 1269, 0, 565, 566, 567, 568, 569,
5624 570, 0, 0, 571, 0, 49, 572, 573, 574, 575,
5625 576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
5626 1276, 1277, 588, 589, 590, 591, 1278, 0, 50, 0,
5627 0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
5628 0, 0, 1282, 5016, 226, 1211, 659, 1212, 1213, 1214,
5629 719, 1215, 0, 0, 0, 0, 0, 0, 0, 227,
5630 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
5631 237, 0, 0, 0, 0, 1216, 0, 0, 238, 239,
5632 0, 240, 241, 242, 243, 244, 245, 246, 247, 1217,
5633 249, 1218, 1219, 0, 252, 253, 254, 255, 256, 257,
5634 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263, 264,
5635 265, 266, 1224, 0, 1225, 0, 269, 270, 271, 272,
5636 273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
5637 282, 283, 0, 284, 285, 286, 287, 1226, 1227, 1228,
5638 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293, 294,
5639 1233, 1234, 297, 1235, 298, 0, 299, 300, 301, 302,
5640 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
5641 310, 1066, 312, 313, 0, 314, 315, 316, 0, 317,
5642 318, 319, 0, 320, 321, 322, 323, 1236, 325, 326,
5643 327, 1237, 1238, 329, 0, 330, 331, 1239, 333, 0,
5644 334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
5645 0, 342, 1240, 0, 1241, 345, 346, 0, 347, 348,
5646 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
5647 358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
5648 367, 368, 369, 370, 1242, 1243, 0, 1244, 0, 374,
5649 375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
5650 0, 384, 1245, 386, 387, 388, 0, 389, 390, 391,
5651 1246, 1247, 392, 393, 394, 395, 396, 397, 398, 399,
5652 400, 401, 402, 403, 404, 405, 406, 407, 1248, 409,
5653 1249, 411, 412, 413, 414, 1250, 415, 416, 417, 418,
5654 1251, 1252, 420, 1253, 422, 423, 424, 0, 425, 426,
5655 0, 0, 1254, 428, 429, 0, 0, 430, 431, 432,
5656 433, 434, 435, 1255, 437, 438, 439, 440, 441, 442,
5657 443, 444, 445, 0, 446, 447, 1256, 449, 450, 451,
5658 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
5659 461, 462, 463, 1257, 465, 466, 467, 468, 0, 469,
5660 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
5661 480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
5662 1258, 490, 491, 492, 493, 494, 495, 496, 497, 498,
5663 0, 499, 500, 501, 502, 503, 1259, 504, 505, 506,
5664 507, 508, 509, 510, 511, 1260, 513, 0, 514, 515,
5665 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
5666 526, 1261, 528, 0, 529, 530, 0, 531, 532, 533,
5667 534, 535, 536, 537, 0, 538, 1262, 1263, 0, 0,
5668 541, 542, 1264, 544, 1265, 1266, 546, 547, 548, 549,
5669 550, 551, 552, 0, 1267, 553, 554, 555, 556, 557,
5670 1268, 0, 558, 559, 560, 561, 562, 563, 1269, 0,
5671 565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
5672 0, 572, 573, 574, 575, 576, 577, 578, 1270, 1271,
5673 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590,
5674 591, 1278, 0, 0, 0, 0, 0, 0, 1279, 1280,
5675 0, 0, 0, 0, 0, 0, 0, 1282, 2762, 226,
5676 1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
5677 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
5678 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
5679 1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
5680 244, 245, 246, 247, 1217, 249, 1218, 1219, 0, 252,
5681 253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
5682 1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
5683 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
5684 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
5685 286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
5686 290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
5687 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
5688 307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
5689 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
5690 322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
5691 330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
5692 337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
5693 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
5694 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
5695 363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
5696 1243, 0, 1244, 0, 374, 375, 376, 377, 378, 379,
5697 380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
5698 388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
5699 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
5700 405, 406, 407, 1248, 409, 1249, 411, 412, 413, 414,
5701 1250, 415, 416, 417, 418, 1251, 1252, 420, 1253, 422,
5702 423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
5703 0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
5704 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
5705 447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
5706 456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
5707 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
5708 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
5709 484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
5710 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
5711 503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
5712 1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
5713 521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
5714 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
5715 538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
5716 1266, 546, 547, 548, 549, 550, 551, 552, 0, 1267,
5717 553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
5718 561, 562, 563, 1269, 0, 565, 566, 567, 568, 569,
5719 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
5720 576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
5721 1276, 1277, 588, 589, 590, 591, 1278, 0, 0, 0,
5722 0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
5723 0, 0, 1282, 4016, 226, 1211, 659, 1212, 1213, 1214,
5724 719, 1215, 0, 0, 0, 0, 0, 0, 0, 227,
5725 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
5726 237, 0, 0, 0, 0, 1216, 0, 0, 238, 239,
5727 0, 240, 241, 242, 243, 244, 245, 246, 247, 1217,
5728 249, 1218, 1219, 0, 252, 253, 254, 255, 256, 257,
5729 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263, 264,
5730 265, 266, 1224, 0, 1225, 0, 269, 270, 271, 272,
5731 273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
5732 282, 283, 0, 284, 285, 286, 287, 1226, 1227, 1228,
5733 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293, 294,
5734 1233, 1234, 297, 1235, 298, 0, 299, 300, 301, 302,
5735 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
5736 310, 1066, 312, 313, 0, 314, 315, 316, 0, 317,
5737 318, 319, 0, 320, 321, 322, 323, 1236, 325, 326,
5738 327, 1237, 1238, 329, 0, 330, 331, 1239, 333, 0,
5739 334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
5740 0, 342, 1240, 0, 1241, 345, 346, 0, 347, 348,
5741 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
5742 358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
5743 367, 368, 369, 370, 1242, 1243, 0, 1244, 0, 374,
5744 375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
5745 0, 384, 1245, 386, 387, 388, 0, 389, 390, 391,
5746 1246, 1247, 392, 393, 394, 395, 396, 397, 398, 399,
5747 400, 401, 402, 403, 404, 405, 406, 407, 1248, 409,
5748 1249, 411, 412, 413, 414, 1250, 415, 416, 417, 418,
5749 1251, 1252, 420, 1253, 422, 423, 424, 0, 425, 426,
5750 0, 0, 1254, 428, 429, 0, 0, 430, 431, 432,
5751 433, 434, 435, 1255, 437, 438, 439, 440, 441, 442,
5752 443, 444, 445, 0, 446, 447, 1256, 449, 450, 451,
5753 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
5754 461, 462, 463, 1257, 465, 466, 467, 468, 0, 469,
5755 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
5756 480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
5757 1258, 490, 491, 492, 493, 494, 495, 496, 497, 498,
5758 0, 499, 500, 501, 502, 503, 1259, 504, 505, 506,
5759 507, 508, 509, 510, 511, 1260, 513, 0, 514, 515,
5760 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
5761 526, 1261, 528, 0, 529, 530, 0, 531, 532, 533,
5762 534, 535, 536, 537, 0, 538, 1262, 1263, 0, 0,
5763 541, 542, 1264, 544, 1265, 1266, 546, 547, 548, 549,
5764 550, 551, 552, 0, 1267, 553, 554, 555, 556, 557,
5765 1268, 0, 558, 559, 560, 561, 562, 563, 1269, 0,
5766 565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
5767 0, 572, 573, 574, 575, 576, 577, 578, 1270, 1271,
5768 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590,
5769 591, 1278, 0, 0, 599, 0, 0, 0, 1279, 1280,
5770 0, 0, 0, 0, 0, 0, 0, 1282, 4088, 227,
5771 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
5772 237, 0, 0, 0, 0, 0, 4106, 0, 238, 239,
5773 0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
5774 0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
5775 0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
5776 265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
5777 273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
5778 282, 283, 0, -1771, 285, 286, 287, 0, 0, 0,
5779 0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
5780 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
5781 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
5782 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
5783 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
5784 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
5785 334, 0, 335, 0, 0, -1771, 338, 339, 340, 341,
5786 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
5787 349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
5788 358, 359, 360, 361, 362, 363, 0, 364, -1771, 366,
5789 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
5790 0, 0, 377, -1771, 379, 380, 381, 382, 383, 0,
5791 0, 384, 385, -1771, 387, 0, 0, 389, 390, 391,
5792 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
5793 400, 401, 402, 403, 404, 405, 406, 407, 408, -1771,
5794 410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
5795 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
5796 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
5797 0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
5798 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
5799 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
5800 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
5801 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
5802 480, 0, 481, 482, -1771, 484, 485, 486, 487, 488,
5803 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
5804 0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
5805 507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
5806 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
5807 526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
5808 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
5809 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
5810 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
5811 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
5812 565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
5813 0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
5814 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
5815 591, 0, 0, 0, 1058, 0, 0, 0, 0, 0,
5816 0, 0, 0, 0, 0, 0, 0, 0, 1358, 227,
5817 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
5818 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
5819 0, 240, 241, 242, 243, 244, 245, 246, 0, 1059,
5820 249, 1060, 1061, 0, 252, 253, 254, 255, 256, 257,
5821 0, 0, 258, 259, 1062, 1063, 262, 0, 263, 264,
5822 265, 266, 0, 0, 268, 0, 269, 270, 271, 272,
5823 273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
5824 282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
5825 288, 0, 0, 0, 289, 290, 291, 292, 293, 294,
5826 1064, 1065, 297, 0, 298, 0, 299, 300, 301, 302,
5827 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
5828 310, 1066, 312, 313, 0, 314, 315, 316, 0, 317,
5829 318, 319, 0, 320, 321, 322, 323, 0, 325, 326,
5830 327, 0, 0, 329, 0, 330, 331, 1067, 333, 0,
5831 334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
5832 0, 342, 0, 0, 0, 345, 346, 0, 347, 348,
5833 349, 350, 351, 352, 353, 354, 355, 356, 2157, 357,
5834 358, 359, 360, 361, 362, 363, 0, 364, 365, 2158,
5835 367, 368, 369, 370, 1069, 1070, 0, 1071, 0, 374,
5836 375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
5837 0, 384, 0, 386, 387, 388, 0, 389, 390, 391,
5838 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
5839 400, 401, 402, 403, 404, 405, 406, 407, 1072, 409,
5840 1073, 411, 412, 413, 0, 0, 415, 416, 417, 418,
5841 0, 0, 420, 1074, 422, 423, 424, 0, 425, 426,
5842 0, 0, 427, 428, 429, 0, 0, 430, 431, 2160,
5843 433, 434, 435, 0, 437, 438, 439, 440, 441, 442,
5844 443, 444, 445, 0, 446, 447, 0, 449, 0, 451,
5845 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
5846 461, 462, 463, 1075, 465, 466, 467, 468, 0, 469,
5847 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
5848 480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
5849 0, 490, 491, 492, 493, 494, 495, 496, 497, 498,
5850 0, 499, 500, 501, 502, 503, 0, 504, 505, 2161,
5851 507, 508, 509, 510, 511, 1077, 513, 0, 514, 515,
5852 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
5853 526, 0, 528, 0, 529, 530, 0, 531, 532, 533,
5854 534, 535, 536, 537, 0, 538, 1078, 1079, 0, 0,
5855 541, 542, 0, 544, 0, 0, 546, 547, 548, 549,
5856 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
5857 0, 0, 558, 559, 560, 561, 562, 0, 1080, 2162,
5858 565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
5859 0, 572, 573, 574, 575, 576, 577, 1058, 0, 0,
5860 0, 0, 0, 0, 0, 0, 0, 0, 589, 590,
5861 591, 0, 227, 228, 229, 230, 231, 232, 233, 234,
5862 0, 235, 236, 237, 0, 0, 0, 0, 2270, 0,
5863 0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
5864 246, 0, 1059, 249, 1060, 1061, 0, 252, 253, 254,
5865 255, 256, 257, 0, 0, 258, 259, 1062, 1063, 262,
5866 0, 263, 264, 265, 266, 0, 0, 268, 0, 269,
5867 270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
5868 279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
5869 0, 0, 0, 288, 0, 0, 0, 289, 290, 291,
5870 292, 293, 294, 1064, 1065, 297, 0, 298, 0, 299,
5871 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
5872 0, 0, 309, 310, 1066, 312, 313, 0, 314, 315,
5873 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
5874 0, 325, 326, 327, 0, 0, 329, 0, 330, 331,
5875 1067, 333, 0, 334, 0, 335, 336, 0, 337, 338,
5876 339, 340, 341, 0, 342, 0, 0, 0, 345, 346,
5877 0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
5878 356, 2157, 357, 358, 359, 360, 361, 362, 363, 0,
5879 364, 365, 2158, 367, 368, 369, 370, 1069, 1070, 0,
5880 1071, 0, 374, 375, 376, 377, 378, 379, 380, 381,
5881 382, 383, 0, 0, 384, 0, 386, 387, 388, 0,
5882 389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
5883 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
5884 407, 1072, 409, 1073, 411, 412, 413, 0, 0, 415,
5885 416, 417, 418, 0, 0, 420, 1074, 422, 423, 424,
5886 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
5887 430, 431, 2160, 433, 434, 435, 0, 437, 438, 439,
5888 440, 441, 442, 443, 444, 445, 0, 446, 447, 0,
5889 449, 0, 451, 452, 453, 0, 454, 455, 456, 457,
5890 458, 459, 460, 461, 462, 463, 1075, 465, 466, 467,
5891 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
5892 477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
5893 486, 487, 488, 0, 490, 491, 492, 493, 494, 495,
5894 496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
5895 504, 505, 2161, 507, 508, 509, 510, 511, 1077, 513,
5896 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
5897 523, 524, 525, 526, 0, 528, 0, 529, 530, 0,
5898 531, 532, 533, 534, 535, 536, 537, 0, 538, 1078,
5899 1079, 0, 0, 541, 542, 0, 544, 0, 0, 546,
5900 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
5901 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
5902 0, 1080, 2162, 565, 566, 567, 568, 569, 570, 0,
5903 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
5904 0, 226, 1211, 659, 1212, 1213, 1214, 719, 1215, 0,
5905 0, 589, 590, 591, 0, 0, 227, 228, 229, 230,
5906 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
5907 0, 3338, 1216, 0, 0, 238, 239, 0, 240, 241,
5908 242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
5909 0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
5910 259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
5911 0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
5912 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
5913 284, 285, 286, 287, 1226, 1227, 1228, 1229, 1230, 1231,
5914 1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
5915 1235, 298, 0, 299, 300, 301, 302, 303, 304, 0,
5916 305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
5917 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
5918 320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
5919 329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
5920 336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
5921 0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
5922 352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
5923 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
5924 370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
5925 378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
5926 386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
5927 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
5928 403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
5929 413, 414, 1250, 415, 416, 417, 418, 1251, 1252, 420,
5930 1253, 422, 423, 424, 0, 425, 426, 0, 0, 1254,
5931 428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
5932 1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
5933 0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
5934 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
5935 1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
5936 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
5937 482, 483, 484, 485, 486, 487, 488, 1258, 490, 491,
5938 492, 493, 494, 495, 496, 497, 498, 40, 499, 500,
5939 501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
5940 510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
5941 519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
5942 0, 529, 530, 44, 531, 532, 533, 534, 535, 536,
5943 537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
5944 544, 1265, 1266, 546, 547, 548, 549, 550, 551, 552,
5945 0, 1267, 553, 554, 555, 556, 557, 1268, 0, 558,
5946 559, 560, 561, 562, 1145, 1269, 0, 565, 566, 567,
5947 568, 569, 570, 0, 0, 571, 0, 49, 572, 573,
5948 574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583,
5949 1274, 1275, 1276, 1277, 588, 589, 590, 591, 1278, 0,
5950 50, 0, 0, 0, 0, 1279, 1280, 0, 0, 0,
5951 0, 0, 0, 0, 1282, 226, 1211, 659, 1212, 1213,
5952 1214, 719, 1215, 0, 0, 0, 0, 0, 0, 0,
5953 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
5954 236, 237, 0, 0, 0, 0, 1216, 0, 0, 238,
5955 239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
5956 1217, 249, 1218, 1219, 2768, 252, 253, 254, 255, 256,
5957 257, 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263,
5958 264, 265, 266, 1224, 0, 1225, 0, 269, 270, 271,
5959 272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
5960 281, 282, 283, 0, 284, 285, 286, 287, 1226, 1227,
5961 1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293,
5962 294, 1233, 1234, 297, 1235, 298, 0, 299, 300, 301,
5963 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
5964 309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
5965 317, 318, 319, 0, 320, 321, 322, 323, 1236, 325,
5966 326, 327, 1237, 1238, 329, 0, 330, 331, 1239, 333,
5967 0, 334, 0, 335, 336, 2769, 337, 338, 339, 340,
5968 341, 0, 342, 1240, 0, 1241, 345, 346, 0, 347,
5969 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
5970 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
5971 366, 367, 368, 369, 370, 1242, 1243, 0, 1244, 0,
5972 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
5973 0, 2770, 384, 1245, 386, 387, 388, 0, 389, 390,
5974 391, 1246, 1247, 392, 393, 394, 395, 396, 397, 398,
5975 399, 400, 401, 402, 403, 404, 405, 406, 407, 1248,
5976 409, 1249, 411, 412, 413, 414, 1250, 415, 416, 417,
5977 418, 1251, 1252, 420, 1253, 422, 423, 424, 0, 425,
5978 426, 0, 0, 1254, 428, 429, 0, 0, 430, 431,
5979 432, 433, 434, 435, 1255, 437, 438, 439, 440, 441,
5980 442, 443, 444, 445, 0, 446, 447, 1256, 449, 450,
5981 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
5982 460, 461, 462, 463, 1257, 465, 466, 467, 468, 0,
5983 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
5984 479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
5985 488, 1258, 490, 491, 492, 493, 494, 495, 496, 497,
5986 498, 0, 499, 500, 501, 502, 503, 1259, 504, 505,
5987 506, 507, 508, 509, 510, 511, 1260, 513, 0, 514,
5988 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
5989 525, 526, 1261, 528, 0, 529, 530, 0, 531, 532,
5990 533, 534, 535, 536, 537, 0, 538, 1262, 1263, 0,
5991 2771, 541, 542, 1264, 544, 1265, 1266, 546, 547, 548,
5992 549, 550, 551, 552, 0, 1267, 553, 554, 555, 556,
5993 557, 1268, 0, 558, 559, 560, 561, 562, 563, 1269,
5994 0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
5995 0, 0, 572, 573, 574, 575, 576, 577, 578, 1270,
5996 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589,
5997 590, 591, 1278, 0, 0, 0, 0, 0, 0, 1279,
5998 1280, 0, 0, 0, 0, 0, 0, 0, 1282, 226,
5999 1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
6000 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
6001 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
6002 1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
6003 244, 245, 246, 247, 1217, 249, 1218, 1219, 0, 252,
6004 253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
6005 1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
6006 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
6007 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
6008 286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
6009 290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
6010 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
6011 307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
6012 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
6013 322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
6014 330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
6015 337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
6016 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
6017 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
6018 363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
6019 1243, 0, 1244, 0, 374, 375, 376, 377, 378, 379,
6020 380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
6021 388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
6022 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
6023 405, 406, 407, 1248, 409, 1249, 411, 412, 413, 414,
6024 1250, 415, 416, 417, 418, 1251, 1252, 420, 1253, 422,
6025 423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
6026 0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
6027 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
6028 447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
6029 456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
6030 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
6031 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
6032 484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
6033 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
6034 503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
6035 1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
6036 521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
6037 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
6038 538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
6039 1266, 546, 547, 548, 549, 550, 551, 552, 0, 1267,
6040 553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
6041 561, 562, 563, 1269, 0, 565, 566, 567, 568, 569,
6042 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
6043 576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
6044 1276, 1277, 588, 589, 590, 591, 1278, 0, 0, 0,
6045 0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
6046 1976, 2723, 1282, 226, 1211, 659, 1212, 1213, 1214, 719,
6047 1215, 0, 0, 0, 0, 0, 0, 0, 227, 228,
6048 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
6049 0, 0, 0, 0, 1216, 0, 0, 238, 239, 0,
6050 240, 241, 242, 243, 244, 245, 246, 247, 1217, 249,
6051 1218, 1219, 0, 252, 253, 254, 255, 256, 257, 1220,
6052 1221, 258, 259, 1222, 1223, 262, 0, 263, 264, 265,
6053 266, 1224, 0, 1225, 0, 269, 270, 271, 272, 273,
6054 274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
6055 283, 0, 284, 285, 286, 287, 1226, 1227, 1228, 1229,
6056 1230, 1231, 1232, 289, 290, 291, 292, 293, 294, 1233,
6057 1234, 297, 1235, 298, 0, 299, 300, 301, 302, 303,
6058 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
6059 1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
6060 319, 0, 320, 321, 322, 323, 1236, 325, 326, 327,
6061 1237, 1238, 329, 0, 330, 331, 1239, 333, 0, 334,
6062 0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
6063 342, 1240, 0, 1241, 345, 346, 0, 347, 348, 349,
6064 350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
6065 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
6066 368, 369, 370, 1242, 1243, 0, 1244, 0, 374, 375,
6067 376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
6068 384, 1245, 386, 387, 388, 0, 389, 390, 391, 1246,
6069 1247, 392, 393, 394, 395, 396, 397, 398, 399, 400,
6070 401, 402, 403, 404, 405, 406, 407, 1248, 409, 1249,
6071 411, 412, 413, 414, 1250, 415, 416, 417, 418, 1251,
6072 1252, 420, 1253, 422, 423, 424, 0, 425, 426, 0,
6073 0, 1254, 428, 429, 0, 0, 430, 431, 432, 433,
6074 434, 435, 1255, 437, 438, 439, 440, 441, 442, 443,
6075 444, 445, 0, 446, 447, 1256, 449, 450, 451, 452,
6076 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
6077 462, 463, 1257, 465, 466, 467, 468, 0, 469, 470,
6078 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
6079 0, 481, 482, 483, 484, 485, 486, 487, 488, 1258,
6080 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
6081 499, 500, 501, 502, 503, 1259, 504, 505, 506, 507,
6082 508, 509, 510, 511, 1260, 513, 0, 514, 515, 516,
6083 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
6084 1261, 528, 0, 529, 530, 0, 531, 532, 533, 534,
6085 535, 536, 537, 0, 538, 1262, 1263, 0, 0, 541,
6086 542, 1264, 544, 1265, 1266, 546, 547, 548, 549, 550,
6087 551, 552, 0, 1267, 553, 554, 555, 556, 557, 1268,
6088 0, 558, 559, 560, 561, 562, 563, 1269, 0, 565,
6089 566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
6090 572, 573, 574, 575, 576, 577, 578, 1270, 1271, 1272,
6091 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591,
6092 1278, 0, 0, 0, 0, 0, 0, 1279, 1280, 1281,
6093 0, 0, 0, 0, 0, 0, 1282, 226, 1211, 659,
6094 1212, 1213, 1214, 719, 1215, 0, 0, 0, 0, 0,
6095 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
6096 2125, 235, 236, 237, 0, 0, 0, 0, 1216, 0,
6097 0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
6098 246, 247, 1217, 249, 1218, 1219, 0, 252, 253, 254,
6099 255, 256, 257, 1220, 1221, 258, 259, 1222, 1223, 262,
6100 0, 263, 264, 265, 266, 1224, 0, 1225, 0, 269,
6101 270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
6102 279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
6103 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290, 291,
6104 292, 293, 294, 1233, 1234, 297, 1235, 298, 0, 299,
6105 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
6106 0, 0, 309, 310, 1066, 312, 313, 0, 314, 315,
6107 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
6108 1236, 325, 326, 327, 1237, 1238, 329, 0, 330, 331,
6109 1239, 333, 0, 334, 0, 335, 336, 0, 337, 338,
6110 339, 340, 341, 0, 342, 1240, 0, 1241, 345, 346,
6111 0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
6112 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
6113 364, 365, 366, 367, 368, 369, 370, 1242, 1243, 0,
6114 1244, 0, 374, 375, 376, 377, 378, 379, 380, 381,
6115 382, 383, 0, 0, 384, 1245, 386, 387, 388, 0,
6116 389, 390, 391, 1246, 1247, 392, 393, 394, 395, 396,
6117 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
6118 407, 1248, 409, 1249, 411, 412, 413, 414, 1250, 415,
6119 416, 417, 418, 1251, 1252, 420, 1253, 422, 423, 424,
6120 0, 425, 426, 0, 0, 1254, 428, 429, 0, 0,
6121 430, 431, 432, 433, 434, 435, 1255, 437, 438, 439,
6122 440, 441, 442, 443, 444, 445, 0, 446, 447, 1256,
6123 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
6124 458, 459, 460, 461, 462, 463, 1257, 465, 466, 467,
6125 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
6126 477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
6127 486, 487, 488, 1258, 490, 491, 492, 493, 494, 495,
6128 496, 497, 498, 0, 499, 500, 501, 502, 503, 1259,
6129 504, 505, 506, 507, 508, 509, 510, 511, 1260, 513,
6130 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
6131 523, 524, 525, 526, 1261, 528, 0, 529, 530, 0,
6132 531, 532, 533, 534, 535, 536, 537, 0, 538, 1262,
6133 1263, 0, 0, 541, 542, 1264, 544, 1265, 1266, 546,
6134 547, 548, 549, 550, 551, 552, 0, 1267, 553, 554,
6135 555, 556, 557, 1268, 0, 558, 559, 560, 561, 562,
6136 563, 1269, 0, 565, 566, 567, 568, 569, 570, 0,
6137 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
6138 578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277,
6139 588, 589, 590, 591, 1278, 0, 0, 0, 0, 0,
6140 0, 1279, 1280, 0, 0, 0, 0, 0, 0, 0,
6141 1282, 226, 1211, 659, 1212, 1213, 1214, 719, 1215, 0,
6142 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
6143 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
6144 0, 0, 1216, 0, 0, 238, 239, 0, 240, 241,
6145 242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
6146 0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
6147 259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
6148 0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
6149 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
6150 284, 285, 286, 287, 1226, 1227, 1228, 1229, 1230, 1231,
6151 1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
6152 1235, 298, 0, 299, 300, 301, 302, 303, 304, 0,
6153 305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
6154 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
6155 320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
6156 329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
6157 336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
6158 0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
6159 352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
6160 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
6161 370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
6162 378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
6163 386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
6164 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
6165 403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
6166 413, 414, 1250, 415, 416, 417, 418, 1251, 1252, 420,
6167 1253, 422, 423, 424, 0, 425, 426, 0, 0, 1254,
6168 428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
6169 1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
6170 0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
6171 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
6172 1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
6173 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
6174 482, 483, 484, 485, 486, 487, 488, 1258, 490, 491,
6175 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
6176 501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
6177 510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
6178 519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
6179 0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
6180 537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
6181 544, 1265, 1266, 546, 547, 548, 549, 550, 551, 552,
6182 0, 1267, 553, 554, 555, 556, 557, 1268, 0, 558,
6183 559, 560, 561, 562, 563, 1269, 3217, 565, 566, 567,
6184 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
6185 574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583,
6186 1274, 1275, 1276, 1277, 588, 589, 590, 591, 1278, 0,
6187 0, 0, 0, 0, 0, 1279, 1280, 0, 0, 0,
6188 0, 0, 0, 0, 1282, 226, 1211, 659, 1212, 1213,
6189 1214, 719, 1215, 0, 0, 0, 0, 0, 0, 0,
6190 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
6191 236, 237, 0, 0, 0, 0, 1216, 0, 0, 238,
6192 239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
6193 1217, 249, 1218, 1219, 0, 252, 253, 254, 255, 256,
6194 257, 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263,
6195 264, 265, 266, 1224, 0, 1225, 0, 269, 270, 271,
6196 272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
6197 281, 282, 283, 0, 284, 285, 286, 287, 1226, 1227,
6198 1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293,
6199 294, 1233, 1234, 297, 1235, 298, 0, 299, 300, 301,
6200 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
6201 309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
6202 317, 318, 319, 0, 320, 321, 322, 323, 1236, 325,
6203 326, 327, 1237, 1238, 329, 0, 330, 331, 1239, 333,
6204 0, 334, 0, 335, 336, 2769, 337, 338, 339, 340,
6205 341, 0, 342, 1240, 0, 1241, 345, 346, 0, 347,
6206 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
6207 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
6208 366, 367, 368, 369, 370, 1242, 1243, 0, 1244, 0,
6209 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
6210 0, 0, 384, 1245, 386, 387, 388, 0, 389, 390,
6211 391, 1246, 1247, 392, 393, 394, 395, 396, 397, 398,
6212 399, 400, 401, 402, 403, 404, 405, 406, 407, 1248,
6213 409, 1249, 411, 412, 413, 414, 1250, 415, 416, 417,
6214 418, 1251, 1252, 420, 1253, 422, 423, 424, 0, 425,
6215 426, 0, 0, 1254, 428, 429, 0, 0, 430, 431,
6216 432, 433, 434, 435, 1255, 437, 438, 439, 440, 441,
6217 442, 443, 444, 445, 0, 446, 447, 1256, 449, 450,
6218 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
6219 460, 461, 462, 463, 1257, 465, 466, 467, 468, 0,
6220 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
6221 479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
6222 488, 1258, 490, 491, 492, 493, 494, 495, 496, 497,
6223 498, 0, 499, 500, 501, 502, 503, 1259, 504, 505,
6224 506, 507, 508, 509, 510, 511, 1260, 513, 0, 514,
6225 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
6226 525, 526, 1261, 528, 0, 529, 530, 0, 531, 532,
6227 533, 534, 535, 536, 537, 0, 538, 1262, 1263, 0,
6228 0, 541, 542, 1264, 544, 1265, 1266, 546, 547, 548,
6229 549, 550, 551, 552, 0, 1267, 553, 554, 555, 556,
6230 557, 1268, 0, 558, 559, 560, 561, 562, 563, 1269,
6231 0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
6232 0, 0, 572, 573, 574, 575, 576, 577, 578, 1270,
6233 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589,
6234 590, 591, 1278, 0, 0, 0, 0, 0, 0, 1279,
6235 1280, 0, 0, 0, 0, 0, 0, 0, 1282, 226,
6236 1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
6237 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
6238 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
6239 1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
6240 244, 245, 246, 247, 1217, 249, 1218, 1219, 0, 252,
6241 253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
6242 1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
6243 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
6244 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
6245 286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
6246 290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
6247 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
6248 307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
6249 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
6250 322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
6251 330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
6252 337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
6253 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
6254 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
6255 363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
6256 1243, 0, 1244, 0, 374, 375, 376, 377, 378, 379,
6257 380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
6258 388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
6259 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
6260 405, 406, 407, 1248, 409, 1249, 411, 412, 413, 414,
6261 1250, 415, 416, 417, 418, 1251, 1252, 420, 1253, 422,
6262 423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
6263 0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
6264 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
6265 447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
6266 456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
6267 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
6268 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
6269 484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
6270 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
6271 503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
6272 1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
6273 521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
6274 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
6275 538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
6276 1266, 546, 547, 548, 549, 550, 551, 552, 0, 1267,
6277 553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
6278 561, 562, 563, 1269, 0, 565, 566, 567, 568, 569,
6279 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
6280 576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
6281 1276, 1277, 588, 589, 590, 591, 1278, 0, 0, 0,
6282 0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
6283 0, 0, 1282, 226, 1211, 659, 1212, 1213, 1214, 719,
6284 1215, 0, 0, 0, 0, 0, 0, 0, 227, 228,
6285 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
6286 0, 0, 0, 0, 1216, 0, 0, 238, 239, 0,
6287 240, 241, 242, 243, 244, 245, 246, 247, 1217, 249,
6288 1218, 1219, 0, 252, 253, 254, 255, 256, 257, 1220,
6289 1221, 258, 259, 1222, 1223, 262, 0, 263, 264, 265,
6290 266, 1224, 0, 1225, 0, 269, 270, 271, 272, 273,
6291 274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
6292 283, 0, 284, 285, 286, 287, 1226, 1227, 1228, 1229,
6293 1230, 1231, 1232, 289, 290, 291, 292, 293, 294, 1233,
6294 1234, 297, 1235, 298, 0, 299, 300, 301, 302, 303,
6295 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
6296 1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
6297 319, 0, 320, 321, 322, 323, 1236, 325, 326, 327,
6298 1237, 1238, 329, 0, 330, 331, 1239, 333, 0, 334,
6299 0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
6300 342, 1240, 0, 1241, 345, 346, 0, 347, 348, 349,
6301 350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
6302 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
6303 368, 369, 370, 1242, 1243, 0, 1244, 0, 374, 375,
6304 376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
6305 384, 1245, 386, 387, 388, 0, 389, 390, 391, 1246,
6306 1247, 392, 393, 394, 395, 396, 397, 398, 399, 400,
6307 401, 402, 403, 404, 405, 406, 407, 1248, 409, 1249,
6308 411, 412, 413, 414, 1250, 415, 416, 417, 418, 1251,
6309 1252, 420, 1253, 422, 423, 424, 0, 425, 426, 0,
6310 0, 1254, 428, 429, 0, 0, 430, 431, 432, 433,
6311 434, 435, 1255, 437, 438, 439, 440, 441, 442, 443,
6312 444, 445, 0, 446, 447, 1256, 449, 450, 451, 452,
6313 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
6314 462, 463, 1257, 465, 466, 467, 468, 0, 469, 470,
6315 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
6316 0, 481, 482, 483, 484, 485, 486, 487, 488, 1258,
6317 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
6318 499, 500, 501, 502, 503, 1259, 504, 505, 506, 507,
6319 508, 509, 510, 511, 1260, 513, 0, 514, 515, 516,
6320 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
6321 1261, 528, 0, 529, 530, 0, 531, 532, 533, 534,
6322 535, 536, 537, 0, 538, 1262, 1263, 0, 0, 541,
6323 542, 1264, 544, 1265, 1266, 546, 547, 548, 549, 550,
6324 551, 552, 0, 1267, 553, 554, 555, 556, 557, 1268,
6325 0, 558, 559, 560, 561, 562, 563, 1269, 0, 565,
6326 566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
6327 572, 573, 574, 575, 576, 577, 578, 1270, 1271, 1272,
6328 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591,
6329 1278, 0, 0, 0, 0, 0, 0, 2128, 2129, 0,
6330 0, 0, 0, 0, 0, 0, 1282, 226, 2890, 659,
6331 1212, 1213, 1214, 719, 1215, 0, 0, 0, 0, 0,
6332 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
6333 0, 235, 236, 237, 0, 0, 0, 0, 1216, 0,
6334 0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
6335 246, 247, 1217, 249, 1218, 1219, 0, 252, 253, 254,
6336 255, 256, 257, 1220, 1221, 258, 259, 1222, 1223, 262,
6337 0, 263, 264, 265, 266, 1224, 0, 1225, 0, 269,
6338 270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
6339 279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
6340 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290, 291,
6341 292, 293, 294, 1233, 1234, 297, 1235, 298, 0, 299,
6342 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
6343 0, 0, 309, 310, 1066, 312, 313, 0, 314, 315,
6344 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
6345 1236, 325, 326, 327, 1237, 1238, 329, 0, 330, 331,
6346 1239, 333, 0, 334, 0, 335, 336, 0, 337, 338,
6347 339, 340, 341, 0, 342, 1240, 0, 1241, 345, 346,
6348 0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
6349 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
6350 364, 365, 366, 367, 368, 369, 370, 1242, 1243, 0,
6351 1244, 0, 374, 375, 376, 377, 378, 379, 380, 381,
6352 382, 383, 0, 0, 384, 1245, 386, 387, 388, 0,
6353 389, 390, 391, 1246, 1247, 392, 393, 394, 395, 396,
6354 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
6355 407, 1248, 409, 1249, 411, 412, 413, 414, 1250, 415,
6356 416, 417, 418, 1251, 1252, 420, 1253, 422, 423, 424,
6357 0, 425, 426, 0, 0, 1254, 428, 429, 0, 0,
6358 430, 431, 432, 433, 434, 435, 1255, 437, 438, 439,
6359 440, 441, 442, 443, 444, 445, 0, 446, 447, 1256,
6360 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
6361 458, 459, 460, 461, 462, 463, 1257, 465, 466, 467,
6362 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
6363 477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
6364 486, 487, 488, 1258, 490, 491, 492, 493, 494, 495,
6365 496, 497, 498, 0, 499, 500, 501, 502, 503, 1259,
6366 504, 505, 506, 507, 508, 509, 510, 511, 1260, 513,
6367 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
6368 523, 524, 525, 526, 1261, 528, 0, 529, 530, 0,
6369 531, 532, 533, 534, 535, 536, 537, 0, 538, 1262,
6370 1263, 0, 0, 541, 542, 1264, 544, 1265, 1266, 546,
6371 547, 548, 549, 550, 551, 552, 0, 1267, 553, 554,
6372 555, 556, 557, 1268, 0, 558, 559, 560, 561, 562,
6373 563, 1269, 0, 565, 566, 567, 568, 569, 570, 0,
6374 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
6375 578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277,
6376 588, 589, 590, 591, 1278, 0, 0, 0, 0, 0,
6377 0, 1279, 1280, 0, 0, 0, 0, 0, 0, 0,
6378 1282, 226, 1211, 659, 1212, 1213, 1214, 719, 1215, 0,
6379 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
6380 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
6381 0, 0, 1216, 0, 0, 238, 239, 0, 240, 241,
6382 242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
6383 0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
6384 259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
6385 0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
6386 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
6387 284, 285, 286, 4140, 1226, 1227, 1228, 1229, 1230, 1231,
6388 1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
6389 1235, 298, 0, 299, 300, 301, 302, 303, 304, 0,
6390 305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
6391 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
6392 320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
6393 329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
6394 336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
6395 0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
6396 352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
6397 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
6398 370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
6399 378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
6400 386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
6401 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
6402 403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
6403 413, 414, 1250, 415, 416, 417, 418, 1251, 1252, 420,
6404 1253, 422, 423, 424, 0, 425, 426, 0, 0, 1254,
6405 428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
6406 1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
6407 0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
6408 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
6409 1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
6410 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
6411 482, 483, 484, 485, 486, 487, 488, 1258, 490, 491,
6412 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
6413 501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
6414 510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
6415 519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
6416 0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
6417 537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
6418 544, 1265, 1266, 546, 547, 548, 549, 550, 551, 552,
6419 0, 1267, 553, 554, 555, 556, 557, 1268, 0, 558,
6420 559, 560, 561, 562, 563, 1269, 0, 565, 566, 567,
6421 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
6422 574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583,
6423 1274, 1275, 1276, 1277, 588, 589, 590, 591, 1278, 0,
6424 0, 0, 0, 0, 0, 1279, 1280, 0, 0, 0,
6425 0, 0, 0, 0, 1282, 226, 1211, 659, 1212, 1213,
6426 1214, 719, 1215, 0, 0, 0, 0, 0, 0, 0,
6427 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
6428 236, 237, 0, 0, 0, 0, 1216, 0, 0, 238,
6429 239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
6430 1217, 249, 1218, 1219, 0, 252, 253, 254, 255, 256,
6431 257, 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263,
6432 264, 265, 266, 1224, 0, 1225, 0, 269, 270, 271,
6433 272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
6434 281, 282, 283, 0, 284, 285, 286, 287, 1226, 1227,
6435 1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293,
6436 294, 1233, 1234, 297, 1235, 298, 0, 299, 300, 301,
6437 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
6438 309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
6439 317, 318, 319, 0, 320, 321, 322, 323, 1236, 325,
6440 326, 327, 1237, 1238, 329, 0, 330, 331, 1239, 333,
6441 0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
6442 341, 0, 342, 1240, 0, 1241, 345, 346, 0, 347,
6443 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
6444 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
6445 366, 367, 368, 369, 370, 1242, 1243, 0, 1244, 0,
6446 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
6447 0, 0, 384, 1245, 386, 387, 388, 0, 389, 390,
6448 391, 1246, 1247, 392, 393, 394, 395, 396, 397, 398,
6449 399, 400, 401, 402, 403, 404, 405, 406, 407, 1248,
6450 409, 1249, 411, 412, 413, 414, 1250, 415, 416, 417,
6451 418, 1251, 1252, 420, 1253, 422, 423, 424, 0, 425,
6452 426, 0, 0, 1254, 428, 429, 0, 0, 430, 431,
6453 432, 433, 434, 435, 1255, 437, 438, 439, 440, 441,
6454 442, 443, 444, 445, 0, 446, 447, 1256, 449, 450,
6455 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
6456 460, 461, 462, 463, 1257, 465, 466, 467, 468, 0,
6457 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
6458 479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
6459 488, 1258, 490, 491, 492, 493, 494, 495, 496, 497,
6460 498, 0, 499, 500, 501, 502, 503, 1259, 504, 505,
6461 506, 507, 508, 509, 510, 511, 1260, 513, 0, 514,
6462 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
6463 525, 526, 1261, 528, 0, 529, 530, 0, 531, 532,
6464 533, 534, 535, 536, 537, 0, 538, 1262, 1263, 0,
6465 0, 541, 542, 1264, 544, 1265, 1266, 546, 547, 548,
6466 549, 550, 551, 552, 0, 1267, 553, 554, 555, 556,
6467 557, 1268, 0, 558, 559, 560, 561, 562, 563, 1269,
6468 0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
6469 0, 0, 572, 573, 574, 575, 576, 577, 4480, 1270,
6470 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589,
6471 590, 591, 1278, 0, 0, 0, 0, 0, 0, 1279,
6472 1280, 0, 0, 0, 0, 0, 0, 0, 1282, 226,
6473 1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
6474 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
6475 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
6476 1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
6477 244, 245, 246, 247, 1217, 249, 1218, 1219, 0, 252,
6478 253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
6479 1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
6480 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
6481 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
6482 286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
6483 290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
6484 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
6485 307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
6486 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
6487 322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
6488 330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
6489 337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
6490 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
6491 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
6492 363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
6493 1243, 0, 1244, 0, 374, 375, 376, 377, 378, 379,
6494 380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
6495 388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
6496 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
6497 405, 406, 407, 1248, 409, 1249, 411, 412, 4492, 414,
6498 1250, 415, 416, 417, 418, 1251, 1252, 420, 1253, 422,
6499 423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
6500 0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
6501 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
6502 447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
6503 456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
6504 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
6505 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
6506 484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
6507 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
6508 503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
6509 1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
6510 521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
6511 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
6512 538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
6513 1266, 546, 547, 548, 549, 550, 551, 552, 0, 1267,
6514 553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
6515 561, 562, 563, 1269, 0, 565, 566, 567, 568, 569,
6516 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
6517 576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
6518 1276, 1277, 588, 589, 590, 591, 1278, 0, 0, 0,
6519 0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
6520 0, 0, 1282, 226, 1211, 659, 1212, 1213, 1214, 719,
6521 1215, 0, 0, 0, 0, 0, 0, 0, 227, 228,
6522 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
6523 0, 0, 0, 0, 1216, 0, 0, 238, 239, 0,
6524 240, 241, 242, 243, 244, 245, 246, 247, 1217, 249,
6525 1218, 1219, 0, 252, 253, 254, 255, 256, 257, 1220,
6526 1221, 258, 259, 1222, 1223, 262, 0, 263, 264, 265,
6527 266, 1224, 0, 1225, 0, 269, 270, 271, 272, 273,
6528 274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
6529 283, 0, 284, 285, 4800, 287, 1226, 1227, 1228, 1229,
6530 1230, 1231, 1232, 289, 290, 291, 292, 293, 294, 1233,
6531 1234, 297, 1235, 298, 0, 299, 300, 301, 302, 303,
6532 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
6533 1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
6534 319, 0, 320, 321, 322, 323, 1236, 325, 326, 327,
6535 1237, 1238, 329, 0, 330, 331, 1239, 333, 0, 334,
6536 0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
6537 342, 1240, 0, 4801, 345, 346, 0, 347, 348, 349,
6538 350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
6539 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
6540 368, 369, 370, 1242, 1243, 0, 1244, 0, 374, 375,
6541 376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
6542 384, 1245, 386, 387, 388, 0, 389, 390, 391, 1246,
6543 1247, 392, 393, 394, 395, 396, 397, 398, 399, 400,
6544 401, 402, 403, 404, 405, 406, 407, 1248, 409, 1249,
6545 411, 412, 413, 414, 1250, 415, 416, 417, 418, 1251,
6546 1252, 420, 1253, 422, 423, 424, 0, 425, 426, 0,
6547 0, 1254, 428, 429, 0, 0, 430, 431, 432, 433,
6548 434, 435, 1255, 437, 438, 439, 440, 441, 442, 443,
6549 444, 445, 0, 446, 447, 1256, 449, 450, 451, 452,
6550 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
6551 462, 463, 1257, 465, 466, 467, 468, 0, 469, 470,
6552 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
6553 0, 481, 482, 483, 484, 485, 4802, 487, 488, 1258,
6554 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
6555 499, 500, 501, 502, 503, 1259, 504, 505, 506, 507,
6556 508, 509, 510, 511, 1260, 513, 0, 514, 515, 516,
6557 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
6558 1261, 528, 0, 529, 530, 0, 531, 532, 533, 534,
6559 535, 536, 537, 0, 538, 1262, 1263, 0, 0, 541,
6560 542, 1264, 544, 1265, 1266, 546, 547, 548, 549, 550,
6561 551, 552, 0, 1267, 553, 554, 555, 556, 557, 1268,
6562 0, 558, 559, 560, 561, 562, 563, 1269, 0, 565,
6563 566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
6564 572, 573, 574, 575, 576, 577, 578, 1270, 1271, 1272,
6565 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591,
6566 1278, 0, 0, 0, 0, 0, 0, 1279, 1280, 0,
6567 0, 0, 0, 0, 0, 0, 4803, 226, 1211, 659,
6568 1212, 1213, 1214, 719, 1215, 0, 0, 0, 0, 0,
6569 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
6570 0, 235, 236, 237, 0, 0, 0, 0, 1216, 0,
6571 0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
6572 246, 5274, 1217, 249, 1218, 1219, 0, 252, 253, 254,
6573 255, 256, 257, 1220, 1221, 258, 259, 1222, 1223, 262,
6574 0, 263, 264, 265, 266, 1224, 0, 1225, 0, 269,
6575 270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
6576 279, 280, 281, 282, 283, 0, 284, 285, 286, 5275,
6577 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290, 291,
6578 292, 293, 294, 1233, 1234, 297, 1235, 298, 0, 299,
6579 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
6580 0, 0, 309, 310, 1066, 312, 313, 0, 314, 315,
6581 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
6582 1236, 325, 326, 327, 1237, 1238, 329, 0, 330, 331,
6583 1239, 333, 0, 334, 0, 335, 336, 0, 337, 338,
6584 339, 340, 341, 0, 342, 1240, 0, 1241, 345, 346,
6585 0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
6586 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
6587 364, 365, 366, 367, 368, 369, 370, 1242, 1243, 0,
6588 1244, 0, 374, 375, 376, 377, 378, 379, 380, 381,
6589 382, 383, 0, 0, 384, 1245, 386, 387, 388, 0,
6590 389, 390, 391, 1246, 1247, 392, 393, 394, 395, 396,
6591 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
6592 407, 1248, 409, 1249, 411, 412, 413, 414, 1250, 415,
6593 416, 417, 418, 1251, 1252, 420, 1253, 422, 423, 424,
6594 0, 425, 426, 0, 0, 1254, 428, 429, 0, 0,
6595 430, 431, 432, 433, 434, 435, 1255, 437, 438, 439,
6596 440, 441, 442, 443, 444, 445, 0, 446, 447, 1256,
6597 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
6598 458, 459, 460, 461, 462, 463, 1257, 465, 466, 467,
6599 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
6600 477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
6601 486, 487, 488, 1258, 490, 491, 492, 493, 494, 495,
6602 496, 497, 498, 0, 499, 500, 501, 502, 503, 1259,
6603 504, 505, 506, 507, 508, 509, 510, 511, 1260, 513,
6604 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
6605 523, 524, 525, 526, 1261, 528, 0, 529, 530, 0,
6606 531, 532, 533, 534, 535, 536, 537, 0, 538, 1262,
6607 1263, 0, 0, 541, 542, 1264, 544, 1265, 1266, 546,
6608 547, 548, 549, 5276, 551, 552, 0, 1267, 553, 554,
6609 555, 556, 557, 1268, 0, 558, 559, 560, 561, 562,
6610 563, 1269, 0, 565, 566, 567, 568, 569, 570, 0,
6611 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
6612 578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277,
6613 588, 589, 590, 591, 1278, 0, 0, 0, 0, 0,
6614 0, 1279, 1280, 0, 0, 0, 0, 0, 0, 0,
6615 1282, 226, 1211, 659, 1212, 1213, 1214, 719, 1215, 0,
6616 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
6617 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
6618 0, 0, 1216, 0, 0, 238, 239, 0, 240, 241,
6619 242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
6620 0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
6621 259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
6622 0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
6623 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
6624 284, 285, 286, 5275, 1226, 1227, 1228, 1229, 1230, 1231,
6625 1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
6626 1235, 298, 0, 299, 300, 301, 302, 303, 304, 0,
6627 305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
6628 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
6629 320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
6630 329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
6631 336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
6632 0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
6633 352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
6634 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
6635 370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
6636 378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
6637 386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
6638 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
6639 403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
6640 413, 414, 1250, 415, 416, 417, 418, 1251, 1252, 420,
6641 1253, 422, 423, 424, 0, 425, 426, 0, 0, 1254,
6642 428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
6643 1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
6644 0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
6645 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
6646 1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
6647 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
6648 482, 483, 484, 485, 486, 487, 488, 1258, 490, 491,
6649 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
6650 501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
6651 510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
6652 519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
6653 0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
6654 537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
6655 544, 1265, 1266, 546, 547, 548, 549, 5276, 551, 552,
6656 0, 1267, 553, 554, 555, 556, 557, 1268, 0, 558,
6657 559, 560, 561, 562, 563, 1269, 0, 565, 566, 567,
6658 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
6659 574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583,
6660 1274, 1275, 1276, 1277, 588, 589, 590, 591, 1278, 0,
6661 0, 0, 0, 0, 0, 1279, 1280, 0, 0, 0,
6662 0, 0, 0, 0, 1282, 226, 1211, 659, 1212, 1213,
6663 1214, 719, 1215, 0, 0, 0, 0, 0, 0, 0,
6664 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
6665 236, 237, 0, 0, 0, 0, 1216, 0, 0, 238,
6666 239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
6667 1217, 249, 1218, 1219, 0, 252, 253, 254, 255, 256,
6668 257, 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263,
6669 264, 265, 266, 1224, 0, 1225, 0, 269, 270, 271,
6670 272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
6671 281, 282, 283, 0, 284, 285, 286, 287, 1226, 1227,
6672 1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293,
6673 294, 1233, 1234, 297, 4998, 298, 0, 299, 300, 301,
6674 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
6675 309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
6676 317, 318, 319, 0, 320, 321, 322, 323, 1236, 325,
6677 326, 327, 1237, 1238, 329, 0, 330, 331, 1239, 333,
6678 0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
6679 341, 0, 342, 1240, 0, 1241, 345, 346, 0, 347,
6680 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
6681 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
6682 366, 367, 368, 369, 370, 1242, 1243, 0, 1244, 0,
6683 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
6684 0, 0, 384, 1245, 386, 387, 388, 0, 389, 390,
6685 391, 1246, 1247, 392, 393, 394, 395, 396, 397, 398,
6686 399, 400, 401, 402, 403, 404, 405, 406, 407, 1248,
6687 409, 1249, 411, 412, 413, 414, 0, 415, 416, 417,
6688 418, 1251, 1252, 420, 1253, 422, 423, 424, 0, 425,
6689 426, 0, 0, 1254, 428, 429, 0, 0, 430, 431,
6690 432, 433, 434, 435, 1255, 437, 438, 439, 440, 441,
6691 442, 443, 444, 445, 0, 446, 447, 1256, 449, 450,
6692 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
6693 460, 461, 462, 463, 1257, 465, 466, 467, 468, 0,
6694 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
6695 479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
6696 488, 2754, 490, 491, 492, 493, 494, 495, 496, 497,
6697 498, 0, 499, 500, 501, 502, 503, 1259, 504, 505,
6698 506, 507, 508, 509, 510, 511, 1260, 513, 0, 514,
6699 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
6700 525, 526, 1261, 528, 0, 529, 530, 0, 531, 532,
6701 533, 534, 535, 536, 537, 0, 538, 1262, 1263, 0,
6702 0, 541, 542, 1264, 544, 1265, 1266, 546, 547, 548,
6703 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
6704 557, 1268, 0, 558, 559, 560, 561, 562, 563, 1269,
6705 0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
6706 0, 0, 572, 573, 574, 575, 576, 577, 578, 1270,
6707 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589,
6708 590, 591, 0, 0, 0, 0, 0, 0, 0, 2755,
6709 2756, 0, 0, 0, 0, 0, 0, 0, 2757, 226,
6710 1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
6711 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
6712 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
6713 1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
6714 244, 245, 246, -2631, 1217, 249, 1218, 1219, 0, 252,
6715 253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
6716 1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
6717 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
6718 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
6719 286, 5275, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
6720 290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
6721 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
6722 307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
6723 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
6724 322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
6725 330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
6726 337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
6727 345, 346, 0, 347, 348, 349, 350, 351, -2631, 353,
6728 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
6729 363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
6730 1243, 0, 1244, 0, 374, 0, 0, 377, 378, 379,
6731 380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
6732 -2631, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
6733 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
6734 405, 406, 407, 1248, 409, 1249, 411, 412, 413, 414,
6735 1250, 415, 416, 0, 418, 1251, 1252, 420, 1253, 422,
6736 423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
6737 0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
6738 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
6739 447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
6740 456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
6741 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
6742 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
6743 484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
6744 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
6745 503, 1259, 504, 505, 506, 507, 508, -2631, 510, 511,
6746 1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
6747 521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
6748 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
6749 538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
6750 1266, 546, 547, 548, 549, 5276, 551, 552, 0, 1267,
6751 553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
6752 561, 562, 563, 1269, 0, 565, 566, 567, 568, 569,
6753 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
6754 576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
6755 1276, 1277, 588, 589, 590, 591, -2631, 0, 0, 0,
6756 0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
6757 0, 0, 1282, 226, 1211, 659, 1212, 1213, 1214, 719,
6758 1215, 0, 0, 0, 0, 0, 0, 0, 227, 228,
6759 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
6760 0, 0, 0, 0, 1216, 0, 0, 238, 239, 0,
6761 240, 241, 242, 243, 244, 245, 246, 247, 1217, 249,
6762 1218, 1219, 0, 252, 253, 254, 255, 256, 257, 1220,
6763 1221, 258, 259, 1222, 1223, 262, 0, 263, 264, 265,
6764 266, 1224, 0, 1225, 0, 269, 270, 271, 272, 273,
6765 274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
6766 283, 0, 284, 285, 286, 287, 1226, 1227, 1228, 1229,
6767 1230, 1231, 1232, 289, 290, 291, 292, 293, 294, 1233,
6768 1234, 297, 0, 298, 0, 299, 300, 301, 302, 303,
6769 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
6770 1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
6771 319, 0, 320, 321, 322, 323, 1236, 325, 326, 327,
6772 1237, 1238, 329, 0, 330, 331, 1239, 333, 0, 334,
6773 0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
6774 342, 1240, 0, 1241, 345, 346, 0, 347, 348, 349,
6775 350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
6776 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
6777 368, 369, 370, 1242, 1243, 0, 1244, 0, 374, 375,
6778 376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
6779 384, 1245, 386, 387, 388, 0, 389, 390, 391, 1246,
6780 1247, 392, 393, 394, 395, 396, 397, 398, 399, 400,
6781 401, 402, 403, 404, 405, 406, 407, 1248, 409, 1249,
6782 411, 412, 413, 414, 0, 415, 416, 417, 418, 1251,
6783 1252, 420, 1253, 422, 423, 424, 0, 425, 426, 0,
6784 0, 1254, 428, 429, 0, 0, 430, 431, 432, 433,
6785 434, 435, 1255, 437, 438, 439, 440, 441, 442, 443,
6786 444, 445, 0, 446, 447, 1256, 449, 450, 451, 452,
6787 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
6788 462, 463, 1257, 465, 466, 467, 468, 0, 469, 470,
6789 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
6790 0, 481, 482, 483, 484, 485, 486, 487, 488, 2754,
6791 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
6792 499, 500, 501, 502, 503, 1259, 504, 505, 506, 507,
6793 508, 509, 510, 511, 1260, 513, 0, 514, 515, 516,
6794 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
6795 1261, 528, 0, 529, 530, 0, 531, 532, 533, 534,
6796 535, 536, 537, 0, 538, 1262, 1263, 0, 0, 541,
6797 542, 1264, 544, 1265, 1266, 546, 547, 548, 549, 550,
6798 551, 552, 0, 0, 553, 554, 555, 556, 557, 1268,
6799 0, 558, 559, 560, 561, 562, 563, 1269, 0, 565,
6800 566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
6801 572, 573, 574, 575, 576, 577, 578, 1270, 1271, 1272,
6802 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591,
6803 0, 0, 0, 0, 0, 0, 0, 2755, 2756, 0,
6804 0, 226, 1211, 659, 1212, 1213, 2757, 719, 1215, 0,
6805 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
6806 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
6807 0, 0, 1216, 0, 0, 238, 239, 0, 240, 241,
6808 242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
6809 0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
6810 259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
6811 0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
6812 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
6813 284, 285, 286, 287, 1226, 1227, 1228, 1229, 1230, 1231,
6814 1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
6815 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
6816 305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
6817 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
6818 320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
6819 329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
6820 336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
6821 0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
6822 352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
6823 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
6824 370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
6825 378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
6826 386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
6827 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
6828 403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
6829 413, 414, 0, 415, 416, 417, 418, 1251, 1252, 420,
6830 1253, 422, 423, 424, 0, 425, 426, 0, 0, 427,
6831 428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
6832 1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
6833 0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
6834 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
6835 1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
6836 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
6837 482, 483, 484, 485, 486, 487, 488, 2879, 2880, 491,
6838 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
6839 501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
6840 510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
6841 519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
6842 0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
6843 537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
6844 544, 1265, 1266, 546, 547, 548, 549, 550, 551, 552,
6845 0, 0, 553, 554, 555, 556, 557, 1268, 0, 558,
6846 559, 560, 561, 562, 563, 1269, 0, 565, 566, 567,
6847 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
6848 574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583,
6849 1274, 1275, 1276, 1277, 588, 589, 590, 591, 0, 0,
6850 0, 0, 0, 0, 0, 2881, 2882, 0, 0, 0,
6851 0, 0, 0, 0, 2757, 226, 1211, 659, 1212, 1213,
6852 1214, 719, 1215, 0, 0, 0, 0, 0, 0, 0,
6853 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
6854 236, 237, 0, 0, 0, 0, 1216, 0, 0, 238,
6855 239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
6856 1217, 249, 1218, 1219, 0, 252, 253, 254, 255, 256,
6857 257, 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263,
6858 264, 265, 266, 1224, 0, 1225, 0, 269, 270, 271,
6859 272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
6860 281, 282, 283, 0, 284, 285, 286, 287, 1226, 1227,
6861 1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293,
6862 294, 1233, 1234, 297, 0, 298, 0, 299, 300, 301,
6863 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
6864 309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
6865 317, 318, 319, 0, 320, 321, 322, 323, 1236, 325,
6866 326, 327, 1237, 1238, 329, 0, 330, 331, 1239, 333,
6867 0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
6868 341, 0, 342, 1240, 0, 1241, 345, 346, 0, 347,
6869 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
6870 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
6871 366, 367, 368, 369, 370, 1242, 1243, 0, 1244, 0,
6872 374, 0, 376, 377, 378, 379, 380, 381, 382, 383,
6873 0, 0, 384, 1245, 386, 387, 388, 0, 389, 390,
6874 391, 1246, 1247, 392, 393, 394, 395, 396, 397, 398,
6875 399, 400, 401, 402, 403, 404, 405, 406, 407, 1248,
6876 409, 1249, 411, 412, 413, 414, 0, 415, 416, 417,
6877 418, 1251, 1252, 420, 1253, 422, 423, 424, 0, 425,
6878 426, 0, 0, 1254, 428, 429, 0, 0, 430, 431,
6879 432, 433, 434, 435, 1255, 437, 438, 439, 440, 441,
6880 442, 443, 444, 445, 0, 446, 447, 1256, 449, 450,
6881 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
6882 460, 461, 462, 463, 1257, 465, 466, 467, 468, 0,
6883 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
6884 479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
6885 488, 2754, 490, 491, 492, 493, 494, 495, 496, 497,
6886 498, 0, 499, 500, 501, 502, 503, 1259, 504, 505,
6887 506, 507, 508, 509, 510, 511, 1260, 513, 0, 514,
6888 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
6889 525, 526, 1261, 528, 0, 529, 530, 0, 531, 532,
6890 533, 534, 535, 536, 537, 0, 538, 1262, 1263, 0,
6891 0, 541, 542, 1264, 544, 1265, 1266, 546, 547, 548,
6892 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
6893 557, 1268, 0, 558, 559, 560, 561, 562, 563, 1269,
6894 0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
6895 0, 0, 572, 573, 574, 575, 576, 577, 578, 1270,
6896 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589,
6897 590, 591, 0, 0, 0, 0, 0, 0, 0, 2755,
6898 2756, 0, 0, 226, 1211, 659, 1212, 1213, 2757, 719,
6899 1215, 0, 0, 0, 0, 0, 0, 0, 227, 228,
6900 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
6901 0, 0, 0, 0, 1216, 0, 0, 238, 239, 0,
6902 240, 241, 242, 243, 244, 245, 246, 247, 1217, 249,
6903 1218, 1219, 0, 252, 253, 254, 255, 256, 257, 1220,
6904 1221, 258, 259, 1222, 1223, 262, 0, 263, 264, 265,
6905 266, 1224, 0, 1225, 0, 269, 270, 271, 272, 273,
6906 274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
6907 283, 0, 284, 285, 286, 287, 1226, 1227, 1228, 1229,
6908 1230, 1231, 1232, 289, 290, 291, 292, 293, 294, 1233,
6909 1234, 297, 0, 298, 0, 299, 300, 301, 302, 303,
6910 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
6911 1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
6912 319, 0, 320, 321, 322, 323, 1236, 325, 326, 327,
6913 1237, 1238, 329, 0, 330, 331, 1239, 333, 0, 334,
6914 0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
6915 342, 1240, 0, 1241, 345, 346, 0, 347, 348, 349,
6916 350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
6917 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
6918 368, 369, 370, 1242, 1243, 0, 1244, 0, 374, 375,
6919 376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
6920 384, 1245, 386, 387, 388, 0, 389, 390, 391, 1246,
6921 1247, 392, 393, 394, 395, 396, 397, 398, 399, 400,
6922 401, 402, 403, 404, 405, 406, 407, 1248, 409, 1249,
6923 411, 412, 413, 414, 0, 415, 416, 417, 418, 1251,
6924 1252, 420, 1253, 422, 423, 424, 0, 425, 426, 0,
6925 0, 427, 428, 429, 0, 0, 430, 431, 432, 433,
6926 434, 435, 1255, 437, 438, 439, 440, 441, 442, 443,
6927 444, 445, 0, 446, 447, 1256, 449, 450, 451, 452,
6928 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
6929 462, 463, 1257, 465, 466, 467, 468, 0, 469, 470,
6930 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
6931 0, 481, 482, 483, 484, 485, 486, 487, 488, 2754,
6932 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
6933 499, 500, 501, 502, 503, 1259, 504, 505, 506, 507,
6934 508, 509, 510, 511, 1260, 513, 0, 514, 515, 516,
6935 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
6936 1261, 528, 0, 529, 530, 0, 531, 532, 533, 534,
6937 535, 536, 537, 0, 538, 1262, 1263, 0, 0, 541,
6938 542, 1264, 544, 1265, 1266, 546, 547, 548, 549, 550,
6939 551, 552, 0, 0, 553, 554, 555, 556, 557, 1268,
6940 0, 558, 559, 560, 561, 562, 563, 1269, 0, 565,
6941 566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
6942 572, 573, 574, 575, 576, 577, 578, 1270, 1271, 1272,
6943 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591,
6944 0, 0, 226, 1211, 659, 1212, 1213, 0, 719, 1215,
6945 0, 0, 0, 0, 0, 0, 2757, 227, 228, 229,
6946 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
6947 0, 0, 0, 1216, 0, 0, 238, 239, 0, 240,
6948 241, 242, 243, 244, 245, 246, 247, 1217, 249, 1218,
6949 1219, 0, 4049, 253, 254, 255, 256, 257, 1220, 1221,
6950 258, 259, 1222, 1223, 262, 0, 263, 264, 265, 266,
6951 1224, 0, 1225, 0, 269, 270, 271, 272, 273, 274,
6952 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
6953 0, 284, 285, 286, 287, 1226, 1227, 1228, 1229, 1230,
6954 1231, 1232, 289, 290, 291, 292, 293, 294, 1233, 1234,
6955 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
6956 0, 305, 306, 307, 308, 0, 0, 309, 310, 1066,
6957 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
6958 0, 320, 321, 322, 323, 1236, 325, 326, 327, 1237,
6959 1238, 329, 0, 330, 331, 1239, 333, 0, 334, 0,
6960 335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
6961 1240, 0, 1241, 345, 346, 0, 347, 348, 349, 350,
6962 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
6963 360, 361, 362, 363, 0, 364, 365, 366, 367, 368,
6964 369, 370, 1242, 1243, 0, 1244, 0, 374, 375, 376,
6965 377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
6966 1245, 386, 387, 388, 0, 389, 390, 391, 1246, 1247,
6967 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
6968 402, 403, 404, 405, 406, 407, 1248, 409, 1249, 411,
6969 412, 413, 414, 0, 415, 416, 417, 418, 1251, 1252,
6970 420, 1253, 422, 423, 424, 0, 425, 426, 0, 0,
6971 427, 428, 429, 0, 0, 430, 431, 432, 433, 434,
6972 435, 1255, 437, 438, 439, 440, 441, 442, 443, 444,
6973 445, 0, 446, 447, 1256, 449, 450, 451, 452, 453,
6974 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
6975 463, 1257, 465, 466, 467, 468, 0, 469, 470, 471,
6976 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
6977 481, 482, 483, 484, 485, 486, 487, 488, 2754, 490,
6978 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
6979 500, 501, 502, 503, 1259, 504, 505, 506, 507, 508,
6980 509, 510, 511, 1260, 513, 0, 514, 515, 516, 517,
6981 518, 519, 520, 521, 522, 523, 524, 525, 526, 1261,
6982 528, 0, 529, 530, 0, 531, 532, 533, 534, 535,
6983 536, 537, 0, 538, 1262, 1263, 0, 0, 541, 542,
6984 1264, 544, 1265, 1266, 546, 547, 548, 549, 550, 551,
6985 552, 0, 0, 553, 554, 555, 556, 557, 1268, 0,
6986 558, 559, 560, 561, 562, 563, 1269, 0, 565, 566,
6987 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
6988 573, 574, 575, 576, 577, 578, 1270, 1271, 1272, 1273,
6989 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591, 0,
6990 0, 226, 1211, 659, 1212, 1213, 0, 719, 1215, 0,
6991 0, 0, 0, 0, 0, 2757, 227, 228, 229, 230,
6992 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
6993 0, 0, 1216, 0, 0, 238, 239, 0, 240, 241,
6994 242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
6995 0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
6996 259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
6997 0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
6998 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
6999 284, 285, 286, 287, 1226, 1227, 1228, 1229, 1230, 1231,
7000 1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
7001 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
7002 305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
7003 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
7004 320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
7005 329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
7006 336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
7007 0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
7008 352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
7009 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
7010 370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
7011 378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
7012 386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
7013 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
7014 403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
7015 413, 414, 0, 415, 416, 417, 418, 1251, 1252, 420,
7016 1253, 422, 423, 424, 0, 425, 426, 0, 0, 427,
7017 428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
7018 1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
7019 0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
7020 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
7021 1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
7022 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
7023 482, 483, 484, 485, 486, 487, 488, 2754, 490, 491,
7024 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
7025 501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
7026 510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
7027 519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
7028 0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
7029 537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
7030 544, 1265, 1266, 546, 547, 548, 549, 550, 551, 552,
7031 0, 0, 553, 554, 555, 556, 557, 1268, 0, 558,
7032 559, 560, 561, 562, 563, 1269, 0, 565, 566, 567,
7033 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
7034 574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 4523,
7035 1274, 1275, 1276, 1277, 588, 589, 590, 591, 0, 0,
7036 226, 1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0,
7037 0, 0, 0, 0, 2757, 227, 228, 229, 230, 231,
7038 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
7039 0, 1216, 0, 0, 238, 239, 0, 240, 241, 242,
7040 243, 244, 245, 246, 0, 1217, 249, 1218, 1219, 0,
7041 252, 253, 254, 255, 256, 257, 1220, 1221, 258, 259,
7042 1222, 1223, 262, 0, 263, 264, 265, 266, 1224, 0,
7043 1225, 0, 269, 270, 271, 272, 273, 274, 275, 276,
7044 277, 0, 278, 279, 280, 281, 282, 283, 0, 284,
7045 285, 286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
7046 289, 290, 291, 292, 293, 294, 1233, 1234, 297, 1235,
7047 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
7048 306, 307, 308, 0, 0, 309, 310, 1066, 312, 313,
7049 0, 314, 315, 316, 0, 317, 0, 319, 0, 320,
7050 321, 322, 323, 1236, 325, 326, 327, 1237, 1238, 329,
7051 0, 330, 331, 1239, 333, 0, 334, 0, 335, 336,
7052 0, 337, 338, 339, 340, 341, 0, 342, 1240, 0,
7053 1241, 345, 346, 0, 347, 348, 349, 350, 351, 0,
7054 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
7055 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
7056 1242, 1243, 0, 1244, 0, 374, 0, 0, 377, 378,
7057 379, 380, 381, 382, 383, 0, 0, 384, 1245, 386,
7058 387, 0, 0, 389, 390, 391, 1246, 1247, 392, 393,
7059 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
7060 404, 405, 406, 407, 1248, 409, 1249, 411, 412, 413,
7061 414, 1250, 415, 416, 0, 418, 1251, 1252, 420, 1253,
7062 422, 423, 424, 0, 425, 426, 0, 0, 1254, 428,
7063 429, 0, 0, 430, 431, 432, 433, 434, 435, 1255,
7064 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
7065 446, 447, 1256, 449, 450, 451, 452, 453, 0, 454,
7066 455, 456, 457, 458, 459, 460, 461, 462, 463, 1257,
7067 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
7068 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
7069 483, 484, 485, 486, 487, 488, 1258, 490, 491, 492,
7070 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
7071 502, 503, 1259, 504, 505, 506, 507, 508, 0, 510,
7072 511, 1260, 513, 0, 514, 515, 516, 517, 518, 519,
7073 520, 521, 522, 523, 524, 525, 526, 1261, 528, 0,
7074 529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
7075 0, 538, 1262, 1263, 0, 0, 541, 542, 1264, 544,
7076 1265, 1266, 546, 547, 548, 549, 550, 551, 552, 0,
7077 1267, 553, 554, 555, 556, 557, 1268, 0, 558, 559,
7078 560, 561, 562, 563, 1269, 0, 565, 566, 567, 568,
7079 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
7080 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274,
7081 1275, 1276, 1277, 588, 589, 590, 591, 0, 0, 226,
7082 0, 0, 0, 0, 1279, 1280, 0, 0, 0, 0,
7083 0, 0, 0, 1282, 227, 228, 229, 230, 231, 232,
7084 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
7085 0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
7086 244, 245, 246, 247, 248, 249, 250, 251, 0, 252,
7087 253, 254, 255, 256, 257, 0, 1221, 258, 259, 260,
7088 261, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
7089 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
7090 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
7091 286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
7092 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
7093 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
7094 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
7095 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
7096 322, 323, 324, 325, 326, 327, 1237, 0, 329, 0,
7097 330, 331, 332, 333, 0, 334, 0, 335, 336, 0,
7098 337, 338, 339, 340, 341, 0, 342, 1240, 0, 344,
7099 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
7100 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
7101 363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
7102 372, 0, 373, 0, 374, 375, 376, 377, 378, 379,
7103 380, 381, 382, 383, 3566, 0, 384, 1245, 386, 387,
7104 388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
7105 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
7106 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
7107 0, 415, 416, 417, 418, 0, 1252, 420, 421, 422,
7108 423, 424, 0, 425, 426, 0, 808, 427, 428, 429,
7109 0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
7110 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
7111 447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
7112 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
7113 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
7114 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
7115 484, 485, 486, 487, 488, 489, 3567, 491, 492, 493,
7116 494, 495, 496, 497, 498, 40, 499, 500, 501, 502,
7117 503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
7118 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
7119 521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
7120 530, 44, 531, 532, 533, 534, 535, 536, 537, 0,
7121 538, 539, 540, 0, 0, 541, 542, 1264, 544, 1265,
7122 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
7123 553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
7124 561, 562, 1145, 564, 0, 565, 566, 567, 568, 569,
7125 570, 0, 0, 571, 0, 49, 572, 573, 574, 575,
7126 576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
7127 1276, 1277, 3568, 589, 590, 591, 0, 0, 50, 226,
7128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7129 0, 0, 3569, 0, 227, 228, 229, 230, 231, 232,
7130 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
7131 0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
7132 244, 245, 246, 247, 248, 249, 250, 251, 0, 252,
7133 253, 254, 255, 256, 257, 0, 1221, 258, 259, 260,
7134 261, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
7135 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
7136 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
7137 286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
7138 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
7139 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
7140 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
7141 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
7142 322, 323, 324, 325, 326, 327, 1237, 0, 329, 0,
7143 330, 331, 332, 333, 0, 334, 0, 335, 336, 0,
7144 337, 338, 339, 340, 341, 0, 342, 1240, 0, 344,
7145 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
7146 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
7147 363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
7148 372, 0, 373, 0, 374, 375, 376, 377, 378, 379,
7149 380, 381, 382, 383, 3566, 0, 384, 1245, 386, 387,
7150 388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
7151 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
7152 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
7153 0, 415, 416, 417, 418, 0, 1252, 420, 421, 422,
7154 423, 424, 0, 425, 426, 0, 808, 427, 428, 429,
7155 0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
7156 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
7157 447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
7158 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
7159 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
7160 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
7161 484, 485, 486, 487, 488, 489, 3567, 491, 492, 493,
7162 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
7163 503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
7164 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
7165 521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
7166 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
7167 538, 539, 540, 0, 0, 541, 542, 1264, 544, 1265,
7168 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
7169 553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
7170 561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
7171 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
7172 576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
7173 1276, 1277, 3568, 589, 590, 591, 0, 0, 226, 0,
7174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7175 0, 0, 3569, 227, 228, 229, 230, 231, 232, 233,
7176 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
7177 0, 0, 238, 239, 0, 240, 241, 242, 243, 244,
7178 245, 246, 247, 248, 249, 250, 251, 0, 252, 253,
7179 254, 255, 256, 257, 0, 1221, 258, 259, 260, 261,
7180 262, 0, 263, 264, 265, 266, 1224, 0, 1225, 0,
7181 269, 270, 271, 272, 273, 274, 275, 276, 277, 0,
7182 278, 279, 280, 281, 282, 283, 0, 284, 285, 286,
7183 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290,
7184 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
7185 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
7186 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
7187 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
7188 323, 324, 325, 326, 327, 1237, 0, 329, 0, 330,
7189 331, 332, 333, 0, 334, 0, 335, 336, 0, 337,
7190 338, 339, 340, 341, 0, 342, 1240, 0, 344, 345,
7191 346, 0, 347, 348, 349, 350, 351, 352, 353, 354,
7192 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
7193 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
7194 0, 373, 0, 374, 375, 376, 377, 378, 379, 380,
7195 381, 382, 383, 0, 0, 384, 1245, 386, 387, 388,
7196 0, 389, 390, 391, 1246, 1247, 392, 393, 394, 395,
7197 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
7198 406, 407, 408, 409, 410, 411, 412, 413, 414, 0,
7199 415, 416, 417, 418, 0, 1252, 420, 421, 422, 423,
7200 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
7201 0, 430, 431, 432, 433, 434, 435, 1255, 437, 438,
7202 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
7203 1256, 449, 450, 451, 452, 453, 0, 454, 455, 456,
7204 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
7205 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
7206 476, 477, 478, 479, 480, 0, 481, 482, 483, 484,
7207 485, 486, 487, 488, 489, 3567, 491, 492, 493, 494,
7208 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
7209 1259, 504, 505, 506, 507, 508, 509, 510, 511, 512,
7210 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
7211 522, 523, 524, 525, 526, 1261, 528, 0, 529, 530,
7212 0, 531, 532, 533, 534, 535, 536, 537, 0, 538,
7213 539, 540, 0, 0, 541, 542, 1264, 544, 1265, 0,
7214 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
7215 554, 555, 556, 557, 1268, 0, 558, 559, 560, 561,
7216 562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
7217 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
7218 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276,
7219 1277, 3568, 589, 590, 591, 0, 0, 226, 0, 0,
7220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7221 0, 51, 227, 228, 229, 230, 231, 232, 233, 234,
7222 0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
7223 0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
7224 246, 247, 248, 249, 250, 251, 0, 252, 253, 254,
7225 255, 256, 257, 0, 1221, 258, 259, 260, 261, 262,
7226 0, 263, 264, 265, 266, 1224, 0, 1225, 0, 269,
7227 270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
7228 279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
7229 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290, 291,
7230 292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
7231 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
7232 0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
7233 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
7234 324, 325, 326, 327, 1237, 0, 329, 0, 330, 331,
7235 332, 333, 0, 334, 0, 335, 336, 0, 337, 338,
7236 339, 340, 341, 0, 342, 1240, 0, 344, 345, 346,
7237 0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
7238 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
7239 364, 365, 366, 367, 368, 369, 370, 371, 372, 0,
7240 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
7241 382, 383, 0, 0, 384, 1245, 386, 387, 388, 0,
7242 389, 390, 391, 1246, 1247, 392, 393, 394, 395, 396,
7243 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
7244 407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
7245 416, 417, 418, 0, 1252, 420, 421, 422, 423, 424,
7246 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
7247 430, 431, 432, 433, 434, 435, 1255, 437, 438, 439,
7248 440, 441, 442, 443, 444, 445, 0, 446, 447, 1256,
7249 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
7250 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
7251 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
7252 477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
7253 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
7254 496, 497, 498, 0, 499, 500, 501, 502, 503, 1259,
7255 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
7256 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
7257 523, 524, 525, 526, 1261, 528, 0, 529, 530, 0,
7258 531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
7259 540, 0, 0, 541, 542, 1264, 544, 1265, 0, 546,
7260 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
7261 555, 556, 557, 1268, 0, 558, 559, 560, 561, 562,
7262 563, 564, 0, 565, 566, 567, 568, 569, 570, 0,
7263 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
7264 578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277,
7265 588, 589, 590, 591, 0, 0, 226, 0, 0, 0,
7266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7267 4169, 227, 228, 229, 230, 231, 232, 233, 234, 0,
7268 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
7269 238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
7270 247, 248, 249, 250, 251, 0, 252, 253, 254, 255,
7271 256, 257, 0, 1221, 258, 259, 260, 261, 262, 0,
7272 263, 264, 265, 266, 1224, 0, 1225, 0, 269, 270,
7273 271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
7274 280, 281, 282, 283, 0, 284, 285, 286, 287, 1226,
7275 1227, 1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292,
7276 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
7277 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
7278 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
7279 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
7280 325, 326, 327, 1237, 0, 329, 0, 330, 331, 332,
7281 333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
7282 340, 341, 0, 342, 1240, 0, 344, 345, 346, 0,
7283 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
7284 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
7285 365, 366, 367, 368, 369, 370, 371, 372, 0, 373,
7286 0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
7287 383, 0, 0, 384, 1245, 386, 387, 388, 0, 389,
7288 390, 391, 1246, 1247, 392, 393, 394, 395, 396, 397,
7289 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
7290 408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
7291 417, 418, 0, 1252, 420, 421, 422, 423, 424, 0,
7292 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
7293 431, 432, 433, 434, 435, 1255, 437, 438, 439, 440,
7294 441, 442, 443, 444, 445, 0, 446, 447, 1256, 449,
7295 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
7296 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
7297 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
7298 478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
7299 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
7300 497, 498, 0, 499, 500, 501, 502, 503, 1259, 504,
7301 505, 506, 507, 508, 509, 510, 511, 512, 513, 0,
7302 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
7303 524, 525, 526, 1261, 528, 0, 529, 530, 0, 531,
7304 532, 533, 534, 535, 536, 537, 0, 538, 539, 540,
7305 0, 0, 541, 542, 1264, 544, 1265, 0, 546, 547,
7306 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
7307 556, 557, 1268, 0, 558, 559, 560, 561, 562, 563,
7308 564, 0, 565, 566, 567, 568, 569, 570, 0, 0,
7309 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
7310 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588,
7311 589, 590, 591, 0, 0, 863, 1492, 659, 0, 0,
7312 0, 719, 0, 0, 0, 0, 0, 0, 0, 5256,
7313 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
7314 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
7315 239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
7316 248, 249, 250, 251, 0, 252, 253, 254, 255, 256,
7317 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
7318 264, 265, 266, 267, 0, 268, 0, 269, 270, 271,
7319 272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
7320 281, 282, 283, 0, 284, 285, 286, 287, 0, 0,
7321 0, 288, 0, 0, 0, 289, 290, 291, 292, 293,
7322 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
7323 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
7324 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
7325 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
7326 326, 327, 328, 1905, 329, 0, 330, 331, 332, 333,
7327 0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
7328 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
7329 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
7330 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
7331 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
7332 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
7333 0, 0, 384, 385, 386, 387, 388, 0, 389, 390,
7334 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
7335 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
7336 409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
7337 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
7338 426, 1906, 0, 427, 428, 429, 0, 0, 430, 431,
7339 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
7340 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
7341 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
7342 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
7343 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
7344 479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
7345 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
7346 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
7347 506, 507, 508, 509, 510, 511, 512, 513, 0, 514,
7348 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
7349 525, 526, 527, 528, 0, 529, 530, 0, 531, 532,
7350 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
7351 0, 541, 542, 543, 544, 545, 1907, 546, 547, 548,
7352 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
7353 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
7354 0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
7355 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
7356 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
7357 590, 591, 0, 0, 863, 0, 0, 0, 0, 1493,
7358 1494, 5069, 0, 0, 0, 0, 0, 0, 5070, 227,
7359 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
7360 237, 3, 4, 0, 0, 0, 0, 0, 238, 239,
7361 0, 240, 241, 242, 243, 244, 245, 246, 247, 248,
7362 249, 250, 251, 0, 252, 253, 254, 255, 256, 257,
7363 0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
7364 265, 266, 267, 0, 268, 0, 269, 270, 271, 272,
7365 273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
7366 282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
7367 288, 0, 0, 0, 289, 290, 291, 292, 293, 294,
7368 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
7369 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
7370 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
7371 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
7372 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
7373 334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
7374 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
7375 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
7376 358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
7377 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
7378 375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
7379 0, 384, 385, 386, 387, 388, 0, 389, 390, 391,
7380 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
7381 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
7382 410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
7383 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
7384 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
7385 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
7386 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
7387 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
7388 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
7389 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
7390 480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
7391 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
7392 40, 499, 500, 501, 502, 503, 0, 504, 505, 506,
7393 507, 508, 509, 510, 511, 512, 513, 0, 514, 515,
7394 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
7395 526, 527, 528, 0, 529, 530, 44, 531, 532, 533,
7396 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
7397 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
7398 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
7399 0, 0, 558, 559, 560, 561, 562, 1145, 564, 0,
7400 565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
7401 49, 572, 573, 574, 575, 576, 577, 578, 579, 580,
7402 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
7403 591, 0, 0, 50, 226, 0, 0, 0, 0, 0,
7404 0, 0, 0, 0, 0, 0, 0, 51, 0, 227,
7405 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
7406 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
7407 0, 240, 241, 242, 243, 244, 245, 246, 247, 248,
7408 249, 250, 251, 0, 252, 253, 254, 255, 256, 257,
7409 0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
7410 265, 266, 267, 0, 268, 0, 269, 270, 271, 272,
7411 273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
7412 282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
7413 288, 0, 0, 0, 289, 290, 291, 292, 293, 294,
7414 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
7415 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
7416 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
7417 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
7418 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
7419 334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
7420 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
7421 349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
7422 358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
7423 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
7424 375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
7425 0, 384, 385, 386, 387, 388, 0, 389, 390, 391,
7426 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
7427 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
7428 410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
7429 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
7430 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
7431 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
7432 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
7433 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
7434 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
7435 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
7436 480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
7437 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
7438 0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
7439 507, 508, 509, 510, 511, 512, 513, 0, 514, 515,
7440 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
7441 526, 527, 528, 0, 529, 530, 0, 531, 532, 533,
7442 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
7443 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
7444 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
7445 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
7446 565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
7447 0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
7448 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
7449 591, 0, 0, 599, 0, 0, 0, 0, 0, 0,
7450 0, 0, 0, 0, 0, 0, 0, 4852, 227, 228,
7451 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
7452 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
7453 240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
7454 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
7455 0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
7456 266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
7457 0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
7458 283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
7459 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
7460 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
7461 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
7462 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
7463 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
7464 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
7465 0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
7466 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
7467 350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
7468 359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
7469 368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
7470 0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
7471 384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
7472 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
7473 401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
7474 411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
7475 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
7476 0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
7477 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
7478 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
7479 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
7480 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
7481 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
7482 0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
7483 490, 491, 492, 493, 494, 495, 496, 497, 498, 40,
7484 499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
7485 508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
7486 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
7487 527, 528, 0, 529, 530, 44, 531, 0, 533, 534,
7488 535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
7489 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
7490 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
7491 0, 558, 559, 560, 561, 562, 1145, 564, 0, 565,
7492 0, 567, 568, 569, 570, 0, 0, 571, 0, 49,
7493 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
7494 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
7495 0, 0, 50, 599, 0, 0, 0, 0, 0, 0,
7496 0, 0, 0, 0, 0, 0, 51, 0, 227, 228,
7497 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
7498 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
7499 240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
7500 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
7501 0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
7502 266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
7503 0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
7504 283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
7505 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
7506 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
7507 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
7508 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
7509 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
7510 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
7511 0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
7512 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
7513 350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
7514 359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
7515 368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
7516 0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
7517 384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
7518 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
7519 401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
7520 411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
7521 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
7522 0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
7523 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
7524 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
7525 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
7526 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
7527 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
7528 0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
7529 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
7530 499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
7531 508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
7532 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
7533 527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
7534 535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
7535 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
7536 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
7537 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
7538 0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
7539 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
7540 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
7541 0, 0, 599, 0, 0, 0, 0, 0, 0, 0,
7542 0, 0, 0, 0, 0, 0, 1340, 227, 228, 229,
7543 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
7544 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
7545 241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
7546 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
7547 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
7548 267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
7549 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
7550 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
7551 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
7552 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
7553 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
7554 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
7555 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
7556 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
7557 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
7558 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
7559 351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
7560 360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
7561 369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
7562 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
7563 385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
7564 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
7565 402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
7566 412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
7567 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
7568 427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
7569 0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
7570 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
7571 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
7572 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
7573 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
7574 481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
7575 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
7576 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
7577 0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
7578 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
7579 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
7580 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
7581 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
7582 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
7583 558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
7584 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
7585 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
7586 583, 584, 585, 586, 587, 588, 589, 590, 591, 0,
7587 0, 599, 0, 0, 0, 0, 0, 0, 0, 0,
7588 0, 0, 0, 0, 0, 2912, 227, 228, 229, 230,
7589 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
7590 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
7591 242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
7592 0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
7593 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
7594 0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
7595 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
7596 0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
7597 0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
7598 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
7599 305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
7600 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
7601 320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
7602 329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
7603 0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
7604 0, 344, 345, 346, 0, 347, 348, 349, 350, 351,
7605 0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
7606 361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
7607 370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
7608 0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
7609 0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
7610 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
7611 403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
7612 413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
7613 421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
7614 428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
7615 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
7616 0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
7617 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
7618 464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
7619 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
7620 482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
7621 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
7622 501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
7623 510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
7624 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
7625 0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
7626 537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
7627 544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
7628 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
7629 559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
7630 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
7631 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
7632 584, 585, 586, 587, 588, 589, 590, 591, 0, 0,
7633 599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7634 0, 0, 0, 0, 4085, 227, 228, 229, 230, 231,
7635 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
7636 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
7637 0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
7638 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
7639 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
7640 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
7641 277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
7642 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
7643 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
7644 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
7645 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
7646 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
7647 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
7648 0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
7649 0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
7650 344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
7651 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
7652 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
7653 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
7654 379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
7655 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
7656 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
7657 404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
7658 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
7659 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
7660 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
7661 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
7662 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
7663 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
7664 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
7665 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
7666 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
7667 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
7668 502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
7669 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
7670 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
7671 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
7672 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
7673 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
7674 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
7675 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
7676 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
7677 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
7678 585, 586, 587, 588, 589, 590, 591, 0, 0, 0,
7679 0, 0, 1058, 1492, 659, 0, 0, 877, 719, 0,
7680 0, 0, 0, 4540, 878, 879, 880, 227, 228, 229,
7681 230, 231, 232, 233, 234, 1623, 235, 236, 237, 1624,
7682 1625, 1626, 1627, 1628, 1629, 1630, 238, 239, 1631, 240,
7683 241, 242, 243, 244, 245, 246, 0, 1059, 249, 1060,
7684 1061, 1632, 252, 253, 254, 255, 256, 257, 1633, 1634,
7685 258, 259, 1062, 1063, 262, 1635, 263, 264, 265, 266,
7686 0, 1636, 268, 1637, 269, 270, 271, 272, 273, 274,
7687 275, 276, 277, 1638, 278, 279, 280, 281, 282, 283,
7688 1639, 284, 285, 286, 287, 1640, 1641, 1642, 288, 1643,
7689 1644, 1645, 289, 290, 291, 292, 293, 294, 1064, 1065,
7690 297, 1646, 298, 1647, 299, 300, 301, 302, 303, 304,
7691 1648, 305, 306, 307, 308, 1649, 1650, 309, 310, 1066,
7692 312, 313, 1651, 314, 315, 316, 1652, 317, 318, 319,
7693 1653, 320, 321, 322, 323, 0, 325, 326, 327, 0,
7694 1654, 329, 1655, 330, 331, 1067, 333, 1656, 334, 1657,
7695 335, 336, 1658, 337, 338, 339, 340, 341, 1659, 342,
7696 0, 1660, 0, 345, 346, 1661, 347, 348, 349, 350,
7697 351, 352, 353, 354, 355, 356, 1662, 357, 358, 359,
7698 360, 361, 362, 363, 1663, 364, 365, 0, 367, 368,
7699 369, 370, 1069, 1070, 1664, 1071, 1665, 374, 375, 376,
7700 377, 378, 379, 380, 381, 382, 383, 1666, 1667, 384,
7701 0, 386, 387, 388, 1668, 389, 390, 391, 1669, 1670,
7702 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
7703 402, 403, 404, 405, 406, 407, 1072, 409, 1073, 411,
7704 412, 413, 3839, 1671, 415, 416, 417, 418, 1672, 0,
7705 420, 1074, 422, 423, 424, 1673, 425, 426, 1674, 1675,
7706 3840, 428, 429, 1676, 1677, 430, 431, 0, 433, 434,
7707 435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
7708 445, 1678, 446, 447, 0, 449, 0, 451, 452, 453,
7709 1679, 454, 455, 456, 457, 458, 459, 460, 461, 462,
7710 463, 1075, 465, 466, 467, 468, 1680, 469, 470, 471,
7711 472, 473, 474, 475, 476, 477, 478, 479, 480, 1681,
7712 481, 482, 483, 484, 485, 486, 487, 488, 0, 490,
7713 491, 492, 493, 494, 495, 496, 497, 498, 1682, 499,
7714 500, 501, 502, 503, 1683, 504, 505, 2161, 507, 508,
7715 509, 510, 511, 1077, 513, 1684, 514, 515, 516, 517,
7716 518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
7717 528, 1685, 529, 530, 1686, 531, 532, 533, 534, 535,
7718 536, 537, 1687, 538, 1078, 1079, 1688, 1689, 541, 542,
7719 0, 544, 0, 1690, 546, 547, 548, 549, 550, 551,
7720 552, 1691, 1692, 553, 554, 555, 556, 557, 1693, 1694,
7721 558, 559, 560, 561, 562, 0, 1080, 1695, 565, 566,
7722 567, 568, 569, 570, 1696, 1697, 571, 1698, 1699, 572,
7723 573, 574, 575, 576, 577, 0, 0, 0, 0, 0,
7724 0, 0, 0, 0, 0, 0, 589, 590, 591, 0,
7725 0, 0, 883, 884, 885, 0, 3841, 3842, 888, 889,
7726 890, 891, 1058, 1492, 659, 0, 0, 877, 719, 0,
7727 0, 0, 0, 0, 878, 879, 880, 227, 228, 229,
7728 230, 231, 232, 233, 234, 1623, 235, 236, 237, 1624,
7729 1625, 1626, 1627, 1628, 1629, 1630, 238, 239, 1631, 240,
7730 241, 242, 243, 244, 245, 246, 0, 1059, 249, 1060,
7731 1061, 1632, 252, 253, 254, 255, 256, 257, 1633, 1634,
7732 258, 259, 1062, 1063, 262, 1635, 263, 264, 265, 266,
7733 0, 1636, 268, 1637, 269, 270, 271, 272, 273, 274,
7734 275, 276, 277, 1638, 278, 279, 280, 281, 282, 283,
7735 1639, 284, 285, 286, 287, 1640, 1641, 1642, 288, 1643,
7736 1644, 1645, 289, 290, 291, 292, 293, 294, 1064, 1065,
7737 297, 1646, 298, 1647, 299, 300, 301, 302, 303, 304,
7738 1648, 305, 306, 307, 308, 1649, 1650, 309, 310, 1066,
7739 312, 313, 1651, 314, 315, 316, 1652, 317, 318, 319,
7740 1653, 320, 321, 322, 323, 0, 325, 326, 327, 0,
7741 1654, 329, 1655, 330, 331, 1067, 333, 1656, 334, 1657,
7742 335, 336, 1658, 337, 338, 339, 340, 341, 1659, 342,
7743 0, 1660, 0, 345, 346, 1661, 347, 348, 349, 350,
7744 351, 352, 353, 354, 355, 356, 1662, 357, 358, 359,
7745 360, 361, 362, 363, 1663, 364, 365, 0, 367, 368,
7746 369, 370, 1069, 1070, 1664, 1071, 1665, 374, 375, 376,
7747 377, 378, 379, 380, 381, 382, 383, 1666, 1667, 384,
7748 0, 386, 387, 388, 1668, 389, 390, 391, 1669, 1670,
7749 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
7750 402, 403, 404, 405, 406, 407, 1072, 409, 1073, 411,
7751 412, 413, 4261, 1671, 415, 416, 417, 418, 1672, 0,
7752 420, 1074, 422, 423, 424, 1673, 425, 426, 1674, 1675,
7753 3840, 428, 429, 1676, 1677, 430, 431, 0, 433, 434,
7754 435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
7755 445, 1678, 446, 447, 0, 449, 0, 451, 452, 453,
7756 1679, 454, 455, 456, 457, 458, 459, 460, 461, 462,
7757 463, 1075, 465, 466, 467, 468, 1680, 469, 470, 471,
7758 472, 473, 474, 475, 476, 477, 478, 479, 480, 1681,
7759 481, 482, 483, 484, 485, 486, 487, 488, 0, 490,
7760 491, 492, 493, 494, 495, 496, 497, 498, 1682, 499,
7761 500, 501, 502, 503, 1683, 504, 505, 2161, 507, 508,
7762 509, 510, 511, 1077, 513, 1684, 514, 515, 516, 517,
7763 518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
7764 528, 1685, 529, 530, 1686, 531, 532, 533, 534, 535,
7765 536, 537, 1687, 538, 1078, 1079, 1688, 1689, 541, 542,
7766 0, 544, 0, 1690, 546, 547, 548, 549, 550, 551,
7767 552, 1691, 1692, 553, 554, 555, 556, 557, 1693, 1694,
7768 558, 559, 560, 561, 562, 0, 1080, 1695, 565, 566,
7769 567, 568, 569, 570, 1696, 1697, 571, 1698, 1699, 572,
7770 573, 574, 575, 576, 577, 0, 0, 0, 0, 0,
7771 0, 0, 0, 0, 0, 0, 589, 590, 591, 0,
7772 599, 0, 883, 884, 885, 877, 3841, 3842, 888, 889,
7773 890, 891, 878, 879, 880, 227, 228, 229, 230, 231,
7774 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
7775 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
7776 0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
7777 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
7778 260, 261, 262, 0, 263, 881, 265, 266, 267, 0,
7779 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
7780 277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
7781 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
7782 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
7783 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
7784 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
7785 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
7786 321, 322, 323, 324, 325, 326, 327, 328, 0, 882,
7787 0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
7788 0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
7789 344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
7790 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
7791 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
7792 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
7793 379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
7794 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
7795 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
7796 404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
7797 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
7798 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
7799 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
7800 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
7801 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
7802 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
7803 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
7804 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
7805 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
7806 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
7807 502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
7808 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
7809 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
7810 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
7811 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
7812 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
7813 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
7814 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
7815 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
7816 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
7817 585, 586, 587, 588, 589, 590, 591, 0, 599, 0,
7818 883, 884, 885, 877, 886, 887, 888, 889, 890, 891,
7819 878, 879, 880, 227, 228, 229, 230, 231, 232, 233,
7820 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
7821 0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
7822 245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
7823 254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
7824 262, 0, 263, 1008, 265, 266, 267, 0, 0, 0,
7825 269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
7826 278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
7827 287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
7828 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
7829 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
7830 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
7831 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
7832 323, 324, 325, 326, 327, 328, 0, 1009, 0, 330,
7833 331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
7834 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
7835 346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
7836 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
7837 0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
7838 0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
7839 381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
7840 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
7841 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
7842 406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
7843 415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
7844 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
7845 0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
7846 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
7847 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
7848 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
7849 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
7850 476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
7851 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
7852 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
7853 0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
7854 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
7855 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
7856 0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
7857 539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
7858 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
7859 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
7860 562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
7861 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
7862 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
7863 587, 588, 589, 590, 591, 0, 599, 0, 883, 884,
7864 885, 877, 886, 887, 888, 889, 890, 891, 878, 879,
7865 880, 227, 228, 229, 230, 231, 232, 233, 234, 0,
7866 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
7867 238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
7868 247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
7869 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
7870 263, 1108, 265, 266, 267, 0, 0, 0, 269, 270,
7871 271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
7872 280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
7873 0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
7874 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
7875 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
7876 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
7877 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
7878 325, 326, 327, 328, 0, 1109, 0, 330, 331, 332,
7879 333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
7880 340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
7881 347, 348, 349, 350, 1110, 0, 353, 354, 355, 356,
7882 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
7883 0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
7884 0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
7885 383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
7886 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
7887 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
7888 408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
7889 0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
7890 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
7891 431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
7892 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
7893 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
7894 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
7895 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
7896 478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
7897 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
7898 497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
7899 505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
7900 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
7901 524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
7902 0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
7903 0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
7904 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
7905 556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
7906 564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
7907 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
7908 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
7909 589, 590, 591, 0, 599, 0, 883, 884, 885, 877,
7910 886, 887, 888, 889, 890, 891, 878, 879, 880, 227,
7911 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
7912 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
7913 0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
7914 0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
7915 0, 0, 258, 259, 260, 261, 262, 0, 263, 1722,
7916 265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
7917 273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
7918 282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
7919 0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
7920 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
7921 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
7922 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
7923 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
7924 327, 328, 0, 1723, 0, 330, 331, 332, 333, 0,
7925 334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
7926 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
7927 349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
7928 358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
7929 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
7930 0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
7931 0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
7932 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
7933 400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
7934 410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
7935 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
7936 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
7937 0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
7938 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
7939 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
7940 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
7941 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
7942 480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
7943 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
7944 0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
7945 507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
7946 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
7947 526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
7948 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
7949 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
7950 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
7951 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
7952 565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
7953 0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
7954 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
7955 591, 0, 599, 0, 883, 884, 885, 877, 886, 887,
7956 888, 889, 890, 891, 878, 879, 880, 227, 228, 229,
7957 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
7958 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
7959 241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
7960 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
7961 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
7962 267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
7963 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
7964 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
7965 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
7966 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
7967 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
7968 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
7969 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
7970 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
7971 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
7972 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
7973 351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
7974 360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
7975 369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
7976 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
7977 385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
7978 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
7979 402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
7980 412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
7981 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
7982 427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
7983 0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
7984 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
7985 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
7986 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
7987 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
7988 481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
7989 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
7990 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
7991 0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
7992 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
7993 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
7994 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
7995 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
7996 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
7997 558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
7998 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
7999 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
8000 583, 584, 585, 586, 587, 588, 589, 590, 591, 0,
8001 599, 0, 883, 884, 885, 877, 886, 887, 888, 889,
8002 890, 891, 878, 879, 880, 227, 228, 229, 230, 231,
8003 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
8004 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
8005 0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
8006 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
8007 260, 261, 262, 0, 263, 2990, 265, 266, 267, 0,
8008 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
8009 277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
8010 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
8011 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
8012 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
8013 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
8014 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
8015 321, 322, 323, 324, 325, 326, 327, 328, 0, 2991,
8016 0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
8017 0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
8018 344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
8019 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
8020 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
8021 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
8022 379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
8023 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
8024 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
8025 404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
8026 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
8027 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
8028 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
8029 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
8030 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
8031 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
8032 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
8033 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
8034 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
8035 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
8036 502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
8037 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
8038 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
8039 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
8040 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
8041 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
8042 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
8043 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
8044 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
8045 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
8046 585, 586, 587, 588, 589, 590, 591, 0, 599, 0,
8047 883, 884, 885, 877, 886, 887, 888, 889, 890, 891,
8048 878, 879, 880, 227, 228, 229, 230, 231, 232, 233,
8049 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
8050 0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
8051 245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
8052 254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
8053 262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
8054 269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
8055 278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
8056 287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
8057 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
8058 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
8059 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
8060 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
8061 323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
8062 331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
8063 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
8064 346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
8065 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
8066 0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
8067 0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
8068 381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
8069 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
8070 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
8071 406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
8072 415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
8073 424, 0, 425, 426, 0, 0, 4829, 428, 429, 0,
8074 0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
8075 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
8076 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
8077 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
8078 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
8079 476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
8080 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
8081 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
8082 0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
8083 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
8084 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
8085 0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
8086 539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
8087 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
8088 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
8089 562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
8090 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
8091 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
8092 587, 588, 589, 590, 591, 1622, 0, 0, 883, 884,
8093 885, 0, 886, 887, 888, 889, 890, 891, 0, 0,
8094 227, 228, 229, 230, 231, 232, 233, 234, 1623, 235,
8095 236, 237, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 238,
8096 239, 1631, 240, 241, 242, 243, 244, 245, 246, 247,
8097 248, 249, 250, 251, 1632, 252, 253, 254, 255, 256,
8098 257, 1633, 1634, 258, 259, 260, 261, 262, 1635, 263,
8099 264, 265, 266, 267, 1636, 268, 1637, 269, 270, 271,
8100 272, 273, 274, 275, 276, 277, 1638, 278, 279, 280,
8101 281, 282, 283, 1639, 284, 285, 286, 287, 1640, 1641,
8102 1642, 288, 1643, 1644, 1645, 289, 290, 291, 292, 293,
8103 294, 295, 296, 297, 1646, 298, 1647, 299, 300, 301,
8104 302, 303, 304, 1648, 305, 306, 307, 308, 1649, 1650,
8105 309, 310, 311, 312, 313, 1651, 314, 315, 316, 1652,
8106 317, 318, 319, 1653, 320, 321, 322, 323, 324, 325,
8107 326, 327, 328, 1654, 329, 1655, 330, 331, 332, 333,
8108 1656, 334, 1657, 335, 336, 1658, 337, 338, 339, 340,
8109 341, 1659, 342, 343, 1660, 344, 345, 346, 1661, 347,
8110 348, 349, 350, 351, 352, 353, 354, 355, 356, 1662,
8111 357, 358, 359, 360, 361, 362, 363, 1663, 364, 365,
8112 366, 367, 368, 369, 370, 371, 372, 1664, 373, 1665,
8113 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
8114 1666, 1667, 384, 385, 386, 387, 388, 1668, 389, 390,
8115 391, 1669, 1670, 392, 393, 394, 395, 396, 397, 398,
8116 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
8117 409, 410, 411, 412, 413, 414, 1671, 415, 416, 417,
8118 418, 1672, 419, 420, 421, 422, 423, 424, 1673, 425,
8119 426, 1674, 1675, 427, 428, 429, 1676, 1677, 430, 431,
8120 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
8121 442, 443, 444, 445, 1678, 446, 447, 448, 449, 450,
8122 451, 452, 453, 1679, 454, 455, 456, 457, 458, 459,
8123 460, 461, 462, 463, 464, 465, 466, 467, 468, 1680,
8124 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
8125 479, 480, 1681, 481, 482, 483, 484, 485, 486, 487,
8126 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
8127 498, 1682, 499, 500, 501, 502, 503, 1683, 504, 505,
8128 506, 507, 508, 509, 510, 511, 512, 513, 1684, 514,
8129 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
8130 525, 526, 527, 528, 1685, 529, 530, 1686, 531, 532,
8131 533, 534, 535, 536, 537, 1687, 538, 539, 540, 1688,
8132 1689, 541, 542, 543, 544, 545, 1690, 546, 547, 548,
8133 549, 550, 551, 552, 1691, 1692, 553, 554, 555, 556,
8134 557, 1693, 1694, 558, 559, 560, 561, 562, 563, 564,
8135 1695, 565, 566, 567, 568, 569, 570, 1696, 1697, 571,
8136 1698, 1699, 572, 573, 574, 575, 576, 577, 578, 579,
8137 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
8138 590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
8139 0, 1700, 0, 0, 0, 0, 0, 227, 228, 229,
8140 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
8141 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
8142 241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
8143 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
8144 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
8145 267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
8146 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
8147 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
8148 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
8149 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
8150 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
8151 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
8152 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
8153 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
8154 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
8155 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
8156 351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
8157 360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
8158 369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
8159 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
8160 385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
8161 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
8162 402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
8163 412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
8164 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
8165 427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
8166 0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
8167 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
8168 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
8169 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
8170 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
8171 481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
8172 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
8173 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
8174 0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
8175 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
8176 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
8177 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
8178 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
8179 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
8180 558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
8181 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
8182 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
8183 583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
8184 0, 0, 0, 0, 0, 0, 0, 0, 813, 0,
8185 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
8186 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
8187 0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
8188 244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
8189 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
8190 261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
8191 0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
8192 0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
8193 286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
8194 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
8195 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
8196 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
8197 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
8198 322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
8199 330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
8200 0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
8201 345, 346, 0, 347, 348, 349, 350, 351, 0, 353,
8202 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
8203 363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
8204 372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
8205 380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
8206 0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
8207 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
8208 405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
8209 0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
8210 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
8211 0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
8212 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
8213 447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
8214 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
8215 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
8216 475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
8217 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
8218 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
8219 503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
8220 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
8221 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
8222 530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
8223 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
8224 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
8225 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
8226 561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
8227 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
8228 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
8229 586, 587, 588, 589, 590, 591, 1058, 0, 0, 0,
8230 0, 0, 0, 0, 0, 5221, 0, 0, 0, 0,
8231 0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
8232 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
8233 238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
8234 0, 1059, 249, 1060, 1061, 0, 252, 253, 254, 255,
8235 256, 257, 0, 0, 258, 259, 1062, 1063, 262, 0,
8236 263, 264, 265, 266, 0, 0, 268, 0, 269, 270,
8237 271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
8238 280, 281, 282, 283, 0, 284, 285, 286, 287, 0,
8239 0, 0, 288, 0, 0, 0, 289, 290, 291, 292,
8240 293, 294, 1064, 1065, 297, 0, 298, 0, 299, 300,
8241 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
8242 0, 309, 310, 1066, 312, 313, 0, 314, 315, 316,
8243 0, 317, 318, 319, 0, 320, 321, 322, 323, 0,
8244 325, 326, 327, 0, 0, 329, 0, 330, 331, 1067,
8245 333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
8246 340, 341, 0, 342, 0, 0, 0, 345, 346, 0,
8247 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
8248 2157, 357, 358, 359, 360, 361, 362, 363, 0, 364,
8249 365, 2158, 367, 368, 369, 370, 1069, 1070, 0, 1071,
8250 0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
8251 383, 0, 0, 384, 0, 386, 387, 388, 0, 389,
8252 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
8253 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
8254 1072, 409, 1073, 411, 412, 413, 0, 0, 415, 416,
8255 417, 418, 0, 0, 420, 1074, 422, 423, 424, 0,
8256 425, 426, 0, 0, 427, 428, 429, 0, 2159, 430,
8257 431, 2160, 433, 434, 435, 0, 437, 438, 439, 440,
8258 441, 442, 443, 444, 445, 0, 446, 447, 0, 449,
8259 0, 451, 452, 453, 0, 454, 455, 456, 457, 458,
8260 459, 460, 461, 462, 463, 1075, 465, 466, 467, 468,
8261 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
8262 478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
8263 487, 488, 0, 490, 491, 492, 493, 494, 495, 496,
8264 497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
8265 505, 2161, 507, 508, 509, 510, 511, 1077, 513, 0,
8266 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
8267 524, 525, 526, 0, 528, 0, 529, 530, 0, 531,
8268 532, 533, 534, 535, 536, 537, 0, 538, 1078, 1079,
8269 0, 0, 541, 542, 0, 544, 0, 0, 546, 547,
8270 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
8271 556, 557, 0, 0, 558, 559, 560, 561, 562, 0,
8272 1080, 2162, 565, 566, 567, 568, 569, 570, 0, 0,
8273 571, 0, 0, 572, 573, 574, 575, 576, 577, 3334,
8274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8275 589, 590, 591, 0, 227, 228, 229, 230, 231, 232,
8276 233, 234, 2163, 235, 236, 237, 0, 0, 0, 0,
8277 0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
8278 244, 245, 246, 0, 1059, 249, 1060, 1061, 0, 252,
8279 253, 254, 255, 256, 257, 0, 0, 258, 259, 1062,
8280 1063, 262, 0, 263, 264, 265, 266, 0, 0, 268,
8281 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
8282 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
8283 286, 287, 0, 0, 0, 288, 0, 0, 0, 289,
8284 290, 291, 292, 293, 294, 1064, 1065, 297, 0, 298,
8285 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
8286 307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
8287 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
8288 322, 323, 0, 325, 326, 327, 0, 0, 329, 0,
8289 330, 331, 1067, 333, 0, 334, 0, 335, 336, 0,
8290 337, 338, 339, 340, 341, 0, 342, 0, 0, 0,
8291 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
8292 354, 355, 356, 2157, 357, 358, 359, 360, 361, 362,
8293 363, 0, 364, 365, 2158, 367, 368, 369, 370, 1069,
8294 1070, 0, 1071, 0, 374, 375, 376, 377, 378, 379,
8295 380, 381, 382, 383, 0, 0, 384, 0, 386, 387,
8296 388, 0, 389, 390, 391, 0, 0, 392, 393, 394,
8297 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
8298 405, 406, 407, 1072, 409, 1073, 411, 412, 413, 0,
8299 0, 415, 416, 417, 418, 0, 0, 420, 1074, 422,
8300 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
8301 0, 2159, 430, 431, 2160, 433, 434, 435, 0, 437,
8302 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
8303 447, 0, 449, 0, 451, 452, 453, 0, 454, 455,
8304 456, 457, 458, 459, 460, 461, 462, 463, 1075, 465,
8305 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
8306 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
8307 484, 485, 486, 487, 488, 0, 490, 491, 492, 493,
8308 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
8309 503, 0, 504, 505, 2161, 507, 508, 509, 510, 511,
8310 1077, 513, 0, 514, 515, 516, 517, 518, 519, 520,
8311 521, 522, 523, 524, 525, 526, 0, 528, 0, 529,
8312 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
8313 538, 1078, 1079, 0, 0, 541, 542, 0, 544, 0,
8314 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
8315 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
8316 561, 562, 0, 1080, 2162, 565, 566, 567, 568, 569,
8317 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
8318 576, 577, 863, 1492, 659, 0, 0, 0, 719, 0,
8319 0, 0, 0, 589, 590, 591, 0, 227, 228, 229,
8320 230, 231, 232, 233, 234, 2163, 235, 236, 237, 0,
8321 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
8322 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
8323 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
8324 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
8325 267, 0, 268, 0, 269, 270, 271, 272, 273, 274,
8326 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
8327 0, 284, 285, 286, 287, 0, 0, 0, 288, 0,
8328 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
8329 297, 2085, 298, 0, 299, 300, 301, 302, 303, 304,
8330 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
8331 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
8332 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
8333 1905, 329, 0, 330, 331, 332, 333, 0, 334, 0,
8334 335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
8335 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
8336 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
8337 360, 361, 362, 363, 0, 364, 365, 366, 367, 368,
8338 369, 370, 371, 372, 0, 373, 0, 374, 375, 376,
8339 377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
8340 385, 386, 387, 388, 0, 389, 390, 391, 0, 0,
8341 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
8342 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
8343 412, 413, 414, 0, 415, 416, 417, 418, 0, 419,
8344 420, 421, 422, 423, 424, 0, 425, 426, 1906, 0,
8345 427, 428, 429, 0, 0, 430, 431, 432, 433, 434,
8346 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
8347 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
8348 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
8349 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
8350 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
8351 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
8352 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
8353 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
8354 509, 510, 511, 512, 513, 0, 514, 515, 516, 517,
8355 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
8356 528, 0, 529, 530, 0, 531, 532, 533, 534, 535,
8357 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
8358 543, 544, 545, 1907, 546, 547, 548, 549, 550, 551,
8359 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
8360 558, 559, 560, 561, 562, 563, 564, 0, 565, 566,
8361 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
8362 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
8363 583, 584, 585, 586, 587, 588, 589, 590, 591, 863,
8364 1492, 659, 0, 0, 0, 719, 1493, 1494, 0, 0,
8365 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
8366 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
8367 0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
8368 244, 245, 246, 247, 248, 249, 250, 251, 0, 252,
8369 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
8370 261, 262, 0, 263, 264, 265, 266, 267, 0, 268,
8371 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
8372 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
8373 286, 287, 0, 0, 0, 288, 0, 0, 0, 289,
8374 290, 291, 292, 293, 294, 295, 296, 297, 2090, 298,
8375 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
8376 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
8377 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
8378 322, 323, 324, 325, 326, 327, 328, 1905, 329, 0,
8379 330, 331, 332, 333, 0, 334, 0, 335, 336, 0,
8380 337, 338, 339, 340, 341, 0, 342, 343, 0, 344,
8381 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
8382 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
8383 363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
8384 372, 0, 373, 0, 374, 375, 376, 377, 378, 379,
8385 380, 381, 382, 383, 0, 0, 384, 385, 386, 387,
8386 388, 0, 389, 390, 391, 0, 0, 392, 393, 394,
8387 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
8388 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
8389 0, 415, 416, 417, 418, 0, 419, 420, 421, 422,
8390 423, 424, 0, 425, 426, 1906, 0, 427, 428, 429,
8391 0, 0, 430, 431, 432, 433, 434, 435, 436, 437,
8392 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
8393 447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
8394 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
8395 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
8396 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
8397 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
8398 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
8399 503, 0, 504, 505, 506, 507, 508, 509, 510, 511,
8400 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
8401 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
8402 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
8403 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
8404 1907, 546, 547, 548, 549, 550, 551, 552, 0, 0,
8405 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
8406 561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
8407 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
8408 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
8409 586, 587, 588, 589, 590, 591, 863, 1492, 659, 0,
8410 0, 0, 719, 1493, 1494, 0, 0, 0, 0, 0,
8411 0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
8412 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
8413 238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
8414 247, 248, 249, 250, 251, 0, 252, 253, 254, 255,
8415 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
8416 263, 264, 265, 266, 267, 0, 268, 0, 269, 270,
8417 271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
8418 280, 281, 282, 283, 0, 284, 285, 286, 287, 0,
8419 0, 0, 288, 0, 0, 0, 289, 290, 291, 292,
8420 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
8421 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
8422 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
8423 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
8424 325, 326, 327, 328, 1905, 329, 0, 330, 331, 332,
8425 333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
8426 340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
8427 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
8428 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
8429 365, 366, 367, 368, 369, 370, 371, 372, 0, 373,
8430 0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
8431 383, 0, 0, 384, 385, 386, 387, 388, 0, 389,
8432 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
8433 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
8434 408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
8435 417, 418, 0, 419, 420, 421, 422, 423, 424, 0,
8436 425, 426, 1906, 0, 427, 428, 429, 0, 0, 430,
8437 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
8438 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
8439 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
8440 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
8441 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
8442 478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
8443 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
8444 497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
8445 505, 506, 507, 508, 509, 510, 511, 512, 513, 0,
8446 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
8447 524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
8448 532, 533, 534, 535, 536, 537, 0, 538, 539, 540,
8449 0, 0, 541, 542, 543, 544, 545, 1907, 546, 547,
8450 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
8451 556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
8452 564, 0, 565, 566, 567, 568, 569, 570, 0, 0,
8453 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
8454 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
8455 589, 590, 591, 863, 0, 659, 0, 0, 0, 719,
8456 1493, 1494, 0, 0, 0, 0, 0, 0, 227, 228,
8457 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
8458 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
8459 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
8460 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
8461 0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
8462 266, 267, 0, 268, 0, 269, 270, 271, 272, 273,
8463 274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
8464 283, 0, 284, 285, 286, 287, 0, 0, 0, 288,
8465 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
8466 296, 297, 2944, 298, 0, 299, 300, 301, 302, 303,
8467 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
8468 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
8469 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
8470 328, 1905, 329, 0, 330, 331, 332, 333, 0, 334,
8471 0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
8472 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
8473 350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
8474 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
8475 368, 369, 370, 371, 372, 0, 373, 0, 374, 375,
8476 376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
8477 384, 385, 386, 387, 388, 0, 389, 390, 391, 0,
8478 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
8479 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
8480 411, 412, 413, 414, 0, 415, 416, 417, 418, 0,
8481 419, 420, 421, 422, 423, 424, 0, 425, 426, 1906,
8482 0, 427, 428, 429, 0, 0, 430, 431, 432, 433,
8483 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
8484 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
8485 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
8486 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
8487 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
8488 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
8489 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
8490 499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
8491 508, 509, 510, 511, 512, 513, 0, 514, 515, 516,
8492 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
8493 527, 528, 0, 529, 530, 0, 531, 532, 533, 534,
8494 535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
8495 542, 543, 544, 545, 1907, 546, 547, 548, 549, 550,
8496 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
8497 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
8498 566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
8499 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
8500 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
8501 599, 0, 0, 0, 0, 0, 719, 731, 732, 0,
8502 0, 0, 0, 0, 0, 227, 720, 229, 230, 231,
8503 232, 233, 234, 721, 235, 236, 237, 0, 0, 0,
8504 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
8505 0, 722, 245, 246, 247, 248, 0, 250, 251, 0,
8506 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
8507 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
8508 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
8509 277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
8510 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
8511 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
8512 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
8513 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
8514 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
8515 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
8516 0, 330, 723, 332, 333, 0, 334, 0, 724, 0,
8517 725, 0, 338, 339, 340, 341, 0, 342, 343, 0,
8518 344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
8519 353, 354, 355, 356, 726, 357, 358, 359, 360, 361,
8520 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
8521 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
8522 379, 380, 381, 382, 727, 0, 0, 384, 385, 0,
8523 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
8524 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
8525 404, 405, 406, 407, 408, 0, 410, 411, 728, 413,
8526 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
8527 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
8528 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
8529 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
8530 446, 447, 448, 449, 450, 451, 452, 453, 0, 729,
8531 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
8532 465, 466, 467, 468, 0, 469, 470, 471, 730, 473,
8533 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
8534 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
8535 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
8536 502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
8537 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
8538 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
8539 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
8540 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
8541 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
8542 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
8543 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
8544 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
8545 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
8546 585, 586, 587, 588, 589, 590, 591, 1622, 5435, 659,
8547 0, 0, 0, 719, 731, 732, 0, 0, 0, 0,
8548 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
8549 1623, 235, 236, 237, 1624, 1625, 1626, 1627, 1628, 1629,
8550 1630, 238, 239, 1631, 240, 241, 242, 243, 244, 245,
8551 246, 247, 248, 249, 250, 251, 1632, 252, 253, 254,
8552 255, 256, 257, 1633, 1634, 258, 259, 260, 261, 262,
8553 1635, 263, 264, 265, 266, 267, 1636, 268, 1637, 269,
8554 270, 271, 272, 273, 274, 275, 276, 277, 1638, 278,
8555 279, 280, 281, 282, 283, 1639, 284, 285, 286, 287,
8556 1640, 1641, 1642, 288, 1643, 1644, 1645, 289, 290, 291,
8557 292, 293, 294, 295, 296, 297, 1646, 298, 1647, 299,
8558 300, 301, 302, 303, 304, 1648, 305, 306, 307, 308,
8559 1649, 1650, 309, 310, 311, 312, 313, 1651, 314, 315,
8560 316, 1652, 317, 318, 319, 1653, 320, 321, 322, 323,
8561 324, 325, 326, 327, 328, 1654, 329, 1655, 330, 331,
8562 332, 333, 1656, 334, 1657, 335, 336, 1658, 337, 338,
8563 339, 340, 341, 1659, 342, 343, 1660, 344, 345, 346,
8564 1661, 347, 348, 349, 350, 351, 352, 353, 354, 355,
8565 356, 1662, 357, 358, 359, 360, 361, 362, 363, 1663,
8566 364, 365, 366, 367, 368, 369, 370, 371, 372, 1664,
8567 373, 1665, 374, 375, 376, 377, 378, 379, 380, 381,
8568 382, 383, 1666, 1667, 384, 385, 386, 387, 388, 1668,
8569 389, 390, 391, 1669, 1670, 392, 393, 394, 395, 396,
8570 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
8571 407, 408, 409, 410, 411, 412, 413, 414, 1671, 415,
8572 416, 417, 418, 1672, 419, 420, 421, 422, 423, 424,
8573 1673, 425, 426, 1674, 1675, 427, 428, 429, 1676, 1677,
8574 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
8575 440, 441, 442, 443, 444, 445, 1678, 446, 447, 448,
8576 449, 450, 451, 452, 453, 1679, 454, 455, 456, 457,
8577 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
8578 468, 1680, 469, 470, 471, 472, 473, 474, 475, 476,
8579 477, 478, 479, 480, 1681, 481, 482, 483, 484, 485,
8580 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
8581 496, 497, 498, 1682, 499, 500, 501, 502, 503, 1683,
8582 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
8583 1684, 514, 515, 516, 517, 518, 519, 520, 521, 522,
8584 523, 524, 525, 526, 527, 528, 1685, 529, 530, 1686,
8585 531, 532, 533, 534, 535, 536, 537, 1687, 538, 539,
8586 540, 1688, 1689, 541, 542, 543, 544, 545, 1690, 546,
8587 547, 548, 549, 550, 551, 552, 1691, 1692, 553, 554,
8588 555, 556, 557, 1693, 1694, 558, 559, 560, 561, 562,
8589 563, 564, 1695, 565, 566, 567, 568, 569, 570, 1696,
8590 1697, 571, 1698, 1699, 572, 573, 574, 575, 576, 577,
8591 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
8592 588, 589, 590, 591, 1622, 0, 0, 0, 0, 0,
8593 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
8594 228, 229, 230, 231, 232, 233, 234, 1623, 235, 236,
8595 237, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 238, 239,
8596 1631, 240, 241, 242, 243, 244, 245, 246, 247, 248,
8597 249, 250, 251, 1632, 252, 253, 254, 255, 256, 257,
8598 1633, 1634, 258, 259, 260, 261, 262, 1635, 263, 264,
8599 265, 266, 267, 1636, 268, 1637, 269, 270, 271, 272,
8600 273, 274, 275, 276, 277, 1638, 278, 279, 280, 281,
8601 282, 283, 1639, 284, 285, 286, 287, 1640, 1641, 1642,
8602 288, 1643, 1644, 1645, 289, 290, 291, 292, 293, 294,
8603 295, 296, 297, 1646, 298, 1647, 299, 300, 301, 302,
8604 303, 304, 1648, 305, 306, 307, 308, 1649, 1650, 309,
8605 310, 311, 312, 313, 1651, 314, 315, 316, 1652, 317,
8606 318, 319, 1653, 320, 321, 322, 323, 324, 325, 326,
8607 327, 328, 1654, 329, 1655, 330, 331, 332, 333, 1656,
8608 334, 1657, 335, 336, 1658, 337, 338, 339, 340, 341,
8609 1659, 342, 343, 1660, 344, 345, 346, 1661, 347, 348,
8610 349, 350, 351, 352, 353, 354, 355, 356, 1662, 357,
8611 358, 359, 360, 361, 362, 363, 1663, 364, 365, 366,
8612 367, 368, 369, 370, 371, 372, 1664, 373, 1665, 374,
8613 375, 376, 377, 378, 379, 380, 381, 382, 383, 1666,
8614 1667, 384, 385, 386, 387, 388, 1668, 389, 390, 391,
8615 1669, 1670, 392, 393, 394, 395, 396, 397, 398, 399,
8616 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
8617 410, 411, 412, 413, 414, 1671, 415, 416, 417, 418,
8618 1672, 419, 420, 421, 422, 423, 424, 1673, 425, 426,
8619 1674, 1675, 427, 428, 429, 1676, 1677, 430, 431, 432,
8620 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
8621 443, 444, 445, 1678, 446, 447, 448, 449, 450, 451,
8622 452, 453, 1679, 454, 455, 456, 457, 458, 459, 460,
8623 461, 462, 463, 464, 465, 466, 467, 468, 1680, 469,
8624 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
8625 480, 1681, 481, 482, 483, 484, 485, 486, 487, 488,
8626 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
8627 1682, 499, 500, 501, 502, 503, 1683, 504, 505, 506,
8628 507, 508, 509, 510, 511, 512, 513, 1684, 514, 515,
8629 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
8630 526, 527, 528, 1685, 529, 530, 1686, 531, 532, 533,
8631 534, 535, 536, 537, 1687, 538, 539, 540, 1688, 1689,
8632 541, 542, 543, 544, 545, 1690, 546, 547, 548, 549,
8633 550, 551, 552, 1691, 1692, 553, 554, 555, 556, 557,
8634 1693, 1694, 558, 559, 560, 561, 562, 563, 564, 1695,
8635 565, 566, 567, 568, 569, 570, 1696, 1697, 571, 1698,
8636 1699, 572, 573, 574, 575, 576, 577, 578, 579, 580,
8637 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
8638 591, 1622, 0, 0, 0, 0, 0, 0, 0, 0,
8639 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
8640 3062, 232, 233, 234, 1623, 235, 236, 237, 1624, 1625,
8641 1626, 1627, 1628, 1629, 1630, 238, 239, 1631, 240, 241,
8642 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
8643 1632, 252, 253, 254, 255, 256, 257, 1633, 1634, 258,
8644 259, 260, 261, 262, 1635, 263, 264, 265, 266, 267,
8645 1636, 268, 1637, 269, 270, 271, 272, 273, 274, 275,
8646 276, 277, 1638, 278, 279, 280, 281, 282, 283, 1639,
8647 284, 285, 286, 287, 1640, 1641, 1642, 288, 1643, 1644,
8648 1645, 289, 290, 291, 292, 293, 294, 295, 296, 297,
8649 1646, 298, 1647, 299, 300, 301, 302, 303, 304, 1648,
8650 305, 306, 307, 308, 1649, 1650, 309, 310, 311, 3063,
8651 313, 1651, 314, 315, 316, 1652, 317, 318, 319, 1653,
8652 320, 321, 322, 323, 324, 325, 326, 327, 328, 1654,
8653 329, 1655, 330, 331, 332, 333, 1656, 334, 1657, 335,
8654 336, 1658, 337, 338, 339, 340, 341, 1659, 342, 343,
8655 1660, 344, 345, 346, 1661, 347, 348, 349, 350, 351,
8656 352, 353, 354, 355, 356, 1662, 357, 358, 359, 360,
8657 361, 362, 363, 1663, 364, 365, 366, 367, 368, 369,
8658 370, 371, 372, 1664, 373, 1665, 374, 375, 376, 377,
8659 378, 379, 380, 381, 382, 383, 1666, 1667, 384, 385,
8660 386, 387, 388, 1668, 389, 390, 391, 1669, 1670, 392,
8661 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
8662 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
8663 413, 414, 1671, 415, 416, 417, 418, 1672, 419, 420,
8664 421, 422, 423, 424, 1673, 425, 426, 1674, 1675, 427,
8665 428, 429, 1676, 1677, 430, 431, 432, 433, 434, 435,
8666 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
8667 1678, 446, 447, 448, 449, 450, 451, 452, 453, 1679,
8668 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
8669 464, 465, 466, 467, 468, 1680, 469, 470, 471, 472,
8670 473, 474, 475, 476, 477, 478, 479, 480, 1681, 481,
8671 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
8672 492, 493, 494, 495, 496, 497, 498, 1682, 499, 500,
8673 501, 502, 503, 1683, 3064, 505, 506, 507, 508, 509,
8674 510, 511, 512, 513, 1684, 514, 515, 516, 517, 518,
8675 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
8676 1685, 529, 530, 1686, 531, 532, 533, 534, 535, 536,
8677 537, 1687, 538, 539, 540, 1688, 1689, 541, 542, 543,
8678 544, 545, 1690, 546, 547, 548, 549, 550, 551, 552,
8679 1691, 1692, 553, 554, 555, 556, 557, 1693, 1694, 558,
8680 559, 560, 561, 562, 563, 564, 1695, 565, 566, 567,
8681 568, 569, 570, 1696, 1697, 571, 1698, 1699, 572, 573,
8682 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
8683 584, 585, 586, 587, 588, 589, 590, 591, 226, 0,
8684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8685 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
8686 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
8687 0, 0, 238, 239, 0, 240, 241, 242, 243, 244,
8688 245, 246, 247, 248, 249, 250, 251, 0, 252, 253,
8689 254, 255, 256, 257, 0, 1221, 258, 259, 260, 261,
8690 262, 0, 263, 264, 265, 266, 1224, 0, 1225, 0,
8691 269, 270, 271, 272, 273, 274, 275, 276, 277, 0,
8692 278, 279, 280, 281, 282, 283, 0, 284, 285, 286,
8693 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290,
8694 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
8695 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
8696 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
8697 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
8698 323, 324, 325, 326, 327, 1237, 0, 329, 0, 330,
8699 331, 332, 333, 0, 334, 0, 335, 336, 0, 337,
8700 338, 339, 340, 341, 0, 342, 1240, 0, 344, 345,
8701 346, 0, 347, 348, 349, 350, 351, 352, 353, 354,
8702 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
8703 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
8704 0, 373, 0, 374, 375, 376, 377, 378, 379, 380,
8705 381, 382, 383, 0, 0, 384, 1245, 386, 387, 388,
8706 0, 389, 390, 391, 1246, 1247, 392, 393, 394, 395,
8707 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
8708 406, 407, 408, 409, 410, 411, 412, 413, 414, 0,
8709 415, 416, 417, 418, 0, 1252, 420, 421, 422, 423,
8710 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
8711 0, 430, 431, 432, 433, 434, 435, 1255, 437, 438,
8712 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
8713 1256, 449, 450, 451, 452, 453, 0, 454, 455, 456,
8714 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
8715 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
8716 476, 477, 478, 479, 480, 0, 481, 482, 483, 484,
8717 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
8718 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
8719 1259, 504, 505, 506, 507, 508, 509, 510, 511, 512,
8720 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
8721 522, 523, 524, 525, 526, 1261, 528, 0, 529, 530,
8722 0, 531, 532, 533, 534, 535, 536, 537, 0, 538,
8723 539, 540, 0, 0, 541, 542, 1264, 544, 1265, 0,
8724 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
8725 554, 555, 556, 557, 1268, 0, 558, 559, 560, 561,
8726 562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
8727 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
8728 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276,
8729 1277, 588, 589, 590, 591, 863, 0, 659, 0, 0,
8730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8731 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
8732 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
8733 239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
8734 248, 249, 250, 251, 0, 252, 253, 254, 255, 256,
8735 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
8736 264, 265, 266, 267, 0, 268, 0, 269, 270, 271,
8737 272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
8738 281, 282, 283, 0, 284, 285, 286, 287, 0, 0,
8739 0, 288, 0, 0, 0, 289, 290, 291, 292, 293,
8740 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
8741 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
8742 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
8743 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
8744 326, 327, 328, 1905, 329, 0, 330, 331, 332, 333,
8745 0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
8746 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
8747 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
8748 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
8749 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
8750 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
8751 0, 0, 384, 385, 386, 387, 388, 0, 389, 390,
8752 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
8753 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
8754 409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
8755 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
8756 426, 1906, 0, 427, 428, 429, 0, 0, 430, 431,
8757 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
8758 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
8759 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
8760 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
8761 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
8762 479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
8763 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
8764 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
8765 506, 507, 508, 509, 510, 511, 512, 513, 0, 514,
8766 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
8767 525, 526, 527, 528, 0, 529, 530, 0, 531, 532,
8768 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
8769 0, 541, 542, 543, 544, 545, 1907, 546, 547, 548,
8770 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
8771 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
8772 0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
8773 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
8774 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
8775 590, 591, 863, 0, 0, 0, 0, 0, 0, 0,
8776 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
8777 230, 231, 232, 233, 234, 901, 235, 236, 237, 0,
8778 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
8779 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
8780 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
8781 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
8782 267, 0, 268, 0, 269, 270, 271, 272, 273, 274,
8783 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
8784 0, 284, 285, 286, 287, 0, 0, 0, 288, 0,
8785 0, 864, 289, 290, 291, 292, 293, 294, 295, 296,
8786 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
8787 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
8788 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
8789 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
8790 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
8791 335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
8792 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
8793 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
8794 360, 361, 362, 363, 0, 364, 365, 366, 367, 368,
8795 369, 370, 371, 372, 0, 373, 0, 374, 375, 376,
8796 377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
8797 385, 386, 387, 388, 0, 389, 390, 391, 0, 0,
8798 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
8799 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
8800 412, 413, 414, 0, 415, 416, 417, 418, 0, 419,
8801 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
8802 427, 428, 429, 0, 0, 430, 431, 432, 433, 434,
8803 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
8804 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
8805 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
8806 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
8807 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
8808 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
8809 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
8810 500, 501, 502, 503, 865, 504, 505, 506, 507, 508,
8811 509, 510, 511, 512, 513, 0, 514, 515, 516, 517,
8812 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
8813 528, 0, 529, 530, 0, 531, 532, 533, 534, 535,
8814 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
8815 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
8816 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
8817 558, 559, 560, 561, 562, 563, 564, 0, 565, 566,
8818 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
8819 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
8820 583, 584, 585, 586, 587, 588, 589, 590, 591, 863,
8821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8822 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
8823 233, 234, 921, 235, 236, 237, 0, 0, 0, 0,
8824 0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
8825 244, 245, 246, 247, 248, 249, 250, 251, 0, 252,
8826 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
8827 261, 262, 0, 263, 264, 265, 266, 267, 0, 268,
8828 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
8829 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
8830 286, 287, 0, 0, 0, 288, 0, 0, 864, 289,
8831 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
8832 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
8833 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
8834 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
8835 322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
8836 330, 331, 332, 333, 0, 334, 0, 335, 336, 0,
8837 337, 338, 339, 340, 341, 0, 342, 343, 0, 344,
8838 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
8839 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
8840 363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
8841 372, 0, 373, 0, 374, 375, 376, 377, 378, 379,
8842 380, 381, 382, 383, 0, 0, 384, 385, 386, 387,
8843 388, 0, 389, 390, 391, 0, 0, 392, 393, 394,
8844 395, 922, 397, 398, 399, 400, 401, 402, 403, 404,
8845 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
8846 0, 415, 416, 417, 418, 0, 419, 420, 421, 422,
8847 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
8848 0, 0, 430, 431, 432, 433, 434, 435, 436, 437,
8849 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
8850 447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
8851 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
8852 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
8853 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
8854 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
8855 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
8856 503, 865, 504, 505, 506, 507, 508, 509, 510, 511,
8857 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
8858 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
8859 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
8860 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
8861 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
8862 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
8863 561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
8864 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
8865 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
8866 586, 587, 588, 589, 590, 591, 863, 0, 0, 0,
8867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8868 0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
8869 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
8870 238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
8871 247, 248, 249, 250, 251, 0, 252, 253, 254, 255,
8872 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
8873 263, 264, 265, 266, 267, 0, 268, 0, 269, 270,
8874 271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
8875 280, 281, 282, 283, 0, 284, 285, 286, 287, 0,
8876 0, 0, 288, 0, 0, 864, 289, 290, 291, 292,
8877 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
8878 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
8879 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
8880 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
8881 325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
8882 333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
8883 340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
8884 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
8885 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
8886 365, 366, 367, 368, 369, 370, 371, 372, 0, 373,
8887 0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
8888 383, 0, 0, 384, 385, 386, 387, 388, 0, 389,
8889 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
8890 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
8891 408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
8892 417, 418, 0, 419, 420, 421, 422, 423, 424, 0,
8893 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
8894 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
8895 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
8896 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
8897 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
8898 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
8899 478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
8900 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
8901 497, 498, 0, 499, 500, 501, 502, 503, 865, 504,
8902 505, 506, 507, 508, 509, 510, 511, 512, 513, 0,
8903 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
8904 524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
8905 532, 533, 534, 535, 536, 537, 0, 538, 539, 540,
8906 0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
8907 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
8908 556, 557, 2422, 0, 558, 559, 560, 561, 562, 563,
8909 564, 0, 565, 566, 567, 568, 569, 570, 0, 0,
8910 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
8911 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
8912 589, 590, 591, 863, 0, 0, 0, 0, 0, 0,
8913 0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
8914 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
8915 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
8916 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
8917 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
8918 0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
8919 266, 267, 0, 268, 0, 269, 270, 271, 272, 273,
8920 274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
8921 283, 0, 284, 285, 286, 287, 0, 0, 0, 288,
8922 0, 0, 864, 289, 290, 291, 292, 293, 294, 295,
8923 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
8924 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
8925 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
8926 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
8927 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
8928 0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
8929 342, 343, 3412, 344, 345, 346, 0, 347, 348, 349,
8930 350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
8931 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
8932 368, 369, 370, 371, 372, 0, 373, 0, 374, 375,
8933 376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
8934 384, 385, 386, 387, 388, 0, 389, 390, 391, 0,
8935 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
8936 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
8937 411, 412, 413, 414, 0, 415, 416, 417, 418, 0,
8938 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
8939 0, 427, 428, 429, 0, 0, 430, 431, 432, 433,
8940 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
8941 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
8942 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
8943 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
8944 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
8945 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
8946 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
8947 499, 500, 501, 502, 503, 865, 504, 505, 506, 507,
8948 508, 509, 510, 511, 512, 513, 0, 514, 515, 516,
8949 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
8950 527, 528, 0, 529, 530, 0, 531, 532, 533, 534,
8951 535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
8952 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
8953 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
8954 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
8955 566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
8956 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
8957 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
8958 863, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8959 0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
8960 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
8961 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
8962 243, 244, 245, 246, 247, 248, 249, 250, 251, 0,
8963 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
8964 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
8965 268, 0, 269, 270, 271, 272, 273, 274, 275, 276,
8966 277, 0, 278, 279, 280, 281, 282, 283, 0, 284,
8967 285, 286, 287, 0, 0, 0, 288, 0, 0, 864,
8968 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
8969 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
8970 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
8971 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
8972 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
8973 0, 330, 331, 332, 333, 0, 334, 0, 335, 336,
8974 0, 337, 338, 339, 340, 341, 0, 342, 343, 0,
8975 344, 345, 346, 0, 347, 348, 349, 350, 351, 352,
8976 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
8977 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
8978 371, 372, 0, 373, 0, 374, 375, 376, 377, 378,
8979 379, 380, 381, 382, 383, 0, 0, 384, 385, 386,
8980 387, 388, 0, 389, 390, 391, 0, 0, 392, 393,
8981 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
8982 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
8983 414, 0, 415, 416, 417, 418, 0, 419, 420, 421,
8984 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
8985 429, 0, 0, 430, 431, 432, 433, 434, 435, 436,
8986 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
8987 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
8988 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
8989 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
8990 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
8991 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
8992 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
8993 502, 503, 865, 504, 505, 506, 507, 508, 509, 510,
8994 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
8995 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
8996 529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
8997 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
8998 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
8999 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
9000 560, 561, 562, 563, 564, 0, 565, 566, 567, 568,
9001 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
9002 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
9003 585, 586, 587, 588, 589, 590, 591, 863, 0, 0,
9004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9005 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
9006 0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
9007 0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
9008 246, 247, 248, 249, 250, 251, 0, 252, 253, 254,
9009 255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
9010 0, 263, 264, 265, 266, 267, 0, 268, 0, 269,
9011 270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
9012 279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
9013 0, 0, 0, 288, 0, 0, 864, 289, 290, 291,
9014 292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
9015 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
9016 0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
9017 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
9018 324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
9019 332, 333, 0, 334, 0, 335, 336, 0, 337, 338,
9020 339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
9021 0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
9022 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
9023 364, 365, 366, 367, 368, 369, 370, 371, 372, 0,
9024 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
9025 382, 383, 0, 0, 384, 385, 386, 387, 388, 0,
9026 389, 390, 391, 0, 0, 392, 393, 394, 395, 1027,
9027 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
9028 407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
9029 416, 417, 418, 0, 419, 420, 421, 422, 423, 424,
9030 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
9031 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
9032 440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
9033 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
9034 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
9035 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
9036 477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
9037 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
9038 496, 497, 498, 0, 499, 500, 501, 502, 503, 865,
9039 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
9040 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
9041 523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
9042 531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
9043 540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
9044 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
9045 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
9046 563, 564, 0, 565, 566, 567, 568, 569, 570, 0,
9047 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
9048 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
9049 588, 589, 590, 591, 863, 0, 0, 0, 0, 0,
9050 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
9051 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
9052 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
9053 0, 240, 241, 242, 243, 244, 245, 246, 247, 248,
9054 249, 250, 251, 0, 252, 253, 254, 255, 256, 257,
9055 0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
9056 265, 266, 267, 0, 268, 0, 269, 270, 271, 272,
9057 273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
9058 282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
9059 288, 0, 0, 864, 289, 290, 291, 292, 293, 294,
9060 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
9061 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
9062 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
9063 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
9064 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
9065 334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
9066 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
9067 349, 350, 1103, 352, 353, 354, 355, 356, 0, 357,
9068 358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
9069 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
9070 375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
9071 0, 384, 385, 386, 387, 388, 0, 389, 390, 391,
9072 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
9073 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
9074 410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
9075 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
9076 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
9077 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
9078 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
9079 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
9080 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
9081 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
9082 480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
9083 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
9084 0, 499, 500, 501, 502, 503, 865, 504, 505, 506,
9085 507, 508, 509, 510, 511, 512, 513, 0, 514, 515,
9086 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
9087 526, 527, 528, 0, 529, 530, 0, 531, 532, 533,
9088 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
9089 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
9090 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
9091 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
9092 565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
9093 0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
9094 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
9095 591, 863, 0, 0, 0, 0, 0, 0, 0, 0,
9096 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
9097 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
9098 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
9099 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
9100 0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
9101 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
9102 0, 268, 0, 269, 270, 271, 272, 273, 274, 275,
9103 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
9104 284, 285, 286, 287, 0, 0, 0, 288, 0, 0,
9105 864, 289, 290, 291, 292, 293, 294, 295, 296, 297,
9106 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
9107 305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
9108 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
9109 320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
9110 329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
9111 336, 0, 337, 338, 339, 340, 341, 0, 342, 343,
9112 0, 344, 345, 346, 0, 347, 348, 349, 350, 1116,
9113 352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
9114 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
9115 370, 371, 372, 0, 373, 0, 374, 375, 376, 377,
9116 378, 379, 380, 381, 382, 383, 0, 0, 384, 385,
9117 386, 387, 388, 0, 389, 390, 391, 0, 0, 392,
9118 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
9119 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
9120 413, 414, 0, 415, 416, 417, 418, 0, 419, 420,
9121 421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
9122 428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
9123 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
9124 0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
9125 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
9126 464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
9127 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
9128 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
9129 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
9130 501, 502, 503, 865, 504, 505, 506, 507, 508, 509,
9131 510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
9132 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
9133 0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
9134 537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
9135 544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
9136 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
9137 559, 560, 561, 562, 563, 564, 0, 565, 566, 567,
9138 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
9139 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
9140 584, 585, 586, 587, 588, 589, 590, 591, 863, 0,
9141 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9142 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
9143 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
9144 0, 0, 238, 239, 0, 240, 241, 242, 243, 244,
9145 245, 246, 247, 248, 249, 250, 251, 0, 252, 253,
9146 254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
9147 262, 0, 263, 264, 265, 266, 267, 0, 268, 0,
9148 269, 270, 271, 272, 273, 274, 275, 276, 277, 0,
9149 278, 279, 280, 281, 282, 283, 0, 284, 285, 286,
9150 287, 0, 0, 0, 288, 0, 0, 864, 289, 290,
9151 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
9152 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
9153 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
9154 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
9155 323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
9156 331, 332, 333, 0, 334, 0, 335, 336, 0, 337,
9157 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
9158 346, 0, 347, 348, 349, 350, 1128, 352, 353, 354,
9159 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
9160 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
9161 0, 373, 0, 374, 375, 376, 377, 378, 379, 380,
9162 381, 382, 383, 0, 0, 384, 385, 386, 387, 388,
9163 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
9164 1129, 397, 398, 399, 400, 401, 402, 403, 404, 405,
9165 406, 407, 408, 409, 410, 411, 412, 413, 414, 0,
9166 415, 416, 417, 418, 0, 419, 420, 421, 422, 423,
9167 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
9168 0, 430, 431, 432, 433, 434, 435, 436, 437, 438,
9169 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
9170 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
9171 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
9172 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
9173 476, 477, 478, 479, 480, 0, 481, 482, 483, 484,
9174 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
9175 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
9176 865, 504, 505, 506, 507, 508, 509, 510, 511, 512,
9177 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
9178 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
9179 0, 531, 532, 533, 534, 535, 536, 537, 0, 538,
9180 539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
9181 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
9182 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
9183 562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
9184 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
9185 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
9186 587, 588, 589, 590, 591, 863, 0, 0, 0, 0,
9187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9188 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
9189 236, 237, 3, 4, 0, 0, 0, 0, 0, 238,
9190 239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
9191 248, 249, 250, 251, 0, 252, 253, 254, 255, 256,
9192 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
9193 264, 265, 266, 267, 0, 268, 0, 269, 270, 271,
9194 272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
9195 281, 282, 283, 0, 284, 285, 286, 287, 0, 0,
9196 0, 288, 0, 0, 0, 289, 290, 291, 292, 293,
9197 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
9198 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
9199 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
9200 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
9201 326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
9202 0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
9203 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
9204 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
9205 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
9206 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
9207 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
9208 0, 0, 384, 385, 386, 387, 388, 0, 389, 390,
9209 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
9210 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
9211 409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
9212 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
9213 426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
9214 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
9215 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
9216 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
9217 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
9218 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
9219 479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
9220 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
9221 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
9222 506, 507, 508, 509, 510, 511, 512, 513, 0, 514,
9223 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
9224 525, 526, 527, 528, 0, 529, 530, 0, 531, 532,
9225 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
9226 0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
9227 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
9228 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
9229 0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
9230 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
9231 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
9232 590, 591, 863, 0, 659, 0, 0, 0, 0, 0,
9233 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
9234 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
9235 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
9236 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
9237 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
9238 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
9239 267, 0, 268, 0, 269, 270, 271, 272, 273, 274,
9240 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
9241 0, 284, 285, 286, 287, 0, 0, 0, 288, 0,
9242 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
9243 297, 2070, 298, 0, 299, 300, 301, 302, 303, 304,
9244 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
9245 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
9246 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
9247 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
9248 335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
9249 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
9250 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
9251 360, 361, 362, 363, 0, 364, 365, 366, 367, 368,
9252 369, 370, 371, 372, 0, 373, 0, 374, 375, 376,
9253 377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
9254 385, 386, 387, 388, 0, 389, 390, 391, 0, 0,
9255 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
9256 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
9257 412, 413, 414, 0, 415, 416, 417, 418, 0, 419,
9258 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
9259 427, 428, 429, 0, 0, 430, 431, 432, 433, 434,
9260 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
9261 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
9262 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
9263 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
9264 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
9265 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
9266 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
9267 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
9268 509, 510, 511, 512, 513, 0, 514, 515, 516, 517,
9269 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
9270 528, 0, 529, 530, 0, 531, 532, 533, 534, 535,
9271 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
9272 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
9273 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
9274 558, 559, 560, 561, 562, 563, 564, 0, 565, 566,
9275 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
9276 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
9277 583, 584, 585, 586, 587, 588, 589, 590, 591, 863,
9278 0, 659, 0, 0, 0, 0, 0, 0, 0, 0,
9279 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
9280 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
9281 0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
9282 244, 245, 246, 247, 248, 249, 250, 251, 0, 252,
9283 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
9284 261, 262, 0, 263, 264, 265, 266, 267, 0, 268,
9285 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
9286 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
9287 286, 287, 0, 0, 0, 288, 0, 0, 0, 289,
9288 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
9289 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
9290 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
9291 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
9292 322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
9293 330, 331, 332, 333, 0, 334, 0, 335, 336, 0,
9294 337, 338, 339, 340, 341, 0, 342, 343, 0, 344,
9295 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
9296 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
9297 363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
9298 372, 0, 373, 0, 374, 375, 376, 377, 378, 379,
9299 380, 381, 382, 383, 0, 0, 384, 385, 386, 387,
9300 388, 0, 389, 390, 391, 0, 0, 392, 393, 394,
9301 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
9302 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
9303 0, 415, 416, 417, 418, 0, 419, 420, 421, 422,
9304 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
9305 0, 0, 430, 431, 432, 433, 434, 435, 436, 437,
9306 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
9307 447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
9308 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
9309 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
9310 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
9311 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
9312 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
9313 503, 0, 504, 505, 506, 507, 508, 509, 510, 511,
9314 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
9315 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
9316 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
9317 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
9318 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
9319 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
9320 561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
9321 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
9322 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
9323 586, 587, 588, 589, 590, 591, 863, 0, 659, 0,
9324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9325 0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
9326 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
9327 238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
9328 247, 248, 249, 250, 251, 0, 252, 253, 254, 255,
9329 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
9330 263, 264, 265, 266, 267, 0, 268, 0, 269, 270,
9331 271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
9332 280, 281, 282, 283, 0, 284, 285, 286, 287, 0,
9333 0, 0, 288, 0, 0, 0, 289, 290, 291, 292,
9334 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
9335 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
9336 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
9337 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
9338 325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
9339 333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
9340 340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
9341 347, 348, 349, 350, 1891, 352, 353, 354, 355, 356,
9342 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
9343 365, 366, 367, 368, 369, 370, 371, 372, 0, 373,
9344 0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
9345 383, 0, 0, 384, 385, 386, 387, 388, 0, 389,
9346 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
9347 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
9348 408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
9349 417, 418, 0, 419, 420, 421, 422, 423, 424, 0,
9350 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
9351 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
9352 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
9353 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
9354 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
9355 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
9356 478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
9357 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
9358 497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
9359 505, 506, 507, 508, 509, 510, 511, 512, 513, 0,
9360 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
9361 524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
9362 532, 533, 534, 535, 536, 537, 0, 538, 539, 540,
9363 0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
9364 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
9365 556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
9366 564, 0, 565, 566, 567, 568, 569, 570, 0, 0,
9367 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
9368 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
9369 589, 590, 591, 226, 0, 0, 0, 0, 0, 0,
9370 0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
9371 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
9372 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
9373 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
9374 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
9375 0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
9376 266, 267, 0, 268, 0, 269, 270, 271, 272, 273,
9377 274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
9378 283, 0, 284, 285, 286, 287, 0, 0, 0, 288,
9379 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
9380 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
9381 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
9382 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
9383 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
9384 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
9385 0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
9386 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
9387 350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
9388 359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
9389 368, 369, 370, 371, 372, 0, 373, 0, 374, 375,
9390 376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
9391 384, 385, 386, 387, 388, 0, 389, 390, 391, 0,
9392 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
9393 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
9394 411, 412, 413, 414, 0, 415, 416, 417, 418, 0,
9395 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
9396 0, 427, 428, 429, 0, 0, 430, 431, 432, 433,
9397 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
9398 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
9399 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
9400 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
9401 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
9402 0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
9403 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
9404 499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
9405 508, 509, 510, 511, 512, 513, 0, 514, 515, 516,
9406 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
9407 527, 528, 0, 529, 530, 0, 531, 532, 533, 534,
9408 535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
9409 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
9410 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
9411 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
9412 566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
9413 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
9414 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
9415 226, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9416 0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
9417 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
9418 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
9419 243, 244, 245, 246, 247, 248, 249, 250, 251, 0,
9420 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
9421 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
9422 268, 0, 269, 270, 271, 272, 273, 274, 275, 276,
9423 277, 0, 278, 279, 280, 281, 282, 283, 0, 284,
9424 285, 286, 287, 0, 0, 0, 288, 0, 0, 0,
9425 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
9426 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
9427 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
9428 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
9429 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
9430 0, 330, 331, 332, 333, 0, 334, 0, 335, 336,
9431 0, 337, 338, 339, 340, 341, 0, 342, 343, 0,
9432 344, 345, 346, 0, 347, 348, 349, 350, 1051, 352,
9433 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
9434 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
9435 371, 372, 0, 373, 0, 374, 375, 376, 377, 378,
9436 379, 380, 381, 382, 383, 0, 0, 384, 385, 386,
9437 387, 388, 0, 389, 390, 391, 0, 0, 392, 393,
9438 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
9439 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
9440 414, 0, 415, 416, 417, 418, 0, 419, 420, 421,
9441 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
9442 429, 0, 0, 430, 431, 432, 433, 434, 435, 436,
9443 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
9444 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
9445 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
9446 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
9447 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
9448 483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
9449 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
9450 502, 503, 0, 504, 505, 506, 507, 508, 509, 510,
9451 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
9452 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
9453 529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
9454 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
9455 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
9456 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
9457 560, 561, 562, 563, 564, 0, 565, 566, 567, 568,
9458 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
9459 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
9460 585, 586, 587, 588, 589, 590, 591, 226, 0, 0,
9461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9462 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
9463 0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
9464 0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
9465 246, 247, 248, 249, 250, 251, 0, 252, 253, 254,
9466 255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
9467 0, 263, 264, 265, 266, 267, 0, 268, 0, 269,
9468 270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
9469 279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
9470 0, 0, 0, 288, 0, 0, 0, 289, 290, 291,
9471 292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
9472 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
9473 0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
9474 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
9475 324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
9476 332, 333, 0, 334, 0, 335, 336, 0, 337, 338,
9477 339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
9478 0, 347, 348, 349, 350, 1100, 352, 353, 354, 355,
9479 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
9480 364, 365, 366, 367, 368, 369, 370, 371, 372, 0,
9481 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
9482 382, 383, 0, 0, 384, 385, 386, 387, 388, 0,
9483 389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
9484 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
9485 407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
9486 416, 417, 418, 0, 419, 420, 421, 422, 423, 424,
9487 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
9488 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
9489 440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
9490 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
9491 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
9492 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
9493 477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
9494 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
9495 496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
9496 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
9497 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
9498 523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
9499 531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
9500 540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
9501 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
9502 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
9503 563, 564, 0, 565, 566, 567, 568, 569, 570, 0,
9504 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
9505 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
9506 588, 589, 590, 591, 226, 0, 0, 0, 0, 0,
9507 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
9508 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
9509 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
9510 0, 240, 241, 242, 243, 244, 245, 246, 247, 248,
9511 249, 250, 251, 0, 252, 253, 254, 255, 256, 257,
9512 0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
9513 265, 266, 267, 0, 268, 0, 269, 270, 271, 272,
9514 273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
9515 282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
9516 288, 0, 0, 0, 289, 290, 291, 292, 293, 294,
9517 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
9518 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
9519 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
9520 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
9521 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
9522 334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
9523 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
9524 349, 350, 1114, 352, 353, 354, 355, 356, 0, 357,
9525 358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
9526 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
9527 375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
9528 0, 384, 385, 386, 387, 388, 0, 389, 390, 391,
9529 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
9530 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
9531 410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
9532 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
9533 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
9534 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
9535 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
9536 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
9537 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
9538 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
9539 480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
9540 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
9541 0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
9542 507, 508, 509, 510, 511, 512, 513, 0, 514, 515,
9543 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
9544 526, 527, 528, 0, 529, 530, 0, 531, 532, 533,
9545 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
9546 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
9547 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
9548 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
9549 565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
9550 0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
9551 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
9552 591, 226, 0, 0, 0, 0, 0, 0, 0, 0,
9553 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
9554 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
9555 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
9556 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
9557 0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
9558 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
9559 0, 268, 0, 269, 270, 271, 272, 273, 274, 275,
9560 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
9561 284, 285, 286, 287, 0, 0, 0, 288, 0, 0,
9562 0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
9563 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
9564 305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
9565 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
9566 320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
9567 329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
9568 336, 0, 337, 338, 339, 340, 341, 0, 342, 343,
9569 0, 344, 345, 346, 0, 347, 348, 349, 350, 1118,
9570 352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
9571 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
9572 370, 371, 372, 0, 373, 0, 374, 375, 376, 377,
9573 378, 379, 380, 381, 382, 383, 0, 0, 384, 385,
9574 386, 387, 388, 0, 389, 390, 391, 0, 0, 392,
9575 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
9576 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
9577 413, 414, 0, 415, 416, 417, 418, 0, 419, 420,
9578 421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
9579 428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
9580 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
9581 0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
9582 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
9583 464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
9584 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
9585 482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
9586 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
9587 501, 502, 503, 0, 504, 505, 506, 507, 508, 509,
9588 510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
9589 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
9590 0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
9591 537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
9592 544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
9593 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
9594 559, 560, 561, 562, 563, 564, 0, 565, 566, 567,
9595 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
9596 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
9597 584, 585, 586, 587, 588, 589, 590, 591, 863, 0,
9598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9599 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
9600 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
9601 0, 0, 238, 239, 0, 240, 241, 242, 243, 244,
9602 245, 246, 247, 248, 249, 250, 251, 0, 252, 253,
9603 254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
9604 262, 0, 263, 264, 265, 266, 267, 0, 268, 0,
9605 269, 270, 271, 272, 273, 274, 275, 276, 277, 0,
9606 278, 279, 280, 281, 282, 283, 0, 284, 285, 286,
9607 287, 0, 0, 0, 288, 0, 0, 0, 289, 290,
9608 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
9609 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
9610 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
9611 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
9612 323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
9613 331, 332, 333, 0, 334, 0, 335, 336, 0, 337,
9614 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
9615 346, 0, 347, 348, 349, 350, 351, 352, 353, 354,
9616 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
9617 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
9618 0, 373, 0, 374, 375, 376, 377, 378, 379, 380,
9619 381, 382, 383, 0, 0, 384, 385, 386, 387, 388,
9620 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
9621 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
9622 406, 407, 408, 409, 410, 411, 412, 413, 414, 0,
9623 415, 416, 417, 418, 0, 419, 420, 421, 422, 423,
9624 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
9625 0, 430, 431, 432, 433, 434, 435, 436, 437, 438,
9626 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
9627 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
9628 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
9629 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
9630 476, 477, 478, 479, 480, 0, 481, 482, 483, 484,
9631 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
9632 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
9633 0, 504, 505, 506, 507, 508, 509, 510, 511, 512,
9634 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
9635 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
9636 0, 531, 532, 533, 534, 535, 536, 537, 0, 538,
9637 539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
9638 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
9639 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
9640 562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
9641 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
9642 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
9643 587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
9644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9645 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
9646 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
9647 239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
9648 248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
9649 257, 0, 0, 258, 259, 260, 261, 262, 2197, 263,
9650 264, 265, 266, 267, 0, 0, 2277, 269, 270, 271,
9651 272, 273, 0, 275, 276, 277, 2198, 278, 279, 280,
9652 281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
9653 0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
9654 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
9655 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
9656 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
9657 317, 318, 319, 0, 2278, 321, 322, 323, 324, 325,
9658 326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
9659 0, 334, 2200, 335, 0, 0, 0, 338, 339, 340,
9660 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
9661 348, 349, 350, 2279, 0, 353, 354, 355, 356, 0,
9662 357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
9663 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
9664 374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
9665 0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
9666 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
9667 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
9668 0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
9669 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
9670 426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
9671 432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
9672 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
9673 451, 452, 453, 2201, 454, 455, 456, 457, 458, 459,
9674 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
9675 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
9676 479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
9677 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
9678 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
9679 506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
9680 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
9681 525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
9682 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
9683 0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
9684 549, 550, 551, 552, 0, 2202, 553, 554, 555, 556,
9685 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
9686 0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
9687 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
9688 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
9689 590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
9690 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
9691 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
9692 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
9693 241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
9694 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
9695 258, 259, 260, 261, 262, 2197, 263, 264, 265, 266,
9696 267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
9697 275, 276, 277, 2198, 278, 279, 280, 281, 282, 283,
9698 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
9699 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
9700 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
9701 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
9702 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
9703 0, 2278, 321, 322, 323, 324, 325, 326, 327, 328,
9704 0, 329, 0, 330, 331, 332, 333, 0, 334, 2200,
9705 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
9706 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
9707 351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
9708 360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
9709 369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
9710 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
9711 385, 0, 387, 3268, 0, 389, 390, 391, 0, 0,
9712 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
9713 402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
9714 412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
9715 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
9716 427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
9717 0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
9718 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
9719 2201, 454, 455, 456, 457, 458, 459, 460, 461, 462,
9720 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
9721 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
9722 481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
9723 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
9724 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
9725 0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
9726 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
9727 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
9728 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
9729 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
9730 552, 0, 2202, 553, 554, 555, 556, 557, 0, 0,
9731 558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
9732 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
9733 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
9734 583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
9735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9736 0, 0, 0, 0, 227, 228, 229, 230, 231, 776,
9737 233, 234, 738, 235, 236, 237, 0, 0, 0, 0,
9738 0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
9739 244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
9740 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
9741 261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
9742 0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
9743 0, 278, 279, 280, 281, 282, 283, 739, 0, 285,
9744 286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
9745 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
9746 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
9747 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
9748 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
9749 322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
9750 330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
9751 0, 338, 339, 340, 341, 777, 342, 343, 0, 344,
9752 345, 346, 0, 347, 348, 349, 350, 351, 0, 353,
9753 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
9754 363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
9755 372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
9756 380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
9757 0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
9758 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
9759 405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
9760 0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
9761 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
9762 0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
9763 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
9764 447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
9765 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
9766 466, 467, 468, 740, 469, 470, 471, 472, 473, 474,
9767 475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
9768 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
9769 494, 495, 496, 497, 498, 741, 499, 500, 501, 502,
9770 503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
9771 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
9772 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
9773 530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
9774 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
9775 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
9776 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
9777 561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
9778 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
9779 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
9780 586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
9781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9782 0, 227, 228, 229, 230, 231, 232, 233, 234, 738,
9783 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
9784 238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
9785 247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
9786 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
9787 263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
9788 271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
9789 280, 281, 282, 283, 739, 0, 285, 286, 287, 0,
9790 0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
9791 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
9792 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
9793 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
9794 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
9795 325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
9796 333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
9797 340, 341, 2951, 342, 343, 0, 344, 345, 346, 0,
9798 347, 348, 349, 350, 351, 0, 353, 354, 355, 356,
9799 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
9800 0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
9801 0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
9802 383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
9803 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
9804 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
9805 408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
9806 0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
9807 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
9808 431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
9809 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
9810 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
9811 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
9812 740, 469, 470, 471, 472, 473, 474, 475, 476, 477,
9813 478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
9814 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
9815 497, 498, 741, 499, 500, 501, 502, 503, 0, 504,
9816 505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
9817 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
9818 524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
9819 0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
9820 0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
9821 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
9822 556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
9823 564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
9824 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
9825 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
9826 589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
9827 0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
9828 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
9829 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
9830 240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
9831 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
9832 0, 258, 259, 260, 261, 262, 2197, 263, 264, 265,
9833 266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
9834 0, 275, 276, 277, 2198, 278, 279, 280, 281, 282,
9835 283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
9836 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
9837 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
9838 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
9839 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
9840 319, 0, 2278, 321, 322, 323, 324, 325, 326, 327,
9841 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
9842 2200, 335, 0, 0, 0, 338, 339, 340, 341, 0,
9843 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
9844 350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
9845 359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
9846 368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
9847 0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
9848 384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
9849 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
9850 401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
9851 411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
9852 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
9853 0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
9854 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
9855 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
9856 453, 2201, 454, 455, 456, 457, 458, 459, 460, 461,
9857 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
9858 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
9859 0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
9860 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
9861 499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
9862 508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
9863 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
9864 527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
9865 535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
9866 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
9867 551, 552, 0, 2202, 553, 554, 555, 556, 557, 0,
9868 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
9869 0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
9870 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
9871 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
9872 599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9873 0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
9874 232, 233, 234, 738, 235, 236, 237, 0, 0, 0,
9875 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
9876 0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
9877 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
9878 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
9879 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
9880 277, 0, 278, 279, 280, 281, 282, 283, 739, 0,
9881 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
9882 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
9883 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
9884 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
9885 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
9886 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
9887 0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
9888 0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
9889 344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
9890 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
9891 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
9892 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
9893 379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
9894 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
9895 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
9896 404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
9897 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
9898 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
9899 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
9900 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
9901 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
9902 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
9903 465, 466, 467, 468, 740, 469, 470, 471, 472, 473,
9904 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
9905 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
9906 493, 494, 495, 496, 497, 498, 741, 499, 500, 501,
9907 502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
9908 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
9909 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
9910 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
9911 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
9912 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
9913 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
9914 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
9915 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
9916 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
9917 585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
9918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9919 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
9920 1932, 235, 236, 237, 0, 0, 0, 0, 0, 0,
9921 0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
9922 246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
9923 255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
9924 0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
9925 270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
9926 279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
9927 0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
9928 1933, 293, 294, 295, 296, 297, 0, 298, 0, 299,
9929 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
9930 0, 0, 309, 1934, 311, 312, 313, 0, 314, 315,
9931 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
9932 324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
9933 332, 333, 0, 334, 1935, 335, 0, 0, 0, 1936,
9934 339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
9935 0, 347, 348, 349, 350, 351, 0, 353, 354, 355,
9936 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
9937 364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
9938 373, 0, 374, 0, 0, 377, 0, 379, 380, 1937,
9939 1938, 383, 0, 0, 384, 385, 0, 387, 0, 0,
9940 389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
9941 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
9942 407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
9943 416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
9944 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
9945 430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
9946 440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
9947 449, 450, 451, 452, 453, 0, 454, 455, 456, 1939,
9948 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
9949 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
9950 477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
9951 486, 1940, 488, 489, 490, 491, 492, 1941, 494, 495,
9952 496, 497, 498, 0, 1942, 500, 501, 502, 503, 0,
9953 504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
9954 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
9955 523, 524, 525, 526, 527, 528, 0, 529, 530, 1943,
9956 531, 0, 1944, 534, 535, 536, 537, 0, 538, 539,
9957 540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
9958 547, 1945, 549, 550, 551, 552, 0, 0, 553, 554,
9959 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
9960 563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
9961 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
9962 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
9963 588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
9964 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
9965 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
9966 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
9967 0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
9968 0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
9969 0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
9970 265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
9971 273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
9972 282, 283, 739, 0, 285, 286, 287, 0, 0, 0,
9973 0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
9974 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
9975 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
9976 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
9977 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
9978 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
9979 334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
9980 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
9981 349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
9982 358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
9983 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
9984 0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
9985 0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
9986 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
9987 400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
9988 410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
9989 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
9990 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
9991 0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
9992 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
9993 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
9994 461, 462, 463, 464, 465, 466, 467, 468, 740, 469,
9995 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
9996 480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
9997 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
9998 741, 499, 500, 501, 502, 503, 0, 504, 505, 506,
9999 507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
10000 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
10001 526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
10002 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
10003 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
10004 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
10005 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
10006 565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
10007 0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
10008 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
10009 591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
10010 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
10011 231, 232, 233, 234, 914, 235, 236, 237, 0, 0,
10012 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
10013 242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
10014 0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
10015 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
10016 0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
10017 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
10018 0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
10019 0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
10020 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
10021 305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
10022 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
10023 320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
10024 329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
10025 0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
10026 0, 344, 345, 346, 0, 347, 348, 349, 350, 915,
10027 0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
10028 361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
10029 370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
10030 0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
10031 0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
10032 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
10033 403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
10034 413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
10035 421, 422, 423, 424, 0, 425, 426, 0, 808, 427,
10036 428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
10037 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
10038 0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
10039 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
10040 464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
10041 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
10042 482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
10043 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
10044 501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
10045 510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
10046 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
10047 0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
10048 537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
10049 544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
10050 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
10051 559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
10052 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
10053 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
10054 584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
10055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10056 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
10057 234, 3043, 235, 236, 237, 0, 0, 0, 0, 0,
10058 0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
10059 245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
10060 254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
10061 262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
10062 269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
10063 278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
10064 287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
10065 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
10066 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
10067 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
10068 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
10069 323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
10070 331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
10071 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
10072 346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
10073 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
10074 0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
10075 0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
10076 381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
10077 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
10078 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
10079 406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
10080 415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
10081 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
10082 0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
10083 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
10084 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
10085 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
10086 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
10087 476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
10088 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
10089 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
10090 0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
10091 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
10092 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
10093 0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
10094 539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
10095 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
10096 554, 555, 556, 557, 3044, 0, 558, 559, 560, 561,
10097 562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
10098 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
10099 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
10100 587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
10101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10102 227, 228, 229, 230, 231, 232, 233, 234, 3056, 235,
10103 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
10104 239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
10105 248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
10106 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
10107 264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
10108 272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
10109 281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
10110 0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
10111 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
10112 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
10113 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
10114 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
10115 326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
10116 0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
10117 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
10118 348, 349, 350, 351, 0, 353, 354, 355, 356, 0,
10119 357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
10120 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
10121 374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
10122 0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
10123 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
10124 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
10125 0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
10126 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
10127 426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
10128 432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
10129 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
10130 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
10131 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
10132 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
10133 479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
10134 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
10135 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
10136 506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
10137 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
10138 525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
10139 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
10140 0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
10141 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
10142 557, 3057, 0, 558, 559, 560, 561, 562, 563, 564,
10143 0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
10144 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
10145 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
10146 590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
10147 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
10148 230, 231, 232, 233, 234, 600, 235, 236, 237, 0,
10149 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
10150 241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
10151 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
10152 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
10153 267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
10154 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
10155 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
10156 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
10157 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
10158 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
10159 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
10160 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
10161 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
10162 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
10163 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
10164 351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
10165 360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
10166 369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
10167 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
10168 385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
10169 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
10170 402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
10171 412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
10172 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
10173 427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
10174 0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
10175 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
10176 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
10177 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
10178 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
10179 481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
10180 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
10181 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
10182 0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
10183 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
10184 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
10185 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
10186 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
10187 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
10188 558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
10189 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
10190 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
10191 583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
10192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10193 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
10194 233, 234, 650, 235, 236, 237, 0, 0, 0, 0,
10195 0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
10196 244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
10197 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
10198 261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
10199 0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
10200 0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
10201 286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
10202 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
10203 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
10204 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
10205 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
10206 322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
10207 330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
10208 0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
10209 345, 346, 0, 347, 348, 349, 350, 351, 0, 353,
10210 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
10211 363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
10212 372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
10213 380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
10214 0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
10215 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
10216 405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
10217 0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
10218 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
10219 0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
10220 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
10221 447, 448, 449, 450, 451, 651, 453, 0, 454, 455,
10222 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
10223 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
10224 475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
10225 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
10226 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
10227 503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
10228 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
10229 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
10230 530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
10231 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
10232 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
10233 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
10234 561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
10235 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
10236 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
10237 586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
10238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10239 0, 227, 228, 229, 230, 231, 232, 233, 234, 768,
10240 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
10241 238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
10242 247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
10243 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
10244 263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
10245 271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
10246 280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
10247 0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
10248 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
10249 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
10250 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
10251 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
10252 325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
10253 333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
10254 340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
10255 347, 348, 349, 350, 351, 0, 353, 354, 355, 356,
10256 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
10257 0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
10258 0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
10259 383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
10260 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
10261 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
10262 408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
10263 0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
10264 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
10265 431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
10266 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
10267 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
10268 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
10269 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
10270 478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
10271 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
10272 497, 498, 0, 499, 500, 501, 502, 769, 0, 504,
10273 505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
10274 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
10275 524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
10276 0, 533, 534, 535, 536, 537, 0, 538, 770, 540,
10277 0, 0, 771, 542, 543, 544, 545, 0, 546, 547,
10278 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
10279 556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
10280 564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
10281 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
10282 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
10283 589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
10284 0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
10285 229, 230, 231, 232, 233, 234, 802, 235, 236, 237,
10286 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
10287 240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
10288 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
10289 0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
10290 266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
10291 0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
10292 283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
10293 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
10294 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
10295 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
10296 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
10297 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
10298 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
10299 0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
10300 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
10301 350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
10302 359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
10303 368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
10304 0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
10305 384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
10306 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
10307 401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
10308 411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
10309 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
10310 0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
10311 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
10312 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
10313 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
10314 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
10315 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
10316 0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
10317 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
10318 499, 500, 501, 502, 803, 0, 504, 505, 506, 507,
10319 508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
10320 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
10321 527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
10322 535, 536, 537, 0, 538, 804, 540, 0, 0, 805,
10323 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
10324 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
10325 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
10326 0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
10327 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
10328 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
10329 599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10330 0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
10331 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
10332 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
10333 0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
10334 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
10335 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
10336 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
10337 277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
10338 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
10339 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
10340 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
10341 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
10342 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
10343 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
10344 0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
10345 0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
10346 344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
10347 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
10348 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
10349 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
10350 379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
10351 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
10352 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
10353 404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
10354 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
10355 422, 423, 424, 0, 425, 426, 0, 808, 427, 428,
10356 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
10357 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
10358 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
10359 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
10360 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
10361 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
10362 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
10363 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
10364 502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
10365 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
10366 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
10367 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
10368 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
10369 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
10370 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
10371 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
10372 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
10373 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
10374 585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
10375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10376 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
10377 872, 235, 236, 237, 0, 0, 0, 0, 0, 0,
10378 0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
10379 246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
10380 255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
10381 0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
10382 270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
10383 279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
10384 0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
10385 292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
10386 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
10387 0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
10388 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
10389 324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
10390 332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
10391 339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
10392 0, 347, 348, 349, 350, 873, 0, 353, 354, 355,
10393 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
10394 364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
10395 373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
10396 382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
10397 389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
10398 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
10399 407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
10400 416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
10401 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
10402 430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
10403 440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
10404 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
10405 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
10406 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
10407 477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
10408 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
10409 496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
10410 504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
10411 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
10412 523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
10413 531, 0, 533, 534, 535, 536, 537, 0, 538, 539,
10414 540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
10415 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
10416 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
10417 563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
10418 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
10419 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
10420 588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
10421 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
10422 228, 229, 230, 231, 232, 233, 234, 1043, 235, 236,
10423 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
10424 0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
10425 0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
10426 0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
10427 265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
10428 273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
10429 282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
10430 0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
10431 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
10432 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
10433 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
10434 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
10435 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
10436 334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
10437 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
10438 349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
10439 358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
10440 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
10441 0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
10442 0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
10443 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
10444 400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
10445 410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
10446 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
10447 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
10448 0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
10449 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
10450 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
10451 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
10452 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
10453 480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
10454 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
10455 0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
10456 507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
10457 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
10458 526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
10459 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
10460 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
10461 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
10462 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
10463 565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
10464 0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
10465 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
10466 591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
10467 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
10468 231, 232, 233, 234, 1315, 235, 236, 237, 0, 0,
10469 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
10470 242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
10471 0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
10472 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
10473 0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
10474 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
10475 0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
10476 0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
10477 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
10478 305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
10479 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
10480 320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
10481 329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
10482 0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
10483 0, 344, 345, 346, 0, 347, 348, 349, 350, 351,
10484 0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
10485 361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
10486 370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
10487 0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
10488 0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
10489 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
10490 403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
10491 413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
10492 421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
10493 428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
10494 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
10495 0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
10496 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
10497 464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
10498 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
10499 482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
10500 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
10501 501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
10502 510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
10503 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
10504 0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
10505 537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
10506 544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
10507 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
10508 559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
10509 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
10510 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
10511 584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
10512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10513 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
10514 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
10515 0, 0, 238, 239, 0, 240, 241, 242, 1326, 244,
10516 245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
10517 254, 255, 256, 257, 0, 0, 788, 259, 260, 261,
10518 1327, 0, 263, 264, 265, 266, 267, 0, 0, 0,
10519 269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
10520 278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
10521 287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
10522 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
10523 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
10524 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
10525 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
10526 323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
10527 331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
10528 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
10529 346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
10530 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
10531 0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
10532 0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
10533 381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
10534 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
10535 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
10536 406, 791, 408, 0, 410, 411, 412, 413, 414, 0,
10537 415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
10538 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
10539 0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
10540 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
10541 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
10542 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
10543 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
10544 476, 477, 478, 479, 480, 0, 481, 482, 0, 792,
10545 485, 486, 487, 488, 489, 490, 491, 492, 793, 494,
10546 495, 496, 497, 498, 0, 499, 500, 501, 502, 1319,
10547 0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
10548 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
10549 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
10550 0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
10551 795, 540, 0, 0, 796, 542, 543, 544, 545, 0,
10552 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
10553 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
10554 562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
10555 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
10556 797, 578, 579, 580, 581, 582, 583, 584, 585, 586,
10557 587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
10558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10559 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
10560 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
10561 239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
10562 248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
10563 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
10564 264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
10565 272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
10566 281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
10567 0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
10568 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
10569 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
10570 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
10571 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
10572 326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
10573 0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
10574 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
10575 348, 349, 350, 1437, 0, 353, 354, 355, 356, 0,
10576 357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
10577 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
10578 374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
10579 0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
10580 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
10581 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
10582 0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
10583 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
10584 426, 0, 808, 427, 428, 429, 0, 0, 430, 431,
10585 432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
10586 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
10587 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
10588 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
10589 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
10590 479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
10591 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
10592 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
10593 506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
10594 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
10595 525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
10596 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
10597 0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
10598 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
10599 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
10600 0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
10601 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
10602 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
10603 590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
10604 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
10605 230, 231, 232, 233, 234, 1497, 235, 236, 237, 0,
10606 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
10607 241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
10608 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
10609 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
10610 267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
10611 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
10612 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
10613 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
10614 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
10615 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
10616 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
10617 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
10618 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
10619 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
10620 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
10621 1498, 0, 353, 354, 355, 356, 0, 357, 358, 359,
10622 360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
10623 369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
10624 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
10625 385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
10626 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
10627 402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
10628 412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
10629 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
10630 427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
10631 0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
10632 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
10633 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
10634 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
10635 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
10636 481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
10637 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
10638 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
10639 0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
10640 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
10641 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
10642 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
10643 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
10644 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
10645 558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
10646 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
10647 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
10648 583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
10649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10650 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
10651 233, 234, 768, 235, 236, 237, 0, 0, 0, 0,
10652 0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
10653 244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
10654 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
10655 261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
10656 0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
10657 0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
10658 286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
10659 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
10660 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
10661 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
10662 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
10663 322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
10664 330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
10665 0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
10666 345, 346, 0, 347, 348, 349, 350, 351, 0, 353,
10667 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
10668 363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
10669 372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
10670 380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
10671 0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
10672 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
10673 405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
10674 0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
10675 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
10676 0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
10677 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
10678 447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
10679 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
10680 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
10681 475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
10682 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
10683 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
10684 503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
10685 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
10686 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
10687 530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
10688 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
10689 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
10690 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
10691 561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
10692 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
10693 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
10694 586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
10695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10696 0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
10697 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
10698 238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
10699 247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
10700 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
10701 263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
10702 271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
10703 280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
10704 0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
10705 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
10706 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
10707 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
10708 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
10709 325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
10710 333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
10711 340, 2841, 0, 342, 343, 0, 344, 345, 346, 0,
10712 347, 348, 349, 350, 351, 0, 353, 354, 355, 356,
10713 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
10714 0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
10715 0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
10716 383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
10717 390, 2842, 0, 0, 392, 393, 394, 395, 396, 397,
10718 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
10719 408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
10720 0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
10721 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
10722 431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
10723 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
10724 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
10725 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
10726 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
10727 478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
10728 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
10729 497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
10730 505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
10731 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
10732 524, 525, 526, 527, 528, 0, 529, 530, 2843, 531,
10733 0, 533, 2844, 535, 2845, 537, 0, 538, 539, 540,
10734 0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
10735 548, 549, 550, 551, 552, 0, 0, 553, 554, 2846,
10736 556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
10737 564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
10738 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
10739 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
10740 589, 590, 591, 599, 0, 659, 0, 0, 0, 0,
10741 0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
10742 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
10743 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
10744 240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
10745 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
10746 0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
10747 266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
10748 0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
10749 283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
10750 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
10751 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
10752 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
10753 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
10754 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
10755 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
10756 0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
10757 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
10758 350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
10759 359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
10760 368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
10761 0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
10762 384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
10763 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
10764 401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
10765 411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
10766 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
10767 0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
10768 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
10769 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
10770 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
10771 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
10772 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
10773 0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
10774 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
10775 499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
10776 508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
10777 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
10778 527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
10779 535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
10780 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
10781 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
10782 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
10783 0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
10784 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
10785 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
10786 599, 0, 0, 0, 0, 0, 719, 0, 0, 0,
10787 0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
10788 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
10789 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
10790 0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
10791 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
10792 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
10793 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
10794 277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
10795 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
10796 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
10797 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
10798 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
10799 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
10800 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
10801 0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
10802 0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
10803 344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
10804 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
10805 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
10806 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
10807 379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
10808 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
10809 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
10810 404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
10811 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
10812 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
10813 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
10814 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
10815 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
10816 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
10817 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
10818 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
10819 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
10820 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
10821 502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
10822 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
10823 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
10824 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
10825 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
10826 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
10827 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
10828 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
10829 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
10830 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
10831 585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
10832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10833 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
10834 0, 235, 236, 237, 0, 0, 0, 0, 0, 4106,
10835 0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
10836 246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
10837 255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
10838 0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
10839 270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
10840 279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
10841 0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
10842 292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
10843 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
10844 0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
10845 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
10846 324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
10847 332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
10848 339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
10849 0, 347, 348, 349, 350, 351, 0, 353, 354, 355,
10850 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
10851 364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
10852 373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
10853 382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
10854 389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
10855 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
10856 407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
10857 416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
10858 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
10859 430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
10860 440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
10861 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
10862 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
10863 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
10864 477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
10865 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
10866 496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
10867 504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
10868 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
10869 523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
10870 531, 0, 533, 534, 535, 536, 537, 0, 538, 539,
10871 540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
10872 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
10873 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
10874 563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
10875 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
10876 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
10877 588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
10878 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
10879 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
10880 237, 0, 0, 0, 0, 0, 4120, 0, 238, 239,
10881 0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
10882 0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
10883 0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
10884 265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
10885 273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
10886 282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
10887 0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
10888 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
10889 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
10890 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
10891 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
10892 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
10893 334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
10894 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
10895 349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
10896 358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
10897 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
10898 0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
10899 0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
10900 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
10901 400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
10902 410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
10903 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
10904 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
10905 0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
10906 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
10907 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
10908 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
10909 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
10910 480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
10911 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
10912 0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
10913 507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
10914 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
10915 526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
10916 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
10917 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
10918 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
10919 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
10920 565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
10921 0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
10922 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
10923 591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
10924 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
10925 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
10926 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
10927 242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
10928 0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
10929 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
10930 0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
10931 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
10932 0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
10933 0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
10934 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
10935 305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
10936 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
10937 320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
10938 329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
10939 0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
10940 0, 344, 345, 346, 0, 347, 348, 349, 350, 351,
10941 0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
10942 361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
10943 370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
10944 0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
10945 0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
10946 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
10947 403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
10948 413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
10949 421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
10950 428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
10951 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
10952 0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
10953 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
10954 464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
10955 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
10956 482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
10957 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
10958 501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
10959 510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
10960 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
10961 0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
10962 537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
10963 544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
10964 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
10965 559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
10966 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
10967 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
10968 584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
10969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10970 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
10971 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
10972 0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
10973 245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
10974 254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
10975 262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
10976 269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
10977 278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
10978 287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
10979 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
10980 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
10981 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
10982 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
10983 323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
10984 331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
10985 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
10986 346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
10987 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
10988 0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
10989 0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
10990 381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
10991 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
10992 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
10993 406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
10994 415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
10995 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
10996 0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
10997 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
10998 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
10999 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
11000 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
11001 476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
11002 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
11003 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
11004 0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
11005 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
11006 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
11007 0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
11008 539, 540, 0, 0, 754, 542, 543, 544, 545, 0,
11009 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
11010 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
11011 562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
11012 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
11013 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
11014 587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
11015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11016 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
11017 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
11018 239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
11019 248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
11020 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
11021 264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
11022 272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
11023 281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
11024 0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
11025 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
11026 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
11027 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
11028 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
11029 326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
11030 0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
11031 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
11032 348, 349, 350, 351, 0, 353, 354, 355, 356, 0,
11033 357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
11034 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
11035 374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
11036 0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
11037 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
11038 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
11039 0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
11040 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
11041 426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
11042 432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
11043 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
11044 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
11045 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
11046 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
11047 479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
11048 488, 489, 490, 491, 766, 493, 494, 495, 496, 497,
11049 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
11050 506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
11051 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
11052 525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
11053 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
11054 0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
11055 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
11056 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
11057 0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
11058 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
11059 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
11060 590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
11061 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
11062 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
11063 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
11064 241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
11065 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
11066 788, 259, 260, 261, 262, 0, 263, 264, 265, 266,
11067 267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
11068 275, 276, 277, 0, 789, 279, 280, 281, 282, 283,
11069 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
11070 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
11071 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
11072 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
11073 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
11074 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
11075 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
11076 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
11077 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
11078 351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
11079 360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
11080 369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
11081 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
11082 385, 0, 387, 0, 0, 389, 390, 790, 0, 0,
11083 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
11084 402, 403, 404, 405, 406, 791, 408, 0, 410, 411,
11085 412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
11086 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
11087 427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
11088 0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
11089 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
11090 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
11091 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
11092 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
11093 481, 482, 0, 792, 485, 486, 487, 488, 489, 490,
11094 491, 492, 793, 494, 495, 496, 497, 498, 0, 499,
11095 500, 501, 502, 794, 0, 504, 505, 506, 507, 508,
11096 0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
11097 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
11098 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
11099 536, 537, 0, 538, 795, 540, 0, 0, 796, 542,
11100 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
11101 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
11102 558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
11103 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
11104 573, 574, 575, 576, 797, 578, 579, 580, 581, 582,
11105 583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
11106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11107 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
11108 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
11109 0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
11110 244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
11111 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
11112 261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
11113 0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
11114 0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
11115 286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
11116 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
11117 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
11118 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
11119 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
11120 322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
11121 330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
11122 0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
11123 345, 346, 0, 347, 348, 349, 350, 351, 0, 353,
11124 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
11125 363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
11126 372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
11127 380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
11128 0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
11129 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
11130 405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
11131 0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
11132 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
11133 0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
11134 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
11135 447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
11136 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
11137 466, 819, 468, 0, 469, 470, 471, 472, 473, 474,
11138 475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
11139 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
11140 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
11141 503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
11142 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
11143 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
11144 530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
11145 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
11146 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
11147 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
11148 561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
11149 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
11150 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
11151 586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
11152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11153 0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
11154 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
11155 238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
11156 247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
11157 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
11158 263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
11159 271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
11160 280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
11161 0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
11162 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
11163 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
11164 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
11165 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
11166 325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
11167 333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
11168 340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
11169 347, 348, 349, 350, 897, 0, 353, 354, 355, 356,
11170 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
11171 0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
11172 0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
11173 383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
11174 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
11175 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
11176 408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
11177 0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
11178 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
11179 431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
11180 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
11181 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
11182 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
11183 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
11184 478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
11185 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
11186 497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
11187 505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
11188 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
11189 524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
11190 0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
11191 0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
11192 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
11193 556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
11194 564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
11195 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
11196 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
11197 589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
11198 0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
11199 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
11200 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
11201 240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
11202 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
11203 0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
11204 266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
11205 0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
11206 283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
11207 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
11208 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
11209 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
11210 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
11211 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
11212 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
11213 0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
11214 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
11215 350, 907, 0, 353, 354, 355, 356, 0, 357, 358,
11216 359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
11217 368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
11218 0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
11219 384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
11220 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
11221 401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
11222 411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
11223 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
11224 0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
11225 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
11226 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
11227 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
11228 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
11229 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
11230 0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
11231 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
11232 499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
11233 508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
11234 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
11235 527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
11236 535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
11237 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
11238 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
11239 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
11240 0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
11241 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
11242 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
11243 599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11244 0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
11245 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
11246 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
11247 0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
11248 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
11249 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
11250 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
11251 277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
11252 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
11253 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
11254 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
11255 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
11256 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
11257 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
11258 0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
11259 0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
11260 344, 345, 346, 0, 347, 348, 349, 350, 925, 0,
11261 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
11262 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
11263 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
11264 379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
11265 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
11266 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
11267 404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
11268 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
11269 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
11270 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
11271 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
11272 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
11273 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
11274 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
11275 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
11276 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
11277 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
11278 502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
11279 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
11280 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
11281 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
11282 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
11283 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
11284 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
11285 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
11286 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
11287 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
11288 585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
11289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11290 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
11291 0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
11292 0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
11293 246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
11294 255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
11295 0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
11296 270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
11297 279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
11298 0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
11299 292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
11300 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
11301 0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
11302 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
11303 324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
11304 332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
11305 339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
11306 0, 347, 348, 349, 350, 992, 0, 353, 354, 355,
11307 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
11308 364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
11309 373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
11310 382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
11311 389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
11312 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
11313 407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
11314 416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
11315 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
11316 430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
11317 440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
11318 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
11319 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
11320 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
11321 477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
11322 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
11323 496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
11324 504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
11325 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
11326 523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
11327 531, 0, 533, 534, 535, 536, 537, 0, 538, 539,
11328 540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
11329 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
11330 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
11331 563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
11332 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
11333 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
11334 588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
11335 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
11336 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
11337 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
11338 0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
11339 0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
11340 0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
11341 265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
11342 273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
11343 282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
11344 0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
11345 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
11346 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
11347 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
11348 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
11349 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
11350 334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
11351 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
11352 349, 350, 998, 0, 353, 354, 355, 356, 0, 357,
11353 358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
11354 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
11355 0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
11356 0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
11357 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
11358 400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
11359 410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
11360 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
11361 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
11362 0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
11363 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
11364 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
11365 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
11366 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
11367 480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
11368 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
11369 0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
11370 507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
11371 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
11372 526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
11373 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
11374 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
11375 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
11376 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
11377 565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
11378 0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
11379 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
11380 591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
11381 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
11382 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
11383 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
11384 242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
11385 0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
11386 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
11387 0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
11388 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
11389 0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
11390 0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
11391 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
11392 305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
11393 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
11394 320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
11395 329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
11396 0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
11397 0, 344, 345, 346, 0, 347, 348, 349, 350, 1015,
11398 0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
11399 361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
11400 370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
11401 0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
11402 0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
11403 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
11404 403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
11405 413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
11406 421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
11407 428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
11408 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
11409 0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
11410 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
11411 464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
11412 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
11413 482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
11414 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
11415 501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
11416 510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
11417 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
11418 0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
11419 537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
11420 544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
11421 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
11422 559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
11423 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
11424 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
11425 584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
11426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11427 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
11428 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
11429 0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
11430 245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
11431 254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
11432 262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
11433 269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
11434 278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
11435 287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
11436 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
11437 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
11438 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
11439 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
11440 323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
11441 331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
11442 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
11443 346, 0, 347, 348, 349, 350, 1018, 0, 353, 354,
11444 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
11445 0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
11446 0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
11447 381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
11448 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
11449 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
11450 406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
11451 415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
11452 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
11453 0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
11454 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
11455 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
11456 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
11457 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
11458 476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
11459 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
11460 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
11461 0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
11462 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
11463 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
11464 0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
11465 539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
11466 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
11467 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
11468 562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
11469 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
11470 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
11471 587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
11472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11473 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
11474 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
11475 239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
11476 248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
11477 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
11478 264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
11479 272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
11480 281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
11481 0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
11482 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
11483 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
11484 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
11485 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
11486 326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
11487 0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
11488 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
11489 348, 349, 350, 1020, 0, 353, 354, 355, 356, 0,
11490 357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
11491 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
11492 374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
11493 0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
11494 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
11495 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
11496 0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
11497 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
11498 426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
11499 432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
11500 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
11501 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
11502 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
11503 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
11504 479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
11505 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
11506 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
11507 506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
11508 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
11509 525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
11510 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
11511 0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
11512 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
11513 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
11514 0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
11515 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
11516 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
11517 590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
11518 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
11519 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
11520 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
11521 241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
11522 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
11523 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
11524 267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
11525 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
11526 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
11527 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
11528 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
11529 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
11530 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
11531 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
11532 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
11533 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
11534 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
11535 1056, 0, 353, 354, 355, 356, 0, 357, 358, 359,
11536 360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
11537 369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
11538 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
11539 385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
11540 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
11541 402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
11542 412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
11543 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
11544 427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
11545 0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
11546 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
11547 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
11548 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
11549 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
11550 481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
11551 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
11552 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
11553 0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
11554 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
11555 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
11556 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
11557 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
11558 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
11559 558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
11560 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
11561 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
11562 583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
11563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11564 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
11565 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
11566 0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
11567 244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
11568 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
11569 261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
11570 0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
11571 0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
11572 286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
11573 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
11574 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
11575 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
11576 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
11577 322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
11578 330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
11579 0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
11580 345, 346, 0, 347, 348, 349, 350, 1120, 0, 353,
11581 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
11582 363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
11583 372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
11584 380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
11585 0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
11586 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
11587 405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
11588 0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
11589 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
11590 0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
11591 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
11592 447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
11593 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
11594 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
11595 475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
11596 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
11597 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
11598 503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
11599 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
11600 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
11601 530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
11602 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
11603 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
11604 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
11605 561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
11606 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
11607 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
11608 586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
11609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11610 0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
11611 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
11612 238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
11613 247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
11614 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
11615 263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
11616 271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
11617 280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
11618 0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
11619 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
11620 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
11621 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
11622 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
11623 325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
11624 333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
11625 340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
11626 347, 348, 349, 350, 1122, 0, 353, 354, 355, 356,
11627 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
11628 0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
11629 0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
11630 383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
11631 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
11632 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
11633 408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
11634 0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
11635 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
11636 431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
11637 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
11638 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
11639 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
11640 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
11641 478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
11642 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
11643 497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
11644 505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
11645 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
11646 524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
11647 0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
11648 0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
11649 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
11650 556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
11651 564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
11652 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
11653 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
11654 589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
11655 0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
11656 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
11657 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
11658 240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
11659 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
11660 0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
11661 266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
11662 0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
11663 283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
11664 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
11665 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
11666 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
11667 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
11668 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
11669 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
11670 0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
11671 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
11672 350, 1132, 0, 353, 354, 355, 356, 0, 357, 358,
11673 359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
11674 368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
11675 0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
11676 384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
11677 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
11678 401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
11679 411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
11680 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
11681 0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
11682 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
11683 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
11684 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
11685 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
11686 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
11687 0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
11688 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
11689 499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
11690 508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
11691 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
11692 527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
11693 535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
11694 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
11695 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
11696 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
11697 0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
11698 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
11699 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
11700 599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11701 0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
11702 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
11703 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
11704 0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
11705 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
11706 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
11707 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
11708 277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
11709 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
11710 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
11711 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
11712 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
11713 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
11714 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
11715 0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
11716 0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
11717 344, 345, 346, 0, 347, 348, 349, 350, 1135, 0,
11718 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
11719 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
11720 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
11721 379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
11722 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
11723 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
11724 404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
11725 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
11726 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
11727 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
11728 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
11729 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
11730 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
11731 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
11732 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
11733 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
11734 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
11735 502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
11736 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
11737 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
11738 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
11739 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
11740 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
11741 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
11742 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
11743 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
11744 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
11745 585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
11746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11747 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
11748 0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
11749 0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
11750 246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
11751 255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
11752 0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
11753 270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
11754 279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
11755 0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
11756 292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
11757 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
11758 0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
11759 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
11760 324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
11761 332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
11762 339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
11763 0, 347, 348, 349, 350, 1138, 0, 353, 354, 355,
11764 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
11765 364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
11766 373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
11767 382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
11768 389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
11769 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
11770 407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
11771 416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
11772 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
11773 430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
11774 440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
11775 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
11776 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
11777 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
11778 477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
11779 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
11780 496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
11781 504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
11782 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
11783 523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
11784 531, 0, 533, 534, 535, 536, 537, 0, 538, 539,
11785 540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
11786 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
11787 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
11788 563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
11789 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
11790 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
11791 588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
11792 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
11793 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
11794 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
11795 0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
11796 0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
11797 0, 0, 788, 259, 260, 261, 262, 0, 263, 264,
11798 265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
11799 273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
11800 282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
11801 0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
11802 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
11803 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
11804 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
11805 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
11806 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
11807 334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
11808 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
11809 349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
11810 358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
11811 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
11812 0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
11813 0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
11814 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
11815 400, 401, 402, 403, 404, 405, 406, 791, 408, 0,
11816 410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
11817 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
11818 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
11819 0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
11820 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
11821 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
11822 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
11823 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
11824 480, 0, 481, 482, 0, 792, 485, 486, 487, 488,
11825 489, 490, 491, 492, 793, 494, 495, 496, 497, 498,
11826 0, 499, 500, 501, 502, 1319, 0, 504, 505, 506,
11827 507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
11828 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
11829 526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
11830 534, 535, 536, 537, 0, 538, 795, 540, 0, 0,
11831 796, 542, 543, 544, 545, 0, 546, 547, 548, 549,
11832 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
11833 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
11834 565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
11835 0, 572, 573, 574, 575, 576, 797, 578, 579, 580,
11836 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
11837 591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
11838 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
11839 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
11840 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
11841 242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
11842 0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
11843 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
11844 0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
11845 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
11846 0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
11847 0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
11848 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
11849 305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
11850 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
11851 320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
11852 329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
11853 0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
11854 0, 344, 345, 346, 0, 347, 348, 349, 350, 1753,
11855 0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
11856 361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
11857 370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
11858 0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
11859 0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
11860 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
11861 403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
11862 413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
11863 421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
11864 428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
11865 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
11866 0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
11867 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
11868 464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
11869 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
11870 482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
11871 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
11872 501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
11873 510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
11874 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
11875 0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
11876 537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
11877 544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
11878 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
11879 559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
11880 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
11881 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
11882 584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
11883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11884 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
11885 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
11886 0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
11887 245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
11888 254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
11889 262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
11890 269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
11891 278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
11892 287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
11893 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
11894 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
11895 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
11896 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
11897 323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
11898 331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
11899 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
11900 346, 0, 347, 348, 349, 350, 1791, 0, 353, 354,
11901 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
11902 0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
11903 0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
11904 381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
11905 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
11906 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
11907 406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
11908 415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
11909 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
11910 0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
11911 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
11912 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
11913 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
11914 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
11915 476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
11916 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
11917 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
11918 0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
11919 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
11920 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
11921 0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
11922 539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
11923 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
11924 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
11925 562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
11926 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
11927 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
11928 587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
11929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11930 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
11931 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
11932 239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
11933 248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
11934 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
11935 264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
11936 272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
11937 281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
11938 0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
11939 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
11940 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
11941 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
11942 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
11943 326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
11944 0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
11945 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
11946 348, 349, 350, 1793, 0, 353, 354, 355, 356, 0,
11947 357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
11948 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
11949 374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
11950 0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
11951 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
11952 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
11953 0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
11954 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
11955 426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
11956 432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
11957 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
11958 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
11959 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
11960 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
11961 479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
11962 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
11963 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
11964 506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
11965 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
11966 525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
11967 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
11968 0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
11969 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
11970 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
11971 0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
11972 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
11973 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
11974 590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
11975 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
11976 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
11977 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
11978 241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
11979 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
11980 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
11981 267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
11982 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
11983 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
11984 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
11985 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
11986 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
11987 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
11988 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
11989 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
11990 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
11991 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
11992 1863, 0, 353, 354, 355, 356, 0, 357, 358, 359,
11993 360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
11994 369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
11995 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
11996 385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
11997 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
11998 402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
11999 412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
12000 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
12001 427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
12002 0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
12003 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
12004 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
12005 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
12006 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
12007 481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
12008 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
12009 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
12010 0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
12011 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
12012 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
12013 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
12014 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
12015 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
12016 558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
12017 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
12018 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
12019 583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
12020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12021 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
12022 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
12023 0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
12024 244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
12025 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
12026 261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
12027 0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
12028 0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
12029 286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
12030 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
12031 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
12032 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
12033 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
12034 322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
12035 330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
12036 0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
12037 345, 346, 0, 347, 348, 349, 350, 1865, 0, 353,
12038 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
12039 363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
12040 372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
12041 380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
12042 0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
12043 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
12044 405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
12045 0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
12046 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
12047 0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
12048 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
12049 447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
12050 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
12051 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
12052 475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
12053 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
12054 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
12055 503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
12056 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
12057 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
12058 530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
12059 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
12060 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
12061 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
12062 561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
12063 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
12064 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
12065 586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
12066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12067 0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
12068 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
12069 238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
12070 247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
12071 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
12072 263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
12073 271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
12074 280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
12075 0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
12076 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
12077 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
12078 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
12079 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
12080 325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
12081 333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
12082 340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
12083 347, 348, 349, 350, 1867, 0, 353, 354, 355, 356,
12084 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
12085 0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
12086 0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
12087 383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
12088 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
12089 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
12090 408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
12091 0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
12092 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
12093 431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
12094 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
12095 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
12096 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
12097 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
12098 478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
12099 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
12100 497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
12101 505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
12102 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
12103 524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
12104 0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
12105 0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
12106 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
12107 556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
12108 564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
12109 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
12110 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
12111 589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
12112 0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
12113 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
12114 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
12115 240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
12116 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
12117 0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
12118 266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
12119 0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
12120 283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
12121 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
12122 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
12123 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
12124 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
12125 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
12126 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
12127 0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
12128 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
12129 350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
12130 359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
12131 368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
12132 0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
12133 384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
12134 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
12135 401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
12136 411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
12137 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
12138 0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
12139 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
12140 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
12141 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
12142 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
12143 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
12144 0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
12145 490, 491, 1970, 493, 494, 495, 496, 497, 498, 0,
12146 499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
12147 508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
12148 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
12149 527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
12150 535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
12151 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
12152 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
12153 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
12154 0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
12155 572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
12156 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
12157 599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12158 0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
12159 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
12160 0, 0, 2149, 0, 238, 239, 0, 240, 241, 242,
12161 0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
12162 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
12163 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
12164 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
12165 277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
12166 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
12167 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
12168 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
12169 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
12170 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
12171 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
12172 0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
12173 0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
12174 344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
12175 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
12176 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
12177 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
12178 379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
12179 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
12180 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
12181 404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
12182 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
12183 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
12184 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
12185 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
12186 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
12187 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
12188 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
12189 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
12190 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
12191 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
12192 502, 503, 0, 0, 505, 506, 507, 508, 0, 510,
12193 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
12194 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
12195 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
12196 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
12197 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
12198 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
12199 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
12200 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
12201 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
12202 585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
12203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12204 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
12205 0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
12206 0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
12207 246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
12208 255, 256, 257, 0, 0, 788, 259, 260, 261, 262,
12209 0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
12210 270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
12211 279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
12212 0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
12213 292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
12214 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
12215 0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
12216 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
12217 324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
12218 332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
12219 339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
12220 0, 347, 348, 349, 350, 351, 0, 353, 354, 355,
12221 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
12222 364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
12223 373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
12224 382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
12225 389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
12226 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
12227 791, 408, 0, 410, 411, 412, 413, 414, 0, 415,
12228 416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
12229 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
12230 430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
12231 440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
12232 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
12233 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
12234 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
12235 477, 478, 479, 480, 0, 481, 482, 0, 792, 485,
12236 486, 487, 488, 489, 490, 491, 492, 793, 494, 495,
12237 496, 497, 498, 0, 499, 500, 501, 502, 1319, 0,
12238 504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
12239 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
12240 523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
12241 531, 0, 2184, 534, 535, 536, 537, 0, 538, 795,
12242 540, 0, 0, 796, 542, 543, 544, 545, 0, 546,
12243 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
12244 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
12245 563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
12246 0, 571, 0, 0, 572, 573, 574, 575, 576, 797,
12247 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
12248 588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
12249 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
12250 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
12251 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
12252 0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
12253 0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
12254 0, 0, 788, 259, 260, 261, 262, 0, 263, 264,
12255 265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
12256 273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
12257 282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
12258 0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
12259 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
12260 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
12261 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
12262 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
12263 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
12264 334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
12265 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
12266 349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
12267 358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
12268 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
12269 0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
12270 0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
12271 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
12272 400, 401, 402, 403, 404, 405, 406, 791, 408, 0,
12273 410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
12274 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
12275 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
12276 0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
12277 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
12278 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
12279 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
12280 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
12281 480, 0, 481, 482, 0, 792, 485, 486, 487, 488,
12282 489, 490, 491, 492, 2261, 494, 495, 496, 497, 498,
12283 0, 499, 500, 501, 502, 2262, 0, 504, 505, 506,
12284 507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
12285 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
12286 526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
12287 534, 535, 536, 537, 0, 538, 795, 540, 0, 0,
12288 2263, 542, 543, 544, 545, 0, 546, 547, 548, 549,
12289 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
12290 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
12291 565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
12292 0, 572, 573, 574, 575, 576, 797, 578, 579, 580,
12293 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
12294 591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
12295 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
12296 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
12297 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
12298 242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
12299 0, 252, 253, 254, 255, 256, 257, 0, 0, 788,
12300 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
12301 0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
12302 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
12303 0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
12304 0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
12305 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
12306 305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
12307 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
12308 320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
12309 329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
12310 0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
12311 0, 344, 345, 346, 0, 347, 348, 349, 350, 351,
12312 0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
12313 361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
12314 370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
12315 0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
12316 0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
12317 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
12318 403, 404, 405, 406, 791, 408, 0, 410, 411, 412,
12319 413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
12320 421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
12321 428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
12322 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
12323 0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
12324 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
12325 464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
12326 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
12327 482, 0, 792, 485, 486, 487, 488, 489, 490, 491,
12328 492, 2340, 494, 495, 496, 497, 498, 0, 499, 500,
12329 501, 502, 2262, 0, 504, 505, 506, 507, 508, 0,
12330 510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
12331 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
12332 0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
12333 537, 0, 538, 795, 540, 0, 0, 2263, 542, 543,
12334 544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
12335 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
12336 559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
12337 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
12338 574, 575, 576, 797, 578, 579, 580, 581, 582, 583,
12339 584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
12340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12341 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
12342 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
12343 0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
12344 245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
12345 254, 255, 256, 257, 0, 0, 788, 259, 260, 261,
12346 262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
12347 269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
12348 278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
12349 287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
12350 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
12351 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
12352 308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
12353 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
12354 323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
12355 331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
12356 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
12357 346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
12358 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
12359 0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
12360 0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
12361 381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
12362 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
12363 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
12364 406, 791, 408, 0, 410, 411, 412, 413, 414, 0,
12365 415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
12366 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
12367 0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
12368 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
12369 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
12370 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
12371 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
12372 476, 477, 478, 479, 480, 0, 481, 482, 0, 792,
12373 485, 486, 487, 488, 489, 490, 491, 492, 2357, 494,
12374 495, 496, 497, 498, 0, 499, 500, 501, 502, 2262,
12375 0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
12376 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
12377 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
12378 0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
12379 795, 540, 0, 0, 2263, 542, 543, 544, 545, 0,
12380 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
12381 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
12382 562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
12383 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
12384 797, 578, 579, 580, 581, 582, 583, 584, 585, 586,
12385 587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
12386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12387 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
12388 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
12389 239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
12390 248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
12391 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
12392 264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
12393 272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
12394 281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
12395 0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
12396 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
12397 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
12398 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
12399 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
12400 326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
12401 0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
12402 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
12403 348, 349, 350, 2556, 0, 353, 354, 355, 356, 0,
12404 357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
12405 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
12406 374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
12407 0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
12408 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
12409 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
12410 0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
12411 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
12412 426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
12413 432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
12414 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
12415 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
12416 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
12417 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
12418 479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
12419 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
12420 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
12421 506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
12422 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
12423 525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
12424 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
12425 0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
12426 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
12427 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
12428 0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
12429 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
12430 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
12431 590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
12432 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
12433 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
12434 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
12435 241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
12436 251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
12437 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
12438 267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
12439 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
12440 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
12441 0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
12442 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
12443 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
12444 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
12445 0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
12446 0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
12447 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
12448 343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
12449 2560, 0, 353, 354, 355, 356, 0, 357, 358, 359,
12450 360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
12451 369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
12452 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
12453 385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
12454 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
12455 402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
12456 412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
12457 420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
12458 427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
12459 0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
12460 445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
12461 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
12462 463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
12463 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
12464 481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
12465 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
12466 500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
12467 0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
12468 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
12469 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
12470 536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
12471 543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
12472 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
12473 558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
12474 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
12475 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
12476 583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
12477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12478 0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
12479 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
12480 0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
12481 244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
12482 253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
12483 261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
12484 0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
12485 0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
12486 286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
12487 290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
12488 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
12489 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
12490 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
12491 322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
12492 330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
12493 0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
12494 345, 346, 0, 347, 348, 349, 350, 2635, 0, 353,
12495 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
12496 363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
12497 372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
12498 380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
12499 0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
12500 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
12501 405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
12502 0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
12503 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
12504 0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
12505 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
12506 447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
12507 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
12508 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
12509 475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
12510 484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
12511 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
12512 503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
12513 512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
12514 521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
12515 530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
12516 538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
12517 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
12518 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
12519 561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
12520 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
12521 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
12522 586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
12523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12524 0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
12525 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
12526 238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
12527 247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
12528 256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
12529 263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
12530 271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
12531 280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
12532 0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
12533 293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
12534 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
12535 0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
12536 0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
12537 325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
12538 333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
12539 340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
12540 347, 348, 349, 350, 2962, 0, 353, 354, 355, 356,
12541 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
12542 0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
12543 0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
12544 383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
12545 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
12546 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
12547 408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
12548 0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
12549 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
12550 431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
12551 441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
12552 450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
12553 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
12554 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
12555 478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
12556 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
12557 497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
12558 505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
12559 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
12560 524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
12561 0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
12562 0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
12563 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
12564 556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
12565 564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
12566 571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
12567 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
12568 589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
12569 0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
12570 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
12571 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
12572 240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
12573 250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
12574 0, 788, 259, 260, 261, 262, 0, 263, 264, 265,
12575 266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
12576 0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
12577 283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
12578 0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
12579 296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
12580 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
12581 311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
12582 319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
12583 328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
12584 0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
12585 342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
12586 350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
12587 359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
12588 368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
12589 0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
12590 384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
12591 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
12592 401, 402, 403, 404, 405, 406, 791, 408, 0, 410,
12593 411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
12594 419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
12595 0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
12596 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
12597 444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
12598 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
12599 462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
12600 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
12601 0, 481, 482, 0, 792, 485, 486, 487, 488, 489,
12602 490, 491, 492, 793, 494, 495, 496, 497, 498, 0,
12603 499, 500, 501, 502, 2262, 0, 504, 505, 506, 507,
12604 508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
12605 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
12606 527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
12607 535, 536, 537, 0, 538, 795, 540, 0, 0, 2263,
12608 542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
12609 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
12610 0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
12611 0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
12612 572, 573, 574, 575, 576, 797, 578, 579, 580, 581,
12613 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
12614 599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12615 0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
12616 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
12617 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
12618 0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
12619 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
12620 260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
12621 0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
12622 277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
12623 285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
12624 289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
12625 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
12626 306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
12627 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
12628 321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
12629 0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
12630 0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
12631 344, 345, 346, 0, 347, 348, 349, 350, 3031, 0,
12632 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
12633 362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
12634 371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
12635 379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
12636 387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
12637 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
12638 404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
12639 414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
12640 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
12641 429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
12642 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
12643 446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
12644 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
12645 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
12646 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
12647 0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
12648 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
12649 502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
12650 511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
12651 520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
12652 529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
12653 0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
12654 545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
12655 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
12656 560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
12657 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
12658 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
12659 585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
12660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12661 0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
12662 0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
12663 0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
12664 246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
12665 255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
12666 0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
12667 270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
12668 279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
12669 0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
12670 292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
12671 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
12672 0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
12673 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
12674 324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
12675 332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
12676 339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
12677 0, 347, 348, 349, 350, 3046, 0, 353, 354, 355,
12678 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
12679 364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
12680 373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
12681 382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
12682 389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
12683 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
12684 407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
12685 416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
12686 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
12687 430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
12688 440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
12689 449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
12690 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
12691 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
12692 477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
12693 486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
12694 496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
12695 504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
12696 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
12697 523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
12698 531, 0, 533, 534, 535, 536, 537, 0, 538, 539,
12699 540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
12700 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
12701 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
12702 563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
12703 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
12704 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
12705 588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
12706 0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
12707 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
12708 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
12709 0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
12710 0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
12711 0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
12712 265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
12713 273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
12714 282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
12715 0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
12716 295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
12717 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
12718 310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
12719 318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
12720 327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
12721 334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
12722 0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
12723 349, 350, 3048, 0, 353, 354, 355, 356, 0, 357,
12724 358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
12725 367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
12726 0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
12727 0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
12728 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
12729 400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
12730 410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
12731 0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
12732 0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
12733 0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
12734 443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
12735 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
12736 461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
12737 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
12738 480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
12739 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
12740 0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
12741 507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
12742 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
12743 526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
12744 534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
12745 541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
12746 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
12747 0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
12748 565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
12749 0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
12750 581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
12751 591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
12752 0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
12753 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
12754 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
12755 242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
12756 0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
12757 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
12758 0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
12759 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
12760 0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
12761 0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
12762 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
12763 305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
12764 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
12765 320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
12766 329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
12767 0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
12768 0, 344, 345, 346, 0, 347, 348, 349, 350, 3190,
12769 0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
12770 361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
12771 370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
12772 0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
12773 0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
12774 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
12775 403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
12776 413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
12777 421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
12778 428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
12779 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
12780 0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
12781 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
12782 464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
12783 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
12784 482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
12785 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
12786 501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
12787 510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
12788 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
12789 0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
12790 537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
12791 544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
12792 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
12793 559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
12794 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
12795 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
12796 584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
12797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12798 0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
12799 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
12800 0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
12801 245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
12802 254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
12803 262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
12804 269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
12805 278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
12806 287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
12807 291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
12808 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
12809 308, 0, 0, 309, 3226, 311, 312, 313, 0, 314,
12810 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
12811 323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
12812 331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
12813 338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
12814 346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
12815 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
12816 0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
12817 0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
12818 381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
12819 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
12820 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
12821 406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
12822 415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
12823 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
12824 0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
12825 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
12826 448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
12827 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
12828 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
12829 476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
12830 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
12831 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
12832 0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
12833 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
12834 522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
12835 0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
12836 539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
12837 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
12838 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
12839 562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
12840 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
12841 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
12842 587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
12843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12844 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
12845 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
12846 239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
12847 248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
12848 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
12849 264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
12850 272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
12851 281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
12852 0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
12853 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
12854 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
12855 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
12856 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
12857 326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
12858 0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
12859 341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
12860 348, 349, 350, 4381, 0, 353, 354, 355, 356, 0,
12861 357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
12862 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
12863 374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
12864 0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
12865 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
12866 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
12867 0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
12868 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
12869 426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
12870 432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
12871 442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
12872 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
12873 460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
12874 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
12875 479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
12876 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
12877 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
12878 506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
12879 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
12880 525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
12881 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
12882 0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
12883 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
12884 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
12885 0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
12886 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
12887 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
12888 590, 591, 1058, 0, 0, 0, 0, 0, 0, 0,
12889 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
12890 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
12891 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
12892 241, 242, 243, 244, 245, 246, 0, 1059, 249, 1060,
12893 1061, 0, 252, 253, 254, 255, 256, 257, 0, 0,
12894 258, 259, 1062, 1063, 262, 0, 263, 264, 265, 266,
12895 0, 0, 268, 0, 269, 270, 271, 272, 273, 274,
12896 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
12897 0, 284, 285, 286, 287, 0, 0, 0, 288, 0,
12898 0, 0, 289, 290, 291, 292, 293, 294, 1064, 1065,
12899 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
12900 0, 305, 306, 307, 308, 0, 0, 309, 310, 1066,
12901 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
12902 0, 320, 321, 322, 323, 0, 325, 326, 327, 0,
12903 0, 329, 0, 330, 331, 1067, 333, 0, 334, 0,
12904 335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
12905 0, 0, 0, 345, 346, 0, 347, 348, 349, 350,
12906 351, 352, 353, 354, 355, 356, 2157, 357, 358, 359,
12907 360, 361, 362, 363, 0, 364, 365, 2158, 367, 368,
12908 369, 370, 1069, 1070, 0, 1071, 0, 374, 375, 376,
12909 377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
12910 0, 386, 387, 388, 0, 389, 390, 391, 0, 0,
12911 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
12912 402, 403, 404, 405, 406, 407, 1072, 409, 1073, 411,
12913 412, 413, 0, 0, 415, 416, 417, 418, 0, 0,
12914 420, 1074, 422, 423, 424, 0, 425, 426, 0, 0,
12915 427, 428, 429, 0, 0, 430, 431, 2160, 433, 434,
12916 435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
12917 445, 0, 446, 447, 0, 449, 0, 451, 452, 453,
12918 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
12919 463, 1075, 465, 466, 467, 468, 0, 469, 470, 471,
12920 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
12921 481, 482, 483, 484, 485, 486, 487, 488, 0, 490,
12922 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
12923 500, 501, 502, 503, 0, 504, 505, 2161, 507, 508,
12924 509, 510, 511, 1077, 513, 0, 514, 515, 516, 517,
12925 518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
12926 528, 0, 529, 530, 0, 531, 532, 533, 534, 535,
12927 536, 537, 0, 538, 1078, 1079, 0, 0, 541, 542,
12928 0, 544, 0, 0, 546, 547, 548, 549, 550, 551,
12929 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
12930 558, 559, 560, 561, 562, 0, 1080, 2162, 565, 566,
12931 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
12932 573, 574, 575, 576, 577, 599, 0, 0, 0, 0,
12933 0, 0, 0, 0, 0, 0, 589, 590, 591, 0,
12934 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
12935 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
12936 239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
12937 248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
12938 257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
12939 264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
12940 272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
12941 281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
12942 0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
12943 294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
12944 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
12945 309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
12946 317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
12947 326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
12948 0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
12949 341, 0, 342, 343, 0, 344, 0, 346, 0, 347,
12950 348, 349, 350, 351, 0, 353, 354, 355, 356, 0,
12951 357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
12952 366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
12953 374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
12954 0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
12955 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
12956 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
12957 0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
12958 418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
12959 426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
12960 432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
12961 442, 0, 444, 445, 0, 446, 447, 448, 449, 450,
12962 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
12963 460, 461, 0, 463, 464, 465, 466, 467, 468, 0,
12964 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
12965 479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
12966 488, 489, 0, 491, 492, 493, 494, 495, 496, 497,
12967 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
12968 506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
12969 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
12970 525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
12971 533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
12972 0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
12973 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
12974 557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
12975 0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
12976 0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
12977 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
12978 590, 591, 1058, 0, 0, 0, 0, 0, 0, 0,
12979 0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
12980 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
12981 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
12982 241, 242, 243, 244, 245, 246, 0, 1059, 249, 1060,
12983 1061, 0, 252, 253, 254, 255, 256, 257, 0, 0,
12984 258, 259, 1062, 1063, 262, 0, 263, 264, 265, 266,
12985 0, 0, 268, 0, 269, 270, 271, 272, 273, 274,
12986 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
12987 0, 284, 285, 286, 287, 0, 0, 0, 288, 0,
12988 0, 0, 289, 290, 291, 292, 293, 294, 1064, 1065,
12989 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
12990 0, 305, 306, 307, 308, 0, 0, 309, 310, 1066,
12991 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
12992 0, 320, 321, 322, 323, 0, 325, 326, 327, 0,
12993 0, 329, 0, 330, 331, 1067, 333, 0, 334, 0,
12994 335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
12995 0, 0, 0, 345, 346, 0, 347, 348, 349, 350,
12996 351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
12997 360, 361, 362, 363, 0, 364, 365, 0, 367, 368,
12998 369, 370, 1069, 1070, 0, 1071, 0, 374, 375, 376,
12999 377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
13000 0, 386, 387, 388, 0, 389, 390, 391, 0, 0,
13001 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
13002 402, 403, 404, 405, 406, 407, 1072, 409, 1073, 411,
13003 412, 413, 0, 0, 415, 416, 417, 418, 2257, 0,
13004 420, 1074, 422, 423, 424, 0, 425, 426, 0, 0,
13005 427, 428, 429, 0, 0, 430, 431, 0, 433, 434,
13006 435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
13007 445, 0, 446, 447, 0, 449, 0, 451, 452, 453,
13008 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
13009 463, 1075, 465, 466, 467, 468, 0, 469, 470, 471,
13010 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
13011 481, 482, 483, 484, 485, 486, 487, 488, 0, 490,
13012 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
13013 500, 501, 502, 503, 0, 504, 505, 2161, 507, 508,
13014 509, 510, 511, 1077, 513, 0, 514, 515, 516, 517,
13015 518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
13016 528, 0, 529, 530, 3940, 531, 532, 533, 534, 535,
13017 536, 537, 0, 538, 1078, 1079, 0, 0, 541, 542,
13018 0, 544, 0, 0, 546, 547, 548, 549, 550, 551,
13019 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
13020 558, 559, 560, 561, 562, 0, 1080, 0, 565, 566,
13021 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
13022 573, 574, 575, 576, 577, 1058, 0, 0, 0, 0,
13023 0, 0, 0, 0, 0, 0, 589, 590, 591, 0,
13024 227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
13025 236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
13026 239, 0, 240, 241, 242, 243, 244, 245, 246, 0,
13027 1059, 249, 1060, 1061, 0, 252, 253, 254, 255, 256,
13028 257, 0, 0, 258, 259, 1062, 1063, 262, 0, 263,
13029 264, 265, 266, 0, 0, 268, 0, 269, 270, 271,
13030 272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
13031 281, 282, 283, 0, 284, 285, 286, 287, 0, 0,
13032 0, 288, 0, 0, 0, 289, 290, 291, 292, 293,
13033 294, 1064, 1065, 297, 0, 298, 0, 299, 300, 301,
13034 302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
13035 309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
13036 317, 318, 319, 0, 320, 321, 322, 323, 0, 325,
13037 326, 327, 0, 0, 329, 0, 330, 331, 1067, 333,
13038 0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
13039 341, 0, 342, 0, 0, 0, 345, 346, 0, 347,
13040 348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
13041 357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
13042 0, 367, 368, 369, 370, 1069, 1070, 0, 1071, 0,
13043 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
13044 0, 0, 384, 0, 386, 387, 388, 0, 389, 390,
13045 391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
13046 399, 400, 401, 402, 403, 404, 405, 406, 407, 1072,
13047 409, 1073, 411, 412, 413, 2329, 0, 415, 416, 417,
13048 418, 0, 0, 420, 1074, 422, 423, 424, 0, 425,
13049 426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
13050 0, 433, 434, 435, 0, 437, 438, 439, 440, 441,
13051 442, 443, 444, 445, 0, 446, 447, 0, 449, 0,
13052 451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
13053 460, 461, 462, 463, 1075, 465, 466, 467, 468, 0,
13054 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
13055 479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
13056 488, 0, 490, 491, 492, 493, 494, 495, 496, 497,
13057 498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
13058 1076, 507, 508, 509, 510, 511, 1077, 513, 0, 514,
13059 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
13060 525, 526, 0, 528, 0, 529, 530, 0, 531, 532,
13061 533, 534, 535, 536, 537, 0, 538, 1078, 1079, 0,
13062 0, 541, 542, 0, 544, 0, 0, 546, 547, 548,
13063 549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
13064 557, 0, 0, 558, 559, 560, 561, 562, 0, 1080,
13065 0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
13066 0, 0, 572, 573, 574, 575, 576, 577, 1058, 0,
13067 0, 0, 0, 0, 0, 0, 0, 0, 0, 589,
13068 590, 591, 0, 227, 228, 229, 230, 231, 232, 233,
13069 234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
13070 0, 0, 238, 239, 0, 240, 241, 242, 243, 244,
13071 245, 246, 0, 1059, 249, 1060, 1061, 0, 252, 253,
13072 254, 255, 256, 257, 0, 0, 258, 259, 1062, 1063,
13073 262, 0, 263, 264, 265, 266, 0, 0, 268, 0,
13074 269, 270, 271, 272, 273, 274, 275, 276, 277, 0,
13075 278, 279, 280, 281, 282, 283, 0, 284, 285, 286,
13076 287, 0, 0, 0, 288, 0, 0, 0, 289, 290,
13077 291, 292, 293, 294, 1064, 1065, 297, 0, 298, 0,
13078 299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
13079 308, 0, 0, 309, 310, 1066, 312, 313, 0, 314,
13080 315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
13081 323, 0, 325, 326, 327, 0, 0, 329, 0, 330,
13082 331, 1067, 333, 0, 334, 0, 335, 336, 0, 337,
13083 338, 339, 340, 341, 0, 342, 0, 0, 0, 345,
13084 346, 0, 347, 348, 349, 350, 351, 352, 353, 354,
13085 355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
13086 0, 364, 365, 0, 367, 368, 369, 370, 1069, 1070,
13087 0, 1071, 0, 374, 375, 376, 377, 378, 379, 380,
13088 381, 382, 383, 0, 0, 384, 0, 386, 387, 388,
13089 0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
13090 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
13091 406, 407, 1072, 409, 1073, 411, 412, 413, 3748, 0,
13092 415, 416, 417, 418, 0, 0, 420, 1074, 422, 423,
13093 424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
13094 0, 430, 431, 0, 433, 434, 435, 0, 437, 438,
13095 439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
13096 0, 449, 0, 451, 452, 453, 0, 454, 455, 456,
13097 457, 458, 459, 460, 461, 462, 463, 1075, 465, 466,
13098 467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
13099 476, 477, 478, 479, 480, 0, 481, 482, 483, 484,
13100 485, 486, 487, 488, 0, 490, 491, 492, 493, 494,
13101 495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
13102 0, 504, 505, 1076, 507, 508, 509, 510, 511, 1077,
13103 513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
13104 522, 523, 524, 525, 526, 0, 528, 0, 529, 530,
13105 0, 531, 532, 533, 534, 535, 536, 537, 0, 538,
13106 1078, 1079, 0, 0, 541, 542, 0, 544, 0, 0,
13107 546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
13108 554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
13109 562, 0, 1080, 0, 565, 566, 567, 568, 569, 570,
13110 0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
13111 577, 1058, 0, 0, 0, 0, 0, 0, 0, 0,
13112 0, 0, 589, 590, 591, 0, 227, 228, 229, 230,
13113 231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
13114 0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
13115 242, 243, 244, 245, 246, 0, 1059, 249, 1060, 1061,
13116 0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
13117 259, 1062, 1063, 262, 0, 263, 264, 265, 266, 0,
13118 0, 268, 0, 269, 270, 271, 272, 273, 274, 275,
13119 276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
13120 284, 285, 286, 287, 0, 0, 0, 288, 0, 0,
13121 0, 289, 290, 291, 292, 293, 294, 1064, 1065, 297,
13122 0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
13123 305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
13124 313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
13125 320, 321, 322, 323, 0, 325, 326, 327, 0, 0,
13126 329, 0, 330, 331, 1067, 333, 5289, 334, 0, 335,
13127 336, 0, 337, 338, 339, 340, 341, 0, 342, 0,
13128 0, 0, 345, 346, 0, 347, 348, 349, 350, 351,
13129 352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
13130 361, 362, 363, 0, 364, 365, 0, 367, 368, 369,
13131 370, 1069, 1070, 0, 1071, 0, 374, 375, 376, 377,
13132 378, 379, 380, 381, 382, 383, 0, 0, 384, 0,
13133 386, 387, 388, 0, 389, 390, 391, 0, 0, 392,
13134 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
13135 403, 404, 405, 406, 407, 1072, 409, 1073, 411, 412,
13136 413, 0, 0, 415, 416, 417, 418, 0, 0, 420,
13137 1074, 422, 423, 424, 0, 425, 426, 0, 0, 427,
13138 428, 429, 0, 0, 430, 431, 0, 433, 434, 435,
13139 0, 437, 438, 439, 440, 441, 442, 443, 444, 445,
13140 0, 446, 447, 0, 449, 0, 451, 452, 453, 0,
13141 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
13142 1075, 465, 466, 467, 468, 0, 469, 470, 471, 472,
13143 473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
13144 482, 483, 484, 485, 486, 487, 488, 0, 490, 491,
13145 492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
13146 501, 502, 503, 0, 504, 505, 1076, 507, 508, 509,
13147 510, 511, 1077, 513, 0, 514, 515, 516, 517, 518,
13148 519, 520, 521, 522, 523, 524, 525, 526, 0, 528,
13149 0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
13150 537, 0, 538, 1078, 1079, 0, 0, 541, 542, 0,
13151 544, 0, 0, 546, 547, 548, 549, 550, 551, 552,
13152 0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
13153 559, 560, 561, 562, 0, 1080, 0, 565, 566, 567,
13154 568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
13155 574, 575, 576, 577, 1058, 0, 0, 0, 0, 0,
13156 0, 0, 0, 0, 0, 589, 590, 591, 0, 227,
13157 228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
13158 237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
13159 0, 240, 241, 242, 243, 244, 245, 246, 0, 1059,
13160 249, 1060, 1061, 0, 252, 253, 254, 255, 256, 257,
13161 0, 0, 258, 259, 1062, 1063, 262, 0, 263, 264,
13162 265, 266, 0, 0, 268, 0, 269, 270, 271, 272,
13163 273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
13164 282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
13165 288, 0, 0, 0, 289, 290, 291, 292, 293, 294,
13166 1064, 1065, 297, 0, 298, 0, 299, 300, 301, 302,
13167 303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
13168 310, 1066, 312, 313, 0, 314, 315, 316, 0, 317,
13169 318, 319, 0, 320, 321, 322, 323, 0, 325, 326,
13170 327, 0, 0, 329, 0, 330, 331, 1067, 333, 0,
13171 334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
13172 0, 342, 0, 0, 0, 345, 346, 0, 347, 348,
13173 349, 350, 1068, 352, 353, 354, 355, 356, 0, 357,
13174 358, 359, 360, 361, 362, 363, 0, 364, 365, 0,
13175 367, 368, 369, 370, 1069, 1070, 0, 1071, 0, 374,
13176 375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
13177 0, 384, 0, 386, 387, 388, 0, 389, 390, 391,
13178 0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
13179 400, 401, 402, 403, 404, 405, 406, 407, 1072, 409,
13180 1073, 411, 412, 413, 0, 0, 415, 416, 417, 418,
13181 0, 0, 420, 1074, 422, 423, 424, 0, 425, 426,
13182 0, 0, 427, 428, 429, 0, 0, 430, 431, 0,
13183 433, 434, 435, 0, 437, 438, 439, 440, 441, 442,
13184 443, 444, 445, 0, 446, 447, 0, 449, 0, 451,
13185 452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
13186 461, 462, 463, 1075, 465, 466, 467, 468, 0, 469,
13187 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
13188 480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
13189 0, 490, 491, 492, 493, 494, 495, 496, 497, 498,
13190 0, 499, 500, 501, 502, 503, 0, 504, 505, 1076,
13191 507, 508, 509, 510, 511, 1077, 513, 0, 514, 515,
13192 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
13193 526, 0, 528, 0, 529, 530, 0, 531, 532, 533,
13194 534, 535, 536, 537, 0, 538, 1078, 1079, 0, 0,
13195 541, 542, 0, 544, 0, 0, 546, 547, 548, 549,
13196 550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
13197 0, 0, 558, 559, 560, 561, 562, 0, 1080, 0,
13198 565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
13199 0, 572, 573, 574, 575, 576, 577, 1058, 0, 0,
13200 0, 0, 0, 0, 0, 0, 0, 0, 589, 590,
13201 591, 0, 227, 228, 229, 230, 231, 232, 233, 234,
13202 0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
13203 0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
13204 246, 0, 1059, 249, 1060, 1061, 0, 252, 253, 254,
13205 255, 256, 257, 0, 0, 258, 259, 1062, 1063, 262,
13206 0, 263, 264, 265, 266, 0, 0, 268, 0, 269,
13207 270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
13208 279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
13209 0, 0, 0, 288, 0, 0, 0, 289, 290, 291,
13210 292, 293, 294, 1064, 1065, 297, 0, 298, 0, 299,
13211 300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
13212 0, 0, 309, 310, 1066, 312, 313, 0, 314, 315,
13213 316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
13214 0, 325, 326, 327, 0, 0, 329, 0, 330, 331,
13215 1067, 333, 0, 334, 0, 335, 336, 0, 337, 338,
13216 339, 340, 341, 0, 342, 0, 0, 0, 345, 346,
13217 0, 347, 348, 349, 350, 1126, 352, 353, 354, 355,
13218 356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
13219 364, 365, 0, 367, 368, 369, 370, 1069, 1070, 0,
13220 1071, 0, 374, 375, 376, 377, 378, 379, 380, 381,
13221 382, 383, 0, 0, 384, 0, 386, 387, 388, 0,
13222 389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
13223 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
13224 407, 1072, 409, 1073, 411, 412, 413, 0, 0, 415,
13225 416, 417, 418, 0, 0, 420, 1074, 422, 423, 424,
13226 0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
13227 430, 431, 0, 433, 434, 435, 0, 437, 438, 439,
13228 440, 441, 442, 443, 444, 445, 0, 446, 447, 0,
13229 449, 0, 451, 452, 453, 0, 454, 455, 456, 457,
13230 458, 459, 460, 461, 462, 463, 1075, 465, 466, 467,
13231 468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
13232 477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
13233 486, 487, 488, 0, 490, 491, 492, 493, 494, 495,
13234 496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
13235 504, 505, 1076, 507, 508, 509, 510, 511, 1077, 513,
13236 0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
13237 523, 524, 525, 526, 0, 528, 0, 529, 530, 0,
13238 531, 532, 533, 534, 535, 536, 537, 0, 538, 1078,
13239 1079, 0, 0, 541, 542, 0, 544, 0, 0, 546,
13240 547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
13241 555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
13242 0, 1080, 0, 565, 566, 567, 568, 569, 570, 0,
13243 0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
13244 1058, 0, 0, 0, 0, 0, 0, 0, 0, 0,
13245 0, 589, 590, 591, 0, 227, 228, 229, 230, 231,
13246 232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
13247 0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
13248 243, 244, 245, 246, 0, 1059, 249, 1060, 1061, 0,
13249 252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
13250 1062, 1063, 262, 0, 263, 264, 265, 266, 0, 0,
13251 268, 0, 269, 270, 271, 272, 273, 274, 275, 276,
13252 277, 0, 278, 279, 280, 281, 282, 283, 0, 284,
13253 285, 286, 287, 0, 0, 0, 288, 0, 0, 0,
13254 289, 290, 291, 292, 293, 294, 1064, 1065, 297, 0,
13255 298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
13256 306, 307, 308, 0, 0, 309, 310, 1066, 312, 313,
13257 0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
13258 321, 322, 323, 0, 325, 326, 327, 0, 0, 329,
13259 0, 330, 331, 1067, 333, 0, 334, 0, 335, 336,
13260 0, 337, 338, 339, 340, 341, 0, 342, 0, 0,
13261 0, 345, 346, 0, 347, 348, 349, 350, 351, 352,
13262 353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
13263 362, 363, 0, 364, 365, 0, 367, 368, 369, 370,
13264 1069, 1070, 0, 1071, 0, 374, 375, 376, 377, 378,
13265 379, 380, 381, 382, 383, 0, 0, 384, 0, 386,
13266 387, 388, 0, 389, 390, 391, 0, 0, 392, 393,
13267 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
13268 404, 405, 406, 407, 1072, 409, 1073, 411, 412, 413,
13269 0, 0, 415, 416, 417, 418, 0, 0, 420, 1074,
13270 422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
13271 429, 0, 0, 430, 431, 0, 433, 434, 435, 0,
13272 437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
13273 446, 447, 0, 449, 0, 451, 452, 453, 0, 454,
13274 455, 456, 457, 458, 459, 460, 461, 462, 463, 1075,
13275 465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
13276 474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
13277 483, 484, 485, 486, 487, 488, 0, 490, 491, 492,
13278 493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
13279 502, 503, 0, 504, 505, 1076, 507, 508, 509, 510,
13280 511, 1077, 513, 0, 514, 515, 516, 517, 518, 519,
13281 520, 521, 522, 523, 524, 525, 526, 0, 528, 0,
13282 529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
13283 0, 538, 1078, 1079, 0, 0, 541, 542, 0, 544,
13284 0, 0, 546, 547, 548, 549, 550, 551, 552, 0,
13285 0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
13286 560, 561, 562, 0, 1080, 0, 565, 566, 567, 568,
13287 569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
13288 575, 576, 577, 1058, 0, 0, 0, 0, 0, 0,
13289 0, 0, 0, 0, 589, 590, 591, 0, 227, 228,
13290 229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
13291 0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
13292 240, 241, 242, 243, 244, 245, 246, 0, 1059, 249,
13293 1060, 1061, 0, 252, 253, 254, 255, 256, 257, 0,
13294 0, 258, 259, 1062, 1063, 262, 0, 263, 264, 265,
13295 266, 0, 0, 268, 0, 269, 270, 271, 272, 273,
13296 274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
13297 283, 0, 284, 285, 286, 287, 0, 0, 0, 288,
13298 0, 0, 0, 289, 290, 291, 292, 293, 294, 1064,
13299 1065, 297, 0, 298, 0, 299, 300, 301, 302, 303,
13300 304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
13301 1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
13302 319, 0, 320, 321, 322, 323, 0, 325, 326, 327,
13303 0, 0, 329, 0, 330, 331, 1067, 333, 0, 334,
13304 0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
13305 342, 0, 0, 0, 345, 346, 0, 347, 348, 349,
13306 350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
13307 359, 360, 361, 362, 363, 0, 364, 365, 0, 367,
13308 368, 369, 370, 1069, 1070, 0, 1071, 0, 374, 375,
13309 376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
13310 384, 0, 386, 387, 388, 0, 389, 390, 391, 0,
13311 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
13312 401, 402, 403, 404, 405, 406, 407, 1072, 409, 1073,
13313 411, 412, 413, 0, 0, 415, 416, 417, 418, 0,
13314 0, 420, 1074, 422, 423, 424, 0, 425, 426, 0,
13315 0, 427, 428, 429, 0, 0, 430, 431, 0, 433,
13316 434, 435, 0, 437, 438, 439, 440, 441, 442, 443,
13317 444, 445, 0, 446, 447, 0, 449, 0, 451, 452,
13318 453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
13319 462, 463, 1075, 465, 466, 467, 468, 0, 469, 470,
13320 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
13321 0, 481, 482, 483, 484, 485, 486, 487, 488, 0,
13322 490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
13323 499, 500, 501, 502, 503, 0, 504, 505, 2161, 507,
13324 508, 509, 510, 511, 1077, 513, 0, 514, 515, 516,
13325 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
13326 0, 528, 0, 529, 530, 0, 531, 532, 533, 534,
13327 535, 536, 537, 0, 538, 1078, 1079, 0, 0, 541,
13328 542, 0, 544, 0, 0, 546, 547, 548, 549, 550,
13329 551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
13330 0, 558, 559, 560, 561, 562, 0, 1080, 0, 565,
13331 566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
13332 572, 573, 574, 575, 576, 577, 1058, 0, 0, 0,
13333 0, 0, 0, 0, 0, 0, 0, 589, 590, 591,
13334 0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
13335 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
13336 238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
13337 0, 1059, 249, 1060, 1061, 0, 252, 253, 254, 255,
13338 256, 257, 0, 0, 258, 259, 1062, 1063, 262, 0,
13339 263, 264, 265, 266, 0, 0, 268, 0, 269, 270,
13340 271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
13341 280, 281, 282, 283, 0, 284, 285, 286, 287, 0,
13342 0, 0, 288, 0, 0, 0, 289, 290, 291, 292,
13343 293, 294, 1064, 1065, 297, 0, 298, 0, 299, 300,
13344 301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
13345 0, 309, 310, 1066, 312, 313, 0, 314, 315, 316,
13346 0, 317, 318, 319, 0, 320, 321, 322, 323, 0,
13347 325, 326, 327, 0, 0, 329, 0, 330, 331, 1067,
13348 333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
13349 340, 341, 0, 342, 0, 0, 0, 345, 346, 0,
13350 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
13351 0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
13352 365, 0, 367, 368, 369, 370, 1069, 1070, 0, 1071,
13353 0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
13354 383, 0, 0, 384, 0, 386, 387, 388, 0, 389,
13355 390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
13356 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
13357 1072, 409, 1073, 411, 412, 413, 0, 0, 415, 416,
13358 417, 418, 0, 0, 420, 1074, 422, 423, 424, 0,
13359 425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
13360 431, 0, 433, 434, 435, 0, 437, 438, 439, 440,
13361 441, 442, 443, 444, 445, 0, 446, 447, 0, 449,
13362 0, 451, 452, 453, 0, 454, 455, 456, 457, 458,
13363 459, 460, 461, 462, 463, 1075, 465, 466, 467, 468,
13364 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
13365 478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
13366 487, 488, 0, 490, 491, 492, 493, 494, 495, 496,
13367 497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
13368 505, 0, 507, 508, 509, 510, 511, 1077, 513, 0,
13369 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
13370 524, 525, 526, 0, 528, 0, 529, 530, 0, 531,
13371 532, 533, 534, 535, 536, 537, 0, 538, 1078, 1079,
13372 0, 0, 541, 542, 0, 544, 0, 0, 546, 547,
13373 548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
13374 556, 557, 0, 0, 558, 559, 560, 561, 562, 0,
13375 1080, 0, 565, 566, 567, 568, 569, 570, 0, 0,
13376 571, 0, 0, 572, 573, 574, 575, 576, 577, 1058,
13377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
13378 589, 590, 591, 0, 227, 228, 229, 230, 231, 232,
13379 233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
13380 0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
13381 244, 245, 246, 0, 0, 249, 0, 0, 0, 252,
13382 253, 254, 255, 256, 257, 0, 0, 258, 259, 0,
13383 0, 262, 0, 263, 264, 265, 266, 0, 0, 268,
13384 0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
13385 0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
13386 286, 287, 0, 0, 0, 288, 0, 0, 0, 289,
13387 290, 291, 292, 293, 294, 0, 0, 297, 0, 298,
13388 0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
13389 307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
13390 314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
13391 322, 323, 0, 325, 326, 327, 0, 0, 329, 0,
13392 330, 331, 0, 333, 0, 334, 0, 335, 336, 0,
13393 337, 338, 339, 340, 341, 0, 342, 0, 0, 0,
13394 345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
13395 354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
13396 363, 0, 364, 365, 0, 367, 368, 369, 370, 0,
13397 0, 0, 0, 0, 374, 375, 376, 377, 378, 379,
13398 380, 381, 382, 383, 0, 0, 384, 0, 386, 387,
13399 388, 0, 389, 390, 391, 0, 0, 392, 393, 394,
13400 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
13401 405, 406, 407, 0, 409, 0, 411, 412, 413, 0,
13402 0, 415, 416, 417, 418, 0, 0, 420, 0, 422,
13403 423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
13404 0, 0, 430, 431, 0, 433, 434, 435, 0, 437,
13405 438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
13406 447, 0, 449, 0, 451, 452, 453, 0, 454, 455,
13407 456, 457, 458, 459, 460, 461, 462, 463, 0, 465,
13408 466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
13409 475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
13410 484, 485, 486, 487, 488, 0, 490, 491, 492, 493,
13411 494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
13412 503, 0, 504, 505, 0, 507, 508, 509, 510, 511,
13413 0, 513, 0, 514, 515, 516, 517, 518, 519, 520,
13414 521, 522, 523, 524, 525, 526, 0, 528, 0, 529,
13415 530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
13416 538, 0, 0, 0, 0, 541, 542, 0, 544, 0,
13417 0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
13418 553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
13419 561, 562, 0, 0, 0, 565, 566, 567, 568, 569,
13420 570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
13421 576, 577, 4953, 0, 0, 0, 0, 0, 0, 0,
13422 0, 0, 0, 589, 590, 591, 0, 227, 228, 229,
13423 230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
13424 0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
13425 241, 242, 0, 244, 245, 246, 0, 0, 0, 0,
13426 0, 0, 252, 253, 254, 255, 256, 257, 0, 0,
13427 258, 259, 0, 0, 262, 0, 263, 264, 265, 266,
13428 0, 0, 0, 0, 269, 270, 271, 272, 273, 0,
13429 275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
13430 0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
13431 0, 0, 289, 290, 291, 292, 293, 294, 0, 0,
13432 297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
13433 0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
13434 312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
13435 0, 320, 321, 322, 323, 0, 325, 326, 327, 0,
13436 0, 329, 0, 330, 331, 0, 333, 0, 334, 0,
13437 335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
13438 0, 0, 0, 345, 346, 0, 347, 348, 349, 350,
13439 351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
13440 360, 361, 362, 363, 0, 364, 0, 0, 367, 368,
13441 369, 370, 0, 0, 0, 0, 0, 374, 0, 0,
13442 377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
13443 0, 0, 387, 0, 0, 389, 390, 391, 0, 0,
13444 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
13445 402, 403, 404, 405, 406, 407, 0, 0, 0, 411,
13446 412, 413, 0, 0, 415, 416, 0, 418, 0, 0,
13447 420, 0, 422, 423, 424, 0, 425, 426, 0, 0,
13448 427, 428, 429, 0, 0, 430, 431, 0, 0, 434,
13449 0, 0, 437, 438, 439, 440, 441, 442, 443, 444,
13450 445, 0, 446, 447, 0, 449, 0, 451, 452, 453,
13451 0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
13452 463, 0, 465, 466, 467, 468, 0, 469, 470, 471,
13453 472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
13454 481, 482, 0, 484, 485, 486, 487, 488, 0, 490,
13455 491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
13456 500, 501, 502, 503, 0, 504, 505, 0, 507, 508,
13457 0, 510, 511, 0, 513, 0, 514, 515, 516, 517,
13458 518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
13459 528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
13460 536, 537, 0, 538, 0, 0, 0, 0, 541, 542,
13461 0, 544, 0, 0, 546, 547, 548, 549, 550, 551,
13462 552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
13463 558, 559, 560, 561, 562, 0, 0, 0, 565, 0,
13464 567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
13465 573, 574, 575, 576, 577, 0, 0, 0, 0, 0,
13466 0, 0, 0, 0, 0, 0, 589, 590, 591
13467};
13468
13469static const yytype_int16 yycheck[] =
13470{
13471 6, 44, 0, 203, 627, 0, 0, 36, 1171, 51,
13472 908, 1149, 935, 198, 0, 787, 0, 23, 1106, 25,
13473 789, 206, 203, 29, 209, 22, 21, 181, 34, 35,
13474 36, 28, 38, 1423, 1549, 41, 42, 849, 44, 939,
13475 46, 2496, 739, 740, 741, 683, 924, 1076, 745, 838,
13476 1468, 909, 2853, 933, 812, 189, 811, 13, 45, 697,
13477 1064, 1065, 937, 2568, 1461, 1021, 6, 1079, 2694, 1203,
13478 1074, 875, 2509, 1708, 796, 2390, 1787, 2903, 1468, 2165,
13479 2166, 1474, 3640, 818, 1957, 3008, 23, 765, 618, 2411,
13480 1976, 208, 18, 3319, 3595, 3254, 3062, 3347, 3064, 36,
13481 3350, 1612, 2670, 3692, 0, 222, 861, 3265, 3300, 3540,
13482 2912, 3569, 701, 696, 706, 0, 660, 995, 3035, 2328,
13483 4419, 999, 4174, 3929, 3912, 21, 1004, 3636, 3728, 2877,
13484 168, 3575, 681, 35, 2064, 684, 1014, 4576, 1485, 669,
13485 42, 4524, 4411, 1010, 3917, 2020, 3873, 2785, 1401, 3330,
13486 1028, 183, 0, 0, 1452, 2129, 0, 50, 2922, 1026,
13487 0, 0, 8, 707, 1799, 2097, 660, 3317, 0, 15,
13488 0, 183, 0, 0, 217, 2850, 2108, 4734, 1889, 0,
13489 1573, 0, 835, 189, 190, 191, 192, 942, 194, 3916,
13490 0, 41, 198, 4362, 200, 2131, 835, 203, 4681, 4956,
13491 206, 3616, 859, 209, 3503, 3640, 212, 0, 214, 5,
13492 1348, 217, 35, 4, 1512, 221, 4596, 223, 9, 4540,
13493 4722, 4542, 5, 0, 0, 5, 57, 908, 2903, 1233,
13494 1234, 1529, 1579, 1580, 1997, 916, 0, 3574, 9, 3576,
13495 5, 4410, 899, 49, 11, 926, 5, 904, 792, 1253,
13496 5, 1263, 1062, 1063, 13, 14, 4636, 11, 13, 14,
13497 5, 9, 2455, 1073, 2457, 57, 5, 112, 2461, 4050,
13498 2463, 2464, 816, 0, 87, 0, 5, 114, 2916, 2472,
13499 2473, 2474, 9, 1095, 9, 829, 40, 5, 1610, 1611,
13500 2499, 988, 32, 4643, 4644, 13, 14, 5, 792, 26,
13501 4930, 26, 5, 1415, 5, 158, 5, 42, 117, 163,
13502 117, 79, 164, 207, 5, 26, 175, 105, 72, 5,
13503 57, 170, 163, 105, 74, 3, 22, 57, 133, 5,
13504 3930, 105, 3, 4, 5, 5, 3010, 163, 9, 70,
13505 106, 163, 264, 57, 4, 1149, 187, 112, 269, 9,
13506 5, 165, 112, 5, 270, 3998, 3999, 1035, 4001, 4002,
13507 4003, 4004, 4005, 264, 39, 144, 4667, 289, 62, 144,
13508 163, 163, 57, 42, 211, 5132, 38, 285, 57, 270,
13509 300, 117, 105, 264, 165, 343, 163, 163, 289, 11,
13510 300, 303, 201, 252, 187, 131, 5274, 339, 163, 163,
13511 357, 2610, 11, 2612, 4833, 4834, 1141, 22, 289, 1365,
13512 187, 187, 1222, 1223, 72, 323, 84, 254, 116, 334,
13513 32, 11, 385, 187, 5, 191, 285, 627, 397, 316,
13514 74, 40, 36, 323, 112, 131, 163, 141, 163, 1249,
13515 84, 112, 11, 1343, 399, 420, 39, 436, 356, 430,
13516 40, 1331, 159, 112, 4723, 86, 4958, 271, 26, 29,
13517 187, 339, 187, 72, 323, 33, 250, 384, 63, 64,
13518 4850, 40, 269, 4571, 311, 1113, 4797, 274, 678, 399,
13519 4578, 26, 72, 53, 268, 26, 193, 442, 33, 399,
13520 57, 480, 33, 5123, 254, 476, 465, 128, 329, 158,
13521 57, 476, 419, 72, 419, 5262, 1535, 397, 625, 478,
13522 208, 1189, 163, 476, 631, 328, 131, 121, 476, 476,
13523 163, 225, 442, 185, 305, 1329, 1401, 644, 1283, 252,
13524 1334, 1335, 442, 145, 476, 206, 267, 57, 425, 1177,
13525 418, 5419, 74, 74, 1348, 215, 74, 1282, 74, 26,
13526 1188, 343, 84, 444, 476, 476, 1311, 228, 252, 1151,
13527 476, 375, 298, 1463, 476, 424, 1204, 163, 476, 3728,
13528 29, 397, 163, 259, 163, 476, 254, 343, 5335, 353,
13529 359, 259, 11, 343, 359, 114, 480, 1131, 29, 119,
13530 3264, 5030, 329, 3752, 4895, 476, 405, 385, 439, 329,
13531 606, 180, 187, 385, 259, 1149, 612, 259, 614, 418,
13532 616, 418, 618, 611, 620, 329, 611, 611, 384, 385,
13533 465, 627, 476, 476, 476, 611, 632, 611, 634, 5131,
13534 435, 480, 397, 429, 1746, 641, 1440, 1131, 5121, 431,
13535 117, 4072, 410, 480, 329, 5402, 1450, 397, 439, 480,
13536 329, 1518, 4110, 476, 1389, 4099, 4114, 397, 480, 665,
13537 356, 441, 397, 669, 1208, 707, 1544, 480, 674, 1547,
13538 476, 462, 678, 711, 385, 681, 467, 468, 684, 4948,
13539 476, 607, 462, 25, 838, 5442, 479, 1610, 1611, 1612,
13540 425, 474, 3884, 476, 700, 478, 476, 1555, 1565, 3925,
13541 465, 5331, 479, 479, 475, 472, 4487, 382, 751, 5266,
13542 476, 706, 5062, 478, 1208, 479, 4015, 476, 472, 467,
13543 468, 476, 418, 720, 201, 722, 3643, 724, 1608, 397,
13544 1383, 476, 1536, 730, 3926, 1539, 1540, 476, 4153, 2061,
13545 467, 468, 467, 468, 1383, 751, 2955, 476, 3906, 705,
13546 480, 5253, 479, 397, 479, 5184, 425, 1438, 476, 959,
13547 766, 4098, 329, 4100, 1927, 441, 480, 1356, 476, 812,
13548 955, 3930, 329, 476, 4826, 476, 961, 476, 959, 964,
13549 786, 787, 1326, 789, 790, 476, 462, 26, 794, 382,
13550 1334, 1335, 373, 374, 826, 480, 467, 468, 366, 842,
13551 476, 480, 808, 1460, 1348, 1893, 812, 467, 468, 329,
13552 944, 707, 818, 5193, 826, 858, 474, 4406, 1499, 4462,
13553 478, 366, 3972, 165, 830, 366, 5206, 22, 1617, 480,
13554 828, 5130, 1326, 828, 828, 5337, 842, 480, 3153, 2925,
13555 5161, 2927, 828, 4675, 828, 3, 1934, 469, 470, 471,
13556 472, 1855, 858, 2246, 3291, 138, 1513, 1945, 5127, 2277,
13557 469, 470, 471, 472, 3628, 397, 397, 326, 1743, 397,
13558 876, 397, 349, 1530, 163, 881, 882, 467, 468, 469,
13559 470, 471, 472, 1506, 480, 326, 117, 476, 734, 480,
13560 420, 3566, 20, 422, 3569, 480, 199, 476, 339, 5401,
13561 341, 145, 5341, 5342, 1375, 208, 912, 913, 2882, 275,
13562 3833, 112, 234, 480, 252, 105, 1720, 3834, 105, 222,
13563 120, 27, 175, 480, 2177, 83, 819, 5307, 5, 935,
13564 936, 2324, 828, 2444, 2866, 5104, 131, 264, 944, 105,
13565 790, 418, 275, 828, 794, 163, 3, 2883, 5, 955,
13566 5433, 191, 213, 959, 325, 961, 356, 5126, 964, 58,
13567 480, 402, 289, 305, 5263, 3640, 851, 66, 34, 2267,
13568 201, 165, 430, 979, 308, 275, 3614, 135, 47, 153,
13569 828, 828, 2857, 2913, 828, 5254, 4713, 5370, 828, 828,
13570 327, 252, 2755, 2756, 285, 1001, 828, 2760, 828, 341,
13571 828, 828, 1008, 1009, 3752, 5444, 4838, 828, 175, 828,
13572 912, 913, 4612, 315, 4572, 269, 144, 164, 828, 356,
13573 1830, 1831, 3231, 3232, 1030, 1031, 1032, 310, 1034, 3952,
13574 1036, 1037, 1038, 2548, 2797, 2798, 26, 3230, 467, 468,
13575 469, 470, 471, 472, 5343, 158, 112, 4478, 5347, 66,
13576 107, 225, 2190, 255, 293, 722, 723, 724, 400, 3,
13577 727, 728, 729, 252, 406, 356, 388, 84, 439, 3895,
13578 737, 4529, 91, 231, 160, 1975, 4534, 271, 269, 4537,
13579 480, 4525, 283, 240, 66, 252, 57, 4522, 1823, 81,
13580 285, 462, 111, 289, 416, 126, 202, 128, 359, 1796,
13581 1106, 5400, 1108, 1109, 22, 356, 273, 172, 397, 480,
13582 28, 477, 351, 182, 480, 3324, 1042, 2017, 187, 441,
13583 458, 117, 179, 323, 4559, 142, 145, 285, 323, 228,
13584 432, 123, 2161, 175, 107, 1141, 126, 4572, 2061, 83,
13585 4913, 288, 476, 160, 5443, 385, 107, 480, 349, 476,
13586 389, 289, 391, 2028, 476, 224, 1151, 418, 4946, 81,
13587 142, 356, 4968, 2063, 5463, 1171, 1172, 5466, 3254, 2566,
13588 1176, 424, 1178, 1942, 1943, 4401, 465, 4950, 160, 397,
13589 480, 4431, 259, 240, 385, 4912, 243, 418, 1194, 478,
13590 347, 435, 136, 476, 1200, 385, 22, 1203, 385, 5031,
13591 1206, 123, 28, 4395, 5036, 201, 179, 5259, 5260, 275,
13592 252, 339, 325, 131, 1220, 362, 418, 22, 179, 385,
13593 3895, 95, 4949, 1861, 24, 426, 174, 4408, 423, 480,
13594 388, 359, 390, 264, 112, 424, 179, 1875, 439, 1974,
13595 1282, 1976, 2165, 4209, 1250, 45, 1829, 1982, 114, 193,
13596 1888, 4168, 22, 1988, 1989, 1990, 124, 424, 3344, 2014,
13597 609, 462, 22, 1998, 1999, 356, 134, 240, 2003, 334,
13598 243, 2352, 1278, 1279, 1280, 476, 1282, 112, 49, 240,
13599 476, 252, 243, 474, 301, 22, 164, 478, 1818, 339,
13600 347, 28, 361, 5, 66, 287, 1302, 240, 172, 4734,
13601 319, 81, 2177, 1886, 81, 131, 1506, 1896, 1154, 1858,
13602 1156, 1903, 1158, 1351, 1160, 4824, 1162, 1163, 1164, 301,
13603 141, 371, 625, 1169, 1873, 258, 131, 1876, 631, 4760,
13604 349, 116, 103, 157, 1340, 4793, 1368, 1369, 476, 1371,
13605 112, 644, 1385, 123, 1933, 2426, 123, 291, 1937, 4151,
13606 26, 5403, 1941, 349, 703, 1944, 1368, 1369, 329, 1371,
13607 1904, 131, 310, 4952, 1370, 287, 385, 285, 1374, 1375,
13608 385, 131, 1995, 2142, 347, 284, 81, 255, 252, 1385,
13609 1386, 1387, 424, 1389, 205, 356, 347, 1936, 284, 480,
13610 1939, 1940, 340, 259, 131, 167, 413, 112, 390, 465,
13611 457, 77, 202, 213, 347, 323, 1412, 426, 474, 85,
13612 476, 477, 478, 8, 480, 3, 11, 285, 123, 83,
13613 439, 4852, 418, 208, 259, 3993, 4857, 4858, 84, 200,
13614 363, 413, 781, 284, 2309, 4110, 3941, 113, 356, 4114,
13615 158, 1447, 252, 462, 91, 40, 1452, 356, 397, 1455,
13616 26, 169, 47, 4612, 275, 323, 112, 476, 2333, 285,
13617 124, 1467, 1468, 145, 2362, 180, 5024, 411, 390, 187,
13618 134, 1477, 296, 237, 1480, 419, 155, 72, 422, 323,
13619 285, 252, 254, 104, 457, 1152, 4712, 259, 1155, 474,
13620 1157, 167, 1159, 478, 1161, 83, 457, 323, 1165, 153,
13621 1506, 311, 1508, 476, 180, 356, 1512, 287, 328, 1435,
13622 287, 397, 356, 273, 114, 285, 192, 2392, 323, 2607,
13623 394, 2444, 169, 1529, 4609, 1531, 1997, 1570, 1534, 301,
13624 356, 480, 5033, 5034, 2005, 284, 356, 155, 145, 254,
13625 2407, 4699, 420, 4724, 139, 317, 3861, 135, 106, 359,
13626 126, 356, 285, 323, 2098, 126, 168, 128, 115, 275,
13627 4995, 84, 2366, 126, 1570, 128, 4651, 327, 328, 3455,
13628 2374, 225, 251, 2377, 345, 1581, 1582, 1583, 1584, 1585,
13629 151, 3896, 287, 3905, 2342, 2343, 356, 182, 2346, 5024,
13630 323, 412, 187, 1599, 480, 2276, 356, 1520, 254, 217,
13631 214, 285, 1525, 114, 1610, 1611, 1612, 356, 418, 115,
13632 390, 211, 266, 390, 332, 2490, 228, 238, 166, 285,
13633 241, 285, 3137, 356, 311, 237, 183, 3820, 3025, 224,
13634 346, 3824, 3825, 191, 3827, 1520, 2274, 324, 2505, 323,
13635 1525, 413, 3728, 231, 285, 168, 2190, 187, 2119, 2438,
13636 2439, 2440, 114, 2183, 254, 319, 115, 323, 327, 323,
13637 399, 2528, 2529, 2530, 2531, 352, 3752, 349, 191, 1869,
13638 1870, 1594, 356, 2540, 1859, 1598, 271, 183, 319, 3475,
13639 1814, 2362, 323, 3394, 195, 390, 163, 356, 259, 1870,
13640 356, 254, 356, 264, 5129, 476, 372, 285, 2565, 375,
13641 3211, 264, 1708, 385, 1710, 228, 3217, 0, 3504, 1594,
13642 187, 311, 164, 1598, 2395, 356, 1722, 1723, 3591, 3482,
13643 3483, 3484, 3485, 479, 183, 3488, 3489, 3490, 3491, 3492,
13644 3493, 3494, 3495, 3496, 3497, 323, 1742, 4929, 1765, 327,
13645 4966, 252, 349, 254, 426, 197, 2504, 2428, 339, 211,
13646 341, 274, 4669, 420, 3963, 1761, 3965, 439, 306, 341,
13647 212, 341, 1789, 11, 3157, 365, 361, 143, 356, 4927,
13648 222, 1777, 1778, 1779, 1780, 168, 4957, 389, 385, 391,
13649 462, 3544, 3545, 323, 1790, 343, 4944, 327, 5346, 2524,
13650 338, 1797, 254, 1799, 476, 1995, 285, 2960, 273, 5300,
13651 388, 315, 390, 351, 416, 1811, 439, 323, 1814, 476,
13652 285, 402, 1818, 189, 114, 465, 356, 1823, 2348, 426,
13653 402, 480, 402, 4746, 72, 4983, 384, 385, 478, 462,
13654 4456, 5266, 439, 404, 323, 228, 350, 254, 386, 339,
13655 356, 439, 259, 414, 3930, 2580, 420, 4522, 323, 311,
13656 349, 439, 1858, 1859, 4529, 462, 2660, 32, 158, 4534,
13657 168, 2558, 4537, 1869, 1870, 460, 389, 1873, 391, 476,
13658 1876, 385, 467, 468, 469, 470, 471, 472, 4844, 402,
13659 104, 333, 480, 165, 4559, 385, 385, 1893, 1894, 5447,
13660 413, 5141, 309, 416, 1900, 195, 1902, 4572, 5124, 439,
13661 303, 2776, 476, 158, 402, 5340, 4361, 2782, 1903, 1952,
13662 439, 5346, 285, 263, 237, 166, 198, 4884, 432, 4886,
13663 228, 1927, 462, 4890, 4891, 43, 181, 426, 1934, 2933,
13664 1936, 254, 346, 1939, 1940, 159, 1942, 1943, 1967, 1945,
13665 4566, 4742, 4568, 4380, 5125, 4400, 1952, 65, 5106, 432,
13666 323, 480, 252, 1959, 254, 35, 431, 215, 8, 1957,
13667 1966, 1967, 1957, 1957, 1970, 15, 16, 17, 1974, 193,
13668 1976, 1957, 4939, 1957, 54, 1981, 1982, 476, 158, 3326,
13669 4189, 4190, 1988, 1989, 1990, 441, 13, 14, 1994, 1995,
13670 1996, 1997, 1998, 1999, 2000, 2001, 389, 2003, 391, 2005,
13671 2006, 181, 389, 2009, 391, 158, 462, 315, 1904, 3644,
13672 2688, 2689, 5447, 477, 238, 476, 480, 241, 2024, 2025,
13673 2026, 2027, 2757, 416, 104, 2031, 2032, 2571, 181, 1966,
13674 2036, 439, 2232, 2039, 2769, 4350, 2042, 2043, 2044, 2045,
13675 2046, 2047, 2048, 2049, 2050, 2230, 2052, 1973, 2233, 2234,
13676 74, 2232, 2058, 2059, 2858, 2061, 285, 4980, 4212, 4734,
13677 84, 1513, 2068, 2852, 4218, 24, 2801, 1913, 2657, 1915,
13678 239, 1917, 480, 1919, 5255, 1921, 5268, 2571, 1530, 1925,
13679 315, 389, 2626, 391, 255, 256, 45, 338, 5246, 2223,
13680 3853, 2097, 4893, 344, 323, 476, 153, 49, 2104, 903,
13681 351, 158, 2108, 2109, 2839, 441, 439, 475, 416, 4935,
13682 190, 2923, 480, 2119, 439, 350, 402, 921, 4793, 22,
13683 924, 5038, 2128, 2129, 432, 28, 462, 356, 4321, 462,
13684 4323, 4324, 2626, 2855, 4327, 386, 2142, 462, 402, 349,
13685 476, 93, 3305, 2149, 325, 2151, 153, 480, 5, 2147,
13686 385, 158, 3315, 3011, 11, 5336, 2273, 408, 238, 346,
13687 441, 241, 19, 2192, 74, 2194, 118, 477, 225, 3,
13688 480, 5329, 252, 285, 84, 385, 237, 2183, 349, 3037,
13689 37, 462, 477, 135, 3699, 480, 2192, 139, 2194, 23,
13690 2813, 30, 31, 2190, 66, 476, 3907, 432, 4, 389,
13691 72, 391, 2245, 9, 284, 2211, 2102, 159, 4, 266,
13692 162, 323, 84, 9, 385, 327, 426, 2223, 225, 2225,
13693 2226, 271, 5023, 237, 2230, 177, 2232, 2233, 2234, 439,
13694 2236, 191, 2238, 141, 2351, 476, 2242, 478, 5396, 2245,
13695 112, 475, 114, 35, 356, 153, 480, 88, 328, 83,
13696 158, 4, 462, 5445, 239, 426, 9, 30, 31, 266,
13697 4935, 2267, 54, 181, 269, 4580, 476, 402, 439, 274,
13698 350, 2277, 3690, 5190, 92, 2768, 899, 2770, 2771, 2285,
13699 2286, 904, 80, 3676, 2755, 2756, 53, 2293, 3211, 2760,
13700 370, 462, 1595, 3928, 3217, 167, 2302, 205, 432, 2342,
13701 2343, 3435, 136, 2346, 346, 476, 471, 259, 2425, 2947,
13702 2948, 476, 104, 478, 2858, 215, 2322, 225, 91, 476,
13703 4995, 2327, 2328, 195, 9, 471, 2797, 2798, 339, 340,
13704 476, 3012, 478, 2596, 2597, 2598, 2342, 2343, 111, 3732,
13705 2346, 3297, 2348, 2349, 477, 476, 164, 480, 141, 5024,
13706 3697, 343, 3699, 187, 3366, 3367, 269, 309, 266, 193,
13707 153, 2950, 439, 480, 441, 158, 2372, 275, 126, 2375,
13708 128, 477, 145, 477, 480, 167, 480, 476, 3253, 197,
13709 3258, 474, 254, 476, 3251, 5302, 283, 259, 53, 477,
13710 2396, 2397, 480, 151, 212, 339, 340, 477, 190, 474,
13711 476, 476, 478, 478, 222, 2411, 3087, 2413, 2414, 389,
13712 430, 391, 205, 463, 464, 465, 432, 467, 468, 469,
13713 470, 471, 472, 477, 3299, 477, 480, 80, 480, 301,
13714 248, 477, 225, 2977, 480, 43, 2442, 2443, 2444, 477,
13715 477, 479, 2448, 480, 234, 317, 238, 477, 2454, 241,
13716 480, 269, 349, 234, 5129, 477, 2462, 291, 480, 2465,
13717 252, 2504, 4655, 459, 1767, 2471, 4971, 3105, 477, 272,
13718 5387, 480, 1775, 266, 2480, 478, 2482, 477, 3641, 3642,
13719 480, 4690, 275, 2977, 1787, 389, 3124, 391, 385, 211,
13720 2496, 477, 284, 2499, 480, 2501, 254, 5298, 2504, 269,
13721 334, 259, 2508, 272, 412, 2511, 264, 477, 339, 340,
13722 480, 141, 4827, 477, 158, 333, 480, 2523, 2524, 2704,
13723 459, 4836, 2707, 153, 3914, 2710, 4612, 477, 158, 426,
13724 480, 8, 5156, 5157, 11, 2541, 328, 3934, 15, 16,
13725 17, 413, 439, 269, 141, 2551, 319, 2553, 477, 383,
13726 43, 480, 2550, 343, 2510, 272, 153, 5183, 350, 1862,
13727 459, 158, 343, 234, 2698, 462, 474, 469, 477, 477,
13728 478, 480, 3919, 211, 2580, 205, 349, 411, 370, 476,
13729 2007, 477, 162, 2010, 480, 419, 1889, 3284, 422, 477,
13730 477, 5266, 480, 480, 477, 225, 477, 480, 388, 480,
13731 480, 2607, 420, 2609, 2610, 2611, 2612, 388, 205, 476,
13732 5411, 477, 385, 2813, 480, 477, 339, 340, 480, 412,
13733 234, 3625, 477, 477, 3524, 480, 416, 477, 225, 477,
13734 480, 477, 480, 477, 480, 416, 266, 3275, 53, 3277,
13735 3444, 2647, 3517, 163, 477, 275, 404, 480, 207, 477,
13736 4736, 441, 480, 426, 476, 8, 414, 430, 11, 476,
13737 441, 3419, 5280, 5281, 477, 5340, 439, 480, 478, 266,
13738 477, 5346, 343, 480, 476, 5476, 477, 2877, 275, 480,
13739 477, 443, 477, 480, 187, 480, 476, 40, 477, 462,
13740 477, 480, 2698, 480, 47, 476, 146, 477, 2704, 8,
13741 480, 2707, 11, 476, 2710, 3585, 15, 16, 17, 4224,
13742 187, 4474, 439, 2719, 441, 2757, 3260, 388, 3262, 72,
13743 476, 2727, 477, 3623, 323, 480, 2732, 477, 477, 343,
13744 480, 480, 209, 234, 477, 477, 477, 480, 480, 480,
13745 0, 477, 3477, 477, 480, 416, 480, 476, 478, 2755,
13746 2756, 2757, 477, 477, 2760, 480, 480, 477, 92, 2801,
13747 480, 146, 2768, 2769, 2770, 2771, 3260, 439, 3262, 441,
13748 441, 477, 5447, 479, 388, 2781, 3511, 832, 2784, 834,
13749 2786, 477, 412, 269, 480, 477, 139, 187, 480, 4207,
13750 5245, 2797, 2798, 323, 271, 2801, 3434, 477, 477, 3343,
13751 480, 480, 416, 477, 269, 476, 480, 2813, 4115, 2815,
13752 4117, 2817, 187, 2819, 477, 412, 146, 480, 146, 3408,
13753 3698, 3556, 234, 477, 269, 3580, 480, 441, 323, 182,
13754 164, 91, 477, 2839, 187, 480, 477, 2843, 477, 480,
13755 477, 480, 343, 480, 2850, 477, 158, 146, 480, 3343,
13756 477, 2154, 3727, 480, 3729, 35, 3668, 2844, 2845, 2846,
13757 2866, 477, 476, 197, 480, 2907, 223, 477, 2874, 2172,
13758 480, 224, 114, 420, 54, 2178, 3751, 477, 212, 2182,
13759 480, 141, 8, 2889, 239, 11, 269, 388, 222, 15,
13760 16, 17, 476, 153, 402, 3770, 234, 2903, 158, 477,
13761 209, 2907, 480, 163, 2910, 2208, 2912, 263, 477, 169,
13762 2850, 480, 172, 432, 248, 416, 176, 477, 271, 477,
13763 480, 346, 480, 477, 104, 477, 480, 477, 480, 477,
13764 480, 343, 480, 477, 477, 477, 480, 480, 480, 477,
13765 441, 477, 480, 477, 480, 205, 480, 2953, 3752, 2955,
13766 3808, 2254, 3830, 22, 2960, 477, 158, 234, 480, 28,
13767 215, 477, 271, 2903, 480, 225, 477, 477, 0, 480,
13768 2273, 477, 41, 66, 480, 476, 388, 477, 254, 477,
13769 480, 2987, 480, 2989, 2990, 2991, 463, 464, 465, 234,
13770 467, 468, 469, 470, 471, 472, 4759, 477, 35, 333,
13771 480, 70, 254, 2306, 416, 343, 266, 443, 361, 269,
13772 190, 3482, 3483, 3484, 3485, 275, 476, 3488, 3489, 3490,
13773 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3816, 2331, 441,
13774 269, 477, 254, 4062, 480, 2338, 158, 43, 43, 254,
13775 407, 2344, 254, 83, 3515, 285, 432, 158, 2351, 146,
13776 388, 120, 2355, 432, 3254, 124, 304, 2360, 238, 91,
13777 146, 241, 131, 476, 476, 134, 343, 146, 429, 476,
13778 330, 297, 252, 3544, 3545, 476, 146, 2380, 416, 34,
13779 476, 443, 2385, 209, 146, 146, 2389, 480, 146, 146,
13780 159, 146, 146, 146, 234, 146, 146, 3103, 343, 2402,
13781 146, 256, 158, 441, 284, 146, 269, 460, 146, 141,
13782 146, 388, 2415, 385, 467, 468, 469, 470, 471, 472,
13783 35, 153, 2425, 223, 193, 385, 158, 476, 158, 158,
13784 269, 163, 476, 5, 5, 476, 476, 169, 476, 416,
13785 172, 158, 5, 388, 176, 271, 5, 476, 328, 476,
13786 476, 476, 412, 476, 463, 464, 465, 476, 467, 468,
13787 469, 470, 471, 472, 441, 476, 476, 5, 476, 476,
13788 350, 416, 476, 205, 476, 3979, 436, 5, 438, 439,
13789 476, 476, 476, 252, 476, 254, 476, 476, 476, 476,
13790 370, 476, 476, 225, 349, 264, 441, 476, 476, 476,
13791 281, 476, 440, 343, 273, 3211, 207, 4370, 35, 480,
13792 480, 3217, 95, 223, 474, 35, 285, 477, 478, 479,
13793 3226, 480, 158, 266, 158, 3231, 3232, 4127, 356, 264,
13794 385, 476, 62, 397, 266, 4998, 397, 269, 343, 397,
13795 3878, 3879, 431, 275, 397, 343, 478, 4147, 388, 397,
13796 397, 343, 225, 397, 323, 397, 8, 326, 327, 11,
13797 3266, 3267, 3268, 397, 465, 84, 343, 146, 348, 269,
13798 269, 426, 220, 397, 397, 0, 416, 3283, 259, 397,
13799 388, 419, 289, 269, 439, 269, 264, 356, 40, 476,
13800 3333, 339, 180, 397, 397, 47, 21, 476, 330, 3305,
13801 3306, 441, 84, 480, 146, 285, 187, 462, 420, 3315,
13802 3316, 3317, 397, 4048, 420, 3321, 269, 385, 3324, 397,
13803 72, 476, 477, 397, 479, 385, 51, 3333, 4718, 106,
13804 397, 3329, 397, 397, 269, 53, 476, 463, 464, 465,
13805 53, 467, 468, 469, 470, 471, 472, 245, 397, 273,
13806 397, 343, 397, 385, 423, 397, 308, 289, 3356, 289,
13807 388, 42, 42, 397, 397, 2668, 397, 343, 477, 56,
13808 4142, 397, 397, 397, 397, 397, 3419, 397, 397, 480,
13809 412, 397, 3853, 2686, 3973, 3974, 3975, 3976, 3977, 397,
13810 481, 2694, 3398, 209, 269, 209, 209, 209, 3552, 443,
13811 269, 209, 209, 90, 436, 269, 438, 439, 269, 209,
13812 209, 209, 4216, 3419, 397, 35, 8, 407, 146, 11,
13813 24, 269, 146, 15, 16, 17, 3432, 112, 254, 3435,
13814 182, 420, 146, 431, 146, 187, 439, 476, 146, 231,
13815 32, 264, 474, 254, 269, 477, 478, 479, 40, 254,
13816 254, 3457, 35, 4331, 158, 47, 35, 215, 183, 345,
13817 3466, 476, 149, 476, 476, 34, 3472, 395, 3474, 395,
13818 474, 3477, 224, 146, 397, 397, 3482, 3483, 3484, 3485,
13819 72, 474, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495,
13820 3496, 3497, 397, 397, 476, 3501, 3502, 184, 146, 420,
13821 146, 420, 146, 146, 263, 3511, 397, 4430, 3550, 3515,
13822 258, 163, 4135, 3519, 476, 435, 245, 11, 245, 271,
13823 480, 3527, 395, 397, 3530, 476, 3532, 3569, 3728, 476,
13824 172, 154, 163, 220, 399, 3541, 480, 477, 3544, 3545,
13825 180, 180, 205, 3549, 3550, 213, 35, 480, 3554, 359,
13826 3556, 270, 3752, 480, 420, 278, 53, 3563, 3564, 3565,
13827 3566, 477, 343, 3569, 3570, 476, 4204, 254, 3574, 3575,
13828 3576, 3558, 3559, 3560, 3561, 3581, 420, 213, 213, 397,
13829 4051, 259, 259, 239, 476, 402, 432, 158, 397, 346,
13830 182, 397, 259, 3591, 215, 187, 3591, 3591, 148, 286,
13831 3606, 43, 365, 269, 254, 3591, 148, 3591, 223, 361,
13832 5373, 5374, 223, 223, 3620, 388, 3622, 209, 210, 339,
13833 269, 397, 480, 148, 269, 148, 3566, 323, 181, 3569,
13834 397, 4102, 224, 397, 3640, 3641, 3642, 353, 3644, 311,
13835 327, 275, 329, 4281, 331, 477, 35, 209, 420, 420,
13836 4385, 215, 307, 340, 4351, 3661, 3662, 3663, 3664, 146,
13837 158, 348, 465, 264, 432, 257, 35, 160, 264, 356,
13838 308, 2974, 146, 146, 4837, 386, 146, 353, 264, 271,
13839 476, 368, 274, 476, 3690, 420, 439, 35, 254, 35,
13840 377, 254, 269, 269, 381, 215, 178, 178, 158, 35,
13841 3640, 4290, 4291, 3709, 4293, 474, 54, 477, 460, 459,
13842 459, 477, 5227, 243, 347, 467, 468, 469, 470, 471,
13843 472, 477, 477, 477, 215, 353, 158, 254, 269, 187,
13844 3930, 187, 187, 187, 187, 480, 480, 443, 480, 23,
13845 4378, 170, 476, 4881, 397, 163, 242, 434, 439, 480,
13846 269, 53, 263, 385, 215, 402, 104, 105, 432, 163,
13847 477, 476, 3759, 281, 112, 163, 290, 477, 0, 361,
13848 477, 480, 8, 397, 477, 11, 477, 477, 477, 15,
13849 16, 17, 3085, 477, 4872, 4660, 4874, 477, 477, 8,
13850 459, 477, 11, 476, 476, 280, 237, 476, 3804, 436,
13851 461, 476, 270, 270, 40, 476, 476, 233, 426, 418,
13852 436, 47, 269, 53, 465, 191, 476, 269, 269, 167,
13853 146, 40, 272, 397, 443, 397, 199, 397, 47, 259,
13854 3836, 254, 397, 146, 273, 476, 72, 146, 348, 356,
13855 146, 348, 190, 3849, 348, 3851, 223, 3853, 191, 148,
13856 397, 465, 420, 72, 3860, 480, 291, 225, 8, 91,
13857 3866, 11, 417, 291, 397, 15, 16, 17, 460, 397,
13858 3876, 463, 464, 465, 235, 467, 468, 469, 470, 471,
13859 472, 397, 32, 397, 235, 3891, 611, 269, 480, 3895,
13860 238, 235, 397, 241, 397, 343, 397, 397, 343, 3905,
13861 343, 254, 397, 3206, 252, 397, 254, 343, 3914, 141,
13862 356, 397, 146, 397, 397, 5078, 5079, 42, 3924, 4688,
13863 139, 153, 3928, 477, 475, 3923, 158, 209, 397, 3935,
13864 3936, 163, 5070, 477, 477, 4135, 284, 169, 209, 209,
13865 172, 209, 175, 477, 176, 477, 182, 3, 407, 480,
13866 4573, 187, 158, 43, 325, 3895, 105, 3963, 480, 3965,
13867 158, 35, 477, 182, 476, 146, 3972, 146, 187, 477,
13868 397, 158, 175, 205, 146, 4613, 475, 465, 343, 343,
13869 328, 706, 707, 420, 343, 475, 420, 343, 224, 4778,
13870 353, 343, 272, 225, 209, 209, 144, 477, 144, 209,
13871 4623, 4007, 350, 4474, 480, 224, 137, 209, 209, 209,
13872 8, 474, 4018, 11, 209, 209, 163, 15, 16, 17,
13873 11, 281, 370, 158, 372, 431, 163, 375, 436, 4764,
13874 477, 480, 172, 477, 266, 271, 476, 269, 462, 477,
13875 163, 270, 4048, 275, 477, 4051, 477, 330, 82, 4972,
13876 425, 158, 271, 4059, 4060, 480, 5219, 476, 480, 209,
13877 4066, 4067, 477, 477, 476, 4071, 407, 35, 4803, 397,
13878 4076, 420, 215, 4079, 4080, 420, 53, 4881, 4084, 4085,
13879 199, 388, 146, 476, 4090, 4091, 4092, 4093, 4094, 167,
13880 407, 3394, 4098, 4099, 4100, 372, 4102, 4103, 330, 348,
13881 4106, 826, 397, 828, 4110, 397, 397, 397, 4114, 3412,
13882 397, 477, 343, 343, 4120, 477, 323, 477, 476, 439,
13883 53, 271, 388, 426, 148, 361, 158, 72, 476, 4135,
13884 146, 105, 4867, 4868, 3437, 407, 4142, 4166, 477, 209,
13885 4146, 209, 361, 209, 209, 4151, 4144, 4145, 194, 476,
13886 213, 476, 397, 385, 443, 269, 480, 318, 477, 480,
13887 4166, 35, 289, 4169, 267, 269, 3, 477, 480, 407,
13888 4110, 476, 480, 22, 4114, 397, 476, 5315, 475, 28,
13889 412, 169, 353, 4189, 4190, 105, 209, 163, 163, 477,
13890 476, 5089, 477, 5068, 53, 437, 437, 4786, 477, 480,
13891 281, 4207, 477, 476, 436, 212, 438, 439, 4797, 212,
13892 477, 476, 279, 387, 4211, 4221, 276, 476, 53, 176,
13893 477, 70, 264, 4220, 460, 407, 465, 463, 464, 465,
13894 397, 467, 468, 469, 470, 471, 472, 163, 72, 188,
13895 439, 460, 474, 193, 181, 477, 478, 479, 467, 468,
13896 469, 470, 471, 472, 259, 259, 465, 4992, 53, 8,
13897 388, 397, 11, 480, 4270, 66, 15, 16, 17, 480,
13898 146, 397, 477, 271, 5009, 124, 397, 209, 5013, 476,
13899 5015, 119, 131, 32, 165, 134, 4292, 4876, 4759, 112,
13900 5165, 40, 163, 35, 187, 264, 420, 35, 47, 476,
13901 353, 4307, 420, 254, 160, 158, 353, 439, 264, 53,
13902 159, 78, 4783, 463, 464, 465, 388, 467, 468, 469,
13903 470, 471, 472, 72, 439, 4869, 35, 163, 269, 158,
13904 196, 476, 272, 4339, 207, 163, 425, 4881, 5035, 369,
13905 212, 289, 476, 476, 193, 438, 127, 477, 477, 4355,
13906 84, 269, 317, 397, 476, 4361, 476, 35, 146, 476,
13907 397, 477, 8, 476, 4370, 11, 477, 476, 3671, 15,
13908 16, 17, 158, 4573, 476, 476, 476, 476, 476, 4385,
13909 35, 259, 8, 191, 236, 11, 32, 353, 476, 476,
13910 146, 477, 4398, 105, 4400, 132, 435, 35, 477, 4397,
13911 367, 407, 477, 252, 273, 254, 367, 35, 53, 5032,
13912 75, 480, 4612, 425, 40, 264, 388, 5006, 476, 476,
13913 180, 47, 476, 4623, 273, 476, 1151, 476, 4434, 158,
13914 420, 6, 252, 182, 388, 476, 285, 4622, 187, 269,
13915 5, 388, 4623, 443, 477, 152, 72, 476, 145, 476,
13916 340, 340, 66, 272, 66, 127, 439, 439, 476, 476,
13917 209, 210, 424, 35, 356, 463, 464, 465, 4474, 467,
13918 468, 469, 470, 471, 472, 224, 163, 326, 327, 425,
13919 4665, 480, 388, 3786, 259, 132, 3789, 314, 193, 269,
13920 269, 1216, 476, 353, 35, 35, 272, 4503, 4504, 272,
13921 188, 4507, 165, 476, 165, 436, 477, 356, 257, 53,
13922 480, 1236, 476, 139, 477, 397, 4522, 339, 376, 4525,
13923 117, 418, 271, 4529, 5399, 274, 5070, 4998, 4534, 5,
13924 339, 4537, 4538, 477, 4540, 353, 4542, 476, 4544, 4545,
13925 142, 276, 1267, 21, 480, 480, 324, 476, 476, 476,
13926 32, 259, 476, 4559, 145, 4561, 182, 1282, 397, 163,
13927 277, 187, 339, 209, 75, 367, 4572, 4573, 4574, 4575,
13928 4576, 367, 439, 476, 423, 439, 165, 165, 828, 1597,
13929 2508, 913, 4522, 2858, 1335, 3888, 2395, 5462, 3037, 4529,
13930 912, 867, 3727, 3701, 4534, 5210, 2317, 4537, 224, 2420,
13931 2478, 3245, 4663, 5068, 3907, 5480, 5315, 3876, 4718, 4341,
13932 4687, 2954, 361, 2647, 189, 5189, 4622, 4623, 4572, 4559,
13933 5304, 5098, 5097, 198, 199, 271, 5230, 5340, 2958, 3924,
13934 3909, 206, 4572, 208, 209, 5042, 3063, 3867, 3722, 4694,
13935 2493, 2493, 3295, 1368, 1369, 271, 1371, 222, 909, 3892,
13936 2487, 4379, 3307, 4703, 5317, 5390, 5480, 5462, 4680, 4665,
13937 3253, 3932, 4668, 5243, 4625, 4855, 5210, 1756, 5051, 4628,
13938 28, 3982, 1178, 3, 4680, 4823, 5408, 4683, 8, 3982,
13939 2932, 11, 4688, 1802, 4690, 15, 16, 17, 2166, 3934,
13940 4733, 4697, 4972, 5164, 4692, 1811, 1869, 694, 1800, 1960,
13941 3751, 661, 32, 1960, 3189, 35, 4552, 1961, 4714, 3299,
13942 40, 460, 4718, 6, 463, 464, 465, 47, 467, 468,
13943 469, 470, 471, 472, 3770, 5271, 4732, 4733, 4734, 5450,
13944 807, 480, 4730, 829, 2098, 361, 2109, 1904, 4555, 4146,
13945 5182, 8, 72, 3620, 11, 1312, 2874, 1355, 15, 16,
13946 17, 2145, 2889, 4759, 1419, 1377, 4762, 3584, 4764, 2119,
13947 5174, 4803, 1378, 5017, 4132, 32, 8, 2144, 1380, 11,
13948 3569, 5315, 4116, 15, 16, 17, 4099, 4783, 4794, 1385,
13949 3566, 4995, 4994, 4789, 3621, 5456, 5288, 4793, 3566, 5377,
13950 32, 4797, 5164, 3519, 4734, 4762, 4548, 4803, 40, 5177,
13951 2056, 5178, 2728, 2818, 2816, 47, 4812, 1834, 2448, 2059,
13952 -1, -1, -1, 5284, -1, -1, -1, 463, 464, 465,
13953 -1, 467, 468, 469, 470, 471, 472, -1, -1, 4835,
13954 72, 4837, 5032, -1, 460, -1, -1, -1, -1, -1,
13955 -1, 467, 468, 469, 470, 471, 472, -1, -1, -1,
13956 -1, -1, 182, 4793, -1, -1, 4862, 187, -1, -1,
13957 -1, 4867, 4868, -1, -1, -1, 4872, 4873, 4874, 4875,
13958 -1, -1, -1, -1, -1, -1, -1, -1, -1, 209,
13959 210, -1, -1, -1, -1, 8, -1, -1, 11, -1,
13960 -1, -1, -1, -1, 224, -1, 189, 4903, -1, -1,
13961 -1, -1, 5373, 5374, 4910, 198, -1, -1, -1, -1,
13962 -1, -1, -1, 206, -1, -1, 209, 40, -1, -1,
13963 -1, -1, -1, -1, 47, -1, 4932, 257, -1, 4935,
13964 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4242,
13965 182, 271, 209, -1, 274, 187, -1, 4945, -1, 72,
13966 -1, 4254, -1, -1, -1, -1, -1, -1, -1, -1,
13967 -1, -1, -1, -1, -1, -1, -1, 209, 210, -1,
13968 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
13969 -1, -1, 224, -1, -1, -1, 4992, -1, -1, 4995,
13970 -1, -1, 4998, -1, -1, 4935, 5002, -1, -1, -1,
13971 -1, -1, -1, 5009, 271, -1, -1, 5013, -1, 5015,
13972 -1, 5017, 5197, -1, -1, 257, 139, -1, 5024, -1,
13973 -1, -1, -1, 5021, 5030, -1, 5032, -1, -1, 271,
13974 -1, 361, 274, 8, -1, -1, 11, 5043, -1, -1,
13975 15, 16, 17, -1, -1, -1, -1, -1, -1, -1,
13976 625, -1, -1, -1, -1, 4995, 631, 32, -1, 182,
13977 -1, -1, -1, -1, 187, -1, -1, -1, -1, 644,
13978 -1, -1, 5078, 5079, -1, -1, -1, -1, -1, -1,
13979 -1, -1, -1, -1, 5024, 660, -1, 5272, 5273, -1,
13980 665, -1, -1, -1, -1, 670, -1, -1, -1, 674,
13981 675, 224, -1, 5109, -1, -1, 681, -1, 683, 684,
13982 5116, -1, -1, -1, 5120, -1, -1, -1, -1, 361,
13983 -1, 696, 697, 5129, -1, -1, -1, -1, -1, -1,
13984 460, -1, 707, 463, 464, 465, -1, 467, 468, 469,
13985 470, 471, 472, -1, -1, -1, -1, -1, 271, 5155,
13986 5156, 5157, -1, 4456, -1, 5161, -1, -1, 5164, -1,
13987 -1, -1, -1, -1, -1, -1, -1, -1, 5174, -1,
13988 -1, 5177, -1, -1, -1, -1, 5182, -1, 1903, -1,
13989 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5129,
13990 -1, 5197, -1, -1, -1, -1, 463, 464, 465, -1,
13991 467, 468, 469, 470, 471, 472, 5212, -1, -1, -1,
13992 -1, 786, 787, 5219, -1, -1, -1, 792, 460, -1,
13993 -1, 463, 464, 465, -1, 467, 468, 469, 470, 471,
13994 472, -1, 1957, -1, 209, 477, -1, -1, 361, 5245,
13995 -1, 816, -1, 818, 5250, -1, 5244, -1, -1, -1,
13996 5256, -1, -1, -1, 829, -1, -1, -1, -1, -1,
13997 5266, -1, -1, 4566, -1, 4568, 5272, 5273, 5274, -1,
13998 -1, -1, -1, 5271, -1, -1, 5271, 5271, 5284, -1,
13999 -1, -1, 5288, -1, -1, 5271, -1, 5271, -1, -1,
14000 -1, -1, -1, -1, -1, -1, 271, 5482, 5483, -1,
14001 -1, -1, -1, 5309, -1, -1, -1, 5349, 2033, -1,
14002 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14003 -1, -1, -1, -1, -1, -1, 5266, -1, -1, -1,
14004 -1, -1, -1, -1, 5340, 5341, 5342, 460, -1, -1,
14005 5346, -1, -1, -1, 467, 468, 469, 470, 471, 472,
14006 -1, 5349, -1, -1, 5349, 5349, -1, -1, -1, -1,
14007 935, 936, 937, 5349, -1, 5349, -1, 5373, 5374, 944,
14008 -1, -1, 665, -1, -1, -1, 951, -1, -1, 5385,
14009 955, 674, -1, -1, 5390, -1, 961, -1, 681, 964,
14010 -1, 684, -1, -1, -1, -1, -1, -1, -1, -1,
14011 5340, 976, -1, -1, -1, -1, 5346, -1, -1, -1,
14012 -1, -1, -1, 5419, -1, -1, 991, -1, -1, -1,
14013 -1, -1, 2147, 5429, -1, -1, -1, -1, -1, -1,
14014 -1, -1, -1, -1, -1, -1, -1, -1, 5444, -1,
14015 -1, 5447, -1, -1, -1, -1, -1, -1, -1, -1,
14016 5456, -1, 5450, -1, 5460, 5450, 5450, -1, -1, -1,
14017 -1, 1036, 1037, 1038, 5450, -1, 5450, -1, -1, -1,
14018 -1, -1, -1, -1, -1, -1, 5482, 5483, -1, -1,
14019 -1, -1, -1, -1, -1, -1, -1, -1, 463, 464,
14020 465, -1, 467, 468, 469, 470, 471, 472, -1, -1,
14021 -1, 1076, -1, -1, -1, -1, -1, 5447, -1, -1,
14022 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14023 -1, 8, -1, -1, 11, -1, -1, -1, 15, 16,
14024 17, -1, -1, -1, -1, -1, -1, -1, 1113, -1,
14025 -1, -1, -1, -1, -1, 32, -1, -1, -1, 0,
14026 -1, -1, -1, 40, -1, -1, 1131, -1, -1, -1,
14027 47, -1, -1, -1, -1, -1, 1141, 18, -1, -1,
14028 -1, -1, -1, -1, 1149, -1, -1, 28, -1, 30,
14029 31, -1, -1, -1, -1, 72, -1, -1, -1, -1,
14030 -1, -1, -1, -1, -1, 46, -1, -1, -1, -1,
14031 8, -1, 1177, 11, 55, -1, -1, 15, 16, 17,
14032 -1, 1186, -1, 1188, -1, -1, 67, -1, 69, 70,
14033 -1, -1, -1, -1, 32, 76, -1, 78, -1, 1204,
14034 -1, -1, 40, 1208, -1, -1, -1, -1, 89, 47,
14035 91, -1, -1, -1, -1, 1220, -1, -1, -1, -1,
14036 -1, 944, -1, -1, -1, -1, -1, 108, 8, -1,
14037 111, 11, 955, -1, 72, 15, 16, 17, 961, -1,
14038 -1, 964, -1, -1, 125, 1250, 127, -1, -1, -1,
14039 131, -1, -1, -1, -1, 35, 137, -1, -1, -1,
14040 -1, -1, -1, -1, 145, 182, 147, -1, -1, -1,
14041 187, -1, 153, 1278, 1279, 1280, -1, 1282, -1, -1,
14042 -1, -1, -1, -1, -1, -1, -1, -1, 169, -1,
14043 -1, -1, 209, 210, -1, -1, -1, 1302, -1, -1,
14044 -1, -1, -1, -1, -1, 186, -1, 224, -1, -1,
14045 -1, -1, -1, 1036, 1037, 1038, 8, -1, -1, 11,
14046 -1, 1326, -1, 15, 16, 17, -1, -1, -1, 1334,
14047 1335, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14048 257, -1, -1, 1348, 182, 226, 227, -1, 40, 187,
14049 -1, 232, -1, -1, 271, 47, -1, 274, -1, -1,
14050 -1, -1, -1, 244, -1, 1370, -1, -1, -1, 1374,
14051 1375, 209, 210, -1, -1, 256, -1, -1, -1, -1,
14052 72, -1, -1, -1, 1389, -1, 224, -1, -1, -1,
14053 1395, -1, -1, -1, -1, 2550, 1401, -1, -1, -1,
14054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14055 -1, -1, -1, -1, -1, -1, -1, -1, 299, 257,
14056 -1, -1, -1, -1, -1, -1, -1, -1, -1, 209,
14057 -1, -1, 313, 271, -1, -1, 274, -1, 319, 320,
14058 -1, 322, -1, -1, 361, -1, 327, -1, -1, -1,
14059 5183, 332, -1, -1, 335, -1, 1461, -1, -1, -1,
14060 -1, 342, -1, -1, -1, -1, -1, 348, 349, -1,
14061 -1, -1, -1, -1, -1, 356, -1, -1, -1, 360,
14062 -1, -1, -1, -1, -1, -1, -1, -1, -1, 370,
14063 182, 271, -1, -1, -1, 187, -1, 1502, -1, -1,
14064 -1, -1, -1, -1, 385, -1, -1, -1, -1, -1,
14065 -1, -1, -1, -1, -1, -1, -1, 209, 210, -1,
14066 -1, -1, -1, 361, 405, -1, -1, -1, -1, -1,
14067 1535, -1, 224, -1, 415, -1, -1, 25, -1, -1,
14068 421, -1, -1, 460, -1, 426, 463, 464, 465, -1,
14069 467, 468, 469, 470, 471, 472, -1, -1, 439, -1,
14070 477, -1, -1, -1, -1, 257, -1, -1, -1, -1,
14071 -1, -1, -1, -1, -1, -1, -1, -1, -1, 271,
14072 -1, 462, -1, -1, -1, -1, 74, -1, -1, -1,
14073 1595, -1, -1, -1, -1, 476, -1, -1, 479, -1,
14074 -1, -1, 2757, -1, -1, 1610, 1611, 1612, -1, -1,
14075 -1, -1, 8, -1, -1, 11, -1, -1, 106, 15,
14076 16, 17, 460, -1, -1, 463, 464, 465, -1, 467,
14077 468, 469, 470, 471, 472, -1, 32, -1, -1, 477,
14078 -1, 129, -1, -1, 40, -1, 2801, -1, -1, -1,
14079 -1, 47, 140, -1, -1, -1, -1, -1, -1, -1,
14080 -1, -1, -1, 2818, -1, -1, -1, -1, -1, 361,
14081 -1, -1, 160, -1, -1, -1, 72, 165, -1, 2834,
14082 -1, -1, -1, 463, 464, 465, -1, 467, 468, 469,
14083 470, 471, 472, -1, -1, 2850, -1, -1, -1, -1,
14084 -1, -1, -1, -1, -1, -1, -1, -1, 1713, -1,
14085 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14086 -1, -1, -1, -1, -1, 1730, -1, -1, 216, -1,
14087 -1, -1, -1, -1, -1, -1, -1, -1, 1743, -1,
14088 -1, -1, -1, 1748, -1, -1, -1, -1, 2903, 237,
14089 -1, -1, 2907, -1, -1, -1, -1, -1, -1, -1,
14090 -1, -1, 1767, -1, -1, -1, -1, -1, 460, -1,
14091 1775, 463, 464, 465, -1, 467, 468, 469, 470, 471,
14092 472, -1, 1787, -1, -1, -1, 182, -1, -1, -1,
14093 -1, 187, -1, -1, -1, -1, -1, -1, -1, 1804,
14094 -1, -1, -1, -1, -1, -1, 1811, -1, -1, 1814,
14095 -1, -1, 1817, 209, 210, -1, 304, 305, 1823, -1,
14096 308, -1, -1, -1, 1829, -1, -1, -1, 224, -1,
14097 -1, -1, -1, -1, 8, -1, 1841, 11, -1, -1,
14098 -1, 15, 16, 17, -1, -1, 334, -1, -1, 337,
14099 -1, -1, -1, 1858, 1859, 343, 1861, 1862, 32, -1,
14100 -1, 257, 350, -1, -1, -1, 40, -1, 1873, -1,
14101 1875, 1876, -1, 47, -1, 271, -1, -1, 274, -1,
14102 1885, 1886, -1, 1888, 1889, -1, -1, -1, -1, -1,
14103 -1, 379, -1, -1, -1, -1, -1, 385, 72, 1904,
14104 388, -1, -1, -1, -1, -1, 8, -1, -1, 11,
14105 -1, -1, -1, 15, 16, 17, -1, -1, -1, 407,
14106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14107 32, 1936, -1, -1, 1939, 1940, -1, -1, 40, -1,
14108 -1, -1, -1, -1, 432, 47, -1, -1, -1, -1,
14109 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14110 -1, -1, -1, -1, -1, 361, -1, -1, -1, 1974,
14111 72, 1976, -1, -1, -1, -1, 1981, 1982, -1, -1,
14112 -1, -1, -1, 1988, 1989, 1990, -1, -1, -1, 1994,
14113 -1, 1996, 1997, 1998, 1999, 2000, 2001, -1, 2003, -1,
14114 2005, 2006, -1, -1, 2009, -1, -1, -1, 182, -1,
14115 -1, -1, -1, 187, -1, -1, -1, -1, 2023, 2024,
14116 2025, 2026, 2027, 2028, -1, -1, -1, 2032, -1, -1,
14117 -1, 2036, -1, -1, 2039, 209, 210, 2042, 2043, 2044,
14118 2045, 2046, 2047, 2048, 2049, 2050, -1, 2052, -1, -1,
14119 224, -1, -1, -1, 2059, -1, 2061, -1, -1, -1,
14120 -1, -1, -1, -1, 460, -1, -1, 463, 464, 465,
14121 -1, 467, 468, 469, 470, 471, 472, -1, -1, -1,
14122 182, 477, -1, 257, -1, 187, -1, -1, 1811, -1,
14123 -1, 1814, -1, 2098, -1, -1, -1, 271, -1, 2104,
14124 274, -1, -1, -1, -1, -1, -1, 209, 210, -1,
14125 -1, -1, -1, -1, 2119, -1, -1, -1, -1, -1,
14126 -1, -1, 224, 2128, 2129, -1, -1, -1, -1, -1,
14127 -1, 8, -1, -1, 11, 1858, 1859, -1, -1, -1,
14128 -1, -1, -1, -1, -1, -1, -1, -1, -1, 2154,
14129 1873, -1, -1, 1876, -1, 257, 2161, -1, -1, -1,
14130 2165, 2166, -1, 40, -1, -1, -1, 2172, -1, 271,
14131 47, -1, 2177, 2178, 3329, -1, -1, 2182, -1, -1,
14132 -1, -1, -1, -1, -1, 2190, -1, 361, -1, -1,
14133 -1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
14134 -1, 3356, -1, 2208, -1, -1, 2211, -1, -1, -1,
14135 -1, -1, -1, 1936, -1, -1, 1939, 1940, 2223, -1,
14136 -1, -1, 2227, -1, -1, 2230, -1, -1, 2233, 2234,
14137 -1, -1, -1, -1, -1, -1, 2241, -1, -1, -1,
14138 -1, -1, -1, -1, -1, -1, -1, -1, -1, 2254,
14139 -1, -1, -1, -1, -1, -1, -1, -1, -1, 361,
14140 -1, -1, 139, -1, -1, -1, -1, -1, 2273, 2274,
14141 -1, -1, -1, -1, -1, -1, -1, 2282, -1, -1,
14142 -1, -1, -1, -1, -1, -1, 460, -1, -1, 463,
14143 464, 465, -1, 467, 468, 469, 470, 471, 472, -1,
14144 2305, 2306, -1, 477, 2309, 182, -1, -1, -1, -1,
14145 187, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14146 -1, -1, -1, -1, -1, -1, 2331, -1, 2333, -1,
14147 -1, -1, -1, 2338, -1, -1, -1, -1, -1, 2344,
14148 56, -1, -1, -1, -1, -1, 2351, 224, -1, -1,
14149 2355, -1, -1, -1, -1, 2360, -1, -1, 460, 56,
14150 -1, 463, 464, 465, -1, 467, 468, 469, 470, 471,
14151 472, -1, -1, -1, 90, 2380, -1, -1, -1, -1,
14152 2385, -1, -1, -1, 2389, -1, -1, 2392, -1, -1,
14153 -1, -1, -1, 90, 271, 3550, -1, 2402, -1, -1,
14154 -1, -1, -1, -1, 120, -1, -1, -1, -1, -1,
14155 2415, 3566, -1, -1, 3569, -1, -1, -1, -1, -1,
14156 2425, -1, -1, 120, -1, -1, -1, -1, -1, -1,
14157 -1, -1, -1, 149, -1, -1, 3591, 2442, 2443, 2444,
14158 17, -1, -1, 2448, -1, -1, -1, -1, -1, 26,
14159 -1, -1, 149, -1, -1, -1, -1, -1, -1, -1,
14160 -1, -1, -1, -1, -1, -1, -1, -1, 184, -1,
14161 -1, -1, -1, -1, -1, 2480, 2481, -1, -1, -1,
14162 -1, -1, 35, -1, 361, 2490, -1, 184, 1081, -1,
14163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14164 2223, -1, -1, 56, 220, -1, -1, 2230, 1101, -1,
14165 2233, 2234, -1, -1, -1, -1, -1, -1, 1111, 2524,
14166 -1, -1, 1115, 220, -1, -1, 1119, -1, 1121, -1,
14167 -1, -1, -1, -1, 1127, -1, -1, 90, 254, -1,
14168 1133, 8, -1, 1136, 11, -1, -1, -1, 15, 16,
14169 17, -1, -1, -1, -1, -1, -1, 254, 2563, -1,
14170 -1, 2566, -1, -1, -1, 32, 2571, -1, -1, 285,
14171 286, -1, -1, 40, -1, 2580, -1, -1, -1, -1,
14172 47, -1, -1, 460, -1, -1, -1, -1, 285, 286,
14173 467, 468, 469, 470, 471, 472, 149, -1, -1, -1,
14174 -1, -1, -1, -1, -1, 72, -1, 323, -1, -1,
14175 -1, 327, -1, -1, -1, 331, -1, -1, -1, -1,
14176 -1, 2626, -1, -1, 340, -1, 323, -1, -1, -1,
14177 327, 184, 348, -1, 331, -1, -1, -1, -1, -1,
14178 356, -1, -1, 340, -1, -1, -1, -1, -1, -1,
14179 -1, 348, 368, -1, -1, -1, -1, -1, -1, 356,
14180 -1, 377, 215, 2668, -1, 381, -1, 220, -1, -1,
14181 -1, 368, -1, -1, -1, -1, -1, -1, -1, 2684,
14182 377, 2686, -1, -1, 381, -1, 35, -1, -1, 2694,
14183 -1, -1, -1, 2698, -1, -1, 2701, -1, -1, 2704,
14184 -1, 254, 2707, -1, -1, 2710, -1, 56, -1, -1,
14185 -1, 2716, -1, -1, -1, 182, -1, -1, 434, -1,
14186 187, -1, 2727, -1, -1, -1, -1, 2732, -1, -1,
14187 -1, -1, -1, 286, -1, -1, -1, 434, -1, -1,
14188 3895, 90, 209, 210, -1, -1, -1, -1, -1, -1,
14189 2755, 2756, 2757, -1, -1, 2760, -1, 224, -1, -1,
14190 -1, -1, -1, 2768, 2769, 2770, 2771, -1, 3923, -1,
14191 -1, 2776, -1, -1, 327, -1, 2781, 2782, 331, 2784,
14192 -1, 2786, -1, -1, -1, -1, -1, 340, -1, -1,
14193 257, -1, 2797, 2798, -1, 348, 2801, -1, -1, -1,
14194 149, -1, -1, 356, 271, -1, -1, 274, -1, -1,
14195 2815, -1, 2817, -1, 2819, 368, -1, -1, -1, -1,
14196 -1, -1, -1, -1, 377, -1, -1, -1, 381, -1,
14197 -1, -1, -1, -1, 2839, 184, -1, -1, -1, -1,
14198 -1, -1, -1, -1, -1, 2850, -1, 400, -1, -1,
14199 -1, -1, -1, 2858, -1, -1, -1, -1, -1, -1,
14200 -1, -1, -1, -1, -1, 8, 215, -1, 11, 2874,
14201 -1, 220, 15, 16, 17, -1, -1, -1, -1, -1,
14202 -1, 434, -1, -1, 2889, 438, -1, -1, -1, 32,
14203 -1, -1, -1, -1, 361, -1, -1, 40, 2903, -1,
14204 8, -1, -1, 11, 47, 254, -1, 15, 16, 17,
14205 -1, -1, -1, -1, -1, -1, -1, 2922, -1, -1,
14206 2925, -1, 2927, -1, 32, -1, -1, 2932, -1, 72,
14207 -1, -1, 40, -1, -1, -1, -1, 286, -1, 47,
14208 -1, 22, 2947, 2948, -1, -1, -1, 28, 2953, -1,
14209 -1, -1, -1, -1, -1, 4110, -1, -1, -1, 4114,
14210 -1, -1, -1, -1, 72, -1, -1, -1, -1, 2974,
14211 -1, -1, 2977, -1, -1, 2698, 2981, -1, 327, -1,
14212 -1, 2704, 331, -1, 2707, -1, -1, 2710, -1, 4144,
14213 4145, 340, -1, 460, -1, 3000, 463, 464, 465, 348,
14214 467, 468, 469, 470, 471, 472, -1, 356, -1, -1,
14215 477, -1, -1, -1, -1, -1, -1, -1, -1, 368,
14216 3025, -1, -1, -1, -1, -1, -1, -1, 377, -1,
14217 -1, 608, 381, -1, -1, -1, -1, -1, -1, 182,
14218 -1, -1, -1, -1, 187, -1, 22, -1, -1, -1,
14219 -1, 400, 28, -1, -1, -1, -1, 3062, 3063, 3064,
14220 -1, -1, -1, -1, -1, 41, 209, 210, -1, -1,
14221 -1, -1, -1, -1, 182, -1, -1, -1, -1, 187,
14222 3085, 224, -1, 660, 661, 434, -1, -1, -1, 438,
14223 3095, -1, 3097, -1, 70, -1, -1, -1, -1, -1,
14224 3105, 209, 210, -1, -1, -1, -1, -1, -1, 670,
14225 -1, -1, -1, -1, 257, -1, 224, -1, -1, 3124,
14226 -1, -1, -1, -1, -1, -1, -1, 2850, 271, 8,
14227 -1, 274, 11, -1, -1, 696, 15, 16, 17, -1,
14228 -1, -1, -1, -1, -1, -1, 122, -1, 124, 257,
14229 -1, -1, -1, 32, -1, 131, -1, -1, 134, -1,
14230 -1, 40, -1, 271, -1, -1, 274, -1, 47, -1,
14231 -1, -1, -1, -1, -1, -1, -1, 754, -1, -1,
14232 2903, 3186, -1, 159, -1, -1, -1, -1, -1, -1,
14233 -1, -1, -1, 72, -1, -1, -1, -1, -1, -1,
14234 -1, 3206, -1, 780, -1, -1, 3211, -1, -1, -1,
14235 -1, 788, 3217, -1, 791, 792, 793, 193, 361, -1,
14236 3225, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14238 -1, -1, 4397, -1, -1, -1, -1, -1, 3253, 3254,
14239 -1, -1, -1, 361, -1, 3260, -1, 3262, -1, -1,
14240 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14241 3275, 1864, 3277, -1, -1, -1, 252, -1, 254, 1872,
14242 -1, -1, -1, -1, -1, -1, -1, -1, 264, -1,
14243 -1, -1, -1, -1, 3299, -1, -1, 273, -1, 1892,
14244 -1, -1, -1, 182, -1, -1, -1, -1, 187, 285,
14245 -1, -1, -1, -1, -1, -1, -1, 460, 3323, -1,
14246 463, 464, 465, -1, 467, 468, 469, 470, 471, 472,
14247 209, 210, -1, -1, 477, -1, -1, -1, 3343, 3344,
14248 -1, -1, -1, -1, -1, 224, -1, 323, -1, -1,
14249 326, 327, 460, 3358, -1, 463, 464, 465, -1, 467,
14250 468, 469, 470, 471, 472, -1, -1, -1, -1, 477,
14251 -1, -1, -1, -1, 4529, -1, -1, -1, 257, 4534,
14252 356, -1, 4537, -1, -1, -1, -1, -1, -1, 3394,
14253 951, -1, 271, -1, -1, 274, -1, -1, -1, -1,
14254 -1, -1, -1, -1, -1, -1, -1, 3412, -1, -1,
14255 -1, -1, -1, -1, -1, 976, -1, -1, -1, -1,
14256 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3434,
14257 991, -1, 3437, -1, -1, -1, -1, -1, -1, -1,
14258 -1, -1, -1, -1, -1, -1, -1, 423, -1, -1,
14259 -1, -1, 3457, -1, -1, 3460, -1, -1, -1, -1,
14260 -1, 3466, -1, -1, -1, -1, -1, 3472, -1, 3474,
14261 -1, -1, 3477, -1, -1, -1, 3481, 3482, 3483, 3484,
14262 3485, -1, 361, 3488, 3489, 3490, 3491, 3492, 3493, 3494,
14263 3495, 3496, 3497, -1, -1, -1, 3501, 3502, -1, -1,
14264 -1, 3506, -1, 2096, -1, -1, 3511, -1, -1, -1,
14265 3515, -1, 3517, -1, 3519, -1, -1, -1, -1, -1,
14266 -1, -1, 3527, -1, -1, 3530, -1, 3532, -1, -1,
14267 -1, -1, -1, -1, -1, 3540, 3541, 4692, -1, 3544,
14268 3545, -1, -1, -1, 3549, 3550, -1, -1, -1, -1,
14269 -1, 3556, -1, -1, 1131, -1, -1, -1, -1, -1,
14270 -1, 3566, -1, -1, 3569, -1, -1, -1, -1, -1,
14271 -1, -1, 1149, -1, -1, 4730, 3581, -1, -1, -1,
14272 -1, 460, -1, -1, 463, 464, 465, -1, 467, 468,
14273 469, 470, 471, 472, -1, -1, -1, -1, 477, -1,
14274 -1, 3606, -1, -1, -1, -1, 1183, -1, -1, -1,
14275 -1, -1, -1, -1, -1, -1, 20, 3622, -1, -1,
14276 -1, 25, -1, 3628, -1, 1186, -1, -1, -1, -1,
14277 -1, 1208, -1, -1, -1, 3640, -1, -1, 4793, 720,
14278 56, 722, -1, 724, -1, -1, -1, -1, 4803, 730,
14279 731, 732, -1, -1, -1, -1, 60, -1, -1, -1,
14280 -1, -1, -1, -1, -1, -1, 3671, -1, -1, 73,
14281 -1, -1, -1, -1, 90, -1, -1, -1, -1, 8,
14282 -1, -1, 11, -1, 88, -1, 15, 16, 17, -1,
14283 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14284 -1, -1, -1, 32, 120, -1, -1, 1284, -1, -1,
14285 -1, 40, -1, -1, -1, -1, 1293, 3722, 47, -1,
14286 -1, -1, 3727, 3728, 3729, 129, -1, -1, -1, -1,
14287 1307, -1, -1, 149, -1, -1, 140, -1, -1, -1,
14288 -1, -1, -1, 72, -1, -1, 3751, 3752, -1, 1326,
14289 -1, -1, 1329, 1330, -1, -1, 160, 1334, 1335, -1,
14290 -1, 165, -1, -1, -1, 3770, -1, -1, 184, -1,
14291 -1, 1348, -1, -1, -1, -1, -1, -1, -1, -1,
14292 4935, 3786, -1, -1, 3789, -1, -1, -1, -1, -1,
14293 4945, -1, -1, -1, 875, -1, -1, -1, -1, -1,
14294 -1, -1, -1, -1, 220, -1, -1, -1, -1, -1,
14295 -1, -1, -1, -1, 200, -1, -1, -1, -1, -1,
14296 -1, -1, -1, -1, -1, -1, 212, -1, -1, -1,
14297 -1, -1, -1, 237, -1, -1, -1, 223, 254, -1,
14298 -1, -1, -1, 3566, -1, -1, 3569, -1, 3853, -1,
14299 -1, -1, -1, 182, -1, -1, -1, -1, 187, -1,
14300 -1, -1, 22, -1, -1, -1, 5021, 271, 28, 285,
14301 286, -1, -1, 3878, 3879, 35, -1, 3882, -1, -1,
14302 209, 210, -1, 3888, -1, -1, -1, -1, -1, -1,
14303 3895, -1, -1, -1, 54, 224, -1, -1, -1, -1,
14304 304, 305, 3907, -1, -1, -1, -1, 323, -1, -1,
14305 70, 327, -1, -1, -1, 331, -1, 3640, -1, -1,
14306 -1, -1, -1, -1, 340, 3930, -1, -1, 257, 3934,
14307 3935, 3936, 348, 337, -1, -1, -1, -1, -1, 343,
14308 356, 1502, 271, -1, 104, 274, 350, -1, -1, 353,
14309 -1, -1, 368, -1, -1, -1, -1, -1, -1, -1,
14310 -1, 377, -1, -1, 124, 381, -1, -1, -1, -1,
14311 -1, 131, -1, -1, 134, -1, 1553, 3982, -1, -1,
14312 -1, 385, 1559, 2576, -1, -1, -1, -1, 392, -1,
14313 2583, -1, -1, -1, -1, -1, 400, -1, -1, 159,
14314 -1, -1, 4007, 407, -1, -1, -1, -1, -1, -1,
14315 2603, -1, -1, 4018, -1, -1, -1, -1, 434, -1,
14316 2613, -1, -1, 2616, -1, 2618, 2619, -1, 432, 2622,
14317 190, -1, 361, 193, -1, 2628, -1, 2630, -1, -1,
14318 2633, -1, 22, 4048, -1, -1, 4051, -1, 28, -1,
14319 -1, -1, -1, -1, 4059, 4060, -1, 4062, -1, -1,
14320 -1, 4066, 4067, -1, -1, -1, 4071, 4072, 1149, -1,
14321 -1, 4076, -1, -1, 4079, 4080, -1, -1, 238, 4084,
14322 -1, 241, -1, -1, -1, 4090, -1, -1, -1, 5244,
14323 70, -1, 252, -1, 254, -1, -1, 4102, -1, -1,
14324 -1, -1, -1, 2696, 264, 4110, -1, -1, -1, 4114,
14325 -1, -1, -1, 273, -1, -1, 5271, -1, -1, -1,
14326 -1, -1, -1, -1, 284, 285, -1, -1, -1, -1,
14327 -1, 460, -1, -1, 463, 464, 465, 4142, 467, 468,
14328 469, 470, 471, 472, 124, -1, -1, -1, 477, -1,
14329 -1, 131, 1713, -1, 134, -1, -1, -1, -1, -1,
14330 -1, -1, -1, 323, 4169, -1, 326, 327, 328, 1730,
14331 -1, -1, 3895, -1, -1, -1, -1, -1, -1, 159,
14332 -1, -1, 4187, -1, -1, -1, -1, 1748, -1, -1,
14333 350, -1, -1, 1770, 5349, -1, 356, 1774, -1, 4204,
14334 -1, -1, -1, -1, 4209, -1, -1, -1, -1, -1,
14335 370, -1, -1, 193, -1, -1, -1, -1, -1, -1,
14336 606, 4226, -1, -1, -1, -1, 612, -1, -1, -1,
14337 -1, -1, -1, -1, -1, -1, -1, 4242, -1, -1,
14338 -1, -1, 4247, 1804, -1, -1, -1, -1, 1329, 4254,
14339 -1, -1, -1, 1334, 1335, -1, 1817, -1, -1, -1,
14340 -1, -1, -1, 423, -1, 4270, -1, 1348, 1829, -1,
14341 -1, -1, 252, -1, 254, -1, 4281, -1, 8, -1,
14342 1841, 11, -1, -1, 264, 15, 16, 17, -1, -1,
14343 -1, -1, -1, 273, -1, 5450, -1, -1, -1, -1,
14344 -1, -1, 32, -1, -1, 285, -1, 4312, -1, -1,
14345 40, -1, -1, -1, -1, -1, -1, 47, -1, -1,
14346 -1, -1, -1, -1, 1885, 1886, -1, -1, -1, -1,
14347 -1, -1, -1, -1, 4339, -1, -1, -1, -1, -1,
14348 -1, -1, 72, 323, -1, -1, 326, 327, -1, -1,
14349 4355, -1, -1, -1, -1, -1, -1, -1, -1, 1440,
14350 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1450,
14351 2963, -1, -1, 4378, -1, -1, 356, -1, -1, -1,
14352 4385, -1, -1, -1, -1, -1, -1, 4110, -1, -1,
14353 -1, 4114, -1, -1, -1, -1, -1, -1, -1, -1,
14354 -1, -1, -1, 789, -1, -1, -1, -1, -1, -1,
14355 1987, -1, 1493, 1494, -1, -1, -1, -1, -1, -1,
14356 -1, -1, 808, -1, -1, 4430, -1, 4432, -1, -1,
14357 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14358 -1, -1, -1, 423, 830, -1, -1, -1, -1, -1,
14359 -1, 4456, 182, -1, 3047, 1536, 3049, 187, 1539, 1540,
14360 -1, -1, 2023, -1, -1, -1, -1, -1, -1, 4474,
14361 -1, -1, -1, 4478, -1, -1, -1, -1, -1, 209,
14362 210, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14363 876, -1, -1, -1, 224, -1, -1, -1, 4503, 4504,
14364 -1, 2078, 4507, -1, -1, -1, -1, -1, -1, -1,
14365 -1, -1, -1, -1, -1, -1, -1, 4522, -1, -1,
14366 -1, -1, -1, -1, 4529, -1, -1, 257, -1, 4534,
14367 -1, -1, 4537, 4538, -1, -1, -1, -1, -1, 4544,
14368 4545, 271, -1, -1, 274, -1, -1, -1, -1, -1,
14369 -1, -1, -1, -1, 4559, -1, 4561, -1, -1, -1,
14370 -1, 4566, -1, 4568, -1, -1, -1, 4572, -1, -1,
14371 -1, 8, -1, -1, 11, -1, -1, -1, 15, 16,
14372 17, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14373 -1, -1, 3185, -1, -1, 32, -1, -1, 3191, -1,
14374 -1, -1, -1, 40, -1, -1, -1, 4612, 4613, -1,
14375 47, -1, -1, 2190, -1, 1001, -1, 4622, -1, -1,
14376 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14377 -1, 361, 4355, -1, -1, 72, -1, -1, -1, 1720,
14378 -1, -1, -1, -1, 1030, 1031, 1032, -1, -1, -1,
14379 -1, -1, -1, -1, -1, 4660, -1, -1, -1, -1,
14380 4665, -1, -1, -1, -1, -1, 2227, -1, -1, -1,
14381 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14382 2241, -1, -1, -1, 2261, -1, -1, -1, -1, -1,
14383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14384 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14385 -1, -1, -1, -1, -1, -1, 4721, -1, -1, -1,
14386 -1, 2282, -1, -1, -1, -1, -1, -1, -1, 4734,
14387 460, 4736, -1, 463, 464, 465, -1, 467, 468, 469,
14388 470, 471, 472, -1, -1, 182, 1827, 477, -1, -1,
14389 187, -1, -1, -1, 4759, 4760, 1837, 4762, 1839, 4764,
14390 -1, -1, -1, 2340, 1845, -1, -1, -1, -1, -1,
14391 -1, 1852, 209, 210, -1, -1, -1, -1, 4783, -1,
14392 2357, -1, -1, -1, 4789, -1, -1, 224, 4793, 3382,
14393 1176, 3384, -1, 3386, 4799, -1, -1, -1, 4803, 4522,
14394 -1, -1, 3395, -1, -1, -1, 4529, -1, 1194, -1,
14395 -1, 4534, -1, -1, 4537, 4538, -1, 1203, -1, -1,
14396 257, -1, -1, -1, 22, -1, -1, -1, -1, -1,
14397 28, -1, -1, -1, 271, -1, 4559, 274, -1, 4844,
14398 -1, 2418, -1, 3436, -1, -1, -1, 4852, -1, 4572,
14399 -1, -1, 4857, 4858, -1, -1, -1, 4862, -1, -1,
14400 -1, -1, 4867, 4868, 4869, -1, -1, -1, -1, -1,
14401 -1, -1, 70, -1, -1, 2452, 4881, -1, 2455, -1,
14402 2457, -1, -1, -1, 2461, -1, 2463, 2464, -1, -1,
14403 -1, -1, -1, -1, -1, 2472, 2473, 2474, 4903, 4622,
14404 -1, -1, -1, 1984, 1985, 4910, -1, -1, -1, -1,
14405 1991, 1992, -1, -1, -1, -1, -1, -1, -1, -1,
14406 2481, -1, 120, -1, 361, -1, 124, -1, -1, -1,
14407 4935, -1, -1, 131, -1, -1, 134, -1, 2019, -1,
14408 -1, -1, 4665, 22, -1, -1, -1, -1, -1, 28,
14409 2527, -1, -1, -1, 1340, -1, -1, -1, -1, -1,
14410 -1, 159, 41, -1, -1, -1, -1, 4972, 4973, -1,
14411 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14412 -1, -1, 2559, -1, -1, -1, -1, 4992, -1, -1,
14413 4995, 70, -1, 4998, 2571, 193, -1, -1, -1, -1,
14414 1386, -1, -1, -1, 5009, -1, -1, -1, 5013, -1,
14415 5015, 4734, 5017, -1, -1, -1, -1, -1, -1, 5024,
14416 -1, -1, -1, 460, -1, -1, 463, 464, 465, -1,
14417 467, 468, 469, 470, 471, 472, -1, -1, 5043, -1,
14418 477, -1, -1, 122, -1, 124, -1, 2128, 2129, 2626,
14419 -1, -1, 131, -1, 252, 134, 254, -1, -1, -1,
14420 -1, -1, -1, 5068, -1, 5070, 264, -1, -1, -1,
14421 4793, -1, -1, -1, -1, 273, -1, -1, -1, -1,
14422 159, 1467, -1, -1, -1, -1, -1, 285, -1, -1,
14423 -1, 1477, -1, -1, -1, -1, -1, -1, -1, -1,
14424 -1, -1, -1, -1, -1, -1, -1, -1, -1, 2190,
14425 -1, -1, -1, -1, 193, 5120, -1, -1, -1, -1,
14426 -1, -1, 1508, 2684, 5129, 323, -1, -1, 326, 327,
14427 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14428 2701, -1, -1, -1, -1, 1531, -1, -1, 1534, -1,
14429 5155, 5156, 5157, -1, -1, 2716, -1, -1, 356, 5164,
14430 5165, -1, -1, 5168, -1, -1, -1, -1, -1, 5174,
14431 -1, -1, -1, 252, -1, 254, -1, -1, 5183, -1,
14432 22, -1, -1, -1, -1, 264, 28, 4910, -1, -1,
14433 -1, -1, 5197, -1, 273, -1, -1, -1, -1, 1585,
14434 -1, -1, -1, -1, 2285, 5210, 285, -1, -1, -1,
14435 -1, -1, 4935, 1599, -1, -1, -1, -1, -1, -1,
14436 -1, -1, -1, -1, -1, 423, -1, -1, 70, -1,
14437 -1, -1, -1, -1, 8, -1, -1, 11, -1, -1,
14438 -1, 15, 16, 17, 323, 5250, -1, 326, 327, -1,
14439 -1, 5256, -1, -1, -1, -1, -1, -1, 32, -1,
14440 -1, 5266, -1, -1, -1, -1, 40, 5272, 5273, 5274,
14441 -1, -1, 4995, 47, -1, -1, -1, 356, -1, 5284,
14442 -1, 2858, 124, -1, -1, 2366, -1, -1, -1, 131,
14443 -1, -1, 134, 2374, -1, -1, 2377, -1, 72, -1,
14444 -1, 5024, -1, -1, -1, -1, -1, -1, -1, -1,
14445 5315, -1, -1, -1, -1, -1, -1, 159, -1, -1,
14446 -1, -1, -1, -1, 1710, -1, -1, -1, -1, -1,
14447 -1, -1, -1, -1, -1, 5340, -1, -1, -1, -1,
14448 -1, 5346, -1, -1, 423, -1, -1, -1, -1, -1,
14449 -1, 193, 8, -1, -1, 11, -1, -1, -1, 15,
14450 16, 17, -1, -1, -1, -1, -1, -1, 5373, 5374,
14451 -1, -1, -1, -1, 3967, 1761, 32, -1, 3971, -1,
14452 5385, -1, -1, -1, 40, 5390, -1, -1, -1, -1,
14453 -1, 47, -1, -1, 5399, -1, -1, -1, -1, -1,
14454 2977, -1, -1, -1, 1790, -1, 5129, -1, 182, -1,
14455 252, 1797, 254, 187, 5419, -1, 72, -1, -1, -1,
14456 2981, -1, 264, -1, 5429, -1, -1, -1, -1, -1,
14457 -1, 273, -1, -1, -1, 209, 210, -1, -1, 3000,
14458 -1, -1, 5447, 285, -1, -1, -1, -1, -1, -1,
14459 224, -1, -1, -1, -1, 5460, -1, 5462, -1, -1,
14460 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14461 -1, -1, -1, -1, 5197, 5480, -1, 5482, 5483, -1,
14462 -1, 323, -1, 257, 326, 327, -1, -1, -1, -1,
14463 -1, 3068, -1, -1, -1, -1, -1, 271, -1, -1,
14464 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14465 -1, -1, 2593, 2594, 356, -1, 1902, -1, 2599, -1,
14466 -1, -1, -1, -1, -1, -1, 182, 5250, -1, -1,
14467 -1, 187, -1, -1, 3095, -1, 3097, -1, -1, 8,
14468 -1, -1, 11, 5266, -1, 3122, 15, 16, 17, 5272,
14469 5273, -1, -1, 209, 210, -1, 1942, 1943, -1, -1,
14470 -1, -1, -1, 32, -1, -1, -1, -1, 224, -1,
14471 -1, 40, -1, 1959, -1, -1, -1, -1, 47, 2660,
14472 -1, 423, -1, -1, -1, -1, -1, 361, -1, -1,
14473 8, -1, 4185, 11, -1, -1, -1, 15, 16, 17,
14474 -1, 257, -1, 72, -1, -1, -1, -1, -1, -1,
14475 -1, 3188, -1, -1, 32, 271, -1, 5340, 274, -1,
14476 -1, -1, 40, 5346, -1, 3186, -1, -1, -1, 47,
14477 -1, -1, -1, -1, 4227, 4228, -1, -1, 8, -1,
14478 -1, -1, -1, -1, 14, 15, -1, -1, -1, -1,
14479 20, -1, 22, 3230, 72, -1, -1, -1, 28, -1,
14480 30, -1, -1, -1, 3225, -1, -1, 3244, 3245, -1,
14481 -1, -1, 2058, -1, -1, -1, -1, 3254, -1, 49,
14482 50, -1, 2068, 3260, -1, 3262, 460, -1, -1, 463,
14483 464, 465, -1, 467, 468, 469, 470, 471, 472, -1,
14484 -1, -1, -1, 477, -1, 361, -1, -1, -1, -1,
14485 -1, 2097, -1, 182, -1, -1, -1, -1, 187, -1,
14486 4313, 4314, 2108, 2109, 5447, -1, 22, -1, -1, -1,
14487 -1, 3308, 28, -1, -1, -1, -1, 5460, -1, -1,
14488 209, 210, -1, -1, -1, -1, -1, -1, -1, -1,
14489 -1, -1, -1, -1, -1, 224, 2142, -1, -1, 5482,
14490 5483, -1, 3323, -1, 182, 3342, 3343, -1, -1, 187,
14491 -1, -1, -1, -1, 70, 2856, -1, 2858, -1, -1,
14492 -1, -1, -1, -1, -1, -1, -1, -1, 257, -1,
14493 -1, 209, 210, -1, -1, -1, -1, 3358, -1, -1,
14494 2881, 2882, 271, -1, 460, 274, 224, 463, 464, 465,
14495 -1, 467, 468, 469, 470, 471, 472, -1, -1, -1,
14496 -1, 477, -1, -1, -1, -1, 196, -1, 124, -1,
14497 -1, -1, -1, -1, 204, 131, -1, 207, 134, 257,
14498 210, 211, -1, 213, 4437, 215, 4439, 4440, 218, -1,
14499 220, -1, -1, 271, -1, -1, 274, -1, -1, -1,
14500 -1, -1, 4455, 159, -1, -1, -1, -1, -1, -1,
14501 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14502 -1, -1, 8, -1, -1, 11, -1, -1, -1, 15,
14503 16, 17, 361, -1, -1, -1, -1, 193, -1, 3460,
14504 2286, -1, -1, -1, -1, -1, 32, -1, -1, -1,
14505 -1, -1, -1, -1, 40, -1, 2302, -1, -1, -1,
14506 3481, 47, -1, -1, -1, -1, -1, -1, -1, -1,
14507 -1, -1, -1, -1, -1, -1, 2322, -1, -1, -1,
14508 -1, -1, -1, 361, -1, 3506, 72, -1, -1, 3526,
14509 -1, -1, -1, -1, 8, -1, 252, 11, 254, -1,
14510 -1, 15, 16, 17, -1, -1, -1, -1, 264, -1,
14511 -1, -1, -1, -1, -1, -1, -1, 273, 32, 3540,
14512 -1, -1, -1, -1, -1, -1, 40, -1, -1, 285,
14513 -1, 460, -1, 47, 463, 464, 465, -1, 467, 468,
14514 469, 470, 471, 472, -1, -1, -1, -1, 477, -1,
14515 2396, 2397, -1, -1, -1, -1, -1, -1, 72, -1,
14516 -1, -1, -1, -1, -1, -1, -1, 323, -1, -1,
14517 326, 327, -1, -1, -1, -1, -1, -1, -1, -1,
14518 -1, -1, 460, -1, -1, 463, 464, 465, -1, 467,
14519 468, 469, 470, 471, 472, -1, 182, -1, -1, 477,
14520 356, 187, -1, -1, -1, -1, -1, -1, -1, -1,
14521 -1, -1, -1, -1, -1, -1, -1, 190, 191, -1,
14522 -1, 194, -1, 209, 210, -1, -1, -1, -1, -1,
14523 -1, -1, -1, -1, -1, -1, -1, -1, 224, -1,
14524 -1, 214, -1, -1, -1, -1, -1, -1, 221, -1,
14525 -1, -1, -1, -1, -1, 2501, -1, -1, -1, -1,
14526 -1, -1, -1, -1, -1, -1, -1, 423, 182, -1,
14527 -1, 257, -1, 187, -1, -1, -1, -1, -1, -1,
14528 -1, -1, -1, -1, -1, 271, -1, -1, 274, -1,
14529 -1, 3728, -1, -1, -1, 209, 210, -1, -1, -1,
14530 -1, -1, 4755, -1, -1, -1, -1, -1, -1, -1,
14531 224, -1, -1, 3254, -1, 3752, -1, -1, -1, -1,
14532 -1, -1, 8, 3760, -1, 11, 3763, -1, 3765, 15,
14533 16, 17, -1, -1, -1, -1, -1, 3278, -1, -1,
14534 -1, -1, -1, 257, -1, -1, 32, -1, -1, -1,
14535 -1, -1, -1, -1, 40, -1, -1, 271, -1, -1,
14536 274, 47, -1, -1, -1, -1, -1, -1, -1, -1,
14537 3807, -1, 4825, -1, -1, 361, -1, -1, -1, -1,
14538 -1, -1, -1, 3820, -1, -1, 72, 3824, 3825, -1,
14539 3827, -1, 622, -1, -1, -1, -1, -1, -1, 629,
14540 630, -1, -1, 633, -1, 635, 636, -1, -1, -1,
14541 640, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14542 -1, 651, 3363, -1, 4877, -1, -1, -1, -1, -1,
14543 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14544 -1, -1, -1, -1, -1, -1, -1, 361, -1, -1,
14545 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14546 690, 3882, 692, -1, -1, -1, -1, -1, -1, -1,
14547 -1, -1, 702, -1, 460, -1, -1, 463, 464, 465,
14548 -1, 467, 468, 469, 470, 471, 472, -1, -1, -1,
14549 3927, 477, -1, 3930, -1, -1, 182, -1, -1, -1,
14550 -1, 187, -1, 3444, 734, -1, -1, -1, -1, -1,
14551 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14552 -1, -1, -1, 209, 210, -1, -1, -1, -1, -1,
14553 -1, -1, -1, -1, -1, -1, -1, -1, 224, -1,
14554 -1, -1, -1, -1, -1, -1, 460, -1, -1, 463,
14555 464, 465, -1, 467, 468, 469, 470, 471, 472, -1,
14556 3997, 3998, 3999, 477, 4001, 4002, 4003, 4004, 4005, -1,
14557 -1, 257, -1, -1, -1, -1, -1, -1, -1, -1,
14558 -1, -1, -1, -1, -1, 271, -1, -1, 274, 819,
14559 -1, -1, -1, -1, -1, -1, -1, 2843, -1, -1,
14560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14561 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14562 2866, -1, -1, -1, -1, 855, -1, -1, -1, -1,
14563 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14564 -1, 614, -1, 616, -1, -1, -1, 620, -1, 8,
14565 -1, 4072, 11, -1, -1, -1, 15, 16, 17, -1,
14566 -1, 634, -1, -1, -1, -1, -1, -1, 641, -1,
14567 -1, -1, -1, 32, -1, 361, -1, -1, -1, -1,
14568 -1, 40, -1, -1, -1, -1, -1, -1, 47, -1,
14569 -1, -1, -1, -1, 4131, -1, 4133, 927, -1, -1,
14570 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14571 -1, -1, -1, 72, -1, -1, -1, -1, 948, -1,
14572 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14573 960, -1, -1, -1, -1, 965, -1, -1, -1, -1,
14574 -1, -1, -1, -1, -1, 975, -1, -1, -1, -1,
14575 980, -1, -1, -1, -1, -1, -1, -1, -1, 989,
14576 -1, -1, -1, -1, 994, -1, 4187, 997, -1, -1,
14577 -1, -1, -1, -1, 460, -1, -1, 463, 464, 465,
14578 -1, 467, 468, 469, 470, 471, 472, 3728, -1, -1,
14579 -1, 477, 8, -1, -1, 11, -1, -1, -1, 15,
14580 16, 17, -1, -1, -1, 4226, -1, -1, -1, 1039,
14581 -1, 3752, -1, -1, -1, -1, 32, -1, 3759, -1,
14582 -1, -1, -1, 182, 40, -1, 4247, -1, 187, -1,
14583 8, 47, -1, 11, -1, -1, -1, 15, 16, 17,
14584 -1, -1, -1, -1, -1, -1, 5299, -1, -1, -1,
14585 209, 210, -1, -1, 32, -1, 72, 3103, 36, -1,
14586 -1, -1, 40, -1, -1, 224, -1, -1, -1, 47,
14587 -1, -1, -1, 4310, 4311, -1, -1, -1, -1, -1,
14588 -1, -1, -1, -1, 4321, -1, 4323, 4324, -1, -1,
14589 4327, 4312, -1, -1, 72, -1, -1, -1, 257, -1,
14590 3841, 3842, -1, -1, -1, -1, -1, -1, 881, 882,
14591 -1, -1, 271, 8, -1, 274, 11, -1, -1, -1,
14592 15, 16, 17, -1, 1154, -1, 1156, -1, 1158, -1,
14593 1160, -1, 1162, 1163, 1164, -1, -1, 32, -1, 1169,
14594 -1, -1, -1, 121, -1, 40, -1, -1, -1, -1,
14595 1180, -1, 47, -1, 4391, -1, -1, -1, -1, -1,
14596 -1, -1, -1, -1, -1, 1195, 182, -1, -1, -1,
14597 -1, 187, -1, -1, -1, -1, -1, 72, -1, -1,
14598 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3930,
14599 -1, -1, 4429, 209, 210, -1, -1, -1, -1, -1,
14600 -1, -1, 361, -1, 182, -1, 979, -1, 224, 187,
14601 -1, 4432, -1, -1, -1, -1, -1, -1, -1, -1,
14602 3266, 3267, 3268, -1, -1, 4462, -1, -1, -1, -1,
14603 -1, 209, 210, -1, -1, 1008, 1009, 3283, 3979, -1,
14604 -1, 257, -1, -1, -1, -1, 224, -1, -1, -1,
14605 -1, -1, -1, -1, -1, 271, -1, 4478, 274, -1,
14606 3306, 1034, -1, 158, -1, -1, -1, -1, 163, -1,
14607 3316, 3317, -1, -1, -1, 3321, -1, -1, -1, 257,
14608 -1, -1, -1, -1, -1, -1, -1, 182, -1, -1,
14609 -1, -1, 187, 271, -1, -1, 274, -1, -1, -1,
14610 -1, 460, -1, -1, 463, 464, 465, -1, 467, 468,
14611 469, 470, 471, 472, 209, 210, -1, -1, 477, -1,
14612 -1, -1, -1, -1, -1, 1355, -1, -1, -1, 224,
14613 -1, -1, -1, -1, 8, 1108, 1109, 11, -1, -1,
14614 -1, 15, 16, 17, -1, 361, -1, -1, -1, -1,
14615 -1, -1, -1, -1, -1, -1, -1, -1, 32, -1,
14616 -1, -1, 257, -1, -1, -1, 40, -1, -1, -1,
14617 -1, -1, -1, 47, -1, 4612, 271, -1, -1, 274,
14618 -1, -1, -1, 361, -1, -1, 3432, -1, -1, 3435,
14619 -1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
14620 -1, -1, -1, -1, -1, -1, 1436, -1, -1, -1,
14621 -1, -1, -1, -1, -1, -1, -1, -1, 4655, -1,
14622 -1, -1, -1, -1, -1, -1, -1, 4664, -1, -1,
14623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14624 -1, -1, 420, -1, 460, -1, -1, 463, 464, 465,
14625 -1, 467, 468, 469, 470, 471, 472, -1, -1, 475,
14626 -1, -1, -1, -1, -1, -1, 361, -1, -1, -1,
14627 4211, -1, -1, -1, -1, 4216, -1, 1507, -1, 4220,
14628 -1, -1, 460, -1, -1, 463, 464, 465, -1, 467,
14629 468, 469, 470, 471, 472, -1, -1, -1, -1, -1,
14630 -1, -1, -1, -1, 4245, 4246, -1, -1, 182, 4250,
14631 4251, -1, -1, 187, -1, -1, -1, 3563, 3564, 3565,
14632 -1, -1, 8, -1, -1, 11, -1, -1, -1, 15,
14633 16, 17, -1, -1, -1, 209, 210, -1, -1, 4760,
14634 -1, -1, -1, -1, -1, -1, 32, -1, -1, 35,
14635 224, -1, -1, -1, 40, -1, -1, -1, -1, -1,
14636 -1, 47, -1, -1, -1, 460, -1, -1, 463, 464,
14637 465, -1, 467, 468, 469, 470, 471, 472, 4799, -1,
14638 -1, -1, -1, 257, -1, -1, 72, -1, -1, -1,
14639 -1, -1, -1, -1, -1, -1, -1, 271, -1, -1,
14640 274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14641 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14642 -1, -1, -1, -1, 298, -1, -1, -1, -1, -1,
14643 -1, 4852, -1, -1, -1, -1, 4857, 4858, -1, -1,
14644 -1, -1, -1, -1, 4881, -1, -1, -1, 4885, -1,
14645 -1, -1, -1, -1, -1, -1, 8, -1, -1, 11,
14646 -1, -1, -1, 15, 16, 17, -1, 22, -1, -1,
14647 -1, -1, -1, 28, -1, -1, -1, -1, -1, -1,
14648 32, -1, 1455, -1, -1, -1, -1, 361, 40, -1,
14649 -1, -1, -1, -1, -1, 47, 182, -1, -1, -1,
14650 -1, 187, -1, -1, 378, -1, -1, 1480, -1, -1,
14651 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
14652 72, -1, 1752, 209, 210, -1, -1, -1, -1, -1,
14653 -1, -1, -1, -1, -1, -1, -1, -1, 224, -1,
14654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14655 -1, -1, 4973, -1, -1, -1, -1, -1, -1, -1,
14656 -1, -1, -1, -1, -1, -1, -1, -1, -1, 124,
14657 -1, 257, -1, -1, -1, -1, 131, -1, -1, 134,
14658 -1, -1, -1, -1, -1, 271, 460, -1, 274, 463,
14659 464, 465, -1, 467, 468, 469, 470, 471, 472, -1,
14660 -1, -1, -1, 3849, 159, 157, -1, -1, 1581, 1582,
14661 1583, 1584, -1, -1, 3860, -1, -1, -1, -1, -1,
14662 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14663 182, -1, -1, 5070, -1, 187, -1, 5074, 193, 5076,
14664 -1, -1, -1, 5080, 5081, 3891, -1, -1, 1878, -1,
14665 1880, -1, -1, -1, -1, -1, -1, 209, 210, -1,
14666 -1, -1, -1, -1, -1, -1, -1, 1897, -1, 1899,
14667 -1, 4612, 224, -1, -1, 361, -1, -1, 3924, -1,
14668 -1, -1, -1, 1913, -1, 1915, -1, 1917, -1, 1919,
14669 -1, 1921, -1, -1, -1, 1925, -1, 252, -1, 254,
14670 -1, -1, -1, -1, -1, 257, -1, -1, -1, 264,
14671 -1, -1, -1, -1, -1, -1, -1, -1, 273, 271,
14672 -1, -1, 274, -1, -1, -1, 3972, -1, -1, -1,
14673 285, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14674 -1, -1, -1, -1, 296, -1, -1, 5168, -1, 1722,
14675 1723, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14676 -1, -1, -1, -1, -1, -1, -1, -1, 323, 1742,
14677 -1, 326, 327, -1, 460, -1, -1, 463, 464, 465,
14678 -1, 467, 468, 469, 470, 471, 472, 8, -1, -1,
14679 11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
14680 -1, 356, -1, -1, 1777, 1778, 1779, 1780, -1, 361,
14681 -1, 32, -1, -1, -1, -1, -1, -1, -1, 40,
14682 -1, -1, -1, -1, -1, -1, 47, -1, -1, -1,
14683 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14684 -1, -1, -1, -1, -1, 4091, 4092, 4093, 4094, -1,
14685 8, 72, -1, 11, -1, -1, -1, 15, 16, 17,
14686 -1, 22, -1, -1, -1, -1, -1, 28, 423, -1,
14687 -1, -1, -1, -1, 32, -1, -1, 35, 5315, -1,
14688 -1, -1, 40, -1, -1, -1, -1, -1, -1, 47,
14689 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14690 -1, -1, -1, -1, -1, -1, -1, -1, 460, 70,
14691 -1, 463, 464, 465, 72, 467, 468, 469, 470, 471,
14692 472, 1894, -1, -1, -1, 2155, 2156, 1900, -1, -1,
14693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14694 4881, -1, -1, -1, 2174, 2175, -1, -1, -1, 2179,
14695 2180, -1, -1, -1, 2184, -1, -1, -1, -1, -1,
14696 -1, 182, 5399, 124, -1, -1, 187, -1, 2198, -1,
14697 131, -1, -1, 134, -1, 2205, -1, -1, -1, 2209,
14698 2210, -1, -1, 2213, 2214, -1, -1, -1, 209, 210,
14699 2220, -1, -1, -1, -1, -1, -1, -1, 159, -1,
14700 -1, -1, -1, 224, -1, 2235, -1, 2237, -1, -1,
14701 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14702 -1, -1, -1, -1, 182, 5462, 2256, -1, -1, 187,
14703 -1, 2261, 193, -1, -1, -1, 257, -1, -1, -1,
14704 -1, -1, -1, 5480, -1, 2275, -1, -1, -1, -1,
14705 271, 209, 210, 274, 2284, -1, -1, 2287, 2031, -1,
14706 2290, 2291, 2292, -1, -1, -1, 224, 2297, 2298, -1,
14707 -1, 292, -1, -1, -1, -1, -1, 2307, -1, -1,
14708 -1, -1, 2312, -1, -1, -1, 2316, 198, 199, -1,
14709 -1, 252, -1, 254, -1, 206, -1, 208, 209, 257,
14710 -1, -1, 2332, 264, -1, -1, -1, -1, -1, 2339,
14711 2340, 222, 273, 271, -1, 2345, 274, -1, -1, 5060,
14712 -1, -1, -1, -1, 285, -1, 2356, 2357, -1, -1,
14713 -1, 2361, -1, -1, -1, -1, -1, -1, -1, -1,
14714 361, -1, -1, 2373, -1, -1, 2376, -1, -1, -1,
14715 -1, 2381, -1, -1, -1, -1, 2386, 2387, -1, -1,
14716 -1, 2391, 323, -1, 2394, 326, 327, -1, 2398, 2399,
14717 2400, 2401, -1, 2403, -1, -1, -1, -1, 22, -1,
14718 -1, -1, -1, -1, 28, -1, 2416, 2417, 4434, 2419,
14719 -1, 35, -1, -1, -1, 356, -1, -1, -1, 2429,
14720 2430, -1, -1, 361, -1, -1, -1, -1, -1, -1,
14721 54, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14722 -1, -1, -1, -1, -1, -1, 70, -1, -1, -1,
14723 -1, -1, -1, -1, -1, -1, -1, -1, -1, 460,
14724 -1, -1, 463, 464, 465, -1, 467, 468, 469, 470,
14725 471, 472, 2225, 2226, -1, -1, -1, -1, -1, -1,
14726 104, 2491, 423, 2236, 8, 2238, -1, 11, -1, 2242,
14727 -1, 15, 16, 17, -1, -1, -1, -1, -1, -1,
14728 124, -1, -1, -1, -1, -1, -1, 131, 32, 2519,
14729 134, -1, -1, -1, -1, -1, 40, -1, -1, -1,
14730 -1, -1, 460, 47, -1, 463, 464, 465, -1, 467,
14731 468, 469, 470, 471, 472, 159, -1, -1, -1, -1,
14732 -1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
14733 -1, -1, -1, -1, -1, -1, 8, -1, -1, 11,
14734 -1, -1, -1, 15, 16, 17, 190, -1, -1, 193,
14735 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14736 32, -1, -1, 35, -1, -1, -1, -1, 40, -1,
14737 -1, -1, -1, -1, -1, 47, -1, -1, -1, -1,
14738 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14739 -1, -1, -1, -1, 238, -1, -1, 241, -1, 2372,
14740 72, -1, 2375, -1, -1, -1, -1, -1, 252, -1,
14741 254, -1, -1, -1, -1, -1, -1, -1, -1, 163,
14742 264, -1, 4668, -1, 8, -1, -1, 11, -1, 273,
14743 -1, 15, 16, 17, -1, -1, -1, 4683, 182, -1,
14744 284, 285, 4688, 187, -1, -1, -1, -1, 32, -1,
14745 -1, -1, -1, -1, -1, -1, 40, -1, 5399, -1,
14746 -1, -1, -1, 47, -1, 209, 210, -1, 4714, -1,
14747 -1, -1, -1, -1, -1, -1, -1, -1, -1, 323,
14748 224, 2454, 326, 327, 328, -1, -1, -1, 72, 2462,
14749 2720, -1, 2465, 8, -1, -1, 11, -1, 2471, -1,
14750 15, 16, 17, -1, -1, -1, 350, -1, -1, 2482,
14751 182, -1, 356, 257, 625, 187, -1, 32, -1, -1,
14752 631, 5462, -1, -1, -1, 40, 370, 271, -1, -1,
14753 274, -1, 47, 644, -1, -1, -1, 209, 210, 5480,
14754 -1, -1, -1, -1, -1, -1, -1, -1, -1, 660,
14755 2523, -1, 224, -1, -1, -1, -1, 72, -1, -1,
14756 -1, -1, -1, 674, 675, -1, -1, -1, -1, -1,
14757 681, -1, 683, 684, -1, -1, -1, -1, 2551, 423,
14758 -1, -1, -1, -1, -1, 257, 697, -1, -1, 4835,
14759 -1, -1, -1, -1, -1, -1, 707, -1, 182, 271,
14760 -1, -1, 274, 187, -1, -1, -1, -1, -1, -1,
14761 -1, -1, -1, -1, -1, -1, -1, 361, -1, -1,
14762 -1, -1, -1, -1, -1, 209, 210, -1, -1, -1,
14763 -1, -1, -1, -1, -1, -1, 2609, -1, 2611, -1,
14764 224, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14765 -1, -1, -1, 8, -1, -1, 11, -1, -1, -1,
14766 15, 16, 17, -1, -1, -1, -1, 182, -1, -1,
14767 -1, -1, 187, 257, -1, -1, -1, 32, -1, -1,
14768 35, 792, -1, -1, -1, 40, 4932, 271, -1, 361,
14769 274, -1, 47, -1, 209, 210, -1, -1, -1, -1,
14770 -1, -1, -1, -1, -1, 816, -1, -1, -1, 224,
14771 -1, -1, -1, -1, -1, -1, 460, 72, 829, 463,
14772 464, 465, -1, 467, 468, 469, 470, 471, 472, -1,
14773 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14774 -1, -1, 257, -1, -1, 2975, 2719, -1, -1, 2979,
14775 -1, -1, -1, -1, -1, 2985, 271, -1, -1, 274,
14776 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14777 -1, -1, -1, 3003, 3004, -1, -1, 361, 3008, -1,
14778 -1, -1, -1, 3013, 3014, 3015, -1, 3017, 460, -1,
14779 -1, 463, 464, 465, -1, 467, 468, 469, 470, 471,
14780 472, -1, -1, -1, -1, -1, -1, -1, -1, 393,
14781 3040, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14782 3050, 3051, 3052, 3053, -1, -1, 937, 182, -1, -1,
14783 -1, -1, 187, -1, -1, -1, -1, -1, -1, -1,
14784 -1, -1, -1, -1, 955, -1, 361, -1, -1, -1,
14785 961, -1, -1, 964, 209, 210, 3086, -1, -1, 3089,
14786 3090, 3091, -1, -1, -1, -1, 199, -1, -1, 224,
14787 -1, -1, -1, -1, -1, 208, 460, 3107, -1, 463,
14788 464, 465, -1, 467, 468, 469, 470, 471, 472, 222,
14789 -1, -1, -1, -1, -1, -1, -1, 3127, -1, -1,
14790 -1, -1, 257, -1, -1, -1, -1, -1, -1, -1,
14791 -1, -1, -1, -1, -1, -1, 271, -1, -1, 274,
14792 -1, -1, -1, -1, -1, -1, -1, 8, -1, -1,
14793 11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
14794 -1, -1, -1, -1, -1, 460, -1, -1, 463, 464,
14795 465, -1, 467, 468, 469, 470, 471, 472, -1, 40,
14796 -1, -1, -1, -1, -1, -1, 47, -1, -1, 3199,
14797 -1, -1, -1, -1, -1, -1, -1, 3207, -1, -1,
14798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14799 -1, 72, -1, -1, -1, -1, -1, -1, -1, -1,
14800 -1, -1, 1113, -1, -1, -1, 361, -1, 3238, 22,
14801 -1, -1, -1, -1, 2987, 28, 2989, 2990, 2991, -1,
14802 1131, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14803 -1, 3261, -1, -1, -1, -1, -1, -1, 1149, -1,
14804 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14805 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
14806 -1, -1, -1, -1, -1, -1, 1177, -1, -1, -1,
14807 -1, -1, -1, -1, -1, -1, -1, 1188, -1, -1,
14808 -1, -1, -1, 3313, -1, 20, -1, -1, 3318, -1,
14809 25, -1, -1, 1204, -1, -1, -1, 1208, -1, -1,
14810 -1, 182, -1, -1, -1, 460, 187, -1, 463, 464,
14811 465, 124, 467, 468, 469, 470, 471, 472, 131, -1,
14812 -1, 134, 3352, -1, -1, 60, -1, -1, 209, 210,
14813 -1, -1, -1, -1, -1, -1, -1, -1, 73, 74,
14814 -1, -1, -1, 224, -1, -1, 159, -1, -1, 84,
14815 -1, -1, -1, 88, -1, -1, -1, -1, -1, -1,
14816 -1, 3391, -1, 3393, -1, -1, -1, -1, -1, -1,
14817 -1, 106, -1, -1, -1, -1, 257, -1, -1, -1,
14818 193, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14819 271, -1, -1, -1, 129, -1, -1, -1, -1, -1,
14820 -1, -1, -1, 3433, -1, 140, -1, -1, -1, -1,
14821 -1, -1, -1, 148, -1, 1326, -1, -1, -1, -1,
14822 -1, -1, -1, 1334, 1335, 160, -1, -1, -1, -1,
14823 165, -1, -1, -1, -1, -1, -1, 1348, -1, 252,
14824 -1, 254, -1, -1, -1, -1, -1, -1, -1, -1,
14825 -1, 264, -1, 3226, -1, -1, 191, -1, -1, -1,
14826 273, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14827 -1, -1, 285, -1, -1, -1, -1, -1, -1, -1,
14828 361, 216, -1, -1, -1, -1, -1, -1, -1, -1,
14829 1401, -1, 625, -1, -1, -1, -1, -1, 631, -1,
14830 -1, -1, 237, -1, -1, -1, -1, -1, -1, -1,
14831 323, 644, -1, 326, 327, -1, -1, -1, -1, -1,
14832 -1, -1, -1, -1, -1, -1, -1, 660, -1, -1,
14833 -1, -1, -1, -1, -1, -1, 271, -1, -1, -1,
14834 -1, -1, 675, 356, -1, -1, -1, -1, -1, -1,
14835 683, -1, -1, -1, -1, -1, -1, -1, -1, 294,
14836 -1, -1, -1, -1, 697, -1, -1, -1, -1, 304,
14837 305, -1, -1, 308, 707, -1, -1, -1, -1, 460,
14838 -1, -1, 463, 464, 465, -1, 467, 468, 469, 470,
14839 471, 472, -1, -1, -1, -1, -1, -1, -1, 334,
14840 -1, -1, 337, -1, -1, -1, 341, -1, 343, -1,
14841 423, -1, -1, -1, -1, 350, -1, 3647, 353, 3649,
14842 -1, -1, -1, -1, -1, 3398, 3656, -1, -1, -1,
14843 -1, -1, -1, -1, -1, -1, -1, 372, -1, -1,
14844 -1, -1, 3672, -1, 379, -1, -1, -1, -1, -1,
14845 385, -1, -1, 388, -1, -1, -1, 392, 3688, 792,
14846 -1, -1, -1, -1, -1, 400, -1, 402, -1, -1,
14847 -1, -1, 407, -1, -1, -1, -1, 3707, -1, -1,
14848 -1, -1, -1, 816, 1595, -1, -1, -1, -1, -1,
14849 -1, -1, -1, -1, -1, 3725, 829, 432, -1, -1,
14850 -1, -1, -1, -1, -1, 3735, -1, -1, -1, -1,
14851 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14852 -1, -1, -1, -1, 3754, -1, -1, -1, -1, -1,
14853 -1, -1, -1, -1, -1, -1, -1, 3767, 3768, 3769,
14854 -1, -1, -1, -1, 3774, 3775, 3776, 3777, -1, -1,
14855 -1, 3781, 3782, -1, -1, -1, -1, 3787, 3788, -1,
14856 3790, 3791, 3792, 3793, 3794, 3795, -1, 3797, -1, -1,
14857 -1, -1, -1, -1, -1, -1, 3806, -1, -1, 3809,
14858 3810, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14859 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14860 -1, -1, -1, 3833, 937, -1, -1, -1, -1, -1,
14861 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14862 -1, -1, 3852, -1, -1, -1, -1, -1, -1, -1,
14863 -1, -1, 1743, -1, -1, -1, -1, -1, -1, -1,
14864 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14865 -1, -1, -1, -1, -1, -1, 1767, -1, -1, -1,
14866 -1, -1, -1, -1, 1775, -1, -1, -1, -1, -1,
14867 -1, -1, -1, -1, -1, -1, 1787, -1, -1, -1,
14868 -1, -1, -1, -1, -1, -1, -1, -1, 3661, 3662,
14869 3663, 3664, -1, -1, -1, -1, -1, -1, -1, -1,
14870 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14871 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14872 -1, -1, 3952, -1, -1, -1, -1, -1, -1, -1,
14873 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14874 -1, -1, -1, -1, -1, -1, -1, 1858, 1859, -1,
14875 1861, 1862, -1, -1, -1, -1, 3986, -1, -1, -1,
14876 -1, -1, 1873, -1, 1875, 1876, -1, -1, 20, -1,
14877 -1, -1, -1, -1, -1, -1, -1, 1888, 1889, -1,
14878 1113, -1, -1, -1, -1, 37, -1, -1, -1, -1,
14879 -1, -1, -1, 1904, -1, -1, -1, -1, 1131, -1,
14880 -1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
14881 -1, -1, -1, -1, -1, -1, 1149, -1, -1, -1,
14882 -1, 73, -1, -1, -1, 1936, -1, -1, 1939, 1940,
14883 -1, -1, 84, -1, -1, -1, 88, -1, -1, -1,
14884 -1, -1, -1, -1, 1177, -1, -1, -1, -1, -1,
14885 -1, -1, -1, -1, 106, 1188, -1, -1, -1, -1,
14886 112, -1, -1, 3836, -1, -1, -1, -1, -1, -1,
14887 -1, 1204, -1, -1, -1, 1208, -1, 129, 3851, -1,
14888 -1, -1, -1, -1, -1, -1, -1, -1, 140, -1,
14889 -1, -1, -1, -1, -1, -1, 148, -1, -1, -1,
14890 -1, -1, -1, -1, -1, -1, -1, -1, 160, -1,
14891 -1, -1, -1, -1, -1, -1, 168, 2028, -1, -1,
14892 172, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14893 -1, -1, -1, -1, -1, -1, -1, -1, -1, 191,
14894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14895 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14896 -1, -1, -1, -1, -1, 4195, -1, -1, -1, 4199,
14897 4200, 4201, 4202, -1, -1, 4205, 228, -1, -1, -1,
14898 -1, -1, -1, -1, -1, 237, -1, 2098, -1, -1,
14899 -1, -1, -1, 1326, -1, -1, -1, -1, -1, -1,
14900 -1, 1334, 1335, -1, -1, -1, -1, 4237, 4238, 4239,
14901 -1, 4241, -1, 4243, 4244, 1348, -1, -1, -1, 271,
14902 -1, -1, 274, -1, -1, 4255, 4256, -1, -1, -1,
14903 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14904 -1, -1, 294, 2154, -1, -1, -1, -1, -1, -1,
14905 -1, -1, 4282, -1, -1, -1, 308, -1, -1, -1,
14906 -1, 2172, -1, 315, -1, -1, 2177, 2178, 1401, -1,
14907 -1, 2182, -1, -1, -1, 4305, -1, -1, -1, 2190,
14908 -1, -1, 334, -1, -1, -1, -1, -1, -1, -1,
14909 -1, 343, -1, -1, -1, -1, -1, 2208, 350, -1,
14910 -1, 353, -1, -1, -1, -1, 20, -1, -1, -1,
14911 -1, 25, -1, -1, -1, -1, -1, -1, -1, 2230,
14912 372, -1, 2233, 2234, -1, -1, -1, 379, -1, -1,
14913 -1, -1, -1, 385, -1, -1, 388, 389, -1, 391,
14914 392, -1, -1, 2254, -1, -1, 60, -1, -1, -1,
14915 402, -1, -1, -1, 4384, 407, -1, -1, -1, 73,
14916 -1, 413, 2273, 2274, 416, -1, -1, 419, -1, -1,
14917 -1, -1, -1, -1, 88, -1, -1, -1, -1, -1,
14918 432, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14919 -1, -1, 106, -1, 2305, 2306, -1, -1, 2309, -1,
14920 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14921 -1, -1, 4442, -1, -1, 129, -1, -1, -1, -1,
14922 2331, -1, 2333, -1, -1, -1, 140, 2338, -1, -1,
14923 -1, -1, -1, 2344, 148, -1, -1, -1, -1, -1,
14924 2351, -1, -1, -1, 2355, -1, 160, -1, -1, 2360,
14925 -1, 165, -1, -1, -1, -1, -1, -1, 172, -1,
14926 -1, -1, 1595, -1, -1, -1, -1, -1, -1, 2380,
14927 -1, -1, -1, -1, 2385, -1, -1, 191, 2389, -1,
14928 -1, 2392, -1, -1, -1, -1, -1, -1, -1, -1,
14929 -1, 2402, -1, -1, -1, -1, -1, -1, -1, -1,
14930 -1, -1, -1, -1, 2415, -1, -1, -1, -1, -1,
14931 -1, -1, -1, -1, 2425, -1, -1, -1, -1, 4292,
14932 -1, -1, 4552, 237, -1, -1, -1, -1, -1, -1,
14933 -1, -1, -1, -1, 4307, -1, -1, -1, -1, -1,
14934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14935 -1, -1, -1, -1, -1, -1, -1, 271, -1, -1,
14936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14937 284, -1, -1, -1, -1, -1, -1, -1, -1, 2490,
14938 294, -1, -1, -1, 4614, -1, -1, -1, -1, -1,
14939 304, 305, -1, -1, 308, -1, -1, -1, -1, -1,
14940 -1, -1, 4632, -1, -1, -1, -1, 4637, 4638, -1,
14941 1743, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14942 334, -1, -1, 337, -1, 4398, -1, 341, -1, 343,
14943 -1, -1, -1, -1, 1767, -1, 350, -1, -1, 353,
14944 -1, -1, 1775, -1, -1, -1, -1, -1, -1, -1,
14945 -1, -1, -1, -1, 1787, -1, -1, -1, 372, 4689,
14946 2571, -1, -1, -1, -1, 379, -1, -1, -1, -1,
14947 -1, 385, -1, -1, 388, -1, -1, -1, 392, 4709,
14948 -1, 4711, -1, -1, -1, -1, 400, -1, 402, -1,
14949 -1, -1, -1, 407, -1, -1, 4726, -1, -1, -1,
14950 -1, -1, -1, -1, -1, 419, -1, -1, -1, -1,
14951 -1, -1, -1, -1, -1, 2626, 4746, -1, 432, -1,
14952 -1, -1, -1, 4753, -1, -1, -1, -1, 1861, 1862,
14953 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14954 -1, -1, 1875, -1, -1, -1, -1, -1, -1, -1,
14955 -1, -1, -1, -1, -1, 1888, 1889, 2668, -1, -1,
14956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14957 -1, 1904, -1, -1, -1, 2686, -1, -1, -1, -1,
14958 -1, -1, -1, 2694, -1, -1, -1, -1, 4818, -1,
14959 -1, -1, -1, 2704, -1, -1, 2707, -1, -1, 2710,
14960 -1, 4574, 4575, 4576, -1, -1, -1, -1, -1, -1,
14961 4840, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14962 -1, 4851, -1, -1, -1, -1, -1, -1, -1, -1,
14963 -1, -1, -1, -1, -1, -1, -1, 786, 787, -1,
14964 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14965 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14966 -1, -1, -1, -1, -1, 2776, -1, -1, -1, -1,
14967 -1, 2782, -1, -1, -1, -1, -1, -1, -1, -1,
14968 -1, -1, -1, -1, 4914, -1, -1, -1, -1, -1,
14969 -1, -1, -1, -1, -1, 2028, -1, -1, -1, -1,
14970 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14971 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14972 670, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14973 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14974 -1, -1, -1, -1, -1, -1, 696, 2858, -1, -1,
14975 4980, -1, -1, -1, -1, -1, -1, -1, -1, 4732,
14976 -1, -1, -1, -1, -1, 2098, -1, -1, -1, -1,
14977 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14978 -1, -1, -1, -1, -1, -1, 935, 936, -1, -1,
14979 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14981 5040, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14982 -1, 2154, -1, -1, -1, 5055, -1, -1, -1, -1,
14983 -1, -1, -1, -1, -1, -1, 2947, 2948, -1, 2172,
14984 -1, -1, -1, -1, 2177, 2178, -1, -1, -1, 2182,
14985 -1, -1, -1, -1, -1, -1, -1, 2190, -1, -1,
14986 -1, -1, -1, 2974, -1, -1, 2977, -1, -1, 5099,
14987 -1, -1, -1, -1, -1, 2208, -1, -1, -1, -1,
14988 -1, -1, -1, -1, 5114, -1, -1, -1, -1, -1,
14989 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14990 4873, -1, 4875, -1, -1, -1, -1, -1, -1, -1,
14991 -1, -1, -1, -1, -1, 25, -1, -1, -1, -1,
14992 -1, 2254, -1, -1, -1, -1, -1, -1, -1, -1,
14993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14994 2273, 2274, -1, -1, -1, -1, -1, -1, -1, -1,
14995 -1, 3062, 3063, 3064, -1, -1, -1, -1, -1, -1,
14996 -1, -1, -1, 73, -1, -1, 5196, -1, -1, -1,
14997 -1, -1, 2305, 2306, 3085, -1, 2309, -1, 88, -1,
14998 -1, -1, -1, -1, -1, 935, -1, -1, -1, -1,
14999 -1, -1, -1, -1, 3105, -1, 106, -1, 2331, -1,
15000 2333, 951, 112, -1, -1, 2338, -1, -1, -1, -1,
15001 5240, 2344, -1, 3124, -1, -1, -1, -1, 2351, 129,
15002 -1, -1, 2355, -1, -1, -1, 976, 2360, -1, -1,
15003 140, -1, -1, -1, -1, -1, -1, -1, 148, -1,
15004 -1, 991, -1, -1, -1, -1, -1, 2380, -1, -1,
15005 160, -1, 2385, -1, -1, 165, 2389, 5030, -1, 2392,
15006 -1, -1, 172, -1, -1, -1, -1, -1, -1, 2402,
15007 -1, 1220, -1, -1, -1, -1, -1, -1, -1, -1,
15008 -1, 191, 2415, -1, -1, -1, -1, -1, -1, -1,
15009 -1, -1, 2425, -1, -1, 3206, -1, -1, 5328, -1,
15010 -1, 1250, -1, -1, -1, -1, 216, -1, -1, -1,
15011 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15012 -1, -1, -1, -1, -1, -1, 1076, 237, -1, 1278,
15013 1279, 1280, -1, 1282, -1, -1, 5109, -1, -1, -1,
15014 -1, -1, 3253, -1, -1, -1, -1, -1, -1, 3260,
15015 -1, 3262, -1, 1302, -1, -1, -1, 2490, -1, -1,
15016 -1, 271, -1, -1, 3275, -1, 3277, -1, -1, -1,
15017 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15018 -1, -1, -1, -1, 294, -1, -1, -1, 3299, -1,
15019 -1, -1, -1, -1, 304, 305, -1, -1, 308, -1,
15020 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15021 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15022 -1, 1370, -1, -1, 334, 1374, 1375, 337, -1, -1,
15023 -1, 341, 3343, 343, -1, -1, 1186, -1, 2571, 5212,
15024 350, -1, -1, 353, -1, -1, -1, -1, -1, -1,
15025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15026 -1, -1, 372, -1, -1, -1, -1, -1, -1, 379,
15027 -1, -1, -1, -1, 384, 385, -1, -1, 388, -1,
15028 -1, -1, 392, 3394, -1, -1, -1, -1, -1, -1,
15029 -1, -1, 402, 2626, -1, -1, -1, 407, -1, -1,
15030 -1, 3412, -1, -1, -1, -1, -1, -1, -1, 419,
15031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15032 -1, -1, 432, 3434, -1, -1, 3437, -1, -1, -1,
15033 -1, -1, -1, -1, -1, 2668, 5309, -1, -1, -1,
15034 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15035 -1, -1, -1, 2686, -1, -1, -1, -1, -1, -1,
15036 -1, 2694, -1, -1, -1, -1, -1, -1, 5341, 5342,
15037 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15038 -1, -1, -1, -1, -1, -1, -1, -1, -1, 670,
15039 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15040 -1, -1, -1, -1, -1, -1, 3517, -1, -1, -1,
15041 -1, -1, -1, -1, -1, 696, -1, -1, -1, -1,
15042 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15043 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15044 -1, -1, -1, 2776, -1, 1395, -1, -1, -1, 2782,
15045 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15046 -1, 1610, 1611, 1612, -1, -1, -1, -1, -1, -1,
15047 -1, 5444, -1, -1, -1, -1, -1, -1, -1, -1,
15048 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15050 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15051 -1, 1461, -1, -1, -1, -1, -1, -1, -1, -1,
15052 -1, -1, -1, -1, -1, 2858, -1, -1, -1, -1,
15053 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15055 -1, -1, 1502, -1, -1, -1, -1, -1, -1, -1,
15056 3671, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15057 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15058 -1, -1, -1, -1, -1, 1535, -1, -1, -1, -1,
15059 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15060 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15061 -1, 3722, -1, -1, 2947, 2948, 3727, -1, 3729, -1,
15062 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15063 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15064 3751, 2974, -1, -1, 2977, -1, -1, -1, -1, -1,
15065 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3770,
15066 1610, 1611, 1612, -1, -1, -1, -1, -1, -1, -1,
15067 951, -1, -1, -1, -1, 3786, -1, -1, 3789, -1,
15068 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15069 -1, -1, -1, -1, -1, 976, -1, -1, -1, -1,
15070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15071 991, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15072 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3062,
15073 3063, 3064, -1, -1, 670, -1, -1, -1, -1, -1,
15074 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15075 -1, -1, 3085, -1, -1, -1, -1, -1, -1, -1,
15076 696, -1, -1, 1713, -1, -1, -1, 3878, 3879, -1,
15077 -1, -1, 3105, -1, -1, -1, -1, 3888, -1, -1,
15078 1730, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15079 -1, 3124, -1, -1, -1, 1076, 3907, -1, 1748, -1,
15080 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15082 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15083 -1, -1, 1981, -1, -1, -1, -1, -1, -1, -1,
15084 -1, -1, -1, -1, -1, 1994, -1, 1996, -1, -1,
15085 1999, 2000, 2001, -1, 1804, -1, -1, 2006, -1, -1,
15086 2009, -1, -1, -1, -1, -1, -1, 1817, -1, -1,
15087 -1, 3982, -1, 3206, -1, 2024, 2025, 2026, 2027, 1829,
15088 -1, -1, -1, 2032, -1, -1, -1, 2036, -1, -1,
15089 2039, 1841, -1, 2042, 2043, 2044, 2045, 2046, 2047, 2048,
15090 2049, 2050, -1, 2052, -1, 1186, -1, -1, -1, -1,
15091 2059, -1, 2061, -1, -1, -1, -1, -1, -1, -1,
15092 3253, -1, -1, -1, -1, -1, -1, 3260, -1, 3262,
15093 -1, -1, -1, -1, -1, 1885, 1886, -1, -1, -1,
15094 -1, -1, 3275, -1, 3277, -1, -1, -1, -1, -1,
15095 -1, -1, -1, -1, -1, 2104, -1, -1, -1, -1,
15096 -1, -1, -1, -1, -1, -1, 3299, -1, -1, -1,
15097 -1, -1, -1, -1, -1, -1, -1, -1, -1, 2128,
15098 2129, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15099 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15100 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15101 3343, -1, -1, -1, -1, 951, -1, -1, -1, -1,
15102 -1, -1, -1, 670, -1, -1, -1, -1, -1, -1,
15103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15104 976, -1, -1, -1, -1, -1, -1, -1, 1329, 696,
15105 -1, -1, -1, -1, -1, 991, -1, -1, -1, -1,
15106 -1, 3394, 2211, -1, -1, -1, -1, -1, -1, -1,
15107 -1, -1, -1, 2023, -1, -1, -1, -1, -1, 3412,
15108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15109 -1, -1, -1, 4204, -1, -1, -1, -1, 4209, -1,
15110 -1, 3434, -1, -1, 3437, -1, -1, -1, -1, -1,
15111 -1, 2061, -1, -1, 1395, -1, -1, -1, -1, -1,
15112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15113 -1, 4242, -1, -1, -1, -1, -1, -1, -1, -1,
15114 1076, -1, -1, 4254, -1, -1, -1, -1, -1, -1,
15115 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15116 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15117 4281, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15118 1461, -1, -1, -1, 3517, -1, -1, -1, -1, -1,
15119 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15120 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15121 -1, 2161, -1, -1, -1, 2165, 2166, -1, -1, -1,
15122 -1, 1502, -1, -1, -1, -1, -1, -1, -1, -1,
15123 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15124 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15125 1186, -1, -1, -1, 1535, -1, -1, -1, -1, -1,
15126 -1, -1, -1, -1, -1, -1, -1, 4378, -1, -1,
15127 -1, -1, -1, -1, -1, -1, -1, 2227, -1, -1,
15128 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15129 -1, 2241, -1, 2442, 2443, 2444, -1, -1, -1, 2448,
15130 -1, -1, -1, -1, 951, -1, -1, -1, -1, -1,
15131 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15132 -1, -1, -1, -1, -1, -1, -1, -1, -1, 976,
15133 -1, 2480, 2282, -1, -1, -1, -1, -1, 3671, -1,
15134 -1, -1, -1, -1, 991, 4456, -1, -1, -1, -1,
15135 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15136 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15137 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15138 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3722,
15139 -1, -1, -1, -1, 3727, -1, 3729, -1, -1, -1,
15140 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15141 -1, -1, -1, -1, -1, -1, -1, -1, 3751, -1,
15142 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1076,
15143 -1, -1, 1713, -1, -1, -1, -1, 3770, -1, -1,
15144 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1730,
15145 -1, -1, -1, 3786, -1, 4566, 3789, 4568, -1, 1395,
15146 -1, -1, -1, -1, -1, -1, -1, 1748, -1, -1,
15147 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15148 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15149 -1, -1, -1, -1, 2444, -1, -1, -1, -1, -1,
15150 -1, -1, 4613, -1, -1, -1, -1, -1, -1, -1,
15151 -1, 4622, -1, -1, -1, -1, -1, -1, -1, -1,
15152 -1, -1, -1, 1804, -1, 1461, -1, -1, -1, -1,
15153 -1, 2481, -1, -1, -1, -1, 1817, -1, -1, 1186,
15154 -1, -1, -1, -1, -1, 3878, 3879, -1, 1829, 4660,
15155 -1, -1, -1, -1, 4665, 3888, -1, -1, -1, -1,
15156 1841, -1, -1, -1, -1, -1, 1502, -1, -1, -1,
15157 -1, -1, -1, -1, 3907, -1, -1, -1, 2727, -1,
15158 -1, -1, -1, 2732, -1, -1, -1, -1, -1, -1,
15159 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1535,
15160 -1, -1, -1, -1, 1885, 1886, -1, -1, 2757, -1,
15161 -1, -1, -1, 2563, -1, -1, 2566, -1, -1, 2768,
15162 -1, 2770, 2771, -1, -1, -1, -1, -1, -1, -1,
15163 -1, -1, 2781, -1, -1, 2784, -1, 2786, -1, -1,
15164 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3982,
15165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15166 -1, -1, -1, -1, -1, -1, 2815, -1, 2817, -1,
15167 2819, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15168 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15169 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15170 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15171 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15172 -1, -1, -1, -1, -1, 2874, -1, -1, -1, -1,
15173 -1, -1, -1, 4844, 2684, -1, -1, -1, -1, -1,
15174 2889, -1, 2023, -1, -1, -1, -1, -1, 1395, -1,
15175 -1, 2701, -1, -1, -1, -1, -1, -1, 4869, -1,
15176 -1, -1, -1, -1, -1, -1, 2716, -1, -1, -1,
15177 4881, -1, -1, -1, -1, -1, -1, 1713, -1, -1,
15178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15179 -1, -1, -1, -1, 1730, -1, -1, -1, -1, -1,
15180 -1, -1, -1, -1, 2953, -1, -1, -1, -1, -1,
15181 -1, -1, 1748, -1, 1461, -1, -1, -1, -1, -1,
15182 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15183 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15184 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15185 -1, -1, -1, -1, -1, 1502, -1, -1, -1, -1,
15186 -1, -1, -1, -1, -1, -1, -1, -1, 1804, -1,
15187 -1, 4204, -1, -1, -1, -1, 4209, -1, -1, -1,
15188 2161, 1817, -1, -1, 2165, 2166, -1, -1, 1535, -1,
15189 -1, -1, -1, 1829, -1, -1, -1, -1, -1, -1,
15190 -1, -1, -1, -1, -1, 1841, -1, -1, -1, 4242,
15191 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15192 -1, 4254, -1, -1, -1, -1, -1, -1, -1, -1,
15193 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15194 -1, -1, -1, -1, -1, -1, 2227, -1, 4281, 1885,
15195 1886, -1, -1, -1, -1, -1, -1, 5068, -1, 5070,
15196 2241, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15197 -1, -1, 2922, -1, -1, 2925, -1, 2927, -1, -1,
15198 -1, -1, 2932, -1, -1, -1, -1, -1, -1, -1,
15199 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15200 -1, 2282, -1, -1, -1, -1, -1, -1, -1, -1,
15201 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15202 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15203 -1, 2981, -1, -1, -1, -1, -1, -1, -1, -1,
15204 -1, -1, -1, -1, -1, 4378, -1, -1, -1, -1,
15205 3000, -1, -1, -1, 5165, -1, -1, -1, 670, -1,
15206 -1, -1, 3211, -1, -1, -1, 1713, -1, 3217, -1,
15207 -1, -1, 5183, -1, -1, 3025, -1, -1, -1, -1,
15208 -1, -1, -1, 1730, 696, -1, 5197, 2023, -1, -1,
15209 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5210,
15210 -1, 1748, -1, -1, -1, -1, -1, -1, -1, -1,
15211 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15212 -1, -1, -1, 4456, -1, -1, -1, -1, -1, -1,
15213 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15214 -1, -1, -1, -1, -1, 3095, -1, 3097, -1, -1,
15215 -1, -1, -1, -1, -1, -1, -1, 1804, -1, -1,
15216 -1, 5272, 5273, -1, -1, -1, -1, -1, -1, -1,
15217 1817, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15218 -1, -1, 1829, -1, -1, -1, -1, -1, -1, -1,
15219 -1, -1, -1, -1, 1841, -1, -1, -1, -1, -1,
15220 2481, -1, -1, -1, 5315, -1, -1, -1, -1, -1,
15221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15222 -1, -1, -1, -1, -1, 2161, -1, -1, -1, 2165,
15223 2166, -1, -1, 4566, -1, 4568, 3186, -1, 1885, 1886,
15224 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15225 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15226 -1, 3211, -1, -1, -1, -1, -1, 3217, -1, -1,
15227 -1, -1, -1, -1, -1, 3225, -1, -1, -1, -1,
15228 4613, -1, 2563, -1, -1, 2566, -1, -1, 5399, -1,
15229 -1, 2227, -1, -1, -1, -1, -1, -1, -1, -1,
15230 -1, -1, -1, -1, 3254, 2241, -1, -1, 3457, -1,
15231 -1, -1, -1, -1, -1, -1, -1, 3466, -1, -1,
15232 -1, -1, -1, 3472, -1, 3474, -1, 4660, -1, -1,
15233 -1, -1, -1, -1, -1, -1, -1, -1, -1, 951,
15234 -1, -1, -1, -1, -1, -1, 2282, -1, -1, -1,
15235 -1, 5462, 3501, 3502, -1, -1, -1, -1, -1, -1,
15236 -1, -1, -1, -1, 976, -1, -1, -1, -1, 5480,
15237 3519, 5482, 5483, 3323, -1, -1, 2023, -1, 3527, 991,
15238 -1, 3530, -1, 3532, -1, -1, -1, -1, -1, -1,
15239 -1, -1, 3541, -1, 3344, -1, -1, -1, -1, -1,
15240 3549, 3550, -1, 2684, -1, -1, -1, -1, 3358, -1,
15241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15242 2701, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15243 -1, -1, 3581, -1, -1, 2716, -1, -1, -1, -1,
15244 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15245 -1, -1, -1, -1, -1, -1, -1, 3606, -1, -1,
15246 -1, -1, -1, -1, 1076, -1, -1, -1, -1, -1,
15247 -1, -1, -1, 3622, -1, -1, -1, -1, -1, -1,
15248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15251 3460, 4844, -1, -1, 2161, -1, -1, -1, 2165, 2166,
15252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15253 -1, 3481, -1, -1, -1, -1, 4869, -1, -1, -1,
15254 -1, -1, -1, -1, -1, 2481, -1, -1, 4881, -1,
15255 -1, -1, -1, -1, -1, -1, 3506, -1, -1, -1,
15256 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15257 -1, -1, -1, -1, 1186, -1, -1, -1, -1, -1,
15258 2227, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15259 3540, -1, -1, -1, 2241, -1, -1, -1, -1, -1,
15260 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15262 -1, -1, -1, -1, -1, -1, -1, 2563, -1, -1,
15263 2566, -1, -1, -1, -1, 2282, -1, -1, -1, -1,
15264 -1, 2922, -1, -1, 2925, -1, 2927, -1, -1, -1,
15265 -1, 2932, -1, -1, -1, -1, -1, -1, -1, -1,
15266 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15267 -1, -1, -1, -1, -1, -1, -1, -1, 3628, -1,
15268 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15269 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15270 2981, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15271 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3000,
15272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15273 -1, -1, -1, -1, -1, 5068, -1, 5070, -1, -1,
15274 -1, -1, -1, -1, 3025, -1, -1, -1, 2684, -1,
15275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15276 -1, -1, -1, -1, -1, 2701, -1, -1, -1, -1,
15277 -1, -1, -1, -1, -1, -1, -1, 670, 3728, -1,
15278 2716, -1, -1, 1395, -1, -1, 3935, 3936, -1, -1,
15279 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15280 -1, -1, 3752, 696, -1, -1, -1, -1, -1, -1,
15281 -1, -1, -1, -1, 3095, -1, 3097, -1, -1, -1,
15282 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15283 -1, -1, 5165, -1, 2481, -1, -1, -1, -1, -1,
15284 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1461,
15285 5183, -1, -1, -1, -1, -1, -1, -1, 4007, -1,
15286 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4018,
15287 -1, -1, -1, -1, -1, -1, -1, 5210, -1, -1,
15288 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15289 1502, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15290 -1, -1, -1, -1, -1, 3186, -1, -1, -1, -1,
15291 4059, 4060, -1, -1, -1, -1, 2563, 4066, 4067, 2566,
15292 -1, -1, 4071, 1535, -1, -1, -1, 4076, -1, -1,
15293 4079, 4080, 3882, -1, -1, 4084, -1, -1, -1, -1,
15294 -1, 4090, -1, -1, 3225, -1, -1, -1, -1, -1,
15295 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15296 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15297 -1, -1, -1, 3254, -1, -1, -1, -1, -1, -1,
15298 3930, -1, 5315, -1, 3934, -1, 2922, -1, -1, 2925,
15299 -1, 2927, -1, 4142, -1, -1, 2932, -1, -1, -1,
15300 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15301 670, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15302 4169, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15303 -1, -1, -1, -1, -1, -1, 696, 2684, -1, -1,
15304 -1, -1, 3323, -1, -1, 2981, -1, -1, -1, -1,
15305 -1, -1, -1, -1, 2701, -1, -1, -1, 951, -1,
15306 -1, -1, -1, 3344, 3000, -1, 5399, -1, -1, 2716,
15307 -1, -1, -1, -1, -1, -1, -1, 3358, -1, -1,
15308 -1, -1, -1, 976, -1, -1, -1, -1, -1, 3025,
15309 -1, -1, -1, -1, -1, -1, -1, -1, 991, -1,
15310 -1, 1713, -1, -1, -1, -1, -1, -1, -1, -1,
15311 -1, -1, 4062, -1, -1, -1, -1, -1, 1730, -1,
15312 -1, 4270, 4072, -1, -1, -1, -1, -1, -1, 5462,
15313 -1, -1, -1, -1, -1, -1, 1748, -1, -1, -1,
15314 -1, -1, -1, -1, -1, -1, -1, 5480, -1, -1,
15315 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3095,
15316 -1, 3097, -1, -1, -1, -1, -1, -1, -1, -1,
15317 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3460,
15318 -1, -1, -1, 1076, -1, -1, -1, -1, -1, -1,
15319 4339, -1, 1804, -1, -1, -1, -1, -1, -1, -1,
15320 3481, -1, -1, -1, -1, 1817, -1, -1, -1, -1,
15321 -1, -1, -1, -1, -1, -1, -1, 1829, -1, -1,
15322 -1, -1, -1, -1, -1, 3506, -1, -1, -1, 1841,
15323 -1, -1, -1, -1, -1, -1, -1, 4187, -1, -1,
15324 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15325 3186, -1, -1, -1, -1, -1, -1, -1, -1, 3540,
15326 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15327 -1, -1, -1, 1885, 1886, 2922, 4226, -1, 2925, -1,
15328 2927, -1, -1, -1, -1, 2932, -1, -1, -1, 3225,
15329 -1, 951, -1, 1186, -1, -1, -1, 4247, -1, -1,
15330 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15331 -1, -1, -1, -1, -1, -1, 976, -1, 3254, -1,
15332 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15333 -1, 991, -1, -1, 2981, -1, -1, -1, -1, -1,
15334 -1, -1, -1, -1, -1, -1, -1, 3628, -1, -1,
15335 -1, -1, -1, 3000, 4503, 4504, -1, -1, 4507, -1,
15336 -1, -1, 4312, -1, -1, -1, -1, -1, -1, -1,
15337 -1, -1, -1, -1, -1, -1, -1, -1, 3025, -1,
15338 -1, -1, -1, -1, -1, -1, -1, 3323, -1, -1,
15339 -1, -1, -1, -1, -1, 4544, 4545, -1, -1, -1,
15340 -1, -1, 670, -1, -1, -1, -1, -1, 3344, -1,
15341 -1, 2023, 4561, -1, -1, -1, 1076, -1, -1, -1,
15342 -1, -1, 3358, -1, -1, -1, -1, -1, 696, -1,
15343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15344 -1, -1, -1, -1, -1, -1, -1, 3728, 3095, -1,
15345 3097, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15346 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15347 -1, 3752, -1, -1, -1, -1, -1, -1, -1, -1,
15348 4430, -1, 4432, -1, -1, -1, -1, -1, -1, -1,
15349 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15350 -1, -1, 1395, -1, -1, -1, -1, -1, -1, -1,
15351 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15352 -1, -1, -1, -1, 3460, -1, 1186, -1, 4478, -1,
15353 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3186,
15354 -1, -1, -1, -1, -1, 3481, -1, -1, -1, 2161,
15355 -1, -1, -1, 2165, 2166, -1, -1, -1, -1, -1,
15356 -1, -1, -1, -1, -1, -1, -1, -1, 1461, -1,
15357 3506, -1, -1, -1, -1, -1, -1, -1, 3225, -1,
15358 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15359 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15360 -1, 3882, -1, -1, 3540, -1, -1, 3254, -1, 1502,
15361 -1, -1, -1, 4762, -1, 2227, -1, -1, -1, -1,
15362 -1, -1, -1, -1, -1, -1, -1, -1, -1, 2241,
15363 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15364 4789, -1, 1535, -1, -1, -1, -1, -1, -1, 3930,
15365 -1, -1, -1, 3934, 4803, -1, -1, -1, -1, -1,
15366 -1, -1, 4612, -1, -1, -1, -1, -1, -1, -1,
15367 2282, -1, -1, -1, -1, -1, 3323, -1, -1, -1,
15368 -1, -1, -1, 951, -1, -1, -1, -1, -1, -1,
15369 -1, -1, 3628, -1, -1, -1, -1, 3344, -1, -1,
15370 -1, -1, -1, -1, -1, -1, -1, -1, 976, -1,
15371 -1, 3358, -1, 4862, -1, -1, -1, -1, -1, -1,
15372 -1, -1, -1, 991, -1, -1, -1, -1, -1, -1,
15373 -1, -1, -1, -1, -1, 1395, -1, -1, -1, -1,
15374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15375 -1, -1, -1, -1, 4903, -1, -1, -1, -1, -1,
15376 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15377 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15378 -1, 4062, -1, -1, -1, -1, 4736, -1, -1, -1,
15379 -1, 4072, 3728, -1, -1, -1, -1, -1, -1, -1,
15380 -1, 1461, -1, -1, -1, -1, -1, -1, 1076, -1,
15381 4760, -1, -1, 3460, -1, -1, 3752, -1, -1, -1,
15382 1713, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15383 -1, -1, -1, -1, 3481, -1, -1, 1730, -1, -1,
15384 -1, -1, 1502, -1, -1, -1, -1, -1, -1, 4799,
15385 -1, -1, -1, -1, -1, 1748, -1, -1, -1, 3506,
15386 -1, -1, -1, -1, -1, -1, -1, -1, 5017, 2481,
15387 -1, -1, -1, -1, -1, 1535, -1, -1, -1, -1,
15388 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15389 -1, -1, -1, 3540, 5043, -1, -1, -1, -1, -1,
15390 -1, -1, 4852, -1, -1, -1, 4187, 4857, 4858, -1,
15391 -1, 1804, -1, -1, -1, -1, -1, -1, 1186, -1,
15392 -1, -1, -1, -1, 1817, -1, -1, -1, -1, -1,
15393 -1, -1, -1, -1, -1, -1, 1829, -1, -1, -1,
15394 -1, -1, -1, -1, -1, 4226, 3882, -1, 1841, -1,
15395 -1, 2563, -1, -1, 2566, -1, -1, -1, -1, -1,
15396 -1, -1, -1, -1, -1, -1, 4247, -1, -1, -1,
15397 -1, 5120, -1, -1, -1, -1, -1, -1, -1, -1,
15398 -1, 3628, -1, -1, -1, -1, -1, -1, -1, -1,
15399 -1, -1, 1885, 1886, 3930, -1, -1, -1, 3934, -1,
15400 -1, -1, -1, -1, -1, -1, 5155, 5156, 5157, -1,
15401 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15402 -1, -1, 4972, 4973, -1, 5174, -1, -1, -1, -1,
15403 -1, 4312, -1, -1, -1, -1, -1, -1, -1, -1,
15404 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15405 -1, -1, -1, 1713, -1, -1, -1, -1, -1, -1,
15406 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15407 1730, -1, 2684, -1, -1, -1, -1, -1, -1, -1,
15408 -1, 3728, -1, -1, -1, -1, -1, -1, 1748, 2701,
15409 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15410 -1, -1, -1, -1, 2716, 3752, -1, 5256, -1, -1,
15411 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15412 -1, -1, -1, -1, -1, 5274, 4062, 1395, -1, -1,
15413 2023, -1, -1, -1, -1, -1, 4072, -1, -1, -1,
15414 -1, -1, -1, -1, 1804, -1, -1, -1, -1, -1,
15415 -1, 4432, -1, -1, -1, -1, -1, 1817, -1, -1,
15416 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1829,
15417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15418 -1, 1841, -1, -1, -1, -1, -1, -1, -1, -1,
15419 -1, -1, -1, 1461, -1, -1, -1, 4478, -1, -1,
15420 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15421 -1, -1, -1, -1, -1, -1, -1, -1, 5168, -1,
15422 -1, -1, -1, -1, -1, 1885, 1886, -1, -1, -1,
15423 -1, -1, -1, -1, 1502, 3882, 5385, -1, -1, -1,
15424 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15425 -1, 4187, -1, -1, -1, -1, -1, -1, -1, -1,
15426 -1, -1, -1, -1, -1, -1, -1, 1535, 2161, -1,
15427 5419, -1, 2165, 2166, -1, -1, -1, -1, -1, -1,
15428 5429, -1, -1, 3930, -1, -1, -1, 3934, -1, -1,
15429 4226, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15430 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15431 2922, 4247, -1, 2925, -1, 2927, -1, -1, -1, -1,
15432 2932, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15433 -1, 4612, -1, -1, 2227, -1, -1, -1, -1, -1,
15434 -1, -1, -1, -1, -1, -1, -1, -1, 2241, -1,
15435 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15436 -1, -1, -1, 2023, -1, -1, -1, -1, -1, 2981,
15437 -1, -1, -1, -1, -1, -1, 4312, -1, -1, -1,
15438 -1, -1, -1, -1, -1, -1, -1, -1, 3000, 2282,
15439 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15440 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15441 -1, -1, -1, 3025, -1, 4062, -1, -1, -1, -1,
15442 -1, -1, -1, -1, -1, 4072, -1, -1, -1, -1,
15443 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15444 -1, -1, -1, -1, -1, 1713, -1, -1, -1, -1,
15445 -1, -1, -1, -1, -1, 4736, -1, -1, -1, -1,
15446 -1, -1, 1730, -1, -1, -1, -1, -1, -1, -1,
15447 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4760,
15448 1748, -1, -1, 3095, -1, 3097, -1, -1, -1, -1,
15449 -1, -1, -1, -1, -1, -1, 4432, -1, -1, -1,
15450 -1, 2161, -1, -1, -1, 2165, 2166, -1, -1, -1,
15451 -1, -1, -1, -1, -1, -1, -1, -1, 4799, -1,
15452 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15453 -1, -1, -1, -1, -1, -1, 1804, -1, -1, -1,
15454 4187, -1, 4478, -1, -1, -1, -1, -1, -1, 1817,
15455 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15456 -1, 1829, -1, -1, -1, -1, -1, 2227, -1, -1,
15457 -1, 4852, -1, 1841, 3186, -1, 4857, 4858, -1, 4226,
15458 -1, 2241, -1, -1, -1, -1, -1, -1, 2481, -1,
15459 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15460 4247, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15461 -1, -1, -1, 3225, -1, -1, -1, 1885, 1886, -1,
15462 -1, -1, 2282, -1, -1, -1, -1, -1, -1, -1,
15463 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15464 -1, -1, 3254, -1, -1, -1, -1, -1, -1, -1,
15465 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15466 -1, -1, -1, -1, -1, 4312, -1, -1, -1, -1,
15467 2563, -1, -1, 2566, -1, -1, 4612, -1, -1, -1,
15468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15469 -1, -1, 4973, -1, -1, -1, -1, -1, -1, -1,
15470 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15471 -1, 3323, -1, -1, -1, -1, -1, -1, -1, -1,
15472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15473 -1, -1, 3344, -1, -1, -1, -1, -1, -1, -1,
15474 -1, -1, -1, -1, -1, -1, 3358, -1, -1, -1,
15475 -1, -1, -1, -1, -1, 2023, -1, -1, -1, -1,
15476 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15477 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15478 -1, -1, -1, -1, -1, 4432, -1, -1, -1, -1,
15479 -1, 2684, -1, -1, -1, -1, -1, -1, -1, -1,
15480 4736, -1, -1, -1, -1, -1, -1, -1, 2701, -1,
15481 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15482 -1, 2481, -1, 2716, 4760, -1, -1, -1, -1, -1,
15483 -1, 4478, -1, -1, -1, -1, -1, -1, -1, -1,
15484 -1, -1, -1, -1, -1, -1, -1, -1, 3460, -1,
15485 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15486 -1, -1, -1, 4799, -1, -1, -1, -1, -1, 3481,
15487 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15488 -1, -1, -1, -1, -1, -1, -1, 5168, -1, -1,
15489 -1, -1, -1, 2161, 3506, -1, -1, 2165, 2166, -1,
15490 -1, -1, -1, 2563, -1, -1, 2566, -1, -1, -1,
15491 -1, -1, -1, -1, -1, -1, 4852, -1, -1, -1,
15492 -1, 4857, 4858, -1, -1, -1, -1, -1, 3540, -1,
15493 -1, -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, -1, -1, -1, -1, 2227,
15496 -1, -1, -1, -1, -1, 4612, -1, -1, -1, -1,
15497 -1, -1, -1, 2241, -1, -1, -1, -1, -1, -1,
15498 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15499 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15500 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15501 -1, -1, -1, -1, 2282, -1, 3628, -1, -1, -1,
15502 -1, -1, -1, -1, 2684, -1, -1, -1, -1, 2922,
15503 -1, -1, 2925, -1, 2927, -1, -1, 4973, -1, 2932,
15504 -1, 2701, -1, -1, -1, -1, -1, -1, -1, -1,
15505 -1, -1, -1, -1, -1, -1, 2716, -1, -1, -1,
15506 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15507 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15508 -1, -1, -1, -1, -1, -1, -1, -1, 2981, 4736,
15509 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15510 -1, -1, -1, -1, -1, -1, -1, 3000, -1, -1,
15511 -1, -1, -1, 4760, -1, -1, 3728, -1, -1, -1,
15512 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15513 -1, -1, 3025, -1, -1, -1, -1, -1, -1, -1,
15514 3752, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15515 -1, -1, 4799, -1, -1, -1, -1, -1, -1, -1,
15516 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15517 -1, -1, -1, -1, -1, 1294, -1, -1, -1, -1,
15518 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15519 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15520 -1, -1, 3095, -1, 3097, 4852, -1, -1, -1, -1,
15521 4857, 4858, -1, 2481, -1, -1, -1, -1, -1, -1,
15522 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15523 -1, -1, 5168, 1352, -1, -1, -1, -1, -1, -1,
15524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15526 -1, -1, 2922, -1, -1, 2925, -1, 2927, -1, -1,
15527 3882, -1, 2932, -1, -1, -1, -1, -1, -1, -1,
15528 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15529 -1, -1, -1, 3186, -1, 2563, -1, -1, 2566, -1,
15530 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15531 -1, -1, -1, -1, -1, -1, -1, -1, 3930, -1,
15532 -1, 2981, 3934, -1, -1, -1, 4973, -1, -1, -1,
15533 -1, -1, 3225, -1, -1, -1, -1, -1, -1, -1,
15534 3000, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15535 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15536 -1, 3254, -1, -1, -1, 3025, -1, -1, -1, -1,
15537 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15538 -1, -1, -1, -1, -1, -1, -1, -1, -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, 2684, -1, -1, -1,
15542 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15543 3323, -1, -1, 2701, -1, 3095, -1, 3097, -1, -1,
15544 -1, -1, -1, -1, -1, -1, -1, -1, 2716, -1,
15545 4062, 3344, -1, -1, -1, -1, -1, -1, -1, -1,
15546 4072, -1, -1, -1, -1, 3358, -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, 1616, -1, -1,
15550 -1, 1620, -1, -1, -1, -1, -1, -1, -1, -1,
15551 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15552 -1, 5168, -1, -1, -1, -1, 3186, -1, -1, -1,
15553 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15554 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15555 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15556 -1, -1, -1, -1, -1, 3225, -1, 3460, -1, -1,
15557 -1, -1, -1, -1, -1, 4187, -1, -1, -1, -1,
15558 -1, -1, -1, -1, -1, -1, -1, -1, 3481, -1,
15559 -1, -1, -1, -1, 3254, -1, -1, -1, -1, -1,
15560 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15561 -1, -1, -1, 3506, 4226, -1, -1, -1, -1, -1,
15562 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15563 -1, -1, -1, -1, -1, 4247, -1, -1, -1, -1,
15564 -1, -1, -1, -1, -1, -1, -1, 3540, -1, -1,
15565 -1, -1, -1, -1, 2922, -1, -1, 2925, -1, 2927,
15566 -1, -1, -1, 3323, 2932, -1, -1, -1, -1, -1,
15567 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15568 -1, -1, -1, -1, 3344, -1, -1, -1, -1, -1,
15569 -1, -1, -1, -1, -1, -1, -1, -1, 3358, -1,
15570 4312, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15571 -1, -1, -1, 2981, -1, -1, -1, -1, -1, -1,
15572 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15573 -1, -1, 3000, -1, -1, 3628, -1, -1, -1, -1,
15574 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15575 -1, -1, -1, -1, -1, -1, -1, 3025, -1, -1,
15576 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15577 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15578 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15579 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15580 3460, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15581 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15582 4432, 3481, -1, -1, -1, -1, -1, 3095, -1, 3097,
15583 -1, -1, -1, -1, -1, 3728, -1, -1, -1, -1,
15584 -1, -1, -1, -1, -1, -1, 3506, -1, -1, -1,
15585 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3752,
15586 1979, -1, -1, -1, -1, -1, 4478, -1, -1, -1,
15587 -1, -1, -1, -1, 1993, -1, -1, -1, 1997, -1,
15588 3540, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15589 -1, -1, 2011, 2012, 2013, -1, 2015, -1, -1, -1,
15590 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15591 -1, -1, -1, -1, -1, -1, -1, -1, 3186, -1,
15592 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15593 -1, -1, -1, -1, -1, -1, -1, -1, 2057, -1,
15594 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15595 -1, -1, -1, -1, -1, -1, -1, 3225, -1, -1,
15596 -1, -1, -1, -1, -1, -1, -1, -1, 3628, -1,
15597 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15598 -1, -1, -1, -1, -1, -1, 3254, -1, -1, 3882,
15599 -1, -1, -1, -1, -1, -1, 2115, -1, -1, -1,
15600 4612, -1, -1, -1, -1, -1, -1, -1, 2127, -1,
15601 -1, -1, -1, 2132, -1, -1, -1, -1, -1, -1,
15602 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15603 -1, -1, -1, -1, -1, -1, -1, 3930, -1, -1,
15604 -1, 3934, -1, -1, -1, -1, -1, -1, -1, -1,
15605 -1, -1, -1, -1, -1, 3323, -1, -1, -1, -1,
15606 -1, -1, -1, -1, -1, -1, -1, -1, 3728, -1,
15607 -1, -1, -1, -1, -1, -1, 3344, -1, -1, -1,
15608 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15609 3358, -1, 3752, -1, -1, -1, -1, -1, -1, -1,
15610 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15611 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15612 -1, -1, -1, -1, 4736, -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, 4760, -1,
15615 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15616 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4062,
15617 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4072,
15618 -1, -1, -1, -1, -1, -1, -1, 4799, -1, -1,
15619 -1, -1, 3460, -1, -1, -1, -1, -1, -1, -1,
15620 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15621 -1, -1, -1, 3481, -1, -1, -1, -1, -1, -1,
15622 -1, -1, 3882, -1, -1, -1, -1, -1, -1, -1,
15623 -1, -1, -1, -1, -1, -1, -1, -1, 3506, -1,
15624 4852, -1, -1, -1, -1, 4857, 4858, -1, -1, -1,
15625 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15626 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15627 3930, -1, 3540, -1, 3934, -1, -1, -1, -1, -1,
15628 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15629 -1, -1, -1, -1, 4187, -1, -1, -1, -1, -1,
15630 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15631 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15632 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15633 -1, -1, -1, 4226, -1, -1, -1, -1, -1, -1,
15634 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15635 -1, -1, -1, -1, 4247, -1, -1, -1, -1, -1,
15636 3628, 4973, -1, -1, -1, -1, -1, -1, -1, -1,
15637 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15638 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15639 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15640 -1, -1, 4062, -1, -1, -1, -1, -1, -1, -1,
15641 -1, -1, 4072, -1, -1, -1, -1, -1, -1, 4312,
15642 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15643 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15644 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15645 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15646 3728, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15647 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15648 -1, -1, -1, -1, 3752, -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, 4187, -1, -1,
15653 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4432,
15654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15655 -1, -1, -1, -1, -1, -1, 5168, -1, -1, -1,
15656 -1, -1, -1, -1, -1, -1, 4226, -1, -1, -1,
15657 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15658 -1, -1, -1, -1, -1, 4478, -1, 4247, -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, 2730, -1, -1, 3882, -1, -1, -1, -1, -1,
15662 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15663 -1, 2750, -1, 2752, -1, -1, 2755, 2756, -1, 2758,
15664 -1, 2760, -1, -1, -1, 2764, -1, -1, 2767, -1,
15665 -1, -1, 4312, 2772, -1, -1, -1, -1, -1, 2778,
15666 -1, -1, 3930, -1, 2783, -1, 3934, -1, -1, -1,
15667 -1, 2790, 2791, 2792, 2793, -1, -1, -1, 2797, 2798,
15668 -1, 2800, -1, -1, -1, -1, -1, -1, -1, -1,
15669 -1, -1, -1, 2812, -1, 2814, -1, -1, -1, -1,
15670 -1, -1, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828,
15671 2829, 2830, -1, -1, -1, -1, -1, -1, -1, 4612,
15672 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15673 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15674 -1, -1, -1, -1, -1, -1, -1, -1, 2867, -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, -1, 4432, -1, -1, -1, -1, -1, -1, -1,
15678 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15679 -1, -1, -1, -1, 4062, -1, -1, -1, -1, -1,
15680 -1, -1, -1, -1, 4072, -1, -1, -1, -1, -1,
15681 -1, -1, -1, -1, -1, -1, -1, -1, 4478, -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, 4736, -1, -1, -1, -1, -1, 2968,
15685 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15686 -1, -1, -1, -1, -1, -1, -1, 4760, -1, -1,
15687 -1, -1, -1, -1, -1, -1, -1, -1, -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, 4799, -1, -1, -1,
15691 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4187,
15692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15693 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15694 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15695 -1, -1, 4612, -1, -1, -1, -1, -1, 4226, 4852,
15696 -1, -1, -1, -1, 4857, 4858, -1, -1, -1, -1,
15697 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4247,
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, 4312, -1, -1, -1, -1, -1,
15705 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15706 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15707 -1, -1, -1, -1, -1, -1, 4736, -1, -1, -1,
15708 4973, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15709 -1, -1, -1, -1, -1, -1, 3215, 3216, -1, -1,
15710 4760, 3220, -1, -1, -1, -1, -1, -1, -1, -1,
15711 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15712 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15713 3249, -1, -1, -1, -1, -1, -1, -1, -1, 4799,
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, 4432, -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, 4852, -1, -1, -1, -1, 4857, 4858, -1,
15720 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15721 4478, -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, 5168, -1, -1, -1, -1,
15728 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15731 -1, -1, -1, 4973, -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, 3456, -1, -1,
15734 -1, -1, -1, 3462, 4612, -1, -1, -1, -1, -1,
15735 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3478,
15736 3479, -1, -1, 3482, 3483, 3484, 3485, -1, -1, 3488,
15737 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498,
15738 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15739 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15740 -1, 3520, -1, -1, 3523, -1, 3525, -1, -1, 3528,
15741 3529, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15742 -1, -1, -1, -1, 3543, 3544, 3545, 3546, -1, 3548,
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, 4736, -1,
15747 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15748 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15749 -1, -1, 4760, -1, -1, -1, -1, -1, -1, -1,
15750 -1, -1, -1, -1, -1, -1, -1, -1, 5168, -1,
15751 -1, -1, -1, -1, -1, -1, -1, -1, 3637, -1,
15752 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15753 -1, 4799, -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 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15758 -1, -1, -1, -1, 4852, -1, -1, -1, -1, 4857,
15759 4858, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -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, -1, 4973, -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, 3853, -1, -1, -1, -1, -1,
15774 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15775 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15776 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15777 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15778 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15779 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15780 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15781 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15782 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15783 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15784 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15785 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15786 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15787 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15788 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4008,
15789 -1, -1, -1, 4012, 4013, 4014, -1, -1, -1, -1,
15790 5168, 4020, 4021, 4022, 4023, -1, -1, -1, -1, 4028,
15791 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4038,
15792 4039, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15793 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15794 -1, -1, -1, -1, -1, -1, 4065, -1, -1, 4068,
15795 -1, 4070, -1, -1, -1, 4074, -1, -1, 4077, 4078,
15796 -1, -1, 4081, 4082, -1, -1, -1, -1, -1, -1,
15797 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15799 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15800 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4128,
15801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15802 -1, -1, 4141, -1, -1, -1, -1, -1, -1, -1,
15803 -1, -1, -1, -1, -1, 4154, -1, -1, -1, -1,
15804 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15805 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15806 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15807 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15808 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15809 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15810 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15811 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15812 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15813 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15814 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15815 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15816 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15817 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15818 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15819 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15820 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15821 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15822 -1, -1, -1, 4342, -1, -1, -1, -1, -1, -1,
15823 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15824 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15825 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15826 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15827 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15828 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15829 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15830 -1, -1, -1, -1, -1, -1, -1, -1, 4427, 4428,
15831 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15832 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15834 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4468,
15835 -1, -1, -1, -1, 4473, 4474, -1, -1, -1, -1,
15836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15837 -1, -1, 4491, -1, 4493, -1, -1, -1, 4497, 4498,
15838 4499, -1, -1, 4502, -1, -1, 4505, 4506, -1, -1,
15839 -1, 4510, -1, -1, -1, 4514, -1, -1, -1, -1,
15840 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15842 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15843 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15844 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15845 -1, 4570, -1, -1, -1, -1, -1, -1, -1, -1,
15846 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15847 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15848 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15849 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15850 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15851 -1, -1, -1, -1, 4633, -1, -1, -1, -1, -1,
15852 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15853 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15854 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15855 -1, 4670, -1, -1, -1, -1, -1, -1, -1, -1,
15856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15858 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15859 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15860 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15861 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15862 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15863 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4758,
15864 4759, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15865 -1, -1, -1, -1, 4773, 4774, 4775, -1, -1, -1,
15866 -1, -1, -1, -1, 4783, -1, -1, -1, -1, -1,
15867 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15868 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15869 -1, 4810, 4811, -1, -1, -1, -1, -1, -1, -1,
15870 -1, -1, -1, 4822, -1, -1, -1, -1, -1, -1,
15871 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15872 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15873 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15874 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15875 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15876 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15879 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15881 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15882 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15883 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15884 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15885 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15886 -1, -1, -1, -1, -1, -1, 4985, -1, -1, -1,
15887 -1, -1, -1, -1, -1, -1, -1, -1, -1, 4998,
15888 -1, -1, 5001, -1, -1, -1, 5005, -1, -1, -1,
15889 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15890 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15891 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15892 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15893 -1, -1, -1, -1, -1, 5054, -1, -1, -1, -1,
15894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15895 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15896 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15897 -1, -1, 5091, -1, -1, -1, -1, -1, -1, -1,
15898 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15899 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15900 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15901 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15902 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15903 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15904 -1, -1, -1, 5162, -1, 5164, -1, -1, -1, -1,
15905 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15906 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15907 -1, -1, -1, -1, -1, -1, 5195, -1, -1, -1,
15908 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15909 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15910 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15911 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15913 5249, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15915 -1, -1, -1, -1, -1, -1, -1, -1, 5277, -1,
15916 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15917 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15918 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15919 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15920 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15921 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5338,
15922 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15923 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15924 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15925 -1, -1, -1, -1, 5373, 5374, -1, -1, -1, -1,
15926 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15927 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15928 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15929 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15930 -1, -1, -1, -1, -1, -1, 5425, 5426, -1, -1,
15931 -1, 5430, -1, -1, -1, -1, -1, -1, -1, -1,
15932 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
15933 9, 10, -1, -1, -1, -1, -1, -1, 5457, 18,
15934 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
15935 29, -1, -1, -1, -1, 34, -1, -1, 37, 38,
15936 -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
15937 49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
15938 59, 60, 61, 62, 63, 64, 65, -1, 67, 68,
15939 69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
15940 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
15941 89, 90, -1, 92, 93, 94, 95, 96, 97, 98,
15942 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
15943 109, 110, 111, 112, 113, -1, 115, 116, 117, 118,
15944 119, 120, -1, 122, 123, 124, 125, 126, -1, 128,
15945 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
15946 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
15947 149, 150, 151, 152, -1, 154, 155, 156, 157, -1,
15948 159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
15949 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
15950 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
15951 189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
15952 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
15953 209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
15954 -1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
15955 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
15956 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
15957 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
15958 259, 260, 261, 262, 263, 264, 265, -1, 267, 268,
15959 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
15960 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
15961 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
15962 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
15963 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
15964 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
15965 329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
15966 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
15967 -1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
15968 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
15969 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
15970 379, 380, 381, -1, 383, 384, -1, 386, 387, 388,
15971 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
15972 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
15973 409, 410, 411, -1, 413, 414, 415, 416, 417, 418,
15974 419, -1, 421, 422, 423, 424, 425, 426, 427, 428,
15975 429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
15976 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
15977 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
15978 459, 460, -1, -1, -1, -1, -1, -1, 467, 468,
15979 469, -1, -1, -1, -1, -1, -1, 476, 477, 3,
15980 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
15981 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
15982 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
15983 34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
15984 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
15985 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
15986 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
15987 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
15988 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
15989 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
15990 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
15991 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
15992 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
15993 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
15994 144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
15995 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
15996 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
15997 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
15998 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
15999 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
16000 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
16001 214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
16002 224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
16003 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
16004 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
16005 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
16006 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
16007 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
16008 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
16009 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
16010 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
16011 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
16012 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
16013 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
16014 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
16015 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
16016 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
16017 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
16018 384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
16019 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
16020 404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
16021 414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
16022 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
16023 434, -1, -1, 437, -1, 439, 440, 441, 442, 443,
16024 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
16025 454, 455, 456, 457, 458, 459, 460, -1, 462, -1,
16026 -1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
16027 -1, -1, 476, 477, 3, 4, 5, 6, 7, 8,
16028 9, 10, -1, -1, -1, -1, -1, -1, -1, 18,
16029 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
16030 29, -1, -1, -1, -1, 34, -1, -1, 37, 38,
16031 -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
16032 49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
16033 59, 60, 61, 62, 63, 64, 65, -1, 67, 68,
16034 69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
16035 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
16036 89, 90, -1, 92, 93, 94, 95, 96, 97, 98,
16037 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
16038 109, 110, 111, 112, 113, -1, 115, 116, 117, 118,
16039 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
16040 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
16041 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
16042 149, 150, 151, 152, -1, 154, 155, 156, 157, -1,
16043 159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
16044 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
16045 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
16046 189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
16047 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
16048 209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
16049 -1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
16050 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
16051 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
16052 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
16053 259, 260, 261, 262, 263, 264, 265, -1, 267, 268,
16054 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
16055 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
16056 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
16057 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
16058 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
16059 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
16060 329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
16061 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
16062 -1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
16063 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
16064 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
16065 379, 380, 381, -1, 383, 384, -1, 386, 387, 388,
16066 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
16067 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
16068 409, 410, 411, -1, 413, 414, 415, 416, 417, 418,
16069 419, -1, 421, 422, 423, 424, 425, 426, 427, -1,
16070 429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
16071 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
16072 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
16073 459, 460, -1, -1, -1, -1, -1, -1, 467, 468,
16074 -1, -1, -1, -1, -1, -1, -1, 476, 477, 3,
16075 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
16076 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
16077 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
16078 34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
16079 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
16080 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
16081 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
16082 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
16083 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
16084 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
16085 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
16086 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
16087 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
16088 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
16089 144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
16090 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
16091 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
16092 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
16093 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
16094 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
16095 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
16096 214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
16097 224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
16098 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
16099 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
16100 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
16101 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
16102 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
16103 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
16104 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
16105 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
16106 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
16107 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
16108 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
16109 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
16110 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
16111 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
16112 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
16113 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
16114 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
16115 404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
16116 414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
16117 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
16118 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
16119 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
16120 454, 455, 456, 457, 458, 459, 460, -1, -1, -1,
16121 -1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
16122 -1, -1, 476, 477, 3, 4, 5, 6, 7, 8,
16123 9, 10, -1, -1, -1, -1, -1, -1, -1, 18,
16124 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
16125 29, -1, -1, -1, -1, 34, -1, -1, 37, 38,
16126 -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
16127 49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
16128 59, 60, 61, 62, 63, 64, 65, -1, 67, 68,
16129 69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
16130 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
16131 89, 90, -1, 92, 93, 94, 95, 96, 97, 98,
16132 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
16133 109, 110, 111, 112, 113, -1, 115, 116, 117, 118,
16134 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
16135 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
16136 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
16137 149, 150, 151, 152, -1, 154, 155, 156, 157, -1,
16138 159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
16139 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
16140 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
16141 189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
16142 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
16143 209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
16144 -1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
16145 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
16146 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
16147 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
16148 259, 260, 261, 262, 263, 264, 265, -1, 267, 268,
16149 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
16150 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
16151 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
16152 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
16153 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
16154 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
16155 329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
16156 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
16157 -1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
16158 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
16159 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
16160 379, 380, 381, -1, 383, 384, -1, 386, 387, 388,
16161 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
16162 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
16163 409, 410, 411, -1, 413, 414, 415, 416, 417, 418,
16164 419, -1, 421, 422, 423, 424, 425, 426, 427, -1,
16165 429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
16166 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
16167 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
16168 459, 460, -1, -1, 3, -1, -1, -1, 467, 468,
16169 -1, -1, -1, -1, -1, -1, -1, 476, 477, 18,
16170 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
16171 29, -1, -1, -1, -1, -1, 35, -1, 37, 38,
16172 -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
16173 -1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
16174 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
16175 69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
16176 79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
16177 89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
16178 -1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
16179 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
16180 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
16181 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
16182 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
16183 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
16184 159, -1, 161, -1, -1, 164, 165, 166, 167, 168,
16185 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
16186 179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
16187 189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
16188 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
16189 -1, -1, 211, 212, 213, 214, 215, 216, 217, -1,
16190 -1, 220, 221, 222, 223, -1, -1, 226, 227, 228,
16191 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
16192 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
16193 249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
16194 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
16195 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
16196 -1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
16197 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
16198 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
16199 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
16200 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
16201 329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
16202 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
16203 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
16204 359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
16205 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
16206 379, 380, 381, -1, 383, 384, -1, 386, -1, 388,
16207 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
16208 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
16209 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
16210 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
16211 429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
16212 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
16213 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
16214 459, -1, -1, -1, 3, -1, -1, -1, -1, -1,
16215 -1, -1, -1, -1, -1, -1, -1, -1, 477, 18,
16216 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
16217 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
16218 -1, 40, 41, 42, 43, 44, 45, 46, -1, 48,
16219 49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
16220 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
16221 69, 70, -1, -1, 73, -1, 75, 76, 77, 78,
16222 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
16223 89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
16224 99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
16225 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
16226 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
16227 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
16228 139, 140, -1, 142, 143, 144, 145, -1, 147, 148,
16229 149, -1, -1, 152, -1, 154, 155, 156, 157, -1,
16230 159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
16231 -1, 170, -1, -1, -1, 174, 175, -1, 177, 178,
16232 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
16233 189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
16234 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
16235 209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
16236 -1, 220, -1, 222, 223, 224, -1, 226, 227, 228,
16237 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
16238 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
16239 249, 250, 251, 252, -1, -1, 255, 256, 257, 258,
16240 -1, -1, 261, 262, 263, 264, 265, -1, 267, 268,
16241 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
16242 279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
16243 289, 290, 291, -1, 293, 294, -1, 296, -1, 298,
16244 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
16245 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
16246 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
16247 329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
16248 -1, 340, 341, 342, 343, 344, 345, 346, 347, 348,
16249 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
16250 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
16251 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
16252 379, -1, 381, -1, 383, 384, -1, 386, 387, 388,
16253 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
16254 399, 400, -1, 402, -1, -1, 405, 406, 407, 408,
16255 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
16256 -1, -1, 421, 422, 423, 424, 425, -1, 427, 428,
16257 429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
16258 -1, 440, 441, 442, 443, 444, 445, 3, -1, -1,
16259 -1, -1, -1, -1, -1, -1, -1, -1, 457, 458,
16260 459, -1, 18, 19, 20, 21, 22, 23, 24, 25,
16261 -1, 27, 28, 29, -1, -1, -1, -1, 477, -1,
16262 -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
16263 46, -1, 48, 49, 50, 51, -1, 53, 54, 55,
16264 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
16265 -1, 67, 68, 69, 70, -1, -1, 73, -1, 75,
16266 76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
16267 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
16268 -1, -1, -1, 99, -1, -1, -1, 103, 104, 105,
16269 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
16270 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
16271 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
16272 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
16273 -1, 147, 148, 149, -1, -1, 152, -1, 154, 155,
16274 156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
16275 166, 167, 168, -1, 170, -1, -1, -1, 174, 175,
16276 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
16277 186, 187, 188, 189, 190, 191, 192, 193, 194, -1,
16278 196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
16279 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
16280 216, 217, -1, -1, 220, -1, 222, 223, 224, -1,
16281 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
16282 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
16283 246, 247, 248, 249, 250, 251, 252, -1, -1, 255,
16284 256, 257, 258, -1, -1, 261, 262, 263, 264, 265,
16285 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
16286 276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
16287 286, 287, 288, 289, 290, 291, -1, 293, 294, -1,
16288 296, -1, 298, 299, 300, -1, 302, 303, 304, 305,
16289 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
16290 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
16291 326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
16292 336, 337, 338, -1, 340, 341, 342, 343, 344, 345,
16293 346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
16294 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
16295 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
16296 376, 377, 378, 379, -1, 381, -1, 383, 384, -1,
16297 386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
16298 396, -1, -1, 399, 400, -1, 402, -1, -1, 405,
16299 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
16300 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
16301 -1, 427, 428, 429, 430, 431, 432, 433, 434, -1,
16302 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
16303 -1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
16304 -1, 457, 458, 459, -1, -1, 18, 19, 20, 21,
16305 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
16306 -1, 477, 34, -1, -1, 37, 38, -1, 40, 41,
16307 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
16308 -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
16309 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
16310 -1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
16311 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
16312 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
16313 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
16314 112, 113, -1, 115, 116, 117, 118, 119, 120, -1,
16315 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
16316 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
16317 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
16318 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
16319 162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
16320 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
16321 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
16322 192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
16323 202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
16324 212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
16325 222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
16326 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
16327 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
16328 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
16329 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
16330 272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
16331 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
16332 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
16333 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
16334 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
16335 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
16336 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
16337 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
16338 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
16339 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
16340 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
16341 -1, 383, 384, 385, 386, 387, 388, 389, 390, 391,
16342 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
16343 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
16344 -1, 413, 414, 415, 416, 417, 418, 419, -1, 421,
16345 422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
16346 432, 433, 434, -1, -1, 437, -1, 439, 440, 441,
16347 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
16348 452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
16349 462, -1, -1, -1, -1, 467, 468, -1, -1, -1,
16350 -1, -1, -1, -1, 476, 3, 4, 5, 6, 7,
16351 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
16352 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
16353 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
16354 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
16355 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
16356 58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
16357 68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
16358 78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
16359 88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
16360 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
16361 108, 109, 110, 111, 112, 113, -1, 115, 116, 117,
16362 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
16363 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
16364 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
16365 148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
16366 -1, 159, -1, 161, 162, 163, 164, 165, 166, 167,
16367 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
16368 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
16369 188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
16370 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
16371 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
16372 -1, 219, 220, 221, 222, 223, 224, -1, 226, 227,
16373 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
16374 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
16375 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
16376 258, 259, 260, 261, 262, 263, 264, 265, -1, 267,
16377 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
16378 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
16379 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
16380 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
16381 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
16382 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
16383 328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
16384 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
16385 348, -1, 350, 351, 352, 353, 354, 355, 356, 357,
16386 358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
16387 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
16388 378, 379, 380, 381, -1, 383, 384, -1, 386, 387,
16389 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
16390 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
16391 408, 409, 410, 411, -1, 413, 414, 415, 416, 417,
16392 418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
16393 -1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
16394 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
16395 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
16396 458, 459, 460, -1, -1, -1, -1, -1, -1, 467,
16397 468, -1, -1, -1, -1, -1, -1, -1, 476, 3,
16398 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
16399 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
16400 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
16401 34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
16402 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
16403 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
16404 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
16405 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
16406 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
16407 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
16408 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
16409 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
16410 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
16411 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
16412 144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
16413 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
16414 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
16415 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
16416 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
16417 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
16418 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
16419 214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
16420 224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
16421 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
16422 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
16423 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
16424 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
16425 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
16426 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
16427 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
16428 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
16429 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
16430 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
16431 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
16432 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
16433 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
16434 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
16435 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
16436 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
16437 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
16438 404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
16439 414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
16440 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
16441 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
16442 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
16443 454, 455, 456, 457, 458, 459, 460, -1, -1, -1,
16444 -1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
16445 474, 475, 476, 3, 4, 5, 6, 7, 8, 9,
16446 10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
16447 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
16448 -1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
16449 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
16450 50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
16451 60, 61, 62, 63, 64, 65, -1, 67, 68, 69,
16452 70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
16453 80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
16454 90, -1, 92, 93, 94, 95, 96, 97, 98, 99,
16455 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
16456 110, 111, 112, 113, -1, 115, 116, 117, 118, 119,
16457 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
16458 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
16459 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
16460 150, 151, 152, -1, 154, 155, 156, 157, -1, 159,
16461 -1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
16462 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
16463 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
16464 190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
16465 200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
16466 210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
16467 220, 221, 222, 223, 224, -1, 226, 227, 228, 229,
16468 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
16469 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
16470 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
16471 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
16472 -1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
16473 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
16474 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
16475 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
16476 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
16477 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
16478 -1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
16479 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
16480 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
16481 360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
16482 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
16483 380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
16484 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
16485 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
16486 410, 411, -1, 413, 414, 415, 416, 417, 418, 419,
16487 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
16488 430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
16489 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
16490 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
16491 460, -1, -1, -1, -1, -1, -1, 467, 468, 469,
16492 -1, -1, -1, -1, -1, -1, 476, 3, 4, 5,
16493 6, 7, 8, 9, 10, -1, -1, -1, -1, -1,
16494 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
16495 26, 27, 28, 29, -1, -1, -1, -1, 34, -1,
16496 -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
16497 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
16498 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
16499 -1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
16500 76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
16501 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
16502 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
16503 106, 107, 108, 109, 110, 111, 112, 113, -1, 115,
16504 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
16505 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
16506 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
16507 146, 147, 148, 149, 150, 151, 152, -1, 154, 155,
16508 156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
16509 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
16510 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
16511 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
16512 196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
16513 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
16514 216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
16515 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
16516 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
16517 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
16518 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
16519 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
16520 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
16521 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
16522 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
16523 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
16524 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
16525 326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
16526 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
16527 346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
16528 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
16529 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
16530 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
16531 386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
16532 396, -1, -1, 399, 400, 401, 402, 403, 404, 405,
16533 406, 407, 408, 409, 410, 411, -1, 413, 414, 415,
16534 416, 417, 418, 419, -1, 421, 422, 423, 424, 425,
16535 426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
16536 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
16537 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
16538 456, 457, 458, 459, 460, -1, -1, -1, -1, -1,
16539 -1, 467, 468, -1, -1, -1, -1, -1, -1, -1,
16540 476, 3, 4, 5, 6, 7, 8, 9, 10, -1,
16541 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
16542 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
16543 -1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
16544 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
16545 -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
16546 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
16547 -1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
16548 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
16549 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
16550 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
16551 112, 113, -1, 115, 116, 117, 118, 119, 120, -1,
16552 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
16553 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
16554 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
16555 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
16556 162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
16557 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
16558 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
16559 192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
16560 202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
16561 212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
16562 222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
16563 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
16564 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
16565 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
16566 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
16567 272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
16568 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
16569 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
16570 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
16571 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
16572 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
16573 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
16574 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
16575 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
16576 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
16577 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
16578 -1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
16579 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
16580 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
16581 -1, 413, 414, 415, 416, 417, 418, 419, -1, 421,
16582 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
16583 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
16584 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
16585 452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
16586 -1, -1, -1, -1, -1, 467, 468, -1, -1, -1,
16587 -1, -1, -1, -1, 476, 3, 4, 5, 6, 7,
16588 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
16589 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
16590 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
16591 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
16592 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
16593 58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
16594 68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
16595 78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
16596 88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
16597 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
16598 108, 109, 110, 111, 112, 113, -1, 115, 116, 117,
16599 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
16600 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
16601 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
16602 148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
16603 -1, 159, -1, 161, 162, 163, 164, 165, 166, 167,
16604 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
16605 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
16606 188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
16607 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
16608 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
16609 -1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
16610 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
16611 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
16612 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
16613 258, 259, 260, 261, 262, 263, 264, 265, -1, 267,
16614 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
16615 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
16616 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
16617 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
16618 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
16619 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
16620 328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
16621 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
16622 348, -1, 350, 351, 352, 353, 354, 355, 356, 357,
16623 358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
16624 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
16625 378, 379, 380, 381, -1, 383, 384, -1, 386, 387,
16626 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
16627 -1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
16628 408, 409, 410, 411, -1, 413, 414, 415, 416, 417,
16629 418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
16630 -1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
16631 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
16632 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
16633 458, 459, 460, -1, -1, -1, -1, -1, -1, 467,
16634 468, -1, -1, -1, -1, -1, -1, -1, 476, 3,
16635 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
16636 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
16637 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
16638 34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
16639 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
16640 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
16641 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
16642 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
16643 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
16644 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
16645 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
16646 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
16647 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
16648 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
16649 144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
16650 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
16651 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
16652 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
16653 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
16654 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
16655 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
16656 214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
16657 224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
16658 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
16659 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
16660 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
16661 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
16662 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
16663 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
16664 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
16665 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
16666 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
16667 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
16668 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
16669 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
16670 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
16671 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
16672 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
16673 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
16674 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
16675 404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
16676 414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
16677 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
16678 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
16679 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
16680 454, 455, 456, 457, 458, 459, 460, -1, -1, -1,
16681 -1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
16682 -1, -1, 476, 3, 4, 5, 6, 7, 8, 9,
16683 10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
16684 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
16685 -1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
16686 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
16687 50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
16688 60, 61, 62, 63, 64, 65, -1, 67, 68, 69,
16689 70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
16690 80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
16691 90, -1, 92, 93, 94, 95, 96, 97, 98, 99,
16692 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
16693 110, 111, 112, 113, -1, 115, 116, 117, 118, 119,
16694 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
16695 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
16696 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
16697 150, 151, 152, -1, 154, 155, 156, 157, -1, 159,
16698 -1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
16699 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
16700 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
16701 190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
16702 200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
16703 210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
16704 220, 221, 222, 223, 224, -1, 226, 227, 228, 229,
16705 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
16706 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
16707 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
16708 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
16709 -1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
16710 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
16711 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
16712 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
16713 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
16714 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
16715 -1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
16716 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
16717 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
16718 360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
16719 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
16720 380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
16721 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
16722 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
16723 410, 411, -1, 413, 414, 415, 416, 417, 418, 419,
16724 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
16725 430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
16726 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
16727 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
16728 460, -1, -1, -1, -1, -1, -1, 467, 468, -1,
16729 -1, -1, -1, -1, -1, -1, 476, 3, 4, 5,
16730 6, 7, 8, 9, 10, -1, -1, -1, -1, -1,
16731 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
16732 -1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
16733 -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
16734 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
16735 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
16736 -1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
16737 76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
16738 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
16739 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
16740 106, 107, 108, 109, 110, 111, 112, 113, -1, 115,
16741 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
16742 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
16743 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
16744 146, 147, 148, 149, 150, 151, 152, -1, 154, 155,
16745 156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
16746 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
16747 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
16748 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
16749 196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
16750 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
16751 216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
16752 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
16753 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
16754 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
16755 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
16756 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
16757 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
16758 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
16759 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
16760 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
16761 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
16762 326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
16763 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
16764 346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
16765 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
16766 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
16767 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
16768 386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
16769 396, -1, -1, 399, 400, 401, 402, 403, 404, 405,
16770 406, 407, 408, 409, 410, 411, -1, 413, 414, 415,
16771 416, 417, 418, 419, -1, 421, 422, 423, 424, 425,
16772 426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
16773 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
16774 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
16775 456, 457, 458, 459, 460, -1, -1, -1, -1, -1,
16776 -1, 467, 468, -1, -1, -1, -1, -1, -1, -1,
16777 476, 3, 4, 5, 6, 7, 8, 9, 10, -1,
16778 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
16779 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
16780 -1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
16781 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
16782 -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
16783 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
16784 -1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
16785 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
16786 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
16787 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
16788 112, 113, -1, 115, 116, 117, 118, 119, 120, -1,
16789 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
16790 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
16791 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
16792 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
16793 162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
16794 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
16795 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
16796 192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
16797 202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
16798 212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
16799 222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
16800 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
16801 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
16802 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
16803 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
16804 272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
16805 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
16806 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
16807 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
16808 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
16809 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
16810 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
16811 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
16812 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
16813 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
16814 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
16815 -1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
16816 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
16817 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
16818 -1, 413, 414, 415, 416, 417, 418, 419, -1, 421,
16819 422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
16820 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
16821 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
16822 452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
16823 -1, -1, -1, -1, -1, 467, 468, -1, -1, -1,
16824 -1, -1, -1, -1, 476, 3, 4, 5, 6, 7,
16825 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
16826 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
16827 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
16828 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
16829 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
16830 58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
16831 68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
16832 78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
16833 88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
16834 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
16835 108, 109, 110, 111, 112, 113, -1, 115, 116, 117,
16836 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
16837 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
16838 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
16839 148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
16840 -1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
16841 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
16842 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
16843 188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
16844 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
16845 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
16846 -1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
16847 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
16848 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
16849 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
16850 258, 259, 260, 261, 262, 263, 264, 265, -1, 267,
16851 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
16852 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
16853 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
16854 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
16855 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
16856 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
16857 328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
16858 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
16859 348, -1, 350, 351, 352, 353, 354, 355, 356, 357,
16860 358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
16861 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
16862 378, 379, 380, 381, -1, 383, 384, -1, 386, 387,
16863 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
16864 -1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
16865 408, 409, 410, 411, -1, 413, 414, 415, 416, 417,
16866 418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
16867 -1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
16868 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
16869 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
16870 458, 459, 460, -1, -1, -1, -1, -1, -1, 467,
16871 468, -1, -1, -1, -1, -1, -1, -1, 476, 3,
16872 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
16873 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
16874 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
16875 34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
16876 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
16877 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
16878 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
16879 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
16880 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
16881 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
16882 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
16883 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
16884 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
16885 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
16886 144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
16887 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
16888 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
16889 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
16890 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
16891 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
16892 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
16893 214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
16894 224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
16895 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
16896 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
16897 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
16898 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
16899 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
16900 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
16901 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
16902 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
16903 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
16904 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
16905 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
16906 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
16907 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
16908 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
16909 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
16910 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
16911 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
16912 404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
16913 414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
16914 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
16915 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
16916 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
16917 454, 455, 456, 457, 458, 459, 460, -1, -1, -1,
16918 -1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
16919 -1, -1, 476, 3, 4, 5, 6, 7, 8, 9,
16920 10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
16921 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
16922 -1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
16923 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
16924 50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
16925 60, 61, 62, 63, 64, 65, -1, 67, 68, 69,
16926 70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
16927 80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
16928 90, -1, 92, 93, 94, 95, 96, 97, 98, 99,
16929 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
16930 110, 111, 112, 113, -1, 115, 116, 117, 118, 119,
16931 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
16932 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
16933 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
16934 150, 151, 152, -1, 154, 155, 156, 157, -1, 159,
16935 -1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
16936 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
16937 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
16938 190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
16939 200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
16940 210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
16941 220, 221, 222, 223, 224, -1, 226, 227, 228, 229,
16942 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
16943 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
16944 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
16945 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
16946 -1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
16947 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
16948 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
16949 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
16950 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
16951 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
16952 -1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
16953 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
16954 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
16955 360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
16956 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
16957 380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
16958 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
16959 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
16960 410, 411, -1, 413, 414, 415, 416, 417, 418, 419,
16961 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
16962 430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
16963 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
16964 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
16965 460, -1, -1, -1, -1, -1, -1, 467, 468, -1,
16966 -1, -1, -1, -1, -1, -1, 476, 3, 4, 5,
16967 6, 7, 8, 9, 10, -1, -1, -1, -1, -1,
16968 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
16969 -1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
16970 -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
16971 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
16972 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
16973 -1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
16974 76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
16975 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
16976 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
16977 106, 107, 108, 109, 110, 111, 112, 113, -1, 115,
16978 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
16979 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
16980 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
16981 146, 147, 148, 149, 150, 151, 152, -1, 154, 155,
16982 156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
16983 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
16984 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
16985 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
16986 196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
16987 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
16988 216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
16989 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
16990 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
16991 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
16992 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
16993 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
16994 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
16995 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
16996 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
16997 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
16998 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
16999 326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
17000 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
17001 346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
17002 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
17003 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
17004 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
17005 386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
17006 396, -1, -1, 399, 400, 401, 402, 403, 404, 405,
17007 406, 407, 408, 409, 410, 411, -1, 413, 414, 415,
17008 416, 417, 418, 419, -1, 421, 422, 423, 424, 425,
17009 426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
17010 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
17011 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
17012 456, 457, 458, 459, 460, -1, -1, -1, -1, -1,
17013 -1, 467, 468, -1, -1, -1, -1, -1, -1, -1,
17014 476, 3, 4, 5, 6, 7, 8, 9, 10, -1,
17015 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
17016 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
17017 -1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
17018 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
17019 -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
17020 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
17021 -1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
17022 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
17023 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
17024 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
17025 112, 113, -1, 115, 116, 117, 118, 119, 120, -1,
17026 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
17027 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
17028 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
17029 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
17030 162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
17031 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
17032 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
17033 192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
17034 202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
17035 212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
17036 222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
17037 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
17038 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
17039 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
17040 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
17041 272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
17042 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
17043 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
17044 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
17045 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
17046 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
17047 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
17048 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
17049 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
17050 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
17051 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
17052 -1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
17053 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
17054 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
17055 -1, 413, 414, 415, 416, 417, 418, 419, -1, 421,
17056 422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
17057 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
17058 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
17059 452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
17060 -1, -1, -1, -1, -1, 467, 468, -1, -1, -1,
17061 -1, -1, -1, -1, 476, 3, 4, 5, 6, 7,
17062 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
17063 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
17064 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
17065 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
17066 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
17067 58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
17068 68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
17069 78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
17070 88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
17071 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
17072 108, 109, 110, 111, 112, 113, -1, 115, 116, 117,
17073 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
17074 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
17075 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
17076 148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
17077 -1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
17078 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
17079 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
17080 188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
17081 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
17082 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
17083 -1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
17084 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
17085 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
17086 248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
17087 258, 259, 260, 261, 262, 263, 264, 265, -1, 267,
17088 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
17089 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
17090 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
17091 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
17092 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
17093 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
17094 328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
17095 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
17096 348, -1, 350, 351, 352, 353, 354, 355, 356, 357,
17097 358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
17098 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
17099 378, 379, 380, 381, -1, 383, 384, -1, 386, 387,
17100 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
17101 -1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
17102 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
17103 418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
17104 -1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
17105 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
17106 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
17107 458, 459, -1, -1, -1, -1, -1, -1, -1, 467,
17108 468, -1, -1, -1, -1, -1, -1, -1, 476, 3,
17109 4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
17110 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
17111 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
17112 34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
17113 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
17114 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
17115 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
17116 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
17117 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
17118 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
17119 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
17120 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
17121 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
17122 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
17123 144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
17124 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
17125 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
17126 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
17127 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
17128 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
17129 204, -1, 206, -1, 208, -1, -1, 211, 212, 213,
17130 214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
17131 224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
17132 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
17133 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
17134 254, 255, 256, -1, 258, 259, 260, 261, 262, 263,
17135 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
17136 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
17137 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
17138 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
17139 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
17140 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
17141 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
17142 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
17143 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
17144 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
17145 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
17146 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
17147 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
17148 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
17149 404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
17150 414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
17151 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
17152 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
17153 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
17154 454, 455, 456, 457, 458, 459, 460, -1, -1, -1,
17155 -1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
17156 -1, -1, 476, 3, 4, 5, 6, 7, 8, 9,
17157 10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
17158 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
17159 -1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
17160 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
17161 50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
17162 60, 61, 62, 63, 64, 65, -1, 67, 68, 69,
17163 70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
17164 80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
17165 90, -1, 92, 93, 94, 95, 96, 97, 98, 99,
17166 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
17167 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
17168 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
17169 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
17170 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
17171 150, 151, 152, -1, 154, 155, 156, 157, -1, 159,
17172 -1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
17173 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
17174 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
17175 190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
17176 200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
17177 210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
17178 220, 221, 222, 223, 224, -1, 226, 227, 228, 229,
17179 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
17180 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
17181 250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
17182 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
17183 -1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
17184 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
17185 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
17186 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
17187 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
17188 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
17189 -1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
17190 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
17191 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
17192 360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
17193 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
17194 380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
17195 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
17196 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
17197 410, 411, -1, -1, 414, 415, 416, 417, 418, 419,
17198 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
17199 430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
17200 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
17201 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
17202 -1, -1, -1, -1, -1, -1, -1, 467, 468, -1,
17203 -1, 3, 4, 5, 6, 7, 476, 9, 10, -1,
17204 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
17205 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
17206 -1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
17207 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
17208 -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
17209 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
17210 -1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
17211 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
17212 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
17213 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
17214 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
17215 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
17216 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
17217 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
17218 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
17219 162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
17220 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
17221 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
17222 192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
17223 202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
17224 212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
17225 222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
17226 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
17227 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
17228 252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
17229 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
17230 272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
17231 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
17232 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
17233 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
17234 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
17235 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
17236 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
17237 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
17238 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
17239 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
17240 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
17241 -1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
17242 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
17243 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
17244 -1, -1, 414, 415, 416, 417, 418, 419, -1, 421,
17245 422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
17246 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
17247 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
17248 452, 453, 454, 455, 456, 457, 458, 459, -1, -1,
17249 -1, -1, -1, -1, -1, 467, 468, -1, -1, -1,
17250 -1, -1, -1, -1, 476, 3, 4, 5, 6, 7,
17251 8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
17252 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
17253 28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
17254 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
17255 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
17256 58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
17257 68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
17258 78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
17259 88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
17260 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
17261 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
17262 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
17263 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
17264 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
17265 148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
17266 -1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
17267 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
17268 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
17269 188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
17270 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
17271 208, -1, 210, 211, 212, 213, 214, 215, 216, 217,
17272 -1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
17273 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
17274 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
17275 248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
17276 258, 259, 260, 261, 262, 263, 264, 265, -1, 267,
17277 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
17278 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
17279 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
17280 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
17281 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
17282 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
17283 328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
17284 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
17285 348, -1, 350, 351, 352, 353, 354, 355, 356, 357,
17286 358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
17287 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
17288 378, 379, 380, 381, -1, 383, 384, -1, 386, 387,
17289 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
17290 -1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
17291 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
17292 418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
17293 -1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
17294 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
17295 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
17296 458, 459, -1, -1, -1, -1, -1, -1, -1, 467,
17297 468, -1, -1, 3, 4, 5, 6, 7, 476, 9,
17298 10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
17299 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
17300 -1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
17301 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
17302 50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
17303 60, 61, 62, 63, 64, 65, -1, 67, 68, 69,
17304 70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
17305 80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
17306 90, -1, 92, 93, 94, 95, 96, 97, 98, 99,
17307 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
17308 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
17309 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
17310 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
17311 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
17312 150, 151, 152, -1, 154, 155, 156, 157, -1, 159,
17313 -1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
17314 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
17315 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
17316 190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
17317 200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
17318 210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
17319 220, 221, 222, 223, 224, -1, 226, 227, 228, 229,
17320 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
17321 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
17322 250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
17323 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
17324 -1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
17325 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
17326 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
17327 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
17328 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
17329 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
17330 -1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
17331 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
17332 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
17333 360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
17334 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
17335 380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
17336 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
17337 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
17338 410, 411, -1, -1, 414, 415, 416, 417, 418, 419,
17339 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
17340 430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
17341 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
17342 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
17343 -1, -1, 3, 4, 5, 6, 7, -1, 9, 10,
17344 -1, -1, -1, -1, -1, -1, 476, 18, 19, 20,
17345 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
17346 -1, -1, -1, 34, -1, -1, 37, 38, -1, 40,
17347 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
17348 51, -1, 53, 54, 55, 56, 57, 58, 59, 60,
17349 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
17350 71, -1, 73, -1, 75, 76, 77, 78, 79, 80,
17351 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
17352 -1, 92, 93, 94, 95, 96, 97, 98, 99, 100,
17353 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
17354 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
17355 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
17356 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
17357 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
17358 151, 152, -1, 154, 155, 156, 157, -1, 159, -1,
17359 161, 162, -1, 164, 165, 166, 167, 168, -1, 170,
17360 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
17361 181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
17362 191, 192, 193, 194, -1, 196, 197, 198, 199, 200,
17363 201, 202, 203, 204, -1, 206, -1, 208, 209, 210,
17364 211, 212, 213, 214, 215, 216, 217, -1, -1, 220,
17365 221, 222, 223, 224, -1, 226, 227, 228, 229, 230,
17366 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
17367 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
17368 251, 252, 253, -1, 255, 256, 257, 258, 259, 260,
17369 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
17370 271, 272, 273, -1, -1, 276, 277, 278, 279, 280,
17371 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
17372 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
17373 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
17374 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
17375 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
17376 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
17377 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
17378 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
17379 361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
17380 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
17381 381, -1, 383, 384, -1, 386, 387, 388, 389, 390,
17382 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
17383 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
17384 411, -1, -1, 414, 415, 416, 417, 418, 419, -1,
17385 421, 422, 423, 424, 425, 426, 427, -1, 429, 430,
17386 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
17387 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
17388 451, 452, 453, 454, 455, 456, 457, 458, 459, -1,
17389 -1, 3, 4, 5, 6, 7, -1, 9, 10, -1,
17390 -1, -1, -1, -1, -1, 476, 18, 19, 20, 21,
17391 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
17392 -1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
17393 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
17394 -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
17395 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
17396 -1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
17397 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
17398 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
17399 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
17400 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
17401 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
17402 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
17403 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
17404 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
17405 162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
17406 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
17407 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
17408 192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
17409 202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
17410 212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
17411 222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
17412 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
17413 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
17414 252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
17415 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
17416 272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
17417 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
17418 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
17419 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
17420 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
17421 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
17422 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
17423 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
17424 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
17425 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
17426 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
17427 -1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
17428 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
17429 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
17430 -1, -1, 414, 415, 416, 417, 418, 419, -1, 421,
17431 422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
17432 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
17433 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
17434 452, 453, 454, 455, 456, 457, 458, 459, -1, -1,
17435 3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
17436 -1, -1, -1, -1, 476, 18, 19, 20, 21, 22,
17437 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
17438 -1, 34, -1, -1, 37, 38, -1, 40, 41, 42,
17439 43, 44, 45, 46, -1, 48, 49, 50, 51, -1,
17440 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
17441 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
17442 73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
17443 83, -1, 85, 86, 87, 88, 89, 90, -1, 92,
17444 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
17445 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
17446 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
17447 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
17448 -1, 134, 135, 136, -1, 138, -1, 140, -1, 142,
17449 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
17450 -1, 154, 155, 156, 157, -1, 159, -1, 161, 162,
17451 -1, 164, 165, 166, 167, 168, -1, 170, 171, -1,
17452 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
17453 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
17454 193, 194, -1, 196, 197, 198, 199, 200, 201, 202,
17455 203, 204, -1, 206, -1, 208, -1, -1, 211, 212,
17456 213, 214, 215, 216, 217, -1, -1, 220, 221, 222,
17457 223, -1, -1, 226, 227, 228, 229, 230, 231, 232,
17458 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
17459 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
17460 253, 254, 255, 256, -1, 258, 259, 260, 261, 262,
17461 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
17462 273, -1, -1, 276, 277, 278, 279, 280, 281, 282,
17463 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
17464 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
17465 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
17466 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
17467 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
17468 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
17469 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
17470 353, 354, 355, 356, 357, 358, 359, 360, -1, 362,
17471 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
17472 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
17473 383, 384, -1, 386, 387, 388, 389, 390, 391, 392,
17474 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
17475 403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
17476 413, 414, 415, 416, 417, 418, 419, -1, 421, 422,
17477 423, 424, 425, 426, 427, -1, 429, 430, 431, 432,
17478 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
17479 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
17480 453, 454, 455, 456, 457, 458, 459, -1, -1, 3,
17481 -1, -1, -1, -1, 467, 468, -1, -1, -1, -1,
17482 -1, -1, -1, 476, 18, 19, 20, 21, 22, 23,
17483 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
17484 -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
17485 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
17486 54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
17487 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
17488 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
17489 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
17490 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
17491 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
17492 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
17493 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
17494 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
17495 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
17496 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
17497 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
17498 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
17499 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
17500 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
17501 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
17502 214, 215, 216, 217, 218, -1, 220, 221, 222, 223,
17503 224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
17504 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
17505 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
17506 -1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
17507 264, 265, -1, 267, 268, -1, 270, 271, 272, 273,
17508 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
17509 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
17510 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
17511 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
17512 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
17513 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
17514 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
17515 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
17516 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
17517 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
17518 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
17519 384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
17520 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
17521 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
17522 414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
17523 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
17524 434, -1, -1, 437, -1, 439, 440, 441, 442, 443,
17525 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
17526 454, 455, 456, 457, 458, 459, -1, -1, 462, 3,
17527 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
17528 -1, -1, 476, -1, 18, 19, 20, 21, 22, 23,
17529 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
17530 -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
17531 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
17532 54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
17533 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
17534 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
17535 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
17536 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
17537 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
17538 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
17539 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
17540 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
17541 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
17542 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
17543 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
17544 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
17545 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
17546 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
17547 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
17548 214, 215, 216, 217, 218, -1, 220, 221, 222, 223,
17549 224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
17550 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
17551 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
17552 -1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
17553 264, 265, -1, 267, 268, -1, 270, 271, 272, 273,
17554 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
17555 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
17556 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
17557 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
17558 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
17559 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
17560 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
17561 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
17562 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
17563 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
17564 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
17565 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
17566 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
17567 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
17568 414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
17569 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
17570 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
17571 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
17572 454, 455, 456, 457, 458, 459, -1, -1, 3, -1,
17573 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
17574 -1, -1, 476, 18, 19, 20, 21, 22, 23, 24,
17575 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
17576 -1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
17577 45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
17578 55, 56, 57, 58, -1, 60, 61, 62, 63, 64,
17579 65, -1, 67, 68, 69, 70, 71, -1, 73, -1,
17580 75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
17581 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
17582 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
17583 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
17584 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
17585 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
17586 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
17587 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
17588 155, 156, 157, -1, 159, -1, 161, 162, -1, 164,
17589 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
17590 175, -1, 177, 178, 179, 180, 181, 182, 183, 184,
17591 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
17592 -1, 196, 197, 198, 199, 200, 201, 202, 203, 204,
17593 -1, 206, -1, 208, 209, 210, 211, 212, 213, 214,
17594 215, 216, 217, -1, -1, 220, 221, 222, 223, 224,
17595 -1, 226, 227, 228, 229, 230, 231, 232, 233, 234,
17596 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
17597 245, 246, 247, 248, 249, 250, 251, 252, 253, -1,
17598 255, 256, 257, 258, -1, 260, 261, 262, 263, 264,
17599 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
17600 -1, 276, 277, 278, 279, 280, 281, 282, 283, 284,
17601 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
17602 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
17603 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
17604 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
17605 325, 326, 327, 328, 329, -1, 331, 332, 333, 334,
17606 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
17607 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
17608 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
17609 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
17610 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
17611 -1, 386, 387, 388, 389, 390, 391, 392, -1, 394,
17612 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
17613 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
17614 415, 416, 417, 418, 419, -1, 421, 422, 423, 424,
17615 425, 426, 427, -1, 429, 430, 431, 432, 433, 434,
17616 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
17617 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
17618 455, 456, 457, 458, 459, -1, -1, 3, -1, -1,
17619 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
17620 -1, 476, 18, 19, 20, 21, 22, 23, 24, 25,
17621 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
17622 -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
17623 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
17624 56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
17625 -1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
17626 76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
17627 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
17628 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
17629 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
17630 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
17631 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
17632 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
17633 146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
17634 156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
17635 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
17636 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
17637 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
17638 196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
17639 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
17640 216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
17641 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
17642 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
17643 246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
17644 256, 257, 258, -1, 260, 261, 262, 263, 264, 265,
17645 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
17646 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
17647 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
17648 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
17649 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
17650 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
17651 326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
17652 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
17653 346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
17654 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
17655 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
17656 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
17657 386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
17658 396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
17659 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
17660 416, 417, 418, 419, -1, 421, 422, 423, 424, 425,
17661 426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
17662 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
17663 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
17664 456, 457, 458, 459, -1, -1, 3, -1, -1, -1,
17665 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
17666 476, 18, 19, 20, 21, 22, 23, 24, 25, -1,
17667 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
17668 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
17669 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
17670 57, 58, -1, 60, 61, 62, 63, 64, 65, -1,
17671 67, 68, 69, 70, 71, -1, 73, -1, 75, 76,
17672 77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
17673 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
17674 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
17675 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
17676 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
17677 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
17678 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
17679 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
17680 157, -1, 159, -1, 161, 162, -1, 164, 165, 166,
17681 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
17682 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
17683 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
17684 197, 198, 199, 200, 201, 202, 203, 204, -1, 206,
17685 -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
17686 217, -1, -1, 220, 221, 222, 223, 224, -1, 226,
17687 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
17688 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
17689 247, 248, 249, 250, 251, 252, 253, -1, 255, 256,
17690 257, 258, -1, 260, 261, 262, 263, 264, 265, -1,
17691 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
17692 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
17693 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
17694 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
17695 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
17696 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
17697 327, 328, 329, -1, 331, 332, 333, 334, 335, 336,
17698 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
17699 347, 348, -1, 350, 351, 352, 353, 354, 355, 356,
17700 357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
17701 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
17702 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
17703 387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
17704 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
17705 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
17706 417, 418, 419, -1, 421, 422, 423, 424, 425, 426,
17707 427, -1, 429, 430, 431, 432, 433, 434, -1, -1,
17708 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
17709 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
17710 457, 458, 459, -1, -1, 3, 4, 5, -1, -1,
17711 -1, 9, -1, -1, -1, -1, -1, -1, -1, 476,
17712 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
17713 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
17714 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
17715 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
17716 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
17717 68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
17718 78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
17719 88, 89, 90, -1, 92, 93, 94, 95, -1, -1,
17720 -1, 99, -1, -1, -1, 103, 104, 105, 106, 107,
17721 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
17722 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
17723 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
17724 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
17725 148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
17726 -1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
17727 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
17728 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
17729 188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
17730 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
17731 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
17732 -1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
17733 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
17734 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
17735 248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
17736 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
17737 268, 269, -1, 271, 272, 273, -1, -1, 276, 277,
17738 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
17739 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
17740 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
17741 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
17742 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
17743 328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
17744 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
17745 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
17746 358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
17747 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
17748 378, 379, 380, 381, -1, 383, 384, -1, 386, 387,
17749 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
17750 -1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
17751 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
17752 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
17753 -1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
17754 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
17755 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
17756 458, 459, -1, -1, 3, -1, -1, -1, -1, 467,
17757 468, 469, -1, -1, -1, -1, -1, -1, 476, 18,
17758 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
17759 29, 30, 31, -1, -1, -1, -1, -1, 37, 38,
17760 -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
17761 49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
17762 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
17763 69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
17764 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
17765 89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
17766 99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
17767 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
17768 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
17769 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
17770 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
17771 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
17772 159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
17773 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
17774 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
17775 189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
17776 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
17777 209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
17778 -1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
17779 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
17780 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
17781 249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
17782 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
17783 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
17784 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
17785 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
17786 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
17787 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
17788 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
17789 329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
17790 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
17791 349, 350, 351, 352, 353, 354, -1, 356, 357, 358,
17792 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
17793 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
17794 379, 380, 381, -1, 383, 384, 385, 386, 387, 388,
17795 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
17796 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
17797 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
17798 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
17799 429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
17800 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
17801 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
17802 459, -1, -1, 462, 3, -1, -1, -1, -1, -1,
17803 -1, -1, -1, -1, -1, -1, -1, 476, -1, 18,
17804 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
17805 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
17806 -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
17807 49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
17808 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
17809 69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
17810 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
17811 89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
17812 99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
17813 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
17814 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
17815 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
17816 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
17817 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
17818 159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
17819 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
17820 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
17821 189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
17822 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
17823 209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
17824 -1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
17825 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
17826 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
17827 249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
17828 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
17829 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
17830 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
17831 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
17832 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
17833 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
17834 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
17835 329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
17836 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
17837 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
17838 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
17839 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
17840 379, 380, 381, -1, 383, 384, -1, 386, 387, 388,
17841 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
17842 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
17843 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
17844 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
17845 429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
17846 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
17847 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
17848 459, -1, -1, 3, -1, -1, -1, -1, -1, -1,
17849 -1, -1, -1, -1, -1, -1, -1, 476, 18, 19,
17850 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
17851 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
17852 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
17853 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
17854 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
17855 70, 71, -1, -1, -1, 75, 76, 77, 78, 79,
17856 -1, 81, 82, 83, -1, 85, 86, 87, 88, 89,
17857 90, -1, -1, 93, 94, 95, -1, -1, -1, -1,
17858 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
17859 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
17860 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
17861 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
17862 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
17863 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
17864 -1, 161, -1, -1, -1, 165, 166, 167, 168, -1,
17865 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
17866 180, 181, -1, 183, 184, 185, 186, -1, 188, 189,
17867 190, 191, 192, 193, 194, -1, 196, -1, 198, 199,
17868 200, 201, 202, 203, 204, -1, 206, -1, 208, -1,
17869 -1, 211, -1, 213, 214, 215, 216, 217, -1, -1,
17870 220, 221, -1, 223, -1, -1, 226, 227, 228, -1,
17871 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
17872 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
17873 250, 251, 252, 253, -1, 255, 256, -1, 258, -1,
17874 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
17875 -1, 271, 272, 273, -1, -1, 276, 277, 278, -1,
17876 280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
17877 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
17878 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
17879 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
17880 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
17881 -1, 331, 332, -1, 334, 335, 336, 337, 338, 339,
17882 340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
17883 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
17884 360, -1, 362, 363, 364, 365, -1, 367, 368, 369,
17885 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
17886 380, 381, -1, 383, 384, 385, 386, -1, 388, 389,
17887 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
17888 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
17889 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
17890 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
17891 -1, 431, 432, 433, 434, -1, -1, 437, -1, 439,
17892 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
17893 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
17894 -1, -1, 462, 3, -1, -1, -1, -1, -1, -1,
17895 -1, -1, -1, -1, -1, -1, 476, -1, 18, 19,
17896 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
17897 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
17898 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
17899 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
17900 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
17901 70, 71, -1, -1, -1, 75, 76, 77, 78, 79,
17902 -1, 81, 82, 83, -1, 85, 86, 87, 88, 89,
17903 90, -1, -1, 93, 94, 95, -1, -1, -1, -1,
17904 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
17905 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
17906 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
17907 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
17908 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
17909 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
17910 -1, 161, -1, -1, -1, 165, 166, 167, 168, -1,
17911 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
17912 180, 181, -1, 183, 184, 185, 186, -1, 188, 189,
17913 190, 191, 192, 193, 194, -1, 196, -1, 198, 199,
17914 200, 201, 202, 203, 204, -1, 206, -1, 208, -1,
17915 -1, 211, -1, 213, 214, 215, 216, 217, -1, -1,
17916 220, 221, -1, 223, -1, -1, 226, 227, 228, -1,
17917 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
17918 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
17919 250, 251, 252, 253, -1, 255, 256, -1, 258, -1,
17920 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
17921 -1, 271, 272, 273, -1, -1, 276, 277, 278, -1,
17922 280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
17923 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
17924 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
17925 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
17926 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
17927 -1, 331, 332, -1, 334, 335, 336, 337, 338, 339,
17928 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
17929 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
17930 360, -1, 362, 363, 364, 365, -1, 367, 368, 369,
17931 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
17932 380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
17933 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
17934 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
17935 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
17936 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
17937 -1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
17938 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
17939 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
17940 -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
17941 -1, -1, -1, -1, -1, -1, 476, 18, 19, 20,
17942 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
17943 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
17944 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
17945 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
17946 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
17947 71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
17948 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
17949 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
17950 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
17951 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
17952 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
17953 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
17954 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
17955 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
17956 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
17957 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
17958 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
17959 191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
17960 201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
17961 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
17962 221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
17963 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
17964 241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
17965 251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
17966 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
17967 271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
17968 -1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
17969 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
17970 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
17971 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
17972 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
17973 331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
17974 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
17975 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
17976 -1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
17977 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
17978 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
17979 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
17980 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
17981 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
17982 421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
17983 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
17984 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
17985 451, 452, 453, 454, 455, 456, 457, 458, 459, -1,
17986 -1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
17987 -1, -1, -1, -1, -1, 476, 18, 19, 20, 21,
17988 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
17989 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
17990 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
17991 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
17992 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
17993 -1, -1, -1, 75, 76, 77, 78, 79, -1, 81,
17994 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
17995 -1, 93, 94, 95, -1, -1, -1, -1, -1, -1,
17996 -1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
17997 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
17998 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
17999 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
18000 142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
18001 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
18002 -1, -1, -1, 165, 166, 167, 168, -1, 170, 171,
18003 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
18004 -1, 183, 184, 185, 186, -1, 188, 189, 190, 191,
18005 192, 193, 194, -1, 196, -1, 198, 199, 200, 201,
18006 202, 203, 204, -1, 206, -1, 208, -1, -1, 211,
18007 -1, 213, 214, 215, 216, 217, -1, -1, 220, 221,
18008 -1, 223, -1, -1, 226, 227, 228, -1, -1, 231,
18009 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
18010 242, 243, 244, 245, 246, 247, -1, 249, 250, 251,
18011 252, 253, -1, 255, 256, -1, 258, -1, 260, 261,
18012 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
18013 272, 273, -1, -1, 276, 277, 278, -1, 280, -1,
18014 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
18015 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
18016 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
18017 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
18018 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
18019 332, -1, 334, 335, 336, 337, 338, 339, 340, 341,
18020 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
18021 352, 353, 354, -1, 356, 357, 358, 359, 360, -1,
18022 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
18023 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
18024 -1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
18025 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
18026 402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
18027 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
18028 422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
18029 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
18030 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
18031 452, 453, 454, 455, 456, 457, 458, 459, -1, -1,
18032 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18033 -1, -1, -1, -1, 476, 18, 19, 20, 21, 22,
18034 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
18035 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
18036 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
18037 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
18038 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
18039 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
18040 83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
18041 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
18042 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
18043 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
18044 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
18045 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
18046 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
18047 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
18048 -1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
18049 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
18050 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
18051 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
18052 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
18053 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
18054 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
18055 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
18056 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
18057 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
18058 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
18059 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
18060 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
18061 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
18062 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
18063 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
18064 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
18065 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
18066 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
18067 353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
18068 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
18069 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
18070 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
18071 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
18072 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
18073 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
18074 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
18075 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
18076 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
18077 453, 454, 455, 456, 457, 458, 459, -1, -1, -1,
18078 -1, -1, 3, 4, 5, -1, -1, 8, 9, -1,
18079 -1, -1, -1, 476, 15, 16, 17, 18, 19, 20,
18080 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
18081 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
18082 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
18083 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
18084 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
18085 -1, 72, 73, 74, 75, 76, 77, 78, 79, 80,
18086 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
18087 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
18088 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
18089 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
18090 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
18091 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
18092 141, 142, 143, 144, 145, -1, 147, 148, 149, -1,
18093 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
18094 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
18095 -1, 172, -1, 174, 175, 176, 177, 178, 179, 180,
18096 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
18097 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
18098 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
18099 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
18100 -1, 222, 223, 224, 225, 226, 227, 228, 229, 230,
18101 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
18102 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
18103 251, 252, 253, 254, 255, 256, 257, 258, 259, -1,
18104 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
18105 271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
18106 281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
18107 291, 292, 293, 294, -1, 296, -1, 298, 299, 300,
18108 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
18109 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
18110 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
18111 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
18112 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
18113 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
18114 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
18115 371, 372, 373, 374, 375, 376, 377, 378, 379, -1,
18116 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
18117 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
18118 -1, 402, -1, 404, 405, 406, 407, 408, 409, 410,
18119 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
18120 421, 422, 423, 424, 425, -1, 427, 428, 429, 430,
18121 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
18122 441, 442, 443, 444, 445, -1, -1, -1, -1, -1,
18123 -1, -1, -1, -1, -1, -1, 457, 458, 459, -1,
18124 -1, -1, 463, 464, 465, -1, 467, 468, 469, 470,
18125 471, 472, 3, 4, 5, -1, -1, 8, 9, -1,
18126 -1, -1, -1, -1, 15, 16, 17, 18, 19, 20,
18127 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
18128 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
18129 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
18130 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
18131 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
18132 -1, 72, 73, 74, 75, 76, 77, 78, 79, 80,
18133 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
18134 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
18135 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
18136 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
18137 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
18138 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
18139 141, 142, 143, 144, 145, -1, 147, 148, 149, -1,
18140 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
18141 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
18142 -1, 172, -1, 174, 175, 176, 177, 178, 179, 180,
18143 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
18144 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
18145 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
18146 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
18147 -1, 222, 223, 224, 225, 226, 227, 228, 229, 230,
18148 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
18149 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
18150 251, 252, 253, 254, 255, 256, 257, 258, 259, -1,
18151 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
18152 271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
18153 281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
18154 291, 292, 293, 294, -1, 296, -1, 298, 299, 300,
18155 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
18156 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
18157 321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
18158 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
18159 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
18160 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
18161 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
18162 371, 372, 373, 374, 375, 376, 377, 378, 379, -1,
18163 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
18164 391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
18165 -1, 402, -1, 404, 405, 406, 407, 408, 409, 410,
18166 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
18167 421, 422, 423, 424, 425, -1, 427, 428, 429, 430,
18168 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
18169 441, 442, 443, 444, 445, -1, -1, -1, -1, -1,
18170 -1, -1, -1, -1, -1, -1, 457, 458, 459, -1,
18171 3, -1, 463, 464, 465, 8, 467, 468, 469, 470,
18172 471, 472, 15, 16, 17, 18, 19, 20, 21, 22,
18173 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
18174 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
18175 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
18176 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
18177 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
18178 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
18179 83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
18180 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
18181 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
18182 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
18183 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
18184 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
18185 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
18186 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
18187 -1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
18188 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
18189 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
18190 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
18191 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
18192 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
18193 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
18194 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
18195 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
18196 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
18197 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
18198 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
18199 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
18200 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
18201 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
18202 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
18203 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
18204 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
18205 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
18206 353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
18207 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
18208 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
18209 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
18210 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
18211 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
18212 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
18213 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
18214 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
18215 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
18216 453, 454, 455, 456, 457, 458, 459, -1, 3, -1,
18217 463, 464, 465, 8, 467, 468, 469, 470, 471, 472,
18218 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
18219 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
18220 -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
18221 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
18222 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
18223 65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
18224 75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
18225 85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
18226 95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
18227 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
18228 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
18229 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
18230 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
18231 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
18232 155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
18233 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
18234 175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
18235 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
18236 -1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
18237 -1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
18238 215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
18239 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
18240 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
18241 245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
18242 255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
18243 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
18244 -1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
18245 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
18246 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
18247 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
18248 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
18249 325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
18250 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
18251 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
18252 -1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
18253 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
18254 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
18255 -1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
18256 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
18257 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
18258 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
18259 425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
18260 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
18261 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
18262 455, 456, 457, 458, 459, -1, 3, -1, 463, 464,
18263 465, 8, 467, 468, 469, 470, 471, 472, 15, 16,
18264 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
18265 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
18266 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
18267 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
18268 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
18269 67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
18270 77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
18271 87, 88, 89, 90, -1, -1, 93, 94, 95, -1,
18272 -1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
18273 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
18274 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
18275 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
18276 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
18277 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
18278 157, -1, 159, -1, 161, -1, -1, -1, 165, 166,
18279 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
18280 177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
18281 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
18282 -1, 198, 199, 200, 201, 202, 203, 204, -1, 206,
18283 -1, 208, -1, -1, 211, -1, 213, 214, 215, 216,
18284 217, -1, -1, 220, 221, -1, 223, -1, -1, 226,
18285 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
18286 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
18287 247, -1, 249, 250, 251, 252, 253, -1, 255, 256,
18288 -1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
18289 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
18290 277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
18291 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
18292 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
18293 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
18294 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
18295 327, 328, 329, -1, 331, 332, -1, 334, 335, 336,
18296 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
18297 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
18298 357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
18299 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
18300 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
18301 -1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
18302 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
18303 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
18304 417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
18305 427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
18306 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
18307 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
18308 457, 458, 459, -1, 3, -1, 463, 464, 465, 8,
18309 467, 468, 469, 470, 471, 472, 15, 16, 17, 18,
18310 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
18311 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
18312 -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
18313 -1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
18314 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
18315 69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
18316 79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
18317 89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
18318 -1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
18319 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
18320 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
18321 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
18322 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
18323 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
18324 159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
18325 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
18326 179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
18327 189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
18328 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
18329 -1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
18330 -1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
18331 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
18332 239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
18333 249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
18334 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
18335 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
18336 -1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
18337 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
18338 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
18339 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
18340 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
18341 329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
18342 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
18343 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
18344 359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
18345 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
18346 379, 380, 381, -1, 383, 384, -1, 386, -1, 388,
18347 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
18348 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
18349 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
18350 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
18351 429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
18352 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
18353 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
18354 459, -1, 3, -1, 463, 464, 465, 8, 467, 468,
18355 469, 470, 471, 472, 15, 16, 17, 18, 19, 20,
18356 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
18357 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
18358 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
18359 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
18360 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
18361 71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
18362 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
18363 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
18364 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
18365 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
18366 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
18367 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
18368 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
18369 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
18370 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
18371 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
18372 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
18373 191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
18374 201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
18375 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
18376 221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
18377 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
18378 241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
18379 251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
18380 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
18381 271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
18382 -1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
18383 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
18384 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
18385 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
18386 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
18387 331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
18388 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
18389 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
18390 -1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
18391 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
18392 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
18393 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
18394 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
18395 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
18396 421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
18397 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
18398 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
18399 451, 452, 453, 454, 455, 456, 457, 458, 459, -1,
18400 3, -1, 463, 464, 465, 8, 467, 468, 469, 470,
18401 471, 472, 15, 16, 17, 18, 19, 20, 21, 22,
18402 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
18403 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
18404 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
18405 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
18406 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
18407 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
18408 83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
18409 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
18410 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
18411 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
18412 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
18413 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
18414 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
18415 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
18416 -1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
18417 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
18418 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
18419 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
18420 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
18421 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
18422 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
18423 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
18424 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
18425 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
18426 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
18427 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
18428 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
18429 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
18430 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
18431 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
18432 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
18433 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
18434 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
18435 353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
18436 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
18437 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
18438 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
18439 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
18440 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
18441 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
18442 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
18443 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
18444 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
18445 453, 454, 455, 456, 457, 458, 459, -1, 3, -1,
18446 463, 464, 465, 8, 467, 468, 469, 470, 471, 472,
18447 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
18448 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
18449 -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
18450 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
18451 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
18452 65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
18453 75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
18454 85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
18455 95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
18456 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
18457 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
18458 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
18459 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
18460 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
18461 155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
18462 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
18463 175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
18464 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
18465 -1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
18466 -1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
18467 215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
18468 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
18469 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
18470 245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
18471 255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
18472 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
18473 -1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
18474 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
18475 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
18476 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
18477 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
18478 325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
18479 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
18480 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
18481 -1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
18482 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
18483 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
18484 -1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
18485 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
18486 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
18487 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
18488 425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
18489 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
18490 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
18491 455, 456, 457, 458, 459, 3, -1, -1, 463, 464,
18492 465, -1, 467, 468, 469, 470, 471, 472, -1, -1,
18493 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
18494 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
18495 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
18496 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
18497 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
18498 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
18499 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
18500 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
18501 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
18502 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
18503 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
18504 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
18505 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
18506 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
18507 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
18508 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
18509 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
18510 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
18511 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
18512 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
18513 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
18514 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
18515 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
18516 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
18517 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
18518 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
18519 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
18520 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
18521 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
18522 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
18523 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
18524 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
18525 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
18526 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
18527 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
18528 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
18529 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
18530 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
18531 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
18532 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
18533 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
18534 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
18535 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
18536 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
18537 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
18538 -1, 469, -1, -1, -1, -1, -1, 18, 19, 20,
18539 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
18540 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
18541 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
18542 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
18543 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
18544 71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
18545 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
18546 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
18547 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
18548 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
18549 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
18550 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
18551 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
18552 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
18553 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
18554 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
18555 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
18556 191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
18557 201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
18558 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
18559 221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
18560 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
18561 241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
18562 251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
18563 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
18564 271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
18565 -1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
18566 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
18567 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
18568 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
18569 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
18570 331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
18571 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
18572 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
18573 -1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
18574 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
18575 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
18576 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
18577 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
18578 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
18579 421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
18580 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
18581 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
18582 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
18583 -1, -1, -1, -1, -1, -1, -1, -1, 469, -1,
18584 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
18585 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
18586 -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
18587 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
18588 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
18589 64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
18590 -1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
18591 -1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
18592 94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
18593 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
18594 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
18595 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
18596 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
18597 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
18598 154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
18599 -1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
18600 174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
18601 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
18602 194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
18603 204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
18604 214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
18605 -1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
18606 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
18607 244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
18608 -1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
18609 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
18610 -1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
18611 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
18612 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
18613 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
18614 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
18615 324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
18616 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
18617 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
18618 354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
18619 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
18620 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
18621 384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
18622 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
18623 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
18624 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
18625 424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
18626 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
18627 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
18628 454, 455, 456, 457, 458, 459, 3, -1, -1, -1,
18629 -1, -1, -1, -1, -1, 469, -1, -1, -1, -1,
18630 -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
18631 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
18632 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
18633 -1, 48, 49, 50, 51, -1, 53, 54, 55, 56,
18634 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
18635 67, 68, 69, 70, -1, -1, 73, -1, 75, 76,
18636 77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
18637 87, 88, 89, 90, -1, 92, 93, 94, 95, -1,
18638 -1, -1, 99, -1, -1, -1, 103, 104, 105, 106,
18639 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
18640 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
18641 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
18642 -1, 138, 139, 140, -1, 142, 143, 144, 145, -1,
18643 147, 148, 149, -1, -1, 152, -1, 154, 155, 156,
18644 157, -1, 159, -1, 161, 162, -1, 164, 165, 166,
18645 167, 168, -1, 170, -1, -1, -1, 174, 175, -1,
18646 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
18647 187, 188, 189, 190, 191, 192, 193, 194, -1, 196,
18648 197, 198, 199, 200, 201, 202, 203, 204, -1, 206,
18649 -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
18650 217, -1, -1, 220, -1, 222, 223, 224, -1, 226,
18651 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
18652 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
18653 247, 248, 249, 250, 251, 252, -1, -1, 255, 256,
18654 257, 258, -1, -1, 261, 262, 263, 264, 265, -1,
18655 267, 268, -1, -1, 271, 272, 273, -1, 275, 276,
18656 277, 278, 279, 280, 281, -1, 283, 284, 285, 286,
18657 287, 288, 289, 290, 291, -1, 293, 294, -1, 296,
18658 -1, 298, 299, 300, -1, 302, 303, 304, 305, 306,
18659 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
18660 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
18661 327, 328, 329, -1, 331, 332, 333, 334, 335, 336,
18662 337, 338, -1, 340, 341, 342, 343, 344, 345, 346,
18663 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
18664 357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
18665 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
18666 377, 378, 379, -1, 381, -1, 383, 384, -1, 386,
18667 387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
18668 -1, -1, 399, 400, -1, 402, -1, -1, 405, 406,
18669 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
18670 417, 418, -1, -1, 421, 422, 423, 424, 425, -1,
18671 427, 428, 429, 430, 431, 432, 433, 434, -1, -1,
18672 437, -1, -1, 440, 441, 442, 443, 444, 445, 3,
18673 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
18674 457, 458, 459, -1, 18, 19, 20, 21, 22, 23,
18675 24, 25, 469, 27, 28, 29, -1, -1, -1, -1,
18676 -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
18677 44, 45, 46, -1, 48, 49, 50, 51, -1, 53,
18678 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
18679 64, 65, -1, 67, 68, 69, 70, -1, -1, 73,
18680 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
18681 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
18682 94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
18683 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
18684 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
18685 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
18686 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
18687 144, 145, -1, 147, 148, 149, -1, -1, 152, -1,
18688 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
18689 164, 165, 166, 167, 168, -1, 170, -1, -1, -1,
18690 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
18691 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
18692 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
18693 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
18694 214, 215, 216, 217, -1, -1, 220, -1, 222, 223,
18695 224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
18696 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
18697 244, 245, 246, 247, 248, 249, 250, 251, 252, -1,
18698 -1, 255, 256, 257, 258, -1, -1, 261, 262, 263,
18699 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
18700 -1, 275, 276, 277, 278, 279, 280, 281, -1, 283,
18701 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
18702 294, -1, 296, -1, 298, 299, 300, -1, 302, 303,
18703 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
18704 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
18705 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
18706 334, 335, 336, 337, 338, -1, 340, 341, 342, 343,
18707 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
18708 354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
18709 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
18710 374, 375, 376, 377, 378, 379, -1, 381, -1, 383,
18711 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
18712 394, 395, 396, -1, -1, 399, 400, -1, 402, -1,
18713 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
18714 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
18715 424, 425, -1, 427, 428, 429, 430, 431, 432, 433,
18716 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
18717 444, 445, 3, 4, 5, -1, -1, -1, 9, -1,
18718 -1, -1, -1, 457, 458, 459, -1, 18, 19, 20,
18719 21, 22, 23, 24, 25, 469, 27, 28, 29, -1,
18720 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
18721 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
18722 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
18723 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
18724 71, -1, 73, -1, 75, 76, 77, 78, 79, 80,
18725 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
18726 -1, 92, 93, 94, 95, -1, -1, -1, 99, -1,
18727 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
18728 111, 112, 113, -1, 115, 116, 117, 118, 119, 120,
18729 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
18730 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
18731 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
18732 151, 152, -1, 154, 155, 156, 157, -1, 159, -1,
18733 161, 162, -1, 164, 165, 166, 167, 168, -1, 170,
18734 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
18735 181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
18736 191, 192, 193, 194, -1, 196, 197, 198, 199, 200,
18737 201, 202, 203, 204, -1, 206, -1, 208, 209, 210,
18738 211, 212, 213, 214, 215, 216, 217, -1, -1, 220,
18739 221, 222, 223, 224, -1, 226, 227, 228, -1, -1,
18740 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
18741 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
18742 251, 252, 253, -1, 255, 256, 257, 258, -1, 260,
18743 261, 262, 263, 264, 265, -1, 267, 268, 269, -1,
18744 271, 272, 273, -1, -1, 276, 277, 278, 279, 280,
18745 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
18746 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
18747 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
18748 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
18749 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
18750 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
18751 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
18752 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
18753 361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
18754 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
18755 381, -1, 383, 384, -1, 386, 387, 388, 389, 390,
18756 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
18757 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
18758 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
18759 421, 422, 423, 424, 425, 426, 427, -1, 429, 430,
18760 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
18761 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
18762 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
18763 4, 5, -1, -1, -1, 9, 467, 468, -1, -1,
18764 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
18765 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
18766 -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
18767 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
18768 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
18769 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
18770 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
18771 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
18772 94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
18773 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
18774 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
18775 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
18776 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
18777 144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
18778 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
18779 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
18780 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
18781 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
18782 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
18783 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
18784 214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
18785 224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
18786 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
18787 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
18788 -1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
18789 264, 265, -1, 267, 268, 269, -1, 271, 272, 273,
18790 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
18791 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
18792 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
18793 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
18794 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
18795 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
18796 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
18797 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
18798 354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
18799 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
18800 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
18801 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
18802 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
18803 404, 405, 406, 407, 408, 409, 410, 411, -1, -1,
18804 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
18805 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
18806 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
18807 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
18808 454, 455, 456, 457, 458, 459, 3, 4, 5, -1,
18809 -1, -1, 9, 467, 468, -1, -1, -1, -1, -1,
18810 -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
18811 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
18812 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
18813 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
18814 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
18815 67, 68, 69, 70, 71, -1, 73, -1, 75, 76,
18816 77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
18817 87, 88, 89, 90, -1, 92, 93, 94, 95, -1,
18818 -1, -1, 99, -1, -1, -1, 103, 104, 105, 106,
18819 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
18820 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
18821 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
18822 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
18823 147, 148, 149, 150, 151, 152, -1, 154, 155, 156,
18824 157, -1, 159, -1, 161, 162, -1, 164, 165, 166,
18825 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
18826 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
18827 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
18828 197, 198, 199, 200, 201, 202, 203, 204, -1, 206,
18829 -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
18830 217, -1, -1, 220, 221, 222, 223, 224, -1, 226,
18831 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
18832 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
18833 247, 248, 249, 250, 251, 252, 253, -1, 255, 256,
18834 257, 258, -1, 260, 261, 262, 263, 264, 265, -1,
18835 267, 268, 269, -1, 271, 272, 273, -1, -1, 276,
18836 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
18837 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
18838 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
18839 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
18840 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
18841 327, 328, 329, -1, 331, 332, 333, 334, 335, 336,
18842 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
18843 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
18844 357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
18845 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
18846 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
18847 387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
18848 -1, -1, 399, 400, 401, 402, 403, 404, 405, 406,
18849 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
18850 417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
18851 427, -1, 429, 430, 431, 432, 433, 434, -1, -1,
18852 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
18853 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
18854 457, 458, 459, 3, -1, 5, -1, -1, -1, 9,
18855 467, 468, -1, -1, -1, -1, -1, -1, 18, 19,
18856 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
18857 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
18858 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
18859 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
18860 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
18861 70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
18862 80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
18863 90, -1, 92, 93, 94, 95, -1, -1, -1, 99,
18864 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
18865 110, 111, 112, 113, -1, 115, 116, 117, 118, 119,
18866 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
18867 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
18868 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
18869 150, 151, 152, -1, 154, 155, 156, 157, -1, 159,
18870 -1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
18871 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
18872 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
18873 190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
18874 200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
18875 210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
18876 220, 221, 222, 223, 224, -1, 226, 227, 228, -1,
18877 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
18878 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
18879 250, 251, 252, 253, -1, 255, 256, 257, 258, -1,
18880 260, 261, 262, 263, 264, 265, -1, 267, 268, 269,
18881 -1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
18882 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
18883 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
18884 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
18885 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
18886 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
18887 -1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
18888 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
18889 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
18890 360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
18891 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
18892 380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
18893 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
18894 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
18895 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
18896 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
18897 430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
18898 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
18899 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
18900 3, -1, -1, -1, -1, -1, 9, 467, 468, -1,
18901 -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
18902 23, 24, 25, 26, 27, 28, 29, -1, -1, -1,
18903 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
18904 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
18905 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
18906 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
18907 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
18908 83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
18909 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
18910 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
18911 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
18912 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
18913 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
18914 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
18915 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
18916 163, -1, 165, 166, 167, 168, -1, 170, 171, -1,
18917 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
18918 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
18919 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
18920 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
18921 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
18922 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
18923 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
18924 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
18925 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
18926 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
18927 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
18928 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
18929 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
18930 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
18931 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
18932 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
18933 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
18934 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
18935 353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
18936 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
18937 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
18938 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
18939 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
18940 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
18941 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
18942 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
18943 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
18944 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
18945 453, 454, 455, 456, 457, 458, 459, 3, 4, 5,
18946 -1, -1, -1, 9, 467, 468, -1, -1, -1, -1,
18947 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
18948 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
18949 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
18950 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
18951 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
18952 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
18953 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
18954 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
18955 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
18956 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
18957 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
18958 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
18959 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
18960 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
18961 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
18962 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
18963 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
18964 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
18965 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
18966 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
18967 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
18968 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
18969 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
18970 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
18971 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
18972 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
18973 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
18974 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
18975 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
18976 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
18977 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
18978 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
18979 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
18980 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
18981 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
18982 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
18983 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
18984 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
18985 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
18986 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
18987 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
18988 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
18989 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
18990 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
18991 456, 457, 458, 459, 3, -1, -1, -1, -1, -1,
18992 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
18993 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
18994 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
18995 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
18996 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
18997 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
18998 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
18999 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
19000 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
19001 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
19002 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
19003 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
19004 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
19005 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
19006 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
19007 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
19008 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
19009 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
19010 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
19011 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
19012 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
19013 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
19014 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
19015 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
19016 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
19017 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
19018 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
19019 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
19020 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
19021 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
19022 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
19023 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
19024 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
19025 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
19026 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
19027 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
19028 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
19029 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
19030 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
19031 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
19032 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
19033 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
19034 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
19035 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
19036 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
19037 459, 3, -1, -1, -1, -1, -1, -1, -1, -1,
19038 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
19039 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
19040 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
19041 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
19042 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
19043 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
19044 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
19045 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
19046 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
19047 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
19048 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
19049 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
19050 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
19051 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
19052 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
19053 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
19054 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
19055 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
19056 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
19057 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
19058 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
19059 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
19060 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
19061 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
19062 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
19063 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
19064 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
19065 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
19066 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
19067 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
19068 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
19069 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
19070 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
19071 342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
19072 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
19073 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
19074 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
19075 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
19076 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
19077 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
19078 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
19079 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
19080 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
19081 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
19082 452, 453, 454, 455, 456, 457, 458, 459, 3, -1,
19083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19084 -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
19085 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
19086 -1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
19087 45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
19088 55, 56, 57, 58, -1, 60, 61, 62, 63, 64,
19089 65, -1, 67, 68, 69, 70, 71, -1, 73, -1,
19090 75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
19091 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
19092 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
19093 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
19094 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
19095 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
19096 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
19097 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
19098 155, 156, 157, -1, 159, -1, 161, 162, -1, 164,
19099 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
19100 175, -1, 177, 178, 179, 180, 181, 182, 183, 184,
19101 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
19102 -1, 196, 197, 198, 199, 200, 201, 202, 203, 204,
19103 -1, 206, -1, 208, 209, 210, 211, 212, 213, 214,
19104 215, 216, 217, -1, -1, 220, 221, 222, 223, 224,
19105 -1, 226, 227, 228, 229, 230, 231, 232, 233, 234,
19106 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
19107 245, 246, 247, 248, 249, 250, 251, 252, 253, -1,
19108 255, 256, 257, 258, -1, 260, 261, 262, 263, 264,
19109 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
19110 -1, 276, 277, 278, 279, 280, 281, 282, 283, 284,
19111 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
19112 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
19113 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
19114 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
19115 325, 326, 327, 328, 329, -1, 331, 332, 333, 334,
19116 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
19117 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
19118 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
19119 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
19120 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
19121 -1, 386, 387, 388, 389, 390, 391, 392, -1, 394,
19122 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
19123 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
19124 415, 416, 417, 418, 419, -1, 421, 422, 423, 424,
19125 425, 426, 427, -1, 429, 430, 431, 432, 433, 434,
19126 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
19127 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
19128 455, 456, 457, 458, 459, 3, -1, 5, -1, -1,
19129 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19130 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
19131 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
19132 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
19133 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
19134 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
19135 68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
19136 78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
19137 88, 89, 90, -1, 92, 93, 94, 95, -1, -1,
19138 -1, 99, -1, -1, -1, 103, 104, 105, 106, 107,
19139 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
19140 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
19141 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
19142 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
19143 148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
19144 -1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
19145 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
19146 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
19147 188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
19148 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
19149 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
19150 -1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
19151 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
19152 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
19153 248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
19154 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
19155 268, 269, -1, 271, 272, 273, -1, -1, 276, 277,
19156 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
19157 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
19158 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
19159 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
19160 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
19161 328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
19162 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
19163 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
19164 358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
19165 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
19166 378, 379, 380, 381, -1, 383, 384, -1, 386, 387,
19167 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
19168 -1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
19169 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
19170 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
19171 -1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
19172 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
19173 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
19174 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
19175 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
19176 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
19177 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
19178 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
19179 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
19180 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
19181 71, -1, 73, -1, 75, 76, 77, 78, 79, 80,
19182 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
19183 -1, 92, 93, 94, 95, -1, -1, -1, 99, -1,
19184 -1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
19185 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
19186 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
19187 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
19188 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
19189 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
19190 161, 162, -1, 164, 165, 166, 167, 168, -1, 170,
19191 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
19192 181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
19193 191, 192, 193, 194, -1, 196, 197, 198, 199, 200,
19194 201, 202, 203, 204, -1, 206, -1, 208, 209, 210,
19195 211, 212, 213, 214, 215, 216, 217, -1, -1, 220,
19196 221, 222, 223, 224, -1, 226, 227, 228, -1, -1,
19197 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
19198 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
19199 251, 252, 253, -1, 255, 256, 257, 258, -1, 260,
19200 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
19201 271, 272, 273, -1, -1, 276, 277, 278, 279, 280,
19202 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
19203 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
19204 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
19205 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
19206 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
19207 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
19208 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
19209 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
19210 361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
19211 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
19212 381, -1, 383, 384, -1, 386, 387, 388, 389, 390,
19213 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
19214 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
19215 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
19216 421, 422, 423, 424, 425, 426, 427, -1, 429, 430,
19217 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
19218 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
19219 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
19220 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19221 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
19222 24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
19223 -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
19224 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
19225 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
19226 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
19227 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
19228 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
19229 94, 95, -1, -1, -1, 99, -1, -1, 102, 103,
19230 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
19231 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
19232 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
19233 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
19234 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
19235 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
19236 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
19237 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
19238 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
19239 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
19240 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
19241 214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
19242 224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
19243 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
19244 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
19245 -1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
19246 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
19247 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
19248 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
19249 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
19250 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
19251 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
19252 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
19253 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
19254 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
19255 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
19256 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
19257 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
19258 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
19259 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
19260 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
19261 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
19262 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
19263 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
19264 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
19265 454, 455, 456, 457, 458, 459, 3, -1, -1, -1,
19266 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19267 -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
19268 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
19269 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
19270 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
19271 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
19272 67, 68, 69, 70, 71, -1, 73, -1, 75, 76,
19273 77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
19274 87, 88, 89, 90, -1, 92, 93, 94, 95, -1,
19275 -1, -1, 99, -1, -1, 102, 103, 104, 105, 106,
19276 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
19277 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
19278 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
19279 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
19280 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
19281 157, -1, 159, -1, 161, 162, -1, 164, 165, 166,
19282 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
19283 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
19284 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
19285 197, 198, 199, 200, 201, 202, 203, 204, -1, 206,
19286 -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
19287 217, -1, -1, 220, 221, 222, 223, 224, -1, 226,
19288 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
19289 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
19290 247, 248, 249, 250, 251, 252, 253, -1, 255, 256,
19291 257, 258, -1, 260, 261, 262, 263, 264, 265, -1,
19292 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
19293 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
19294 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
19295 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
19296 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
19297 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
19298 327, 328, 329, -1, 331, 332, 333, 334, 335, 336,
19299 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
19300 347, 348, -1, 350, 351, 352, 353, 354, 355, 356,
19301 357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
19302 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
19303 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
19304 387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
19305 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
19306 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
19307 417, 418, 419, -1, 421, 422, 423, 424, 425, 426,
19308 427, -1, 429, 430, 431, 432, 433, 434, -1, -1,
19309 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
19310 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
19311 457, 458, 459, 3, -1, -1, -1, -1, -1, -1,
19312 -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
19313 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
19314 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
19315 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
19316 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
19317 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
19318 70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
19319 80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
19320 90, -1, 92, 93, 94, 95, -1, -1, -1, 99,
19321 -1, -1, 102, 103, 104, 105, 106, 107, 108, 109,
19322 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
19323 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
19324 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
19325 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
19326 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
19327 -1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
19328 170, 171, 172, 173, 174, 175, -1, 177, 178, 179,
19329 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
19330 190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
19331 200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
19332 210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
19333 220, 221, 222, 223, 224, -1, 226, 227, 228, -1,
19334 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
19335 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
19336 250, 251, 252, 253, -1, 255, 256, 257, 258, -1,
19337 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
19338 -1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
19339 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
19340 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
19341 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
19342 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
19343 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
19344 -1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
19345 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
19346 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
19347 360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
19348 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
19349 380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
19350 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
19351 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
19352 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
19353 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
19354 430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
19355 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
19356 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
19357 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19358 -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
19359 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
19360 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
19361 43, 44, 45, 46, 47, 48, 49, 50, 51, -1,
19362 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
19363 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
19364 73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
19365 83, -1, 85, 86, 87, 88, 89, 90, -1, 92,
19366 93, 94, 95, -1, -1, -1, 99, -1, -1, 102,
19367 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
19368 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
19369 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
19370 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
19371 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
19372 -1, 154, 155, 156, 157, -1, 159, -1, 161, 162,
19373 -1, 164, 165, 166, 167, 168, -1, 170, 171, -1,
19374 173, 174, 175, -1, 177, 178, 179, 180, 181, 182,
19375 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
19376 193, 194, -1, 196, 197, 198, 199, 200, 201, 202,
19377 203, 204, -1, 206, -1, 208, 209, 210, 211, 212,
19378 213, 214, 215, 216, 217, -1, -1, 220, 221, 222,
19379 223, 224, -1, 226, 227, 228, -1, -1, 231, 232,
19380 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
19381 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
19382 253, -1, 255, 256, 257, 258, -1, 260, 261, 262,
19383 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
19384 273, -1, -1, 276, 277, 278, 279, 280, 281, 282,
19385 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
19386 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
19387 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
19388 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
19389 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
19390 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
19391 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
19392 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
19393 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
19394 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
19395 383, 384, -1, 386, 387, 388, 389, 390, 391, 392,
19396 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
19397 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
19398 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
19399 423, 424, 425, 426, 427, -1, 429, 430, 431, 432,
19400 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
19401 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
19402 453, 454, 455, 456, 457, 458, 459, 3, -1, -1,
19403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19404 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
19405 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
19406 -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
19407 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
19408 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
19409 -1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
19410 76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
19411 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
19412 -1, -1, -1, 99, -1, -1, 102, 103, 104, 105,
19413 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
19414 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
19415 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
19416 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
19417 146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
19418 156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
19419 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
19420 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
19421 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
19422 196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
19423 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
19424 216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
19425 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
19426 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
19427 246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
19428 256, 257, 258, -1, 260, 261, 262, 263, 264, 265,
19429 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
19430 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
19431 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
19432 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
19433 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
19434 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
19435 326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
19436 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
19437 346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
19438 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
19439 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
19440 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
19441 386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
19442 396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
19443 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
19444 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
19445 426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
19446 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
19447 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
19448 456, 457, 458, 459, 3, -1, -1, -1, -1, -1,
19449 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19450 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
19451 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
19452 -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
19453 49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
19454 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
19455 69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
19456 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
19457 89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
19458 99, -1, -1, 102, 103, 104, 105, 106, 107, 108,
19459 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
19460 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
19461 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
19462 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
19463 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
19464 159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
19465 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
19466 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
19467 189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
19468 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
19469 209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
19470 -1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
19471 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
19472 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
19473 249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
19474 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
19475 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
19476 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
19477 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
19478 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
19479 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
19480 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
19481 329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
19482 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
19483 -1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
19484 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
19485 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
19486 379, 380, 381, -1, 383, 384, -1, 386, 387, 388,
19487 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
19488 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
19489 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
19490 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
19491 429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
19492 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
19493 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
19494 459, 3, -1, -1, -1, -1, -1, -1, -1, -1,
19495 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
19496 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
19497 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
19498 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
19499 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
19500 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
19501 -1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
19502 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
19503 92, 93, 94, 95, -1, -1, -1, 99, -1, -1,
19504 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
19505 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
19506 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
19507 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
19508 142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
19509 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
19510 162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
19511 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
19512 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
19513 192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
19514 202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
19515 212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
19516 222, 223, 224, -1, 226, 227, 228, -1, -1, 231,
19517 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
19518 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
19519 252, 253, -1, 255, 256, 257, 258, -1, 260, 261,
19520 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
19521 272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
19522 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
19523 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
19524 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
19525 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
19526 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
19527 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
19528 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
19529 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
19530 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
19531 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
19532 -1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
19533 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
19534 402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
19535 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
19536 422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
19537 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
19538 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
19539 452, 453, 454, 455, 456, 457, 458, 459, 3, -1,
19540 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19541 -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
19542 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
19543 -1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
19544 45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
19545 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
19546 65, -1, 67, 68, 69, 70, 71, -1, 73, -1,
19547 75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
19548 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
19549 95, -1, -1, -1, 99, -1, -1, 102, 103, 104,
19550 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
19551 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
19552 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
19553 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
19554 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
19555 155, 156, 157, -1, 159, -1, 161, 162, -1, 164,
19556 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
19557 175, -1, 177, 178, 179, 180, 181, 182, 183, 184,
19558 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
19559 -1, 196, 197, 198, 199, 200, 201, 202, 203, 204,
19560 -1, 206, -1, 208, 209, 210, 211, 212, 213, 214,
19561 215, 216, 217, -1, -1, 220, 221, 222, 223, 224,
19562 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
19563 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
19564 245, 246, 247, 248, 249, 250, 251, 252, 253, -1,
19565 255, 256, 257, 258, -1, 260, 261, 262, 263, 264,
19566 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
19567 -1, 276, 277, 278, 279, 280, 281, 282, 283, 284,
19568 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
19569 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
19570 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
19571 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
19572 325, 326, 327, 328, 329, -1, 331, 332, 333, 334,
19573 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
19574 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
19575 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
19576 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
19577 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
19578 -1, 386, 387, 388, 389, 390, 391, 392, -1, 394,
19579 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
19580 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
19581 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
19582 425, 426, 427, -1, 429, 430, 431, 432, 433, 434,
19583 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
19584 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
19585 455, 456, 457, 458, 459, 3, -1, -1, -1, -1,
19586 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19587 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
19588 28, 29, 30, 31, -1, -1, -1, -1, -1, 37,
19589 38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
19590 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
19591 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
19592 68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
19593 78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
19594 88, 89, 90, -1, 92, 93, 94, 95, -1, -1,
19595 -1, 99, -1, -1, -1, 103, 104, 105, 106, 107,
19596 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
19597 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
19598 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
19599 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
19600 148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
19601 -1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
19602 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
19603 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
19604 188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
19605 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
19606 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
19607 -1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
19608 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
19609 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
19610 248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
19611 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
19612 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
19613 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
19614 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
19615 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
19616 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
19617 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
19618 328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
19619 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
19620 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
19621 358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
19622 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
19623 378, 379, 380, 381, -1, 383, 384, -1, 386, 387,
19624 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
19625 -1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
19626 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
19627 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
19628 -1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
19629 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
19630 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
19631 458, 459, 3, -1, 5, -1, -1, -1, -1, -1,
19632 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
19633 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
19634 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
19635 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
19636 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
19637 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
19638 71, -1, 73, -1, 75, 76, 77, 78, 79, 80,
19639 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
19640 -1, 92, 93, 94, 95, -1, -1, -1, 99, -1,
19641 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
19642 111, 112, 113, -1, 115, 116, 117, 118, 119, 120,
19643 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
19644 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
19645 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
19646 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
19647 161, 162, -1, 164, 165, 166, 167, 168, -1, 170,
19648 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
19649 181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
19650 191, 192, 193, 194, -1, 196, 197, 198, 199, 200,
19651 201, 202, 203, 204, -1, 206, -1, 208, 209, 210,
19652 211, 212, 213, 214, 215, 216, 217, -1, -1, 220,
19653 221, 222, 223, 224, -1, 226, 227, 228, -1, -1,
19654 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
19655 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
19656 251, 252, 253, -1, 255, 256, 257, 258, -1, 260,
19657 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
19658 271, 272, 273, -1, -1, 276, 277, 278, 279, 280,
19659 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
19660 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
19661 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
19662 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
19663 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
19664 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
19665 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
19666 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
19667 361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
19668 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
19669 381, -1, 383, 384, -1, 386, 387, 388, 389, 390,
19670 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
19671 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
19672 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
19673 421, 422, 423, 424, 425, 426, 427, -1, 429, 430,
19674 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
19675 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
19676 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
19677 -1, 5, -1, -1, -1, -1, -1, -1, -1, -1,
19678 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
19679 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
19680 -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
19681 44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
19682 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
19683 64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
19684 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
19685 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
19686 94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
19687 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
19688 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
19689 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
19690 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
19691 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
19692 154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
19693 164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
19694 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
19695 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
19696 194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
19697 204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
19698 214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
19699 224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
19700 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
19701 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
19702 -1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
19703 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
19704 -1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
19705 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
19706 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
19707 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
19708 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
19709 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
19710 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
19711 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
19712 354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
19713 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
19714 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
19715 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
19716 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
19717 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
19718 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
19719 424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
19720 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
19721 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
19722 454, 455, 456, 457, 458, 459, 3, -1, 5, -1,
19723 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19724 -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
19725 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
19726 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
19727 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
19728 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
19729 67, 68, 69, 70, 71, -1, 73, -1, 75, 76,
19730 77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
19731 87, 88, 89, 90, -1, 92, 93, 94, 95, -1,
19732 -1, -1, 99, -1, -1, -1, 103, 104, 105, 106,
19733 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
19734 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
19735 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
19736 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
19737 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
19738 157, -1, 159, -1, 161, 162, -1, 164, 165, 166,
19739 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
19740 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
19741 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
19742 197, 198, 199, 200, 201, 202, 203, 204, -1, 206,
19743 -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
19744 217, -1, -1, 220, 221, 222, 223, 224, -1, 226,
19745 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
19746 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
19747 247, 248, 249, 250, 251, 252, 253, -1, 255, 256,
19748 257, 258, -1, 260, 261, 262, 263, 264, 265, -1,
19749 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
19750 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
19751 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
19752 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
19753 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
19754 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
19755 327, 328, 329, -1, 331, 332, 333, 334, 335, 336,
19756 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
19757 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
19758 357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
19759 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
19760 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
19761 387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
19762 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
19763 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
19764 417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
19765 427, -1, 429, 430, 431, 432, 433, 434, -1, -1,
19766 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
19767 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
19768 457, 458, 459, 3, -1, -1, -1, -1, -1, -1,
19769 -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
19770 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
19771 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
19772 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
19773 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
19774 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
19775 70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
19776 80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
19777 90, -1, 92, 93, 94, 95, -1, -1, -1, 99,
19778 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
19779 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
19780 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
19781 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
19782 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
19783 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
19784 -1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
19785 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
19786 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
19787 190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
19788 200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
19789 210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
19790 220, 221, 222, 223, 224, -1, 226, 227, 228, -1,
19791 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
19792 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
19793 250, 251, 252, 253, -1, 255, 256, 257, 258, -1,
19794 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
19795 -1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
19796 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
19797 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
19798 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
19799 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
19800 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
19801 -1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
19802 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
19803 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
19804 360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
19805 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
19806 380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
19807 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
19808 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
19809 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
19810 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
19811 430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
19812 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
19813 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
19814 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19815 -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
19816 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
19817 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
19818 43, 44, 45, 46, 47, 48, 49, 50, 51, -1,
19819 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
19820 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
19821 73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
19822 83, -1, 85, 86, 87, 88, 89, 90, -1, 92,
19823 93, 94, 95, -1, -1, -1, 99, -1, -1, -1,
19824 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
19825 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
19826 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
19827 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
19828 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
19829 -1, 154, 155, 156, 157, -1, 159, -1, 161, 162,
19830 -1, 164, 165, 166, 167, 168, -1, 170, 171, -1,
19831 173, 174, 175, -1, 177, 178, 179, 180, 181, 182,
19832 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
19833 193, 194, -1, 196, 197, 198, 199, 200, 201, 202,
19834 203, 204, -1, 206, -1, 208, 209, 210, 211, 212,
19835 213, 214, 215, 216, 217, -1, -1, 220, 221, 222,
19836 223, 224, -1, 226, 227, 228, -1, -1, 231, 232,
19837 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
19838 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
19839 253, -1, 255, 256, 257, 258, -1, 260, 261, 262,
19840 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
19841 273, -1, -1, 276, 277, 278, 279, 280, 281, 282,
19842 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
19843 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
19844 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
19845 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
19846 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
19847 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
19848 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
19849 353, 354, -1, 356, 357, 358, 359, 360, 361, 362,
19850 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
19851 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
19852 383, 384, -1, 386, 387, 388, 389, 390, 391, 392,
19853 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
19854 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
19855 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
19856 423, 424, 425, 426, 427, -1, 429, 430, 431, 432,
19857 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
19858 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
19859 453, 454, 455, 456, 457, 458, 459, 3, -1, -1,
19860 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19861 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
19862 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
19863 -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
19864 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
19865 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
19866 -1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
19867 76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
19868 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
19869 -1, -1, -1, 99, -1, -1, -1, 103, 104, 105,
19870 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
19871 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
19872 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
19873 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
19874 146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
19875 156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
19876 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
19877 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
19878 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
19879 196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
19880 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
19881 216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
19882 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
19883 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
19884 246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
19885 256, 257, 258, -1, 260, 261, 262, 263, 264, 265,
19886 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
19887 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
19888 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
19889 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
19890 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
19891 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
19892 326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
19893 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
19894 346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
19895 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
19896 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
19897 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
19898 386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
19899 396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
19900 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
19901 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
19902 426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
19903 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
19904 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
19905 456, 457, 458, 459, 3, -1, -1, -1, -1, -1,
19906 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19907 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
19908 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
19909 -1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
19910 49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
19911 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
19912 69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
19913 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
19914 89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
19915 99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
19916 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
19917 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
19918 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
19919 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
19920 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
19921 159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
19922 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
19923 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
19924 189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
19925 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
19926 209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
19927 -1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
19928 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
19929 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
19930 249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
19931 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
19932 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
19933 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
19934 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
19935 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
19936 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
19937 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
19938 329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
19939 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
19940 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
19941 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
19942 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
19943 379, 380, 381, -1, 383, 384, -1, 386, 387, 388,
19944 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
19945 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
19946 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
19947 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
19948 429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
19949 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
19950 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
19951 459, 3, -1, -1, -1, -1, -1, -1, -1, -1,
19952 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
19953 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
19954 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
19955 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
19956 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
19957 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
19958 -1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
19959 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
19960 92, 93, 94, 95, -1, -1, -1, 99, -1, -1,
19961 -1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
19962 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
19963 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
19964 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
19965 142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
19966 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
19967 162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
19968 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
19969 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
19970 192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
19971 202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
19972 212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
19973 222, 223, 224, -1, 226, 227, 228, -1, -1, 231,
19974 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
19975 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
19976 252, 253, -1, 255, 256, 257, 258, -1, 260, 261,
19977 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
19978 272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
19979 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
19980 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
19981 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
19982 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
19983 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
19984 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
19985 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
19986 352, 353, 354, -1, 356, 357, 358, 359, 360, 361,
19987 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
19988 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
19989 -1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
19990 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
19991 402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
19992 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
19993 422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
19994 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
19995 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
19996 452, 453, 454, 455, 456, 457, 458, 459, 3, -1,
19997 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
19998 -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
19999 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
20000 -1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
20001 45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
20002 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
20003 65, -1, 67, 68, 69, 70, 71, -1, 73, -1,
20004 75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
20005 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
20006 95, -1, -1, -1, 99, -1, -1, -1, 103, 104,
20007 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
20008 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
20009 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
20010 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
20011 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
20012 155, 156, 157, -1, 159, -1, 161, 162, -1, 164,
20013 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
20014 175, -1, 177, 178, 179, 180, 181, 182, 183, 184,
20015 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
20016 -1, 196, 197, 198, 199, 200, 201, 202, 203, 204,
20017 -1, 206, -1, 208, 209, 210, 211, 212, 213, 214,
20018 215, 216, 217, -1, -1, 220, 221, 222, 223, 224,
20019 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
20020 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
20021 245, 246, 247, 248, 249, 250, 251, 252, 253, -1,
20022 255, 256, 257, 258, -1, 260, 261, 262, 263, 264,
20023 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
20024 -1, 276, 277, 278, 279, 280, 281, 282, 283, 284,
20025 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
20026 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
20027 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
20028 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
20029 325, 326, 327, 328, 329, -1, 331, 332, 333, 334,
20030 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
20031 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
20032 -1, 356, 357, 358, 359, 360, 361, 362, 363, 364,
20033 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
20034 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
20035 -1, 386, 387, 388, 389, 390, 391, 392, -1, 394,
20036 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
20037 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
20038 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
20039 425, 426, 427, -1, 429, 430, 431, 432, 433, 434,
20040 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
20041 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
20042 455, 456, 457, 458, 459, 3, -1, -1, -1, -1,
20043 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20044 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
20045 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
20046 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
20047 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
20048 58, -1, -1, 61, 62, 63, 64, 65, 66, 67,
20049 68, 69, 70, 71, -1, -1, 74, 75, 76, 77,
20050 78, 79, -1, 81, 82, 83, 84, 85, 86, 87,
20051 88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
20052 -1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
20053 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
20054 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
20055 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
20056 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
20057 148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
20058 -1, 159, 160, 161, -1, -1, -1, 165, 166, 167,
20059 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
20060 178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
20061 188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
20062 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
20063 208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
20064 -1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
20065 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
20066 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
20067 -1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
20068 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
20069 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
20070 278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
20071 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
20072 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
20073 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
20074 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
20075 328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
20076 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
20077 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
20078 358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
20079 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
20080 378, 379, 380, 381, -1, 383, 384, -1, 386, -1,
20081 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
20082 -1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
20083 408, 409, 410, 411, -1, 413, 414, 415, 416, 417,
20084 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
20085 -1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
20086 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
20087 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
20088 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
20089 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
20090 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
20091 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
20092 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
20093 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
20094 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
20095 71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
20096 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
20097 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
20098 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
20099 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
20100 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
20101 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
20102 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
20103 -1, 152, -1, 154, 155, 156, 157, -1, 159, 160,
20104 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
20105 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
20106 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
20107 191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
20108 201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
20109 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
20110 221, -1, 223, 224, -1, 226, 227, 228, -1, -1,
20111 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
20112 241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
20113 251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
20114 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
20115 271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
20116 -1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
20117 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
20118 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
20119 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
20120 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
20121 331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
20122 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
20123 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
20124 -1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
20125 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
20126 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
20127 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
20128 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
20129 411, -1, 413, 414, 415, 416, 417, 418, -1, -1,
20130 421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
20131 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
20132 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
20133 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
20134 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20135 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
20136 24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
20137 -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
20138 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
20139 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
20140 64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
20141 -1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
20142 -1, 85, 86, 87, 88, 89, 90, 91, -1, 93,
20143 94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
20144 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
20145 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
20146 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
20147 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
20148 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
20149 154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
20150 -1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
20151 174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
20152 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
20153 194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
20154 204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
20155 214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
20156 -1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
20157 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
20158 244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
20159 -1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
20160 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
20161 -1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
20162 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
20163 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
20164 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
20165 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
20166 324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
20167 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
20168 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
20169 354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
20170 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
20171 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
20172 384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
20173 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
20174 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
20175 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
20176 424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
20177 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
20178 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
20179 454, 455, 456, 457, 458, 459, 3, -1, -1, -1,
20180 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20181 -1, 18, 19, 20, 21, 22, 23, 24, 25, 26,
20182 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
20183 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
20184 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
20185 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
20186 67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
20187 77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
20188 87, 88, 89, 90, 91, -1, 93, 94, 95, -1,
20189 -1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
20190 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
20191 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
20192 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
20193 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
20194 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
20195 157, -1, 159, -1, 161, -1, -1, -1, 165, 166,
20196 167, 168, 169, 170, 171, -1, 173, 174, 175, -1,
20197 177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
20198 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
20199 -1, 198, 199, 200, 201, 202, 203, 204, -1, 206,
20200 -1, 208, -1, -1, 211, -1, 213, 214, 215, 216,
20201 217, -1, -1, 220, 221, -1, 223, -1, -1, 226,
20202 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
20203 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
20204 247, -1, 249, 250, 251, 252, 253, -1, 255, 256,
20205 -1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
20206 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
20207 277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
20208 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
20209 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
20210 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
20211 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
20212 327, 328, 329, -1, 331, 332, -1, 334, 335, 336,
20213 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
20214 347, 348, 349, 350, 351, 352, 353, 354, -1, 356,
20215 357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
20216 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
20217 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
20218 -1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
20219 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
20220 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
20221 417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
20222 427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
20223 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
20224 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
20225 457, 458, 459, 3, -1, -1, -1, -1, -1, -1,
20226 -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20227 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
20228 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
20229 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
20230 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
20231 -1, 61, 62, 63, 64, 65, 66, 67, 68, 69,
20232 70, 71, -1, -1, -1, 75, 76, 77, 78, 79,
20233 -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
20234 90, -1, -1, 93, 94, 95, -1, -1, -1, -1,
20235 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
20236 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
20237 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
20238 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
20239 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
20240 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
20241 160, 161, -1, -1, -1, 165, 166, 167, 168, -1,
20242 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
20243 180, 181, -1, 183, 184, 185, 186, -1, 188, 189,
20244 190, 191, 192, 193, 194, -1, 196, -1, 198, 199,
20245 200, 201, 202, 203, 204, -1, 206, -1, 208, -1,
20246 -1, 211, -1, 213, 214, 215, 216, 217, -1, -1,
20247 220, 221, -1, 223, -1, -1, 226, 227, 228, -1,
20248 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
20249 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
20250 250, 251, 252, 253, -1, 255, 256, -1, 258, -1,
20251 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
20252 -1, 271, 272, 273, -1, -1, 276, 277, 278, -1,
20253 280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
20254 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
20255 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
20256 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
20257 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
20258 -1, 331, 332, -1, 334, 335, 336, 337, 338, 339,
20259 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
20260 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
20261 360, -1, 362, 363, 364, 365, -1, 367, 368, 369,
20262 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
20263 380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
20264 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
20265 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
20266 410, 411, -1, 413, 414, 415, 416, 417, 418, -1,
20267 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
20268 -1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
20269 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
20270 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
20271 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20272 -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
20273 23, 24, 25, 26, 27, 28, 29, -1, -1, -1,
20274 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
20275 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
20276 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
20277 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
20278 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
20279 83, -1, 85, 86, 87, 88, 89, 90, 91, -1,
20280 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
20281 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
20282 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
20283 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
20284 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
20285 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
20286 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
20287 -1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
20288 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
20289 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
20290 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
20291 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
20292 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
20293 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
20294 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
20295 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
20296 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
20297 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
20298 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
20299 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
20300 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
20301 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
20302 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
20303 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
20304 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
20305 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
20306 353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
20307 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
20308 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
20309 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
20310 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
20311 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
20312 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
20313 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
20314 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
20315 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
20316 453, 454, 455, 456, 457, 458, 459, 3, -1, -1,
20317 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20318 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
20319 26, 27, 28, 29, -1, -1, -1, -1, -1, -1,
20320 -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
20321 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
20322 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
20323 -1, 67, 68, 69, 70, 71, -1, -1, -1, 75,
20324 76, 77, 78, 79, -1, 81, 82, 83, -1, 85,
20325 86, 87, 88, 89, 90, -1, -1, 93, 94, 95,
20326 -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
20327 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
20328 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
20329 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
20330 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
20331 146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
20332 156, 157, -1, 159, 160, 161, -1, -1, -1, 165,
20333 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
20334 -1, 177, 178, 179, 180, 181, -1, 183, 184, 185,
20335 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
20336 196, -1, 198, 199, 200, 201, 202, 203, 204, -1,
20337 206, -1, 208, -1, -1, 211, -1, 213, 214, 215,
20338 216, 217, -1, -1, 220, 221, -1, 223, -1, -1,
20339 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
20340 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
20341 246, 247, -1, 249, 250, 251, 252, 253, -1, 255,
20342 256, -1, 258, -1, 260, 261, 262, 263, 264, 265,
20343 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
20344 276, 277, 278, -1, 280, -1, 282, 283, 284, 285,
20345 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
20346 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
20347 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
20348 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
20349 326, 327, 328, 329, -1, 331, 332, -1, 334, 335,
20350 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
20351 346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
20352 356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
20353 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
20354 376, 377, 378, 379, 380, 381, -1, 383, 384, 385,
20355 386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
20356 396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
20357 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
20358 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
20359 426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
20360 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
20361 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
20362 456, 457, 458, 459, 3, -1, -1, -1, -1, -1,
20363 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
20364 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
20365 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
20366 -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
20367 -1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
20368 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
20369 69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
20370 79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
20371 89, 90, 91, -1, 93, 94, 95, -1, -1, -1,
20372 -1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
20373 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
20374 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
20375 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
20376 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
20377 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
20378 159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
20379 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
20380 179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
20381 189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
20382 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
20383 -1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
20384 -1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
20385 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
20386 239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
20387 249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
20388 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
20389 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
20390 -1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
20391 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
20392 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
20393 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
20394 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
20395 329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
20396 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
20397 349, 350, 351, 352, 353, 354, -1, 356, 357, 358,
20398 359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
20399 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
20400 379, 380, 381, -1, 383, 384, -1, 386, -1, 388,
20401 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
20402 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
20403 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
20404 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
20405 429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
20406 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
20407 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
20408 459, 3, -1, -1, -1, -1, -1, -1, -1, -1,
20409 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
20410 22, 23, 24, 25, 26, 27, 28, 29, -1, -1,
20411 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
20412 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
20413 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
20414 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
20415 -1, -1, -1, 75, 76, 77, 78, 79, -1, 81,
20416 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
20417 -1, 93, 94, 95, -1, -1, -1, -1, -1, -1,
20418 -1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
20419 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
20420 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
20421 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
20422 142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
20423 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
20424 -1, -1, -1, 165, 166, 167, 168, -1, 170, 171,
20425 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
20426 -1, 183, 184, 185, 186, -1, 188, 189, 190, 191,
20427 192, 193, 194, -1, 196, -1, 198, 199, 200, 201,
20428 202, 203, 204, -1, 206, -1, 208, -1, -1, 211,
20429 -1, 213, 214, 215, 216, 217, -1, -1, 220, 221,
20430 -1, 223, -1, -1, 226, 227, 228, -1, -1, 231,
20431 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
20432 242, 243, 244, 245, 246, 247, -1, 249, 250, 251,
20433 252, 253, -1, 255, 256, -1, 258, -1, 260, 261,
20434 262, 263, 264, 265, -1, 267, 268, -1, 270, 271,
20435 272, 273, -1, -1, 276, 277, 278, -1, 280, -1,
20436 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
20437 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
20438 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
20439 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
20440 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
20441 332, -1, 334, 335, 336, 337, 338, 339, 340, 341,
20442 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
20443 352, 353, 354, -1, 356, 357, 358, 359, 360, -1,
20444 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
20445 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
20446 -1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
20447 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
20448 402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
20449 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
20450 422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
20451 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
20452 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
20453 452, 453, 454, 455, 456, 457, 458, 459, 3, -1,
20454 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20455 -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
20456 25, 26, 27, 28, 29, -1, -1, -1, -1, -1,
20457 -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
20458 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
20459 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
20460 65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
20461 75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
20462 85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
20463 95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
20464 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
20465 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
20466 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
20467 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
20468 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
20469 155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
20470 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
20471 175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
20472 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
20473 -1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
20474 -1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
20475 215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
20476 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
20477 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
20478 245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
20479 255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
20480 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
20481 -1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
20482 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
20483 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
20484 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
20485 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
20486 325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
20487 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
20488 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
20489 -1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
20490 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
20491 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
20492 -1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
20493 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
20494 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
20495 415, 416, 417, 418, 419, -1, 421, 422, 423, 424,
20496 425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
20497 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
20498 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
20499 455, 456, 457, 458, 459, 3, -1, -1, -1, -1,
20500 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20501 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
20502 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
20503 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
20504 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
20505 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
20506 68, 69, 70, 71, -1, -1, -1, 75, 76, 77,
20507 78, 79, -1, 81, 82, 83, -1, 85, 86, 87,
20508 88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
20509 -1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
20510 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
20511 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
20512 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
20513 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
20514 148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
20515 -1, 159, -1, 161, -1, -1, -1, 165, 166, 167,
20516 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
20517 178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
20518 188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
20519 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
20520 208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
20521 -1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
20522 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
20523 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
20524 -1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
20525 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
20526 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
20527 278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
20528 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
20529 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
20530 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
20531 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
20532 328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
20533 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
20534 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
20535 358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
20536 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
20537 378, 379, 380, 381, -1, 383, 384, -1, 386, -1,
20538 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
20539 -1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
20540 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
20541 418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
20542 -1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
20543 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
20544 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
20545 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
20546 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
20547 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
20548 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
20549 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
20550 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
20551 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
20552 71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
20553 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
20554 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
20555 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
20556 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
20557 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
20558 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
20559 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
20560 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
20561 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
20562 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
20563 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
20564 191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
20565 201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
20566 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
20567 221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
20568 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
20569 241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
20570 251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
20571 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
20572 271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
20573 -1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
20574 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
20575 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
20576 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
20577 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
20578 331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
20579 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
20580 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
20581 -1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
20582 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
20583 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
20584 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
20585 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
20586 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
20587 421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
20588 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
20589 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
20590 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
20591 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20592 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
20593 24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
20594 -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
20595 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
20596 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
20597 64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
20598 -1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
20599 -1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
20600 94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
20601 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
20602 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
20603 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
20604 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
20605 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
20606 154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
20607 -1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
20608 174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
20609 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
20610 194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
20611 204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
20612 214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
20613 -1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
20614 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
20615 244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
20616 -1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
20617 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
20618 -1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
20619 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
20620 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
20621 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
20622 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
20623 324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
20624 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
20625 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
20626 354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
20627 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
20628 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
20629 384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
20630 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
20631 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
20632 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
20633 424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
20634 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
20635 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
20636 454, 455, 456, 457, 458, 459, 3, -1, -1, -1,
20637 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20638 -1, 18, 19, 20, 21, 22, 23, 24, 25, 26,
20639 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
20640 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
20641 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
20642 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
20643 67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
20644 77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
20645 87, 88, 89, 90, -1, -1, 93, 94, 95, -1,
20646 -1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
20647 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
20648 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
20649 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
20650 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
20651 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
20652 157, -1, 159, -1, 161, -1, -1, -1, 165, 166,
20653 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
20654 177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
20655 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
20656 -1, 198, 199, 200, 201, 202, 203, 204, -1, 206,
20657 -1, 208, -1, -1, 211, -1, 213, 214, 215, 216,
20658 217, -1, -1, 220, 221, -1, 223, -1, -1, 226,
20659 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
20660 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
20661 247, -1, 249, 250, 251, 252, 253, -1, 255, 256,
20662 -1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
20663 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
20664 277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
20665 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
20666 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
20667 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
20668 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
20669 327, 328, 329, -1, 331, 332, -1, 334, 335, 336,
20670 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
20671 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
20672 357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
20673 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
20674 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
20675 -1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
20676 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
20677 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
20678 417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
20679 427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
20680 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
20681 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
20682 457, 458, 459, 3, -1, -1, -1, -1, -1, -1,
20683 -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20684 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
20685 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
20686 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
20687 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
20688 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
20689 70, 71, -1, -1, -1, 75, 76, 77, 78, 79,
20690 -1, 81, 82, 83, -1, 85, 86, 87, 88, 89,
20691 90, -1, -1, 93, 94, 95, -1, -1, -1, -1,
20692 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
20693 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
20694 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
20695 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
20696 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
20697 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
20698 -1, 161, -1, -1, -1, 165, 166, 167, 168, -1,
20699 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
20700 180, 181, -1, 183, 184, 185, 186, -1, 188, 189,
20701 190, 191, 192, 193, 194, -1, 196, -1, 198, 199,
20702 200, 201, 202, 203, 204, -1, 206, -1, 208, -1,
20703 -1, 211, -1, 213, 214, 215, 216, 217, -1, -1,
20704 220, 221, -1, 223, -1, -1, 226, 227, 228, -1,
20705 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
20706 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
20707 250, 251, 252, 253, -1, 255, 256, -1, 258, -1,
20708 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
20709 -1, 271, 272, 273, -1, -1, 276, 277, 278, -1,
20710 280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
20711 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
20712 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
20713 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
20714 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
20715 -1, 331, 332, -1, 334, 335, 336, 337, 338, 339,
20716 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
20717 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
20718 360, -1, 362, 363, 364, 365, -1, 367, 368, 369,
20719 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
20720 380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
20721 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
20722 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
20723 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
20724 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
20725 -1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
20726 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
20727 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
20728 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20729 -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
20730 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
20731 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
20732 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
20733 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
20734 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
20735 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
20736 83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
20737 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
20738 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
20739 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
20740 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
20741 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
20742 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
20743 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
20744 -1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
20745 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
20746 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
20747 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
20748 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
20749 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
20750 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
20751 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
20752 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
20753 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
20754 263, 264, 265, -1, 267, 268, -1, 270, 271, 272,
20755 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
20756 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
20757 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
20758 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
20759 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
20760 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
20761 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
20762 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
20763 353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
20764 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
20765 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
20766 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
20767 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
20768 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
20769 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
20770 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
20771 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
20772 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
20773 453, 454, 455, 456, 457, 458, 459, 3, -1, -1,
20774 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20775 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
20776 26, 27, 28, 29, -1, -1, -1, -1, -1, -1,
20777 -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
20778 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
20779 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
20780 -1, 67, 68, 69, 70, 71, -1, -1, -1, 75,
20781 76, 77, 78, 79, -1, 81, 82, 83, -1, 85,
20782 86, 87, 88, 89, 90, -1, -1, 93, 94, 95,
20783 -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
20784 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
20785 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
20786 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
20787 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
20788 146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
20789 156, 157, -1, 159, -1, 161, -1, -1, -1, 165,
20790 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
20791 -1, 177, 178, 179, 180, 181, -1, 183, 184, 185,
20792 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
20793 196, -1, 198, 199, 200, 201, 202, 203, 204, -1,
20794 206, -1, 208, -1, -1, 211, -1, 213, 214, 215,
20795 216, 217, -1, -1, 220, 221, -1, 223, -1, -1,
20796 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
20797 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
20798 246, 247, -1, 249, 250, 251, 252, 253, -1, 255,
20799 256, -1, 258, -1, 260, 261, 262, 263, 264, 265,
20800 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
20801 276, 277, 278, -1, 280, -1, 282, 283, 284, 285,
20802 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
20803 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
20804 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
20805 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
20806 326, 327, 328, 329, -1, 331, 332, -1, 334, 335,
20807 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
20808 346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
20809 356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
20810 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
20811 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
20812 386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
20813 396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
20814 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
20815 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
20816 426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
20817 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
20818 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
20819 456, 457, 458, 459, 3, -1, -1, -1, -1, -1,
20820 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
20821 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
20822 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
20823 -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
20824 -1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
20825 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
20826 69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
20827 79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
20828 89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
20829 -1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
20830 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
20831 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
20832 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
20833 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
20834 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
20835 159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
20836 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
20837 179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
20838 189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
20839 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
20840 -1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
20841 -1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
20842 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
20843 239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
20844 249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
20845 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
20846 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
20847 -1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
20848 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
20849 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
20850 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
20851 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
20852 329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
20853 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
20854 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
20855 359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
20856 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
20857 379, 380, 381, -1, 383, 384, -1, 386, -1, 388,
20858 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
20859 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
20860 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
20861 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
20862 429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
20863 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
20864 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
20865 459, 3, -1, -1, -1, -1, -1, -1, -1, -1,
20866 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
20867 22, 23, 24, 25, 26, 27, 28, 29, -1, -1,
20868 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
20869 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
20870 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
20871 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
20872 -1, -1, -1, 75, 76, 77, 78, 79, -1, 81,
20873 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
20874 -1, 93, 94, 95, -1, -1, -1, -1, -1, -1,
20875 -1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
20876 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
20877 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
20878 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
20879 142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
20880 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
20881 -1, -1, -1, 165, 166, 167, 168, -1, 170, 171,
20882 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
20883 -1, 183, 184, 185, 186, -1, 188, 189, 190, 191,
20884 192, 193, 194, -1, 196, -1, 198, 199, 200, 201,
20885 202, 203, 204, -1, 206, -1, 208, -1, -1, 211,
20886 -1, 213, 214, 215, 216, 217, -1, -1, 220, 221,
20887 -1, 223, -1, -1, 226, 227, 228, -1, -1, 231,
20888 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
20889 242, 243, 244, 245, 246, 247, -1, 249, 250, 251,
20890 252, 253, -1, 255, 256, -1, 258, -1, 260, 261,
20891 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
20892 272, 273, -1, -1, 276, 277, 278, -1, 280, -1,
20893 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
20894 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
20895 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
20896 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
20897 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
20898 332, -1, 334, 335, 336, 337, 338, 339, 340, 341,
20899 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
20900 352, 353, 354, -1, 356, 357, 358, 359, 360, -1,
20901 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
20902 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
20903 -1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
20904 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
20905 402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
20906 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
20907 422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
20908 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
20909 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
20910 452, 453, 454, 455, 456, 457, 458, 459, 3, -1,
20911 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20912 -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
20913 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
20914 -1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
20915 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
20916 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
20917 65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
20918 75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
20919 85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
20920 95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
20921 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
20922 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
20923 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
20924 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
20925 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
20926 155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
20927 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
20928 175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
20929 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
20930 -1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
20931 -1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
20932 215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
20933 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
20934 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
20935 245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
20936 255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
20937 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
20938 -1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
20939 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
20940 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
20941 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
20942 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
20943 325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
20944 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
20945 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
20946 -1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
20947 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
20948 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
20949 -1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
20950 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
20951 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
20952 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
20953 425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
20954 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
20955 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
20956 455, 456, 457, 458, 459, 3, -1, -1, -1, -1,
20957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
20958 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
20959 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
20960 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
20961 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
20962 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
20963 68, 69, 70, 71, -1, -1, -1, 75, 76, 77,
20964 78, 79, -1, 81, 82, 83, -1, 85, 86, 87,
20965 88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
20966 -1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
20967 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
20968 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
20969 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
20970 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
20971 148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
20972 -1, 159, -1, 161, -1, -1, -1, 165, 166, 167,
20973 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
20974 178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
20975 188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
20976 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
20977 208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
20978 -1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
20979 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
20980 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
20981 -1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
20982 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
20983 268, -1, 270, 271, 272, 273, -1, -1, 276, 277,
20984 278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
20985 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
20986 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
20987 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
20988 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
20989 328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
20990 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
20991 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
20992 358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
20993 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
20994 378, 379, 380, 381, -1, 383, 384, -1, 386, -1,
20995 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
20996 -1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
20997 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
20998 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
20999 -1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
21000 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
21001 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
21002 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
21003 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21004 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
21005 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
21006 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
21007 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
21008 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
21009 71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
21010 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
21011 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
21012 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
21013 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
21014 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
21015 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
21016 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
21017 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
21018 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
21019 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
21020 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
21021 191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
21022 201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
21023 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
21024 221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
21025 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
21026 241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
21027 251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
21028 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
21029 271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
21030 -1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
21031 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
21032 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
21033 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
21034 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
21035 331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
21036 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
21037 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
21038 -1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
21039 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
21040 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
21041 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
21042 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
21043 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
21044 421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
21045 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
21046 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
21047 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
21048 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21049 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
21050 24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
21051 -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
21052 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
21053 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
21054 64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
21055 -1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
21056 -1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
21057 94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
21058 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
21059 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
21060 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
21061 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
21062 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
21063 154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
21064 -1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
21065 174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
21066 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
21067 194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
21068 204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
21069 214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
21070 -1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
21071 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
21072 244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
21073 -1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
21074 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
21075 -1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
21076 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
21077 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
21078 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
21079 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
21080 324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
21081 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
21082 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
21083 354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
21084 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
21085 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
21086 384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
21087 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
21088 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
21089 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
21090 424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
21091 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
21092 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
21093 454, 455, 456, 457, 458, 459, 3, -1, -1, -1,
21094 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21095 -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
21096 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
21097 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
21098 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
21099 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
21100 67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
21101 77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
21102 87, 88, 89, 90, -1, -1, 93, 94, 95, -1,
21103 -1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
21104 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
21105 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
21106 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
21107 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
21108 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
21109 157, -1, 159, -1, 161, -1, -1, -1, 165, 166,
21110 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
21111 177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
21112 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
21113 -1, 198, 199, 200, 201, 202, 203, 204, -1, 206,
21114 -1, 208, -1, -1, 211, -1, 213, 214, 215, 216,
21115 217, -1, -1, 220, 221, -1, 223, -1, -1, 226,
21116 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
21117 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
21118 247, -1, 249, 250, 251, 252, 253, -1, 255, 256,
21119 -1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
21120 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
21121 277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
21122 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
21123 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
21124 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
21125 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
21126 327, 328, 329, -1, 331, 332, -1, 334, 335, 336,
21127 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
21128 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
21129 357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
21130 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
21131 377, 378, 379, 380, 381, -1, 383, 384, 385, 386,
21132 -1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
21133 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
21134 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
21135 417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
21136 427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
21137 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
21138 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
21139 457, 458, 459, 3, -1, 5, -1, -1, -1, -1,
21140 -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
21141 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
21142 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
21143 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
21144 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
21145 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
21146 70, 71, -1, -1, -1, 75, 76, 77, 78, 79,
21147 -1, 81, 82, 83, -1, 85, 86, 87, 88, 89,
21148 90, -1, -1, 93, 94, 95, -1, -1, -1, -1,
21149 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
21150 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
21151 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
21152 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
21153 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
21154 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
21155 -1, 161, -1, -1, -1, 165, 166, 167, 168, -1,
21156 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
21157 180, 181, -1, 183, 184, 185, 186, -1, 188, 189,
21158 190, 191, 192, 193, 194, -1, 196, -1, 198, 199,
21159 200, 201, 202, 203, 204, -1, 206, -1, 208, -1,
21160 -1, 211, -1, 213, 214, 215, 216, 217, -1, -1,
21161 220, 221, -1, 223, -1, -1, 226, 227, 228, -1,
21162 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
21163 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
21164 250, 251, 252, 253, -1, 255, 256, -1, 258, -1,
21165 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
21166 -1, 271, 272, 273, -1, -1, 276, 277, 278, -1,
21167 280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
21168 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
21169 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
21170 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
21171 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
21172 -1, 331, 332, -1, 334, 335, 336, 337, 338, 339,
21173 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
21174 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
21175 360, -1, 362, 363, 364, 365, -1, 367, 368, 369,
21176 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
21177 380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
21178 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
21179 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
21180 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
21181 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
21182 -1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
21183 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
21184 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
21185 3, -1, -1, -1, -1, -1, 9, -1, -1, -1,
21186 -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
21187 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
21188 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
21189 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
21190 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
21191 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
21192 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
21193 83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
21194 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
21195 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
21196 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
21197 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
21198 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
21199 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
21200 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
21201 -1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
21202 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
21203 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
21204 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
21205 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
21206 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
21207 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
21208 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
21209 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
21210 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
21211 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
21212 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
21213 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
21214 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
21215 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
21216 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
21217 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
21218 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
21219 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
21220 353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
21221 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
21222 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
21223 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
21224 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
21225 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
21226 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
21227 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
21228 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
21229 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
21230 453, 454, 455, 456, 457, 458, 459, 3, -1, -1,
21231 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21232 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
21233 -1, 27, 28, 29, -1, -1, -1, -1, -1, 35,
21234 -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
21235 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
21236 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
21237 -1, 67, 68, 69, 70, 71, -1, -1, -1, 75,
21238 76, 77, 78, 79, -1, 81, 82, 83, -1, 85,
21239 86, 87, 88, 89, 90, -1, -1, 93, 94, 95,
21240 -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
21241 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
21242 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
21243 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
21244 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
21245 146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
21246 156, 157, -1, 159, -1, 161, -1, -1, -1, 165,
21247 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
21248 -1, 177, 178, 179, 180, 181, -1, 183, 184, 185,
21249 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
21250 196, -1, 198, 199, 200, 201, 202, 203, 204, -1,
21251 206, -1, 208, -1, -1, 211, -1, 213, 214, 215,
21252 216, 217, -1, -1, 220, 221, -1, 223, -1, -1,
21253 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
21254 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
21255 246, 247, -1, 249, 250, 251, 252, 253, -1, 255,
21256 256, -1, 258, -1, 260, 261, 262, 263, 264, 265,
21257 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
21258 276, 277, 278, -1, 280, -1, 282, 283, 284, 285,
21259 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
21260 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
21261 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
21262 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
21263 326, 327, 328, 329, -1, 331, 332, -1, 334, 335,
21264 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
21265 346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
21266 356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
21267 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
21268 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
21269 386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
21270 396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
21271 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
21272 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
21273 426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
21274 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
21275 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
21276 456, 457, 458, 459, 3, -1, -1, -1, -1, -1,
21277 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
21278 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
21279 29, -1, -1, -1, -1, -1, 35, -1, 37, 38,
21280 -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
21281 -1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
21282 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
21283 69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
21284 79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
21285 89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
21286 -1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
21287 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
21288 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
21289 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
21290 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
21291 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
21292 159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
21293 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
21294 179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
21295 189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
21296 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
21297 -1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
21298 -1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
21299 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
21300 239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
21301 249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
21302 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
21303 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
21304 -1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
21305 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
21306 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
21307 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
21308 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
21309 329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
21310 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
21311 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
21312 359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
21313 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
21314 379, 380, 381, -1, 383, 384, -1, 386, -1, 388,
21315 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
21316 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
21317 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
21318 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
21319 429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
21320 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
21321 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
21322 459, 3, -1, -1, -1, -1, -1, -1, -1, -1,
21323 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
21324 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
21325 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
21326 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
21327 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
21328 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
21329 -1, -1, -1, 75, 76, 77, 78, 79, -1, 81,
21330 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
21331 -1, 93, 94, 95, -1, -1, -1, -1, -1, -1,
21332 -1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
21333 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
21334 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
21335 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
21336 142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
21337 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
21338 -1, -1, -1, 165, 166, 167, 168, -1, 170, 171,
21339 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
21340 -1, 183, 184, 185, 186, -1, 188, 189, 190, 191,
21341 192, 193, 194, -1, 196, -1, 198, 199, 200, 201,
21342 202, 203, 204, -1, 206, -1, 208, -1, -1, 211,
21343 -1, 213, 214, 215, 216, 217, -1, -1, 220, 221,
21344 -1, 223, -1, -1, 226, 227, 228, -1, -1, 231,
21345 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
21346 242, 243, 244, 245, 246, 247, -1, 249, 250, 251,
21347 252, 253, -1, 255, 256, -1, 258, -1, 260, 261,
21348 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
21349 272, 273, -1, -1, 276, 277, 278, -1, 280, -1,
21350 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
21351 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
21352 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
21353 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
21354 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
21355 332, -1, 334, 335, 336, 337, 338, 339, 340, 341,
21356 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
21357 352, 353, 354, -1, 356, 357, 358, 359, 360, -1,
21358 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
21359 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
21360 -1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
21361 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
21362 402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
21363 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
21364 422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
21365 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
21366 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
21367 452, 453, 454, 455, 456, 457, 458, 459, 3, -1,
21368 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21369 -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
21370 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
21371 -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
21372 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
21373 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
21374 65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
21375 75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
21376 85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
21377 95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
21378 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
21379 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
21380 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
21381 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
21382 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
21383 155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
21384 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
21385 175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
21386 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
21387 -1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
21388 -1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
21389 215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
21390 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
21391 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
21392 245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
21393 255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
21394 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
21395 -1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
21396 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
21397 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
21398 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
21399 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
21400 325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
21401 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
21402 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
21403 -1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
21404 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
21405 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
21406 -1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
21407 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
21408 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
21409 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
21410 425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
21411 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
21412 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
21413 455, 456, 457, 458, 459, 3, -1, -1, -1, -1,
21414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21415 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
21416 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
21417 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
21418 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
21419 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
21420 68, 69, 70, 71, -1, -1, -1, 75, 76, 77,
21421 78, 79, -1, 81, 82, 83, -1, 85, 86, 87,
21422 88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
21423 -1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
21424 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
21425 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
21426 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
21427 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
21428 148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
21429 -1, 159, -1, 161, -1, -1, -1, 165, 166, 167,
21430 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
21431 178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
21432 188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
21433 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
21434 208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
21435 -1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
21436 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
21437 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
21438 -1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
21439 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
21440 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
21441 278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
21442 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
21443 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
21444 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
21445 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
21446 328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
21447 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
21448 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
21449 358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
21450 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
21451 378, 379, 380, 381, -1, 383, 384, -1, 386, -1,
21452 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
21453 -1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
21454 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
21455 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
21456 -1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
21457 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
21458 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
21459 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
21460 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21461 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
21462 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
21463 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
21464 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
21465 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
21466 71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
21467 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
21468 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
21469 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
21470 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
21471 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
21472 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
21473 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
21474 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
21475 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
21476 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
21477 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
21478 191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
21479 201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
21480 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
21481 221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
21482 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
21483 241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
21484 251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
21485 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
21486 271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
21487 -1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
21488 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
21489 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
21490 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
21491 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
21492 331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
21493 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
21494 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
21495 -1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
21496 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
21497 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
21498 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
21499 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
21500 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
21501 421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
21502 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
21503 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
21504 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
21505 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21506 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
21507 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
21508 -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
21509 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
21510 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
21511 64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
21512 -1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
21513 -1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
21514 94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
21515 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
21516 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
21517 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
21518 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
21519 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
21520 154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
21521 -1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
21522 174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
21523 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
21524 194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
21525 204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
21526 214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
21527 -1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
21528 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
21529 244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
21530 -1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
21531 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
21532 -1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
21533 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
21534 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
21535 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
21536 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
21537 324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
21538 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
21539 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
21540 354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
21541 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
21542 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
21543 384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
21544 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
21545 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
21546 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
21547 424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
21548 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
21549 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
21550 454, 455, 456, 457, 458, 459, 3, -1, -1, -1,
21551 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21552 -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
21553 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
21554 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
21555 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
21556 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
21557 67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
21558 77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
21559 87, 88, 89, 90, -1, -1, 93, 94, 95, -1,
21560 -1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
21561 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
21562 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
21563 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
21564 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
21565 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
21566 157, -1, 159, -1, 161, -1, -1, -1, 165, 166,
21567 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
21568 177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
21569 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
21570 -1, 198, 199, 200, 201, 202, 203, 204, -1, 206,
21571 -1, 208, -1, -1, 211, -1, 213, 214, 215, 216,
21572 217, -1, -1, 220, 221, -1, 223, -1, -1, 226,
21573 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
21574 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
21575 247, -1, 249, 250, 251, 252, 253, -1, 255, 256,
21576 -1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
21577 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
21578 277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
21579 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
21580 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
21581 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
21582 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
21583 327, 328, 329, -1, 331, 332, -1, 334, 335, 336,
21584 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
21585 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
21586 357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
21587 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
21588 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
21589 -1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
21590 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
21591 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
21592 417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
21593 427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
21594 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
21595 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
21596 457, 458, 459, 3, -1, -1, -1, -1, -1, -1,
21597 -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
21598 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
21599 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
21600 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
21601 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
21602 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
21603 70, 71, -1, -1, -1, 75, 76, 77, 78, 79,
21604 -1, 81, 82, 83, -1, 85, 86, 87, 88, 89,
21605 90, -1, -1, 93, 94, 95, -1, -1, -1, -1,
21606 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
21607 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
21608 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
21609 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
21610 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
21611 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
21612 -1, 161, -1, -1, -1, 165, 166, 167, 168, -1,
21613 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
21614 180, 181, -1, 183, 184, 185, 186, -1, 188, 189,
21615 190, 191, 192, 193, 194, -1, 196, -1, 198, 199,
21616 200, 201, 202, 203, 204, -1, 206, -1, 208, -1,
21617 -1, 211, -1, 213, 214, 215, 216, 217, -1, -1,
21618 220, 221, -1, 223, -1, -1, 226, 227, 228, -1,
21619 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
21620 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
21621 250, 251, 252, 253, -1, 255, 256, -1, 258, -1,
21622 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
21623 -1, 271, 272, 273, -1, -1, 276, 277, 278, -1,
21624 280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
21625 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
21626 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
21627 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
21628 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
21629 -1, 331, 332, -1, 334, 335, 336, 337, 338, 339,
21630 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
21631 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
21632 360, -1, 362, 363, 364, 365, -1, 367, 368, 369,
21633 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
21634 380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
21635 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
21636 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
21637 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
21638 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
21639 -1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
21640 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
21641 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
21642 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21643 -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
21644 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
21645 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
21646 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
21647 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
21648 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
21649 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
21650 83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
21651 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
21652 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
21653 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
21654 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
21655 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
21656 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
21657 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
21658 -1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
21659 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
21660 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
21661 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
21662 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
21663 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
21664 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
21665 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
21666 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
21667 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
21668 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
21669 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
21670 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
21671 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
21672 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
21673 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
21674 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
21675 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
21676 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
21677 353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
21678 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
21679 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
21680 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
21681 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
21682 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
21683 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
21684 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
21685 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
21686 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
21687 453, 454, 455, 456, 457, 458, 459, 3, -1, -1,
21688 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21689 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
21690 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
21691 -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
21692 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
21693 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
21694 -1, 67, 68, 69, 70, 71, -1, -1, -1, 75,
21695 76, 77, 78, 79, -1, 81, 82, 83, -1, 85,
21696 86, 87, 88, 89, 90, -1, -1, 93, 94, 95,
21697 -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
21698 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
21699 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
21700 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
21701 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
21702 146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
21703 156, 157, -1, 159, -1, 161, -1, -1, -1, 165,
21704 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
21705 -1, 177, 178, 179, 180, 181, -1, 183, 184, 185,
21706 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
21707 196, -1, 198, 199, 200, 201, 202, 203, 204, -1,
21708 206, -1, 208, -1, -1, 211, -1, 213, 214, 215,
21709 216, 217, -1, -1, 220, 221, -1, 223, -1, -1,
21710 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
21711 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
21712 246, 247, -1, 249, 250, 251, 252, 253, -1, 255,
21713 256, -1, 258, -1, 260, 261, 262, 263, 264, 265,
21714 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
21715 276, 277, 278, -1, 280, -1, 282, 283, 284, 285,
21716 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
21717 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
21718 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
21719 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
21720 326, 327, 328, 329, -1, 331, 332, -1, 334, 335,
21721 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
21722 346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
21723 356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
21724 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
21725 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
21726 386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
21727 396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
21728 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
21729 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
21730 426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
21731 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
21732 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
21733 456, 457, 458, 459, 3, -1, -1, -1, -1, -1,
21734 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
21735 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
21736 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
21737 -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
21738 -1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
21739 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
21740 69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
21741 79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
21742 89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
21743 -1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
21744 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
21745 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
21746 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
21747 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
21748 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
21749 159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
21750 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
21751 179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
21752 189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
21753 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
21754 -1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
21755 -1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
21756 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
21757 239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
21758 249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
21759 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
21760 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
21761 -1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
21762 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
21763 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
21764 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
21765 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
21766 329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
21767 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
21768 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
21769 359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
21770 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
21771 379, 380, 381, -1, 383, 384, -1, 386, -1, 388,
21772 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
21773 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
21774 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
21775 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
21776 429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
21777 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
21778 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
21779 459, 3, -1, -1, -1, -1, -1, -1, -1, -1,
21780 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
21781 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
21782 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
21783 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
21784 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
21785 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
21786 -1, -1, -1, 75, 76, 77, 78, 79, -1, 81,
21787 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
21788 -1, 93, 94, 95, -1, -1, -1, -1, -1, -1,
21789 -1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
21790 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
21791 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
21792 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
21793 142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
21794 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
21795 -1, -1, -1, 165, 166, 167, 168, -1, 170, 171,
21796 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
21797 -1, 183, 184, 185, 186, -1, 188, 189, 190, 191,
21798 192, 193, 194, -1, 196, -1, 198, 199, 200, 201,
21799 202, 203, 204, -1, 206, -1, 208, -1, -1, 211,
21800 -1, 213, 214, 215, 216, 217, -1, -1, 220, 221,
21801 -1, 223, -1, -1, 226, 227, 228, -1, -1, 231,
21802 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
21803 242, 243, 244, 245, 246, 247, -1, 249, 250, 251,
21804 252, 253, -1, 255, 256, -1, 258, -1, 260, 261,
21805 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
21806 272, 273, -1, -1, 276, 277, 278, -1, 280, -1,
21807 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
21808 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
21809 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
21810 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
21811 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
21812 332, -1, 334, 335, 336, 337, 338, 339, 340, 341,
21813 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
21814 352, 353, 354, -1, 356, 357, 358, 359, 360, -1,
21815 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
21816 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
21817 -1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
21818 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
21819 402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
21820 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
21821 422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
21822 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
21823 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
21824 452, 453, 454, 455, 456, 457, 458, 459, 3, -1,
21825 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21826 -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
21827 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
21828 -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
21829 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
21830 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
21831 65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
21832 75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
21833 85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
21834 95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
21835 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
21836 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
21837 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
21838 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
21839 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
21840 155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
21841 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
21842 175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
21843 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
21844 -1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
21845 -1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
21846 215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
21847 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
21848 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
21849 245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
21850 255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
21851 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
21852 -1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
21853 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
21854 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
21855 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
21856 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
21857 325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
21858 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
21859 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
21860 -1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
21861 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
21862 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
21863 -1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
21864 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
21865 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
21866 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
21867 425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
21868 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
21869 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
21870 455, 456, 457, 458, 459, 3, -1, -1, -1, -1,
21871 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21872 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
21873 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
21874 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
21875 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
21876 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
21877 68, 69, 70, 71, -1, -1, -1, 75, 76, 77,
21878 78, 79, -1, 81, 82, 83, -1, 85, 86, 87,
21879 88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
21880 -1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
21881 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
21882 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
21883 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
21884 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
21885 148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
21886 -1, 159, -1, 161, -1, -1, -1, 165, 166, 167,
21887 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
21888 178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
21889 188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
21890 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
21891 208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
21892 -1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
21893 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
21894 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
21895 -1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
21896 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
21897 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
21898 278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
21899 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
21900 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
21901 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
21902 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
21903 328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
21904 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
21905 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
21906 358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
21907 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
21908 378, 379, 380, 381, -1, 383, 384, -1, 386, -1,
21909 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
21910 -1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
21911 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
21912 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
21913 -1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
21914 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
21915 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
21916 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
21917 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21918 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
21919 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
21920 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
21921 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
21922 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
21923 71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
21924 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
21925 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
21926 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
21927 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
21928 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
21929 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
21930 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
21931 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
21932 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
21933 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
21934 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
21935 191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
21936 201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
21937 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
21938 221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
21939 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
21940 241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
21941 251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
21942 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
21943 271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
21944 -1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
21945 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
21946 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
21947 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
21948 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
21949 331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
21950 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
21951 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
21952 -1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
21953 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
21954 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
21955 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
21956 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
21957 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
21958 421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
21959 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
21960 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
21961 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
21962 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
21963 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
21964 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
21965 -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
21966 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
21967 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
21968 64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
21969 -1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
21970 -1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
21971 94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
21972 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
21973 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
21974 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
21975 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
21976 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
21977 154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
21978 -1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
21979 174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
21980 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
21981 194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
21982 204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
21983 214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
21984 -1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
21985 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
21986 244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
21987 -1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
21988 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
21989 -1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
21990 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
21991 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
21992 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
21993 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
21994 324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
21995 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
21996 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
21997 354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
21998 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
21999 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
22000 384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
22001 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
22002 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
22003 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
22004 424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
22005 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
22006 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
22007 454, 455, 456, 457, 458, 459, 3, -1, -1, -1,
22008 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22009 -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
22010 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
22011 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
22012 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
22013 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
22014 67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
22015 77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
22016 87, 88, 89, 90, -1, -1, 93, 94, 95, -1,
22017 -1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
22018 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
22019 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
22020 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
22021 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
22022 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
22023 157, -1, 159, -1, 161, -1, -1, -1, 165, 166,
22024 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
22025 177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
22026 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
22027 -1, 198, 199, 200, 201, 202, 203, 204, -1, 206,
22028 -1, 208, -1, -1, 211, -1, 213, 214, 215, 216,
22029 217, -1, -1, 220, 221, -1, 223, -1, -1, 226,
22030 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
22031 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
22032 247, -1, 249, 250, 251, 252, 253, -1, 255, 256,
22033 -1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
22034 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
22035 277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
22036 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
22037 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
22038 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
22039 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
22040 327, 328, 329, -1, 331, 332, -1, 334, 335, 336,
22041 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
22042 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
22043 357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
22044 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
22045 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
22046 -1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
22047 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
22048 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
22049 417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
22050 427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
22051 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
22052 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
22053 457, 458, 459, 3, -1, -1, -1, -1, -1, -1,
22054 -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
22055 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
22056 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
22057 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
22058 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
22059 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
22060 70, 71, -1, -1, -1, 75, 76, 77, 78, 79,
22061 -1, 81, 82, 83, -1, 85, 86, 87, 88, 89,
22062 90, -1, -1, 93, 94, 95, -1, -1, -1, -1,
22063 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
22064 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
22065 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
22066 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
22067 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
22068 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
22069 -1, 161, -1, -1, -1, 165, 166, 167, 168, -1,
22070 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
22071 180, 181, -1, 183, 184, 185, 186, -1, 188, 189,
22072 190, 191, 192, 193, 194, -1, 196, -1, 198, 199,
22073 200, 201, 202, 203, 204, -1, 206, -1, 208, -1,
22074 -1, 211, -1, 213, 214, 215, 216, 217, -1, -1,
22075 220, 221, -1, 223, -1, -1, 226, 227, 228, -1,
22076 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
22077 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
22078 250, 251, 252, 253, -1, 255, 256, -1, 258, -1,
22079 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
22080 -1, 271, 272, 273, -1, -1, 276, 277, 278, -1,
22081 280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
22082 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
22083 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
22084 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
22085 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
22086 -1, 331, 332, -1, 334, 335, 336, 337, 338, 339,
22087 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
22088 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
22089 360, -1, 362, 363, 364, 365, -1, 367, 368, 369,
22090 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
22091 380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
22092 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
22093 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
22094 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
22095 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
22096 -1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
22097 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
22098 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
22099 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22100 -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
22101 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
22102 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
22103 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
22104 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
22105 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
22106 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
22107 83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
22108 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
22109 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
22110 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
22111 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
22112 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
22113 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
22114 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
22115 -1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
22116 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
22117 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
22118 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
22119 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
22120 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
22121 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
22122 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
22123 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
22124 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
22125 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
22126 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
22127 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
22128 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
22129 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
22130 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
22131 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
22132 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
22133 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
22134 353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
22135 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
22136 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
22137 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
22138 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
22139 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
22140 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
22141 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
22142 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
22143 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
22144 453, 454, 455, 456, 457, 458, 459, 3, -1, -1,
22145 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22146 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
22147 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
22148 -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
22149 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
22150 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
22151 -1, 67, 68, 69, 70, 71, -1, -1, -1, 75,
22152 76, 77, 78, 79, -1, 81, 82, 83, -1, 85,
22153 86, 87, 88, 89, 90, -1, -1, 93, 94, 95,
22154 -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
22155 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
22156 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
22157 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
22158 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
22159 146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
22160 156, 157, -1, 159, -1, 161, -1, -1, -1, 165,
22161 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
22162 -1, 177, 178, 179, 180, 181, -1, 183, 184, 185,
22163 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
22164 196, -1, 198, 199, 200, 201, 202, 203, 204, -1,
22165 206, -1, 208, -1, -1, 211, -1, 213, 214, 215,
22166 216, 217, -1, -1, 220, 221, -1, 223, -1, -1,
22167 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
22168 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
22169 246, 247, -1, 249, 250, 251, 252, 253, -1, 255,
22170 256, -1, 258, -1, 260, 261, 262, 263, 264, 265,
22171 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
22172 276, 277, 278, -1, 280, -1, 282, 283, 284, 285,
22173 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
22174 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
22175 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
22176 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
22177 326, 327, 328, 329, -1, 331, 332, -1, 334, 335,
22178 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
22179 346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
22180 356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
22181 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
22182 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
22183 386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
22184 396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
22185 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
22186 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
22187 426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
22188 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
22189 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
22190 456, 457, 458, 459, 3, -1, -1, -1, -1, -1,
22191 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
22192 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
22193 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
22194 -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
22195 -1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
22196 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
22197 69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
22198 79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
22199 89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
22200 -1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
22201 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
22202 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
22203 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
22204 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
22205 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
22206 159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
22207 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
22208 179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
22209 189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
22210 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
22211 -1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
22212 -1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
22213 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
22214 239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
22215 249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
22216 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
22217 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
22218 -1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
22219 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
22220 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
22221 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
22222 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
22223 329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
22224 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
22225 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
22226 359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
22227 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
22228 379, 380, 381, -1, 383, 384, -1, 386, -1, 388,
22229 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
22230 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
22231 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
22232 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
22233 429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
22234 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
22235 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
22236 459, 3, -1, -1, -1, -1, -1, -1, -1, -1,
22237 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22238 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
22239 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
22240 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
22241 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
22242 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
22243 -1, -1, -1, 75, 76, 77, 78, 79, -1, 81,
22244 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
22245 -1, 93, 94, 95, -1, -1, -1, -1, -1, -1,
22246 -1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
22247 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
22248 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
22249 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
22250 142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
22251 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
22252 -1, -1, -1, 165, 166, 167, 168, -1, 170, 171,
22253 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
22254 -1, 183, 184, 185, 186, -1, 188, 189, 190, 191,
22255 192, 193, 194, -1, 196, -1, 198, 199, 200, 201,
22256 202, 203, 204, -1, 206, -1, 208, -1, -1, 211,
22257 -1, 213, 214, 215, 216, 217, -1, -1, 220, 221,
22258 -1, 223, -1, -1, 226, 227, 228, -1, -1, 231,
22259 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
22260 242, 243, 244, 245, 246, 247, -1, 249, 250, 251,
22261 252, 253, -1, 255, 256, -1, 258, -1, 260, 261,
22262 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
22263 272, 273, -1, -1, 276, 277, 278, -1, 280, -1,
22264 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
22265 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
22266 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
22267 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
22268 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
22269 332, -1, 334, 335, 336, 337, 338, 339, 340, 341,
22270 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
22271 352, 353, 354, -1, 356, 357, 358, 359, 360, -1,
22272 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
22273 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
22274 -1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
22275 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
22276 402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
22277 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
22278 422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
22279 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
22280 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
22281 452, 453, 454, 455, 456, 457, 458, 459, 3, -1,
22282 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22283 -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
22284 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
22285 -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
22286 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
22287 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
22288 65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
22289 75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
22290 85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
22291 95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
22292 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
22293 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
22294 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
22295 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
22296 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
22297 155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
22298 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
22299 175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
22300 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
22301 -1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
22302 -1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
22303 215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
22304 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
22305 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
22306 245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
22307 255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
22308 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
22309 -1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
22310 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
22311 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
22312 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
22313 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
22314 325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
22315 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
22316 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
22317 -1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
22318 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
22319 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
22320 -1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
22321 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
22322 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
22323 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
22324 425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
22325 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
22326 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
22327 455, 456, 457, 458, 459, 3, -1, -1, -1, -1,
22328 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22329 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
22330 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
22331 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
22332 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
22333 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
22334 68, 69, 70, 71, -1, -1, -1, 75, 76, 77,
22335 78, 79, -1, 81, 82, 83, -1, 85, 86, 87,
22336 88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
22337 -1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
22338 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
22339 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
22340 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
22341 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
22342 148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
22343 -1, 159, -1, 161, -1, -1, -1, 165, 166, 167,
22344 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
22345 178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
22346 188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
22347 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
22348 208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
22349 -1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
22350 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
22351 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
22352 -1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
22353 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
22354 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
22355 278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
22356 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
22357 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
22358 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
22359 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
22360 328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
22361 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
22362 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
22363 358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
22364 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
22365 378, 379, 380, 381, -1, 383, 384, -1, 386, -1,
22366 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
22367 -1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
22368 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
22369 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
22370 -1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
22371 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
22372 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
22373 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
22374 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
22375 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
22376 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
22377 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
22378 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
22379 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
22380 71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
22381 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
22382 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
22383 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
22384 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
22385 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
22386 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
22387 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
22388 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
22389 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
22390 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
22391 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
22392 191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
22393 201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
22394 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
22395 221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
22396 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
22397 241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
22398 251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
22399 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
22400 271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
22401 -1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
22402 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
22403 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
22404 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
22405 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
22406 331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
22407 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
22408 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
22409 -1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
22410 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
22411 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
22412 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
22413 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
22414 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
22415 421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
22416 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
22417 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
22418 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
22419 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22420 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
22421 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
22422 -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
22423 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
22424 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
22425 64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
22426 -1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
22427 -1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
22428 94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
22429 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
22430 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
22431 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
22432 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
22433 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
22434 154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
22435 -1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
22436 174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
22437 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
22438 194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
22439 204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
22440 214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
22441 -1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
22442 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
22443 244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
22444 -1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
22445 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
22446 -1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
22447 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
22448 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
22449 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
22450 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
22451 324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
22452 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
22453 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
22454 354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
22455 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
22456 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
22457 384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
22458 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
22459 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
22460 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
22461 424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
22462 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
22463 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
22464 454, 455, 456, 457, 458, 459, 3, -1, -1, -1,
22465 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22466 -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
22467 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
22468 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
22469 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
22470 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
22471 67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
22472 77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
22473 87, 88, 89, 90, -1, -1, 93, 94, 95, -1,
22474 -1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
22475 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
22476 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
22477 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
22478 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
22479 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
22480 157, -1, 159, -1, 161, -1, -1, -1, 165, 166,
22481 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
22482 177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
22483 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
22484 -1, 198, 199, 200, 201, 202, 203, 204, -1, 206,
22485 -1, 208, -1, -1, 211, -1, 213, 214, 215, 216,
22486 217, -1, -1, 220, 221, -1, 223, -1, -1, 226,
22487 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
22488 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
22489 247, -1, 249, 250, 251, 252, 253, -1, 255, 256,
22490 -1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
22491 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
22492 277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
22493 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
22494 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
22495 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
22496 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
22497 327, 328, 329, -1, 331, 332, -1, 334, 335, 336,
22498 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
22499 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
22500 357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
22501 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
22502 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
22503 -1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
22504 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
22505 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
22506 417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
22507 427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
22508 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
22509 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
22510 457, 458, 459, 3, -1, -1, -1, -1, -1, -1,
22511 -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
22512 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
22513 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
22514 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
22515 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
22516 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
22517 70, 71, -1, -1, -1, 75, 76, 77, 78, 79,
22518 -1, 81, 82, 83, -1, 85, 86, 87, 88, 89,
22519 90, -1, -1, 93, 94, 95, -1, -1, -1, -1,
22520 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
22521 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
22522 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
22523 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
22524 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
22525 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
22526 -1, 161, -1, -1, -1, 165, 166, 167, 168, -1,
22527 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
22528 180, 181, -1, 183, 184, 185, 186, -1, 188, 189,
22529 190, 191, 192, 193, 194, -1, 196, -1, 198, 199,
22530 200, 201, 202, 203, 204, -1, 206, -1, 208, -1,
22531 -1, 211, -1, 213, 214, 215, 216, 217, -1, -1,
22532 220, 221, -1, 223, -1, -1, 226, 227, 228, -1,
22533 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
22534 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
22535 250, 251, 252, 253, -1, 255, 256, -1, 258, -1,
22536 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
22537 -1, 271, 272, 273, -1, -1, 276, 277, 278, -1,
22538 280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
22539 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
22540 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
22541 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
22542 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
22543 -1, 331, 332, -1, 334, 335, 336, 337, 338, 339,
22544 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
22545 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
22546 360, -1, 362, 363, 364, 365, -1, 367, 368, 369,
22547 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
22548 380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
22549 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
22550 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
22551 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
22552 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
22553 -1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
22554 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
22555 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
22556 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22557 -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
22558 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
22559 -1, -1, 35, -1, 37, 38, -1, 40, 41, 42,
22560 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
22561 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
22562 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
22563 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
22564 83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
22565 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
22566 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
22567 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
22568 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
22569 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
22570 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
22571 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
22572 -1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
22573 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
22574 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
22575 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
22576 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
22577 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
22578 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
22579 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
22580 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
22581 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
22582 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
22583 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
22584 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
22585 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
22586 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
22587 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
22588 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
22589 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
22590 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
22591 353, 354, -1, -1, 357, 358, 359, 360, -1, 362,
22592 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
22593 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
22594 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
22595 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
22596 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
22597 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
22598 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
22599 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
22600 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
22601 453, 454, 455, 456, 457, 458, 459, 3, -1, -1,
22602 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22603 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
22604 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
22605 -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
22606 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
22607 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
22608 -1, 67, 68, 69, 70, 71, -1, -1, -1, 75,
22609 76, 77, 78, 79, -1, 81, 82, 83, -1, 85,
22610 86, 87, 88, 89, 90, -1, -1, 93, 94, 95,
22611 -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
22612 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
22613 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
22614 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
22615 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
22616 146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
22617 156, 157, -1, 159, -1, 161, -1, -1, -1, 165,
22618 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
22619 -1, 177, 178, 179, 180, 181, -1, 183, 184, 185,
22620 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
22621 196, -1, 198, 199, 200, 201, 202, 203, 204, -1,
22622 206, -1, 208, -1, -1, 211, -1, 213, 214, 215,
22623 216, 217, -1, -1, 220, 221, -1, 223, -1, -1,
22624 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
22625 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
22626 246, 247, -1, 249, 250, 251, 252, 253, -1, 255,
22627 256, -1, 258, -1, 260, 261, 262, 263, 264, 265,
22628 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
22629 276, 277, 278, -1, 280, -1, 282, 283, 284, 285,
22630 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
22631 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
22632 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
22633 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
22634 326, 327, 328, 329, -1, 331, 332, -1, 334, 335,
22635 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
22636 346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
22637 356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
22638 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
22639 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
22640 386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
22641 396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
22642 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
22643 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
22644 426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
22645 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
22646 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
22647 456, 457, 458, 459, 3, -1, -1, -1, -1, -1,
22648 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
22649 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
22650 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
22651 -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
22652 -1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
22653 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
22654 69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
22655 79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
22656 89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
22657 -1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
22658 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
22659 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
22660 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
22661 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
22662 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
22663 159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
22664 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
22665 179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
22666 189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
22667 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
22668 -1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
22669 -1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
22670 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
22671 239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
22672 249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
22673 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
22674 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
22675 -1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
22676 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
22677 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
22678 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
22679 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
22680 329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
22681 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
22682 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
22683 359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
22684 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
22685 379, 380, 381, -1, 383, 384, -1, 386, -1, 388,
22686 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
22687 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
22688 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
22689 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
22690 429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
22691 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
22692 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
22693 459, 3, -1, -1, -1, -1, -1, -1, -1, -1,
22694 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22695 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
22696 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
22697 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
22698 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
22699 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
22700 -1, -1, -1, 75, 76, 77, 78, 79, -1, 81,
22701 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
22702 -1, 93, 94, 95, -1, -1, -1, -1, -1, -1,
22703 -1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
22704 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
22705 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
22706 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
22707 142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
22708 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
22709 -1, -1, -1, 165, 166, 167, 168, -1, 170, 171,
22710 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
22711 -1, 183, 184, 185, 186, -1, 188, 189, 190, 191,
22712 192, 193, 194, -1, 196, -1, 198, 199, 200, 201,
22713 202, 203, 204, -1, 206, -1, 208, -1, -1, 211,
22714 -1, 213, 214, 215, 216, 217, -1, -1, 220, 221,
22715 -1, 223, -1, -1, 226, 227, 228, -1, -1, 231,
22716 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
22717 242, 243, 244, 245, 246, 247, -1, 249, 250, 251,
22718 252, 253, -1, 255, 256, -1, 258, -1, 260, 261,
22719 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
22720 272, 273, -1, -1, 276, 277, 278, -1, 280, -1,
22721 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
22722 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
22723 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
22724 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
22725 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
22726 332, -1, 334, 335, 336, 337, 338, 339, 340, 341,
22727 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
22728 352, 353, 354, -1, 356, 357, 358, 359, 360, -1,
22729 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
22730 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
22731 -1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
22732 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
22733 402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
22734 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
22735 422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
22736 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
22737 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
22738 452, 453, 454, 455, 456, 457, 458, 459, 3, -1,
22739 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22740 -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
22741 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
22742 -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
22743 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
22744 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
22745 65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
22746 75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
22747 85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
22748 95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
22749 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
22750 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
22751 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
22752 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
22753 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
22754 155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
22755 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
22756 175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
22757 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
22758 -1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
22759 -1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
22760 215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
22761 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
22762 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
22763 245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
22764 255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
22765 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
22766 -1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
22767 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
22768 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
22769 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
22770 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
22771 325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
22772 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
22773 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
22774 -1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
22775 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
22776 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
22777 -1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
22778 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
22779 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
22780 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
22781 425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
22782 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
22783 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
22784 455, 456, 457, 458, 459, 3, -1, -1, -1, -1,
22785 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22786 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
22787 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
22788 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
22789 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
22790 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
22791 68, 69, 70, 71, -1, -1, -1, 75, 76, 77,
22792 78, 79, -1, 81, 82, 83, -1, 85, 86, 87,
22793 88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
22794 -1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
22795 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
22796 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
22797 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
22798 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
22799 148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
22800 -1, 159, -1, 161, -1, -1, -1, 165, 166, 167,
22801 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
22802 178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
22803 188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
22804 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
22805 208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
22806 -1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
22807 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
22808 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
22809 -1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
22810 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
22811 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
22812 278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
22813 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
22814 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
22815 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
22816 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
22817 328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
22818 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
22819 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
22820 358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
22821 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
22822 378, 379, 380, 381, -1, 383, 384, -1, 386, -1,
22823 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
22824 -1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
22825 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
22826 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
22827 -1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
22828 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
22829 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
22830 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
22831 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
22832 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
22833 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
22834 41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
22835 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
22836 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
22837 71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
22838 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
22839 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
22840 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
22841 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
22842 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
22843 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
22844 -1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
22845 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
22846 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
22847 171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
22848 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
22849 191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
22850 201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
22851 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
22852 221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
22853 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
22854 241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
22855 251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
22856 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
22857 271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
22858 -1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
22859 291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
22860 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
22861 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
22862 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
22863 331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
22864 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
22865 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
22866 -1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
22867 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
22868 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
22869 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
22870 401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
22871 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
22872 421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
22873 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
22874 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
22875 451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
22876 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22877 -1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
22878 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
22879 -1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
22880 44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
22881 54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
22882 64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
22883 -1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
22884 -1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
22885 94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
22886 104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
22887 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
22888 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
22889 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
22890 144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
22891 154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
22892 -1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
22893 174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
22894 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
22895 194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
22896 204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
22897 214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
22898 -1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
22899 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
22900 244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
22901 -1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
22902 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
22903 -1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
22904 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
22905 294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
22906 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
22907 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
22908 324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
22909 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
22910 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
22911 354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
22912 364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
22913 374, 375, 376, 377, 378, 379, 380, 381, -1, 383,
22914 384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
22915 394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
22916 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
22917 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
22918 424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
22919 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
22920 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
22921 454, 455, 456, 457, 458, 459, 3, -1, -1, -1,
22922 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22923 -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
22924 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
22925 37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
22926 47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
22927 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
22928 67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
22929 77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
22930 87, 88, 89, 90, -1, -1, 93, 94, 95, -1,
22931 -1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
22932 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
22933 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
22934 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
22935 -1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
22936 147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
22937 157, -1, 159, -1, 161, -1, -1, -1, 165, 166,
22938 167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
22939 177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
22940 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
22941 -1, 198, 199, 200, 201, 202, 203, 204, -1, 206,
22942 -1, 208, -1, -1, 211, -1, 213, 214, 215, 216,
22943 217, -1, -1, 220, 221, -1, 223, -1, -1, 226,
22944 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
22945 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
22946 247, -1, 249, 250, 251, 252, 253, -1, 255, 256,
22947 -1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
22948 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
22949 277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
22950 287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
22951 297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
22952 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
22953 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
22954 327, 328, 329, -1, 331, 332, -1, 334, 335, 336,
22955 337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
22956 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
22957 357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
22958 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
22959 377, 378, 379, 380, 381, -1, 383, 384, -1, 386,
22960 -1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
22961 -1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
22962 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
22963 417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
22964 427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
22965 437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
22966 447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
22967 457, 458, 459, 3, -1, -1, -1, -1, -1, -1,
22968 -1, -1, -1, -1, -1, -1, -1, -1, 18, 19,
22969 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
22970 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
22971 40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
22972 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
22973 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
22974 70, 71, -1, -1, -1, 75, 76, 77, 78, 79,
22975 -1, 81, 82, 83, -1, 85, 86, 87, 88, 89,
22976 90, -1, -1, 93, 94, 95, -1, -1, -1, -1,
22977 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
22978 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
22979 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
22980 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
22981 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
22982 150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
22983 -1, 161, -1, -1, -1, 165, 166, 167, 168, -1,
22984 170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
22985 180, 181, -1, 183, 184, 185, 186, -1, 188, 189,
22986 190, 191, 192, 193, 194, -1, 196, -1, 198, 199,
22987 200, 201, 202, 203, 204, -1, 206, -1, 208, -1,
22988 -1, 211, -1, 213, 214, 215, 216, 217, -1, -1,
22989 220, 221, -1, 223, -1, -1, 226, 227, 228, -1,
22990 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
22991 240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
22992 250, 251, 252, 253, -1, 255, 256, -1, 258, -1,
22993 260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
22994 -1, 271, 272, 273, -1, -1, 276, 277, 278, -1,
22995 280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
22996 290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
22997 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
22998 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
22999 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
23000 -1, 331, 332, -1, 334, 335, 336, 337, 338, 339,
23001 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
23002 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
23003 360, -1, 362, 363, 364, 365, -1, 367, 368, 369,
23004 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
23005 380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
23006 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
23007 400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
23008 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
23009 -1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
23010 -1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
23011 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
23012 450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
23013 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
23014 -1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23015 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
23016 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
23017 -1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
23018 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
23019 63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
23020 -1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
23021 83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
23022 93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
23023 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
23024 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
23025 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
23026 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
23027 143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
23028 -1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
23029 -1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
23030 173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
23031 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
23032 193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
23033 203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
23034 213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
23035 223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
23036 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
23037 243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
23038 253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
23039 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
23040 273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
23041 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
23042 293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
23043 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
23044 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
23045 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
23046 -1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
23047 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
23048 353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
23049 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
23050 373, 374, 375, 376, 377, 378, 379, 380, 381, -1,
23051 383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
23052 -1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
23053 403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
23054 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
23055 423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
23056 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
23057 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
23058 453, 454, 455, 456, 457, 458, 459, 3, -1, -1,
23059 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
23060 -1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
23061 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
23062 -1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
23063 46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
23064 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
23065 -1, 67, 68, 69, 70, 71, -1, -1, -1, 75,
23066 76, 77, 78, 79, -1, 81, 82, 83, -1, 85,
23067 86, 87, 88, 89, 90, -1, -1, 93, 94, 95,
23068 -1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
23069 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
23070 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
23071 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
23072 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
23073 146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
23074 156, 157, -1, 159, -1, 161, -1, -1, -1, 165,
23075 166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
23076 -1, 177, 178, 179, 180, 181, -1, 183, 184, 185,
23077 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
23078 196, -1, 198, 199, 200, 201, 202, 203, 204, -1,
23079 206, -1, 208, -1, -1, 211, -1, 213, 214, 215,
23080 216, 217, -1, -1, 220, 221, -1, 223, -1, -1,
23081 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
23082 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
23083 246, 247, -1, 249, 250, 251, 252, 253, -1, 255,
23084 256, -1, 258, -1, 260, 261, 262, 263, 264, 265,
23085 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
23086 276, 277, 278, -1, 280, -1, 282, 283, 284, 285,
23087 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
23088 296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
23089 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
23090 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
23091 326, 327, 328, 329, -1, 331, 332, -1, 334, 335,
23092 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
23093 346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
23094 356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
23095 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
23096 376, 377, 378, 379, 380, 381, -1, 383, 384, -1,
23097 386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
23098 396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
23099 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
23100 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
23101 426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
23102 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
23103 446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
23104 456, 457, 458, 459, 3, -1, -1, -1, -1, -1,
23105 -1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
23106 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
23107 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
23108 -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
23109 -1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
23110 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
23111 69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
23112 79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
23113 89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
23114 -1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
23115 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
23116 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
23117 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
23118 139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
23119 149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
23120 159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
23121 -1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
23122 179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
23123 189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
23124 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
23125 -1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
23126 -1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
23127 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
23128 239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
23129 249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
23130 -1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
23131 -1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
23132 -1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
23133 289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
23134 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
23135 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
23136 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
23137 329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
23138 339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
23139 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
23140 359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
23141 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
23142 379, 380, 381, -1, 383, 384, -1, 386, -1, 388,
23143 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
23144 399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
23145 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
23146 -1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
23147 429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
23148 -1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
23149 449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
23150 459, 3, -1, -1, -1, -1, -1, -1, -1, -1,
23151 -1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
23152 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
23153 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
23154 42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
23155 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
23156 62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
23157 -1, -1, -1, 75, 76, 77, 78, 79, -1, 81,
23158 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
23159 -1, 93, 94, 95, -1, -1, -1, -1, -1, -1,
23160 -1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
23161 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
23162 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
23163 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
23164 142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
23165 152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
23166 -1, -1, -1, 165, 166, 167, 168, -1, 170, 171,
23167 -1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
23168 -1, 183, 184, 185, 186, -1, 188, 189, 190, 191,
23169 192, 193, 194, -1, 196, -1, 198, 199, 200, 201,
23170 202, 203, 204, -1, 206, -1, 208, -1, -1, 211,
23171 -1, 213, 214, 215, 216, 217, -1, -1, 220, 221,
23172 -1, 223, -1, -1, 226, 227, 228, -1, -1, 231,
23173 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
23174 242, 243, 244, 245, 246, 247, -1, 249, 250, 251,
23175 252, 253, -1, 255, 256, -1, 258, -1, 260, 261,
23176 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
23177 272, 273, -1, -1, 276, 277, 278, -1, 280, -1,
23178 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
23179 -1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
23180 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
23181 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
23182 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
23183 332, -1, 334, 335, 336, 337, 338, 339, 340, 341,
23184 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
23185 352, 353, 354, -1, 356, 357, 358, 359, 360, -1,
23186 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
23187 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
23188 -1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
23189 392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
23190 402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
23191 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
23192 422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
23193 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
23194 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
23195 452, 453, 454, 455, 456, 457, 458, 459, 3, -1,
23196 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
23197 -1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
23198 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
23199 -1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
23200 45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
23201 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
23202 65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
23203 75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
23204 85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
23205 95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
23206 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
23207 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
23208 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
23209 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
23210 145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
23211 155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
23212 165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
23213 175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
23214 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
23215 -1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
23216 -1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
23217 215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
23218 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
23219 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
23220 245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
23221 255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
23222 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
23223 -1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
23224 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
23225 295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
23226 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
23227 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
23228 325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
23229 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
23230 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
23231 -1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
23232 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
23233 375, 376, 377, 378, 379, 380, 381, -1, 383, 384,
23234 -1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
23235 395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
23236 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
23237 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
23238 425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
23239 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
23240 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
23241 455, 456, 457, 458, 459, 3, -1, -1, -1, -1,
23242 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
23243 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
23244 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
23245 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
23246 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
23247 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
23248 68, 69, 70, 71, -1, -1, -1, 75, 76, 77,
23249 78, 79, -1, 81, 82, 83, -1, 85, 86, 87,
23250 88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
23251 -1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
23252 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
23253 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
23254 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
23255 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
23256 148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
23257 -1, 159, -1, 161, -1, -1, -1, 165, 166, 167,
23258 168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
23259 178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
23260 188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
23261 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
23262 208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
23263 -1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
23264 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
23265 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
23266 -1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
23267 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
23268 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
23269 278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
23270 288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
23271 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
23272 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
23273 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
23274 328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
23275 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
23276 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
23277 358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
23278 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
23279 378, 379, 380, 381, -1, 383, 384, -1, 386, -1,
23280 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
23281 -1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
23282 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
23283 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
23284 -1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
23285 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
23286 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
23287 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
23288 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
23289 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
23290 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
23291 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
23292 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
23293 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
23294 -1, -1, 73, -1, 75, 76, 77, 78, 79, 80,
23295 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
23296 -1, 92, 93, 94, 95, -1, -1, -1, 99, -1,
23297 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
23298 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
23299 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
23300 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
23301 -1, 142, 143, 144, 145, -1, 147, 148, 149, -1,
23302 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
23303 161, 162, -1, 164, 165, 166, 167, 168, -1, 170,
23304 -1, -1, -1, 174, 175, -1, 177, 178, 179, 180,
23305 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
23306 191, 192, 193, 194, -1, 196, 197, 198, 199, 200,
23307 201, 202, 203, 204, -1, 206, -1, 208, 209, 210,
23308 211, 212, 213, 214, 215, 216, 217, -1, -1, 220,
23309 -1, 222, 223, 224, -1, 226, 227, 228, -1, -1,
23310 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
23311 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
23312 251, 252, -1, -1, 255, 256, 257, 258, -1, -1,
23313 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
23314 271, 272, 273, -1, -1, 276, 277, 278, 279, 280,
23315 281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
23316 291, -1, 293, 294, -1, 296, -1, 298, 299, 300,
23317 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
23318 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
23319 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
23320 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
23321 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
23322 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
23323 361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
23324 371, 372, 373, 374, 375, 376, 377, 378, 379, -1,
23325 381, -1, 383, 384, -1, 386, 387, 388, 389, 390,
23326 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
23327 -1, 402, -1, -1, 405, 406, 407, 408, 409, 410,
23328 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
23329 421, 422, 423, 424, 425, -1, 427, 428, 429, 430,
23330 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
23331 441, 442, 443, 444, 445, 3, -1, -1, -1, -1,
23332 -1, -1, -1, -1, -1, -1, 457, 458, 459, -1,
23333 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
23334 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
23335 38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
23336 48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
23337 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
23338 68, 69, 70, 71, -1, -1, -1, 75, 76, 77,
23339 78, 79, -1, 81, 82, 83, -1, 85, 86, 87,
23340 88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
23341 -1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
23342 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
23343 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
23344 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
23345 138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
23346 148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
23347 -1, 159, -1, 161, -1, -1, -1, 165, 166, 167,
23348 168, -1, 170, 171, -1, 173, -1, 175, -1, 177,
23349 178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
23350 188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
23351 198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
23352 208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
23353 -1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
23354 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
23355 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
23356 -1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
23357 258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
23358 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
23359 278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
23360 288, -1, 290, 291, -1, 293, 294, 295, 296, 297,
23361 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
23362 308, 309, -1, 311, 312, 313, 314, 315, 316, -1,
23363 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
23364 328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
23365 338, 339, -1, 341, 342, 343, 344, 345, 346, 347,
23366 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
23367 358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
23368 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
23369 378, 379, 380, 381, -1, 383, 384, -1, 386, -1,
23370 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
23371 -1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
23372 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
23373 418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
23374 -1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
23375 -1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
23376 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
23377 458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
23378 -1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
23379 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
23380 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
23381 41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
23382 51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
23383 61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
23384 -1, -1, 73, -1, 75, 76, 77, 78, 79, 80,
23385 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
23386 -1, 92, 93, 94, 95, -1, -1, -1, 99, -1,
23387 -1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
23388 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
23389 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
23390 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
23391 -1, 142, 143, 144, 145, -1, 147, 148, 149, -1,
23392 -1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
23393 161, 162, -1, 164, 165, 166, 167, 168, -1, 170,
23394 -1, -1, -1, 174, 175, -1, 177, 178, 179, 180,
23395 181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
23396 191, 192, 193, 194, -1, 196, 197, -1, 199, 200,
23397 201, 202, 203, 204, -1, 206, -1, 208, 209, 210,
23398 211, 212, 213, 214, 215, 216, 217, -1, -1, 220,
23399 -1, 222, 223, 224, -1, 226, 227, 228, -1, -1,
23400 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
23401 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
23402 251, 252, -1, -1, 255, 256, 257, 258, 259, -1,
23403 261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
23404 271, 272, 273, -1, -1, 276, 277, -1, 279, 280,
23405 281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
23406 291, -1, 293, 294, -1, 296, -1, 298, 299, 300,
23407 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
23408 311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
23409 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
23410 331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
23411 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
23412 351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
23413 361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
23414 371, 372, 373, 374, 375, 376, 377, 378, 379, -1,
23415 381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
23416 391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
23417 -1, 402, -1, -1, 405, 406, 407, 408, 409, 410,
23418 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
23419 421, 422, 423, 424, 425, -1, 427, -1, 429, 430,
23420 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
23421 441, 442, 443, 444, 445, 3, -1, -1, -1, -1,
23422 -1, -1, -1, -1, -1, -1, 457, 458, 459, -1,
23423 18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
23424 28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
23425 38, -1, 40, 41, 42, 43, 44, 45, 46, -1,
23426 48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
23427 58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
23428 68, 69, 70, -1, -1, 73, -1, 75, 76, 77,
23429 78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
23430 88, 89, 90, -1, 92, 93, 94, 95, -1, -1,
23431 -1, 99, -1, -1, -1, 103, 104, 105, 106, 107,
23432 108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
23433 118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
23434 128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
23435 138, 139, 140, -1, 142, 143, 144, 145, -1, 147,
23436 148, 149, -1, -1, 152, -1, 154, 155, 156, 157,
23437 -1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
23438 168, -1, 170, -1, -1, -1, 174, 175, -1, 177,
23439 178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
23440 188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
23441 -1, 199, 200, 201, 202, 203, 204, -1, 206, -1,
23442 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
23443 -1, -1, 220, -1, 222, 223, 224, -1, 226, 227,
23444 228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
23445 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
23446 248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
23447 258, -1, -1, 261, 262, 263, 264, 265, -1, 267,
23448 268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
23449 -1, 279, 280, 281, -1, 283, 284, 285, 286, 287,
23450 288, 289, 290, 291, -1, 293, 294, -1, 296, -1,
23451 298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
23452 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
23453 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
23454 328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
23455 338, -1, 340, 341, 342, 343, 344, 345, 346, 347,
23456 348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
23457 358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
23458 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
23459 378, 379, -1, 381, -1, 383, 384, -1, 386, 387,
23460 388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
23461 -1, 399, 400, -1, 402, -1, -1, 405, 406, 407,
23462 408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
23463 418, -1, -1, 421, 422, 423, 424, 425, -1, 427,
23464 -1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
23465 -1, -1, 440, 441, 442, 443, 444, 445, 3, -1,
23466 -1, -1, -1, -1, -1, -1, -1, -1, -1, 457,
23467 458, 459, -1, 18, 19, 20, 21, 22, 23, 24,
23468 25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
23469 -1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
23470 45, 46, -1, 48, 49, 50, 51, -1, 53, 54,
23471 55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
23472 65, -1, 67, 68, 69, 70, -1, -1, 73, -1,
23473 75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
23474 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
23475 95, -1, -1, -1, 99, -1, -1, -1, 103, 104,
23476 105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
23477 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
23478 125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
23479 135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
23480 145, -1, 147, 148, 149, -1, -1, 152, -1, 154,
23481 155, 156, 157, -1, 159, -1, 161, 162, -1, 164,
23482 165, 166, 167, 168, -1, 170, -1, -1, -1, 174,
23483 175, -1, 177, 178, 179, 180, 181, 182, 183, 184,
23484 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
23485 -1, 196, 197, -1, 199, 200, 201, 202, 203, 204,
23486 -1, 206, -1, 208, 209, 210, 211, 212, 213, 214,
23487 215, 216, 217, -1, -1, 220, -1, 222, 223, 224,
23488 -1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
23489 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
23490 245, 246, 247, 248, 249, 250, 251, 252, 253, -1,
23491 255, 256, 257, 258, -1, -1, 261, 262, 263, 264,
23492 265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
23493 -1, 276, 277, -1, 279, 280, 281, -1, 283, 284,
23494 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
23495 -1, 296, -1, 298, 299, 300, -1, 302, 303, 304,
23496 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
23497 315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
23498 325, 326, 327, 328, 329, -1, 331, 332, 333, 334,
23499 335, 336, 337, 338, -1, 340, 341, 342, 343, 344,
23500 345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
23501 -1, 356, 357, 358, 359, 360, 361, 362, 363, 364,
23502 365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
23503 375, 376, 377, 378, 379, -1, 381, -1, 383, 384,
23504 -1, 386, 387, 388, 389, 390, 391, 392, -1, 394,
23505 395, 396, -1, -1, 399, 400, -1, 402, -1, -1,
23506 405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
23507 415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
23508 425, -1, 427, -1, 429, 430, 431, 432, 433, 434,
23509 -1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
23510 445, 3, -1, -1, -1, -1, -1, -1, -1, -1,
23511 -1, -1, 457, 458, 459, -1, 18, 19, 20, 21,
23512 22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
23513 -1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
23514 42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
23515 -1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
23516 62, 63, 64, 65, -1, 67, 68, 69, 70, -1,
23517 -1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
23518 82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
23519 92, 93, 94, 95, -1, -1, -1, 99, -1, -1,
23520 -1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
23521 -1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
23522 122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
23523 132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
23524 142, 143, 144, 145, -1, 147, 148, 149, -1, -1,
23525 152, -1, 154, 155, 156, 157, 158, 159, -1, 161,
23526 162, -1, 164, 165, 166, 167, 168, -1, 170, -1,
23527 -1, -1, 174, 175, -1, 177, 178, 179, 180, 181,
23528 182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
23529 192, 193, 194, -1, 196, 197, -1, 199, 200, 201,
23530 202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
23531 212, 213, 214, 215, 216, 217, -1, -1, 220, -1,
23532 222, 223, 224, -1, 226, 227, 228, -1, -1, 231,
23533 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
23534 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
23535 252, -1, -1, 255, 256, 257, 258, -1, -1, 261,
23536 262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
23537 272, 273, -1, -1, 276, 277, -1, 279, 280, 281,
23538 -1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
23539 -1, 293, 294, -1, 296, -1, 298, 299, 300, -1,
23540 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
23541 312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
23542 322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
23543 332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
23544 342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
23545 352, 353, 354, -1, 356, 357, 358, 359, 360, 361,
23546 362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
23547 372, 373, 374, 375, 376, 377, 378, 379, -1, 381,
23548 -1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
23549 392, -1, 394, 395, 396, -1, -1, 399, 400, -1,
23550 402, -1, -1, 405, 406, 407, 408, 409, 410, 411,
23551 -1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
23552 422, 423, 424, 425, -1, 427, -1, 429, 430, 431,
23553 432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
23554 442, 443, 444, 445, 3, -1, -1, -1, -1, -1,
23555 -1, -1, -1, -1, -1, 457, 458, 459, -1, 18,
23556 19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
23557 29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
23558 -1, 40, 41, 42, 43, 44, 45, 46, -1, 48,
23559 49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
23560 -1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
23561 69, 70, -1, -1, 73, -1, 75, 76, 77, 78,
23562 79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
23563 89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
23564 99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
23565 109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
23566 119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
23567 129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
23568 139, 140, -1, 142, 143, 144, 145, -1, 147, 148,
23569 149, -1, -1, 152, -1, 154, 155, 156, 157, -1,
23570 159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
23571 -1, 170, -1, -1, -1, 174, 175, -1, 177, 178,
23572 179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
23573 189, 190, 191, 192, 193, 194, -1, 196, 197, -1,
23574 199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
23575 209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
23576 -1, 220, -1, 222, 223, 224, -1, 226, 227, 228,
23577 -1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
23578 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
23579 249, 250, 251, 252, -1, -1, 255, 256, 257, 258,
23580 -1, -1, 261, 262, 263, 264, 265, -1, 267, 268,
23581 -1, -1, 271, 272, 273, -1, -1, 276, 277, -1,
23582 279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
23583 289, 290, 291, -1, 293, 294, -1, 296, -1, 298,
23584 299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
23585 309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
23586 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
23587 329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
23588 -1, 340, 341, 342, 343, 344, 345, 346, 347, 348,
23589 -1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
23590 359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
23591 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
23592 379, -1, 381, -1, 383, 384, -1, 386, 387, 388,
23593 389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
23594 399, 400, -1, 402, -1, -1, 405, 406, 407, 408,
23595 409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
23596 -1, -1, 421, 422, 423, 424, 425, -1, 427, -1,
23597 429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
23598 -1, 440, 441, 442, 443, 444, 445, 3, -1, -1,
23599 -1, -1, -1, -1, -1, -1, -1, -1, 457, 458,
23600 459, -1, 18, 19, 20, 21, 22, 23, 24, 25,
23601 -1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
23602 -1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
23603 46, -1, 48, 49, 50, 51, -1, 53, 54, 55,
23604 56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
23605 -1, 67, 68, 69, 70, -1, -1, 73, -1, 75,
23606 76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
23607 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
23608 -1, -1, -1, 99, -1, -1, -1, 103, 104, 105,
23609 106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
23610 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
23611 -1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
23612 136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
23613 -1, 147, 148, 149, -1, -1, 152, -1, 154, 155,
23614 156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
23615 166, 167, 168, -1, 170, -1, -1, -1, 174, 175,
23616 -1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
23617 186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
23618 196, 197, -1, 199, 200, 201, 202, 203, 204, -1,
23619 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
23620 216, 217, -1, -1, 220, -1, 222, 223, 224, -1,
23621 226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
23622 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
23623 246, 247, 248, 249, 250, 251, 252, -1, -1, 255,
23624 256, 257, 258, -1, -1, 261, 262, 263, 264, 265,
23625 -1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
23626 276, 277, -1, 279, 280, 281, -1, 283, 284, 285,
23627 286, 287, 288, 289, 290, 291, -1, 293, 294, -1,
23628 296, -1, 298, 299, 300, -1, 302, 303, 304, 305,
23629 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
23630 316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
23631 326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
23632 336, 337, 338, -1, 340, 341, 342, 343, 344, 345,
23633 346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
23634 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
23635 -1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
23636 376, 377, 378, 379, -1, 381, -1, 383, 384, -1,
23637 386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
23638 396, -1, -1, 399, 400, -1, 402, -1, -1, 405,
23639 406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
23640 416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
23641 -1, 427, -1, 429, 430, 431, 432, 433, 434, -1,
23642 -1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
23643 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
23644 -1, 457, 458, 459, -1, 18, 19, 20, 21, 22,
23645 23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
23646 -1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
23647 43, 44, 45, 46, -1, 48, 49, 50, 51, -1,
23648 53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
23649 63, 64, 65, -1, 67, 68, 69, 70, -1, -1,
23650 73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
23651 83, -1, 85, 86, 87, 88, 89, 90, -1, 92,
23652 93, 94, 95, -1, -1, -1, 99, -1, -1, -1,
23653 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
23654 113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
23655 123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
23656 -1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
23657 143, 144, 145, -1, 147, 148, 149, -1, -1, 152,
23658 -1, 154, 155, 156, 157, -1, 159, -1, 161, 162,
23659 -1, 164, 165, 166, 167, 168, -1, 170, -1, -1,
23660 -1, 174, 175, -1, 177, 178, 179, 180, 181, 182,
23661 183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
23662 193, 194, -1, 196, 197, -1, 199, 200, 201, 202,
23663 203, 204, -1, 206, -1, 208, 209, 210, 211, 212,
23664 213, 214, 215, 216, 217, -1, -1, 220, -1, 222,
23665 223, 224, -1, 226, 227, 228, -1, -1, 231, 232,
23666 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
23667 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
23668 -1, -1, 255, 256, 257, 258, -1, -1, 261, 262,
23669 263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
23670 273, -1, -1, 276, 277, -1, 279, 280, 281, -1,
23671 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
23672 293, 294, -1, 296, -1, 298, 299, 300, -1, 302,
23673 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
23674 313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
23675 323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
23676 333, 334, 335, 336, 337, 338, -1, 340, 341, 342,
23677 343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
23678 353, 354, -1, 356, 357, 358, 359, 360, 361, 362,
23679 363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
23680 373, 374, 375, 376, 377, 378, 379, -1, 381, -1,
23681 383, 384, -1, 386, 387, 388, 389, 390, 391, 392,
23682 -1, 394, 395, 396, -1, -1, 399, 400, -1, 402,
23683 -1, -1, 405, 406, 407, 408, 409, 410, 411, -1,
23684 -1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
23685 423, 424, 425, -1, 427, -1, 429, 430, 431, 432,
23686 433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
23687 443, 444, 445, 3, -1, -1, -1, -1, -1, -1,
23688 -1, -1, -1, -1, 457, 458, 459, -1, 18, 19,
23689 20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
23690 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
23691 40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
23692 50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
23693 -1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
23694 70, -1, -1, 73, -1, 75, 76, 77, 78, 79,
23695 80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
23696 90, -1, 92, 93, 94, 95, -1, -1, -1, 99,
23697 -1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
23698 110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
23699 120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
23700 130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
23701 140, -1, 142, 143, 144, 145, -1, 147, 148, 149,
23702 -1, -1, 152, -1, 154, 155, 156, 157, -1, 159,
23703 -1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
23704 170, -1, -1, -1, 174, 175, -1, 177, 178, 179,
23705 180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
23706 190, 191, 192, 193, 194, -1, 196, 197, -1, 199,
23707 200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
23708 210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
23709 220, -1, 222, 223, 224, -1, 226, 227, 228, -1,
23710 -1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
23711 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
23712 250, 251, 252, -1, -1, 255, 256, 257, 258, -1,
23713 -1, 261, 262, 263, 264, 265, -1, 267, 268, -1,
23714 -1, 271, 272, 273, -1, -1, 276, 277, -1, 279,
23715 280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
23716 290, 291, -1, 293, 294, -1, 296, -1, 298, 299,
23717 300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
23718 310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
23719 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
23720 -1, 331, 332, 333, 334, 335, 336, 337, 338, -1,
23721 340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
23722 350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
23723 360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
23724 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
23725 -1, 381, -1, 383, 384, -1, 386, 387, 388, 389,
23726 390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
23727 400, -1, 402, -1, -1, 405, 406, 407, 408, 409,
23728 410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
23729 -1, 421, 422, 423, 424, 425, -1, 427, -1, 429,
23730 430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
23731 440, 441, 442, 443, 444, 445, 3, -1, -1, -1,
23732 -1, -1, -1, -1, -1, -1, -1, 457, 458, 459,
23733 -1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
23734 27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
23735 37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
23736 -1, 48, 49, 50, 51, -1, 53, 54, 55, 56,
23737 57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
23738 67, 68, 69, 70, -1, -1, 73, -1, 75, 76,
23739 77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
23740 87, 88, 89, 90, -1, 92, 93, 94, 95, -1,
23741 -1, -1, 99, -1, -1, -1, 103, 104, 105, 106,
23742 107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
23743 117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
23744 -1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
23745 -1, 138, 139, 140, -1, 142, 143, 144, 145, -1,
23746 147, 148, 149, -1, -1, 152, -1, 154, 155, 156,
23747 157, -1, 159, -1, 161, 162, -1, 164, 165, 166,
23748 167, 168, -1, 170, -1, -1, -1, 174, 175, -1,
23749 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
23750 -1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
23751 197, -1, 199, 200, 201, 202, 203, 204, -1, 206,
23752 -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
23753 217, -1, -1, 220, -1, 222, 223, 224, -1, 226,
23754 227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
23755 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
23756 247, 248, 249, 250, 251, 252, -1, -1, 255, 256,
23757 257, 258, -1, -1, 261, 262, 263, 264, 265, -1,
23758 267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
23759 277, -1, 279, 280, 281, -1, 283, 284, 285, 286,
23760 287, 288, 289, 290, 291, -1, 293, 294, -1, 296,
23761 -1, 298, 299, 300, -1, 302, 303, 304, 305, 306,
23762 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
23763 -1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
23764 327, 328, 329, -1, 331, 332, 333, 334, 335, 336,
23765 337, 338, -1, 340, 341, 342, 343, 344, 345, 346,
23766 347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
23767 357, -1, 359, 360, 361, 362, 363, 364, 365, -1,
23768 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
23769 377, 378, 379, -1, 381, -1, 383, 384, -1, 386,
23770 387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
23771 -1, -1, 399, 400, -1, 402, -1, -1, 405, 406,
23772 407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
23773 417, 418, -1, -1, 421, 422, 423, 424, 425, -1,
23774 427, -1, 429, 430, 431, 432, 433, 434, -1, -1,
23775 437, -1, -1, 440, 441, 442, 443, 444, 445, 3,
23776 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
23777 457, 458, 459, -1, 18, 19, 20, 21, 22, 23,
23778 24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
23779 -1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
23780 44, 45, 46, -1, -1, 49, -1, -1, -1, 53,
23781 54, 55, 56, 57, 58, -1, -1, 61, 62, -1,
23782 -1, 65, -1, 67, 68, 69, 70, -1, -1, 73,
23783 -1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
23784 -1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
23785 94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
23786 104, 105, 106, 107, 108, -1, -1, 111, -1, 113,
23787 -1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
23788 124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
23789 134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
23790 144, 145, -1, 147, 148, 149, -1, -1, 152, -1,
23791 154, 155, -1, 157, -1, 159, -1, 161, 162, -1,
23792 164, 165, 166, 167, 168, -1, 170, -1, -1, -1,
23793 174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
23794 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
23795 194, -1, 196, 197, -1, 199, 200, 201, 202, -1,
23796 -1, -1, -1, -1, 208, 209, 210, 211, 212, 213,
23797 214, 215, 216, 217, -1, -1, 220, -1, 222, 223,
23798 224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
23799 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
23800 244, 245, 246, -1, 248, -1, 250, 251, 252, -1,
23801 -1, 255, 256, 257, 258, -1, -1, 261, -1, 263,
23802 264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
23803 -1, -1, 276, 277, -1, 279, 280, 281, -1, 283,
23804 284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
23805 294, -1, 296, -1, 298, 299, 300, -1, 302, 303,
23806 304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
23807 314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
23808 324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
23809 334, 335, 336, 337, 338, -1, 340, 341, 342, 343,
23810 344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
23811 354, -1, 356, 357, -1, 359, 360, 361, 362, 363,
23812 -1, 365, -1, 367, 368, 369, 370, 371, 372, 373,
23813 374, 375, 376, 377, 378, 379, -1, 381, -1, 383,
23814 384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
23815 394, -1, -1, -1, -1, 399, 400, -1, 402, -1,
23816 -1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
23817 414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
23818 424, 425, -1, -1, -1, 429, 430, 431, 432, 433,
23819 434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
23820 444, 445, 3, -1, -1, -1, -1, -1, -1, -1,
23821 -1, -1, -1, 457, 458, 459, -1, 18, 19, 20,
23822 21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
23823 -1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
23824 41, 42, -1, 44, 45, 46, -1, -1, -1, -1,
23825 -1, -1, 53, 54, 55, 56, 57, 58, -1, -1,
23826 61, 62, -1, -1, 65, -1, 67, 68, 69, 70,
23827 -1, -1, -1, -1, 75, 76, 77, 78, 79, -1,
23828 81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
23829 -1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
23830 -1, -1, 103, 104, 105, 106, 107, 108, -1, -1,
23831 111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
23832 -1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
23833 131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
23834 -1, 142, 143, 144, 145, -1, 147, 148, 149, -1,
23835 -1, 152, -1, 154, 155, -1, 157, -1, 159, -1,
23836 161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
23837 -1, -1, -1, 174, 175, -1, 177, 178, 179, 180,
23838 181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
23839 191, 192, 193, 194, -1, 196, -1, -1, 199, 200,
23840 201, 202, -1, -1, -1, -1, -1, 208, -1, -1,
23841 211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
23842 -1, -1, 223, -1, -1, 226, 227, 228, -1, -1,
23843 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
23844 241, 242, 243, 244, 245, 246, -1, -1, -1, 250,
23845 251, 252, -1, -1, 255, 256, -1, 258, -1, -1,
23846 261, -1, 263, 264, 265, -1, 267, 268, -1, -1,
23847 271, 272, 273, -1, -1, 276, 277, -1, -1, 280,
23848 -1, -1, 283, 284, 285, 286, 287, 288, 289, 290,
23849 291, -1, 293, 294, -1, 296, -1, 298, 299, 300,
23850 -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
23851 311, -1, 313, 314, 315, 316, -1, 318, 319, 320,
23852 321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
23853 331, 332, -1, 334, 335, 336, 337, 338, -1, 340,
23854 341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
23855 351, 352, 353, 354, -1, 356, 357, -1, 359, 360,
23856 -1, 362, 363, -1, 365, -1, 367, 368, 369, 370,
23857 371, 372, 373, 374, 375, 376, 377, 378, 379, -1,
23858 381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
23859 391, 392, -1, 394, -1, -1, -1, -1, 399, 400,
23860 -1, 402, -1, -1, 405, 406, 407, 408, 409, 410,
23861 411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
23862 421, 422, 423, 424, 425, -1, -1, -1, 429, -1,
23863 431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
23864 441, 442, 443, 444, 445, -1, -1, -1, -1, -1,
23865 -1, -1, -1, -1, -1, -1, 457, 458, 459
23866};
23867
23868 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
23869 symbol of state STATE-NUM. */
23870static const yytype_uint16 yystos[] =
23871{
23872 0, 18, 28, 30, 31, 46, 55, 67, 69, 70,
23873 76, 78, 89, 91, 108, 111, 125, 127, 131, 137,
23874 145, 147, 153, 169, 186, 226, 227, 232, 244, 256,
23875 299, 313, 319, 320, 322, 327, 332, 335, 342, 348,
23876 349, 356, 360, 370, 385, 405, 415, 421, 426, 439,
23877 462, 476, 483, 484, 485, 486, 487, 493, 494, 496,
23878 497, 498, 499, 501, 505, 517, 522, 523, 526, 527,
23879 528, 547, 550, 551, 566, 611, 612, 615, 618, 619,
23880 620, 628, 634, 636, 638, 639, 642, 645, 646, 650,
23881 659, 663, 664, 665, 666, 669, 671, 672, 673, 674,
23882 682, 684, 704, 708, 710, 711, 721, 723, 730, 731,
23883 734, 735, 736, 737, 738, 746, 748, 752, 757, 761,
23884 762, 770, 771, 774, 779, 792, 819, 822, 823, 824,
23885 829, 832, 834, 836, 838, 839, 844, 845, 848, 849,
23886 850, 854, 855, 858, 859, 862, 863, 864, 871, 873,
23887 874, 875, 881, 883, 884, 890, 891, 892, 893, 894,
23888 895, 896, 898, 899, 901, 902, 904, 905, 907, 919,
23889 925, 928, 930, 931, 940, 942, 947, 952, 956, 957,
23890 958, 959, 960, 961, 965, 1000, 399, 442, 876, 25,
23891 73, 88, 106, 112, 129, 140, 148, 160, 165, 172,
23892 191, 216, 237, 271, 294, 304, 305, 308, 334, 337,
23893 341, 343, 350, 353, 372, 379, 384, 385, 388, 392,
23894 402, 407, 419, 432, 635, 876, 3, 18, 19, 20,
23895 21, 22, 23, 24, 25, 27, 28, 29, 37, 38,
23896 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
23897 50, 51, 53, 54, 55, 56, 57, 58, 61, 62,
23898 63, 64, 65, 67, 68, 69, 70, 71, 73, 75,
23899 76, 77, 78, 79, 80, 81, 82, 83, 85, 86,
23900 87, 88, 89, 90, 92, 93, 94, 95, 99, 103,
23901 104, 105, 106, 107, 108, 109, 110, 111, 113, 115,
23902 116, 117, 118, 119, 120, 122, 123, 124, 125, 128,
23903 129, 130, 131, 132, 134, 135, 136, 138, 139, 140,
23904 142, 143, 144, 145, 146, 147, 148, 149, 150, 152,
23905 154, 155, 156, 157, 159, 161, 162, 164, 165, 166,
23906 167, 168, 170, 171, 173, 174, 175, 177, 178, 179,
23907 180, 181, 182, 183, 184, 185, 186, 188, 189, 190,
23908 191, 192, 193, 194, 196, 197, 198, 199, 200, 201,
23909 202, 203, 204, 206, 208, 209, 210, 211, 212, 213,
23910 214, 215, 216, 217, 220, 221, 222, 223, 224, 226,
23911 227, 228, 231, 232, 233, 234, 235, 236, 237, 238,
23912 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
23913 249, 250, 251, 252, 253, 255, 256, 257, 258, 260,
23914 261, 262, 263, 264, 265, 267, 268, 271, 272, 273,
23915 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
23916 286, 287, 288, 289, 290, 291, 293, 294, 295, 296,
23917 297, 298, 299, 300, 302, 303, 304, 305, 306, 307,
23918 308, 309, 310, 311, 312, 313, 314, 315, 316, 318,
23919 319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
23920 329, 331, 332, 333, 334, 335, 336, 337, 338, 339,
23921 340, 341, 342, 343, 344, 345, 346, 347, 348, 350,
23922 351, 352, 353, 354, 356, 357, 358, 359, 360, 361,
23923 362, 363, 364, 365, 367, 368, 369, 370, 371, 372,
23924 373, 374, 375, 376, 377, 378, 379, 380, 381, 383,
23925 384, 386, 387, 388, 389, 390, 391, 392, 394, 395,
23926 396, 399, 400, 401, 402, 403, 405, 406, 407, 408,
23927 409, 410, 411, 414, 415, 416, 417, 418, 421, 422,
23928 423, 424, 425, 426, 427, 429, 430, 431, 432, 433,
23929 434, 437, 440, 441, 442, 443, 444, 445, 446, 447,
23930 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
23931 458, 459, 1059, 1133, 1141, 1142, 1145, 1146, 1147, 3,
23932 26, 953, 1127, 1141, 1145, 430, 912, 269, 300, 876,
23933 49, 476, 558, 20, 37, 60, 73, 84, 106, 112,
23934 129, 140, 148, 160, 168, 172, 228, 271, 274, 294,
23935 308, 334, 343, 353, 372, 379, 388, 389, 391, 392,
23936 402, 407, 413, 416, 419, 567, 617, 726, 780, 793,
23937 26, 299, 1127, 953, 26, 293, 351, 389, 391, 5,
23938 215, 830, 831, 1136, 20, 25, 60, 73, 88, 106,
23939 129, 140, 148, 160, 165, 172, 191, 237, 271, 284,
23940 294, 305, 308, 334, 337, 341, 343, 350, 353, 372,
23941 379, 385, 388, 392, 400, 402, 407, 419, 432, 635,
23942 739, 740, 741, 876, 1127, 91, 430, 476, 612, 615,
23943 618, 907, 920, 928, 931, 940, 947, 952, 956, 9,
23944 19, 26, 44, 155, 161, 163, 187, 217, 251, 302,
23945 321, 467, 468, 758, 759, 953, 1135, 1137, 26, 91,
23946 317, 349, 763, 764, 765, 1141, 160, 1141, 1132, 1136,
23947 385, 968, 758, 1141, 399, 1127, 284, 237, 106, 191,
23948 343, 384, 385, 476, 840, 841, 342, 1141, 26, 354,
23949 395, 399, 509, 518, 519, 1141, 23, 169, 763, 764,
23950 300, 876, 1141, 214, 26, 126, 970, 971, 61, 85,
23951 228, 246, 334, 343, 354, 395, 399, 445, 506, 507,
23952 508, 509, 26, 354, 395, 399, 509, 399, 270, 1011,
23953 1125, 1141, 968, 469, 1141, 164, 476, 913, 476, 315,
23954 962, 963, 1127, 962, 957, 958, 961, 0, 479, 476,
23955 912, 141, 205, 275, 412, 972, 973, 957, 959, 960,
23956 117, 201, 418, 480, 32, 880, 809, 1133, 743, 1141,
23957 743, 1128, 1141, 303, 743, 402, 1127, 105, 385, 797,
23958 1133, 1141, 1147, 3, 102, 355, 1138, 1139, 1143, 1145,
23959 1146, 1147, 26, 181, 1125, 263, 432, 8, 15, 16,
23960 17, 68, 152, 463, 464, 465, 467, 468, 469, 470,
23961 471, 472, 826, 828, 1089, 1090, 1141, 181, 1127, 797,
23962 1127, 26, 1138, 1139, 797, 1127, 1127, 181, 1125, 1127,
23963 743, 1127, 327, 356, 26, 181, 1011, 1127, 346, 1127,
23964 743, 26, 235, 1138, 1139, 181, 1125, 215, 114, 211,
23965 254, 311, 877, 878, 879, 476, 474, 478, 1116, 1118,
23966 1125, 1131, 1141, 20, 25, 60, 73, 74, 84, 88,
23967 106, 129, 140, 148, 160, 165, 191, 216, 237, 271,
23968 294, 305, 308, 334, 337, 341, 343, 350, 353, 372,
23969 379, 385, 388, 392, 400, 402, 407, 432, 635, 749,
23970 750, 1136, 880, 927, 931, 940, 947, 956, 1125, 239,
23971 743, 476, 181, 743, 402, 1128, 743, 402, 181, 1127,
23972 105, 385, 389, 391, 1138, 1139, 389, 391, 68, 152,
23973 826, 325, 1127, 1127, 1138, 181, 502, 1141, 181, 1127,
23974 181, 743, 1127, 1127, 346, 1127, 743, 235, 1138, 315,
23975 350, 385, 432, 237, 88, 191, 25, 165, 305, 341,
23976 400, 406, 629, 26, 1127, 954, 516, 1136, 1143, 831,
23977 239, 181, 809, 810, 181, 835, 181, 1128, 3, 48,
23978 50, 51, 63, 64, 109, 110, 130, 156, 181, 203,
23979 204, 206, 247, 249, 262, 312, 358, 364, 395, 396,
23980 427, 745, 1033, 1035, 1037, 1039, 1041, 1043, 1044, 1045,
23981 1047, 1048, 1049, 1051, 1052, 1142, 1145, 402, 105, 385,
23982 181, 796, 797, 181, 1139, 1140, 80, 432, 68, 152,
23983 181, 827, 828, 53, 181, 796, 181, 1140, 181, 796,
23984 181, 1127, 181, 1127, 346, 835, 181, 745, 181, 235,
23985 1140, 215, 181, 742, 743, 181, 1126, 1127, 181, 1127,
23986 880, 476, 929, 567, 920, 426, 907, 921, 922, 923,
23987 1143, 912, 1137, 759, 760, 26, 760, 1137, 760, 26,
23988 760, 1137, 760, 760, 760, 1137, 1135, 1135, 953, 760,
23989 303, 476, 476, 587, 587, 587, 269, 397, 480, 587,
23990 343, 1011, 1012, 480, 872, 1136, 476, 926, 53, 432,
23991 430, 842, 843, 80, 781, 781, 1141, 43, 459, 211,
23992 478, 272, 272, 269, 163, 1136, 397, 880, 158, 753,
23993 269, 4, 6, 7, 8, 10, 34, 48, 50, 51,
23994 59, 60, 63, 64, 71, 73, 96, 97, 98, 99,
23995 100, 101, 102, 109, 110, 112, 146, 150, 151, 156,
23996 171, 173, 203, 204, 206, 221, 229, 230, 247, 249,
23997 254, 259, 260, 262, 271, 282, 295, 312, 339, 355,
23998 364, 380, 395, 396, 401, 403, 404, 413, 419, 427,
23999 447, 448, 449, 450, 452, 453, 454, 455, 460, 467,
24000 468, 469, 476, 957, 1036, 1039, 1042, 1043, 1044, 1046,
24001 1047, 1048, 1051, 1052, 1056, 1058, 1059, 1060, 1062, 1085,
24002 1086, 1087, 1091, 1110, 1115, 1122, 1123, 1133, 1134, 1135,
24003 1136, 1141, 1121, 1122, 1136, 26, 524, 1124, 1125, 354,
24004 506, 112, 515, 1136, 516, 1136, 43, 65, 506, 459,
24005 365, 878, 272, 163, 397, 465, 43, 459, 211, 879,
24006 476, 1125, 469, 1118, 1012, 906, 907, 908, 909, 1143,
24007 162, 914, 1056, 1094, 962, 480, 476, 915, 477, 477,
24008 485, 906, 916, 917, 918, 1125, 26, 126, 969, 969,
24009 53, 969, 153, 158, 225, 266, 976, 978, 979, 994,
24010 996, 997, 998, 972, 973, 163, 207, 1011, 1013, 476,
24011 62, 252, 285, 323, 356, 476, 807, 285, 319, 323,
24012 356, 478, 744, 285, 323, 356, 3, 83, 135, 231,
24013 285, 323, 356, 388, 390, 439, 517, 520, 885, 886,
24014 887, 888, 775, 22, 131, 285, 323, 356, 423, 533,
24015 1127, 22, 131, 356, 418, 500, 443, 181, 1011, 56,
24016 90, 120, 149, 184, 220, 254, 285, 286, 323, 331,
24017 340, 348, 356, 368, 377, 381, 434, 517, 521, 812,
24018 820, 476, 794, 1118, 323, 500, 187, 146, 22, 28,
24019 41, 70, 120, 124, 131, 134, 159, 193, 252, 254,
24020 264, 273, 285, 323, 326, 327, 356, 423, 529, 531,
24021 532, 653, 4, 467, 468, 626, 1137, 26, 181, 1125,
24022 743, 743, 476, 825, 285, 356, 478, 146, 269, 120,
24023 285, 323, 356, 820, 22, 131, 285, 323, 356, 187,
24024 495, 323, 439, 462, 488, 495, 120, 285, 323, 356,
24025 820, 269, 285, 323, 146, 35, 54, 104, 190, 238,
24026 241, 252, 284, 323, 328, 350, 356, 370, 529, 623,
24027 624, 285, 323, 431, 653, 661, 285, 323, 356, 83,
24028 124, 134, 285, 319, 323, 356, 519, 507, 509, 187,
24029 146, 41, 122, 323, 356, 529, 530, 285, 323, 327,
24030 356, 81, 123, 287, 390, 269, 22, 28, 131, 285,
24031 323, 356, 548, 549, 495, 158, 323, 488, 495, 146,
24032 323, 356, 529, 1127, 223, 114, 270, 444, 480, 877,
24033 26, 126, 428, 469, 477, 802, 1056, 1095, 1096, 1142,
24034 1056, 1117, 3, 26, 30, 31, 32, 33, 34, 35,
24035 36, 39, 52, 59, 60, 66, 72, 74, 84, 91,
24036 96, 97, 98, 100, 101, 102, 112, 114, 121, 126,
24037 127, 133, 137, 141, 151, 153, 158, 160, 163, 169,
24038 172, 176, 187, 195, 205, 207, 218, 219, 225, 229,
24039 230, 254, 259, 266, 269, 270, 274, 275, 292, 301,
24040 317, 330, 349, 355, 366, 382, 385, 393, 397, 398,
24041 404, 412, 413, 419, 420, 428, 435, 436, 438, 439,
24042 469, 1130, 1144, 1145, 1146, 1147, 1148, 1116, 420, 903,
24043 269, 239, 809, 476, 1127, 1033, 402, 105, 385, 797,
24044 263, 432, 68, 152, 828, 1127, 797, 797, 1127, 346,
24045 158, 1127, 1033, 215, 743, 1127, 477, 587, 1127, 66,
24046 1033, 254, 163, 476, 712, 1127, 488, 35, 897, 1127,
24047 254, 488, 443, 181, 1125, 488, 743, 743, 712, 416,
24048 567, 269, 158, 856, 857, 488, 254, 43, 503, 254,
24049 407, 660, 254, 915, 83, 285, 637, 81, 123, 287,
24050 390, 24, 45, 202, 685, 35, 712, 158, 181, 488,
24051 432, 181, 1125, 181, 613, 1125, 1125, 432, 743, 781,
24052 1133, 1133, 1133, 1127, 158, 635, 49, 103, 200, 252,
24053 345, 146, 57, 329, 480, 534, 146, 476, 146, 429,
24054 1050, 1050, 1050, 476, 1038, 1038, 297, 476, 1040, 146,
24055 63, 64, 1050, 1038, 1035, 441, 462, 476, 1053, 476,
24056 1053, 480, 534, 34, 1034, 476, 107, 179, 240, 243,
24057 347, 457, 476, 1054, 1055, 744, 1038, 443, 146, 480,
24058 534, 146, 480, 181, 742, 181, 743, 181, 743, 146,
24059 480, 534, 1140, 146, 534, 146, 146, 534, 146, 534,
24060 146, 81, 123, 287, 390, 158, 146, 534, 146, 158,
24061 181, 181, 516, 146, 480, 534, 146, 480, 534, 146,
24062 269, 1094, 385, 477, 480, 151, 269, 404, 513, 516,
24063 626, 924, 920, 760, 953, 760, 953, 760, 953, 760,
24064 953, 760, 953, 953, 953, 760, 953, 476, 588, 589,
24065 1141, 588, 26, 106, 129, 160, 165, 215, 216, 305,
24066 337, 343, 350, 385, 388, 407, 766, 1124, 1140, 765,
24067 1127, 187, 480, 943, 1136, 1033, 1097, 35, 1140, 781,
24068 477, 480, 1125, 1127, 223, 1141, 158, 158, 766, 1140,
24069 342, 1141, 516, 269, 476, 1119, 474, 957, 1098, 1056,
24070 1114, 476, 476, 158, 476, 476, 957, 476, 476, 476,
24071 476, 476, 476, 1056, 476, 476, 476, 476, 476, 476,
24072 476, 476, 957, 476, 476, 476, 476, 476, 476, 476,
24073 476, 1056, 1056, 1056, 957, 1056, 1094, 1118, 1136, 476,
24074 1136, 3, 8, 11, 15, 16, 17, 32, 35, 40,
24075 47, 72, 182, 187, 209, 210, 224, 257, 271, 274,
24076 361, 460, 463, 464, 465, 467, 468, 469, 470, 471,
24077 472, 1089, 1091, 1093, 440, 1072, 281, 1056, 207, 480,
24078 966, 476, 1136, 1118, 966, 115, 183, 525, 480, 65,
24079 112, 516, 35, 3, 112, 228, 514, 626, 1052, 1136,
24080 1136, 86, 128, 1068, 95, 112, 510, 511, 513, 626,
24081 112, 510, 223, 1125, 87, 328, 747, 477, 480, 513,
24082 626, 910, 912, 477, 480, 963, 1126, 35, 477, 480,
24083 915, 959, 959, 974, 975, 1056, 959, 155, 251, 985,
24084 213, 252, 311, 359, 418, 26, 980, 1056, 467, 468,
24085 981, 982, 1056, 1058, 994, 995, 979, 978, 976, 977,
24086 158, 997, 264, 999, 976, 994, 1013, 932, 1125, 35,
24087 1141, 356, 1094, 62, 397, 397, 343, 187, 198, 275,
24088 278, 358, 428, 469, 800, 801, 802, 804, 806, 808,
24089 1033, 1142, 397, 431, 397, 343, 1130, 478, 397, 397,
24090 343, 225, 397, 397, 388, 506, 285, 885, 887, 465,
24091 889, 158, 169, 187, 332, 776, 777, 66, 84, 142,
24092 160, 301, 413, 584, 585, 84, 112, 254, 397, 84,
24093 397, 112, 254, 343, 84, 124, 134, 285, 323, 709,
24094 343, 643, 20, 25, 60, 73, 88, 129, 140, 160,
24095 165, 237, 271, 305, 337, 343, 350, 353, 385, 392,
24096 400, 407, 432, 635, 1127, 146, 323, 356, 529, 269,
24097 626, 269, 348, 220, 397, 1141, 397, 259, 626, 116,
24098 208, 343, 354, 399, 508, 743, 329, 356, 812, 821,
24099 477, 795, 800, 397, 419, 388, 1125, 74, 142, 181,
24100 574, 584, 1141, 74, 84, 846, 289, 269, 269, 339,
24101 341, 402, 84, 846, 29, 326, 339, 341, 402, 339,
24102 1125, 159, 193, 264, 743, 476, 397, 397, 180, 476,
24103 538, 234, 388, 416, 441, 538, 84, 480, 4, 4,
24104 285, 187, 146, 120, 323, 356, 529, 420, 420, 253,
24105 1033, 397, 343, 476, 826, 1127, 1125, 269, 397, 397,
24106 343, 821, 385, 385, 397, 397, 385, 712, 106, 356,
24107 520, 397, 490, 520, 269, 397, 397, 343, 821, 1125,
24108 397, 397, 1125, 1035, 626, 53, 625, 626, 626, 104,
24109 238, 241, 53, 397, 488, 245, 343, 488, 252, 624,
24110 397, 397, 259, 1136, 653, 397, 397, 343, 1136, 397,
24111 308, 397, 308, 712, 388, 1011, 289, 289, 84, 397,
24112 846, 343, 397, 397, 538, 538, 743, 743, 743, 743,
24113 1125, 42, 425, 42, 42, 397, 42, 397, 425, 343,
24114 480, 520, 419, 670, 1139, 397, 490, 520, 1125, 397,
24115 343, 285, 323, 311, 324, 352, 512, 877, 1095, 1095,
24116 1096, 477, 13, 14, 480, 972, 973, 475, 481, 1131,
24117 1141, 1125, 209, 1033, 269, 209, 443, 209, 626, 743,
24118 743, 209, 269, 209, 209, 269, 81, 123, 287, 390,
24119 1033, 269, 209, 209, 209, 397, 163, 397, 552, 407,
24120 476, 35, 146, 743, 713, 714, 1144, 24, 885, 1033,
24121 269, 146, 640, 1127, 254, 289, 476, 489, 726, 420,
24122 315, 432, 1125, 26, 385, 439, 816, 489, 146, 1139,
24123 91, 169, 504, 566, 619, 684, 761, 779, 881, 146,
24124 1136, 661, 662, 146, 269, 1136, 1139, 231, 743, 743,
24125 743, 743, 264, 117, 201, 405, 418, 686, 687, 138,
24126 310, 476, 670, 254, 489, 1125, 254, 621, 623, 254,
24127 35, 264, 289, 476, 587, 587, 181, 616, 1125, 158,
24128 181, 782, 1131, 476, 716, 807, 476, 798, 798, 35,
24129 1033, 215, 439, 441, 955, 345, 810, 809, 1033, 1128,
24130 476, 1094, 1135, 745, 1050, 1050, 34, 1034, 395, 395,
24131 1135, 1135, 1033, 474, 474, 1135, 397, 397, 397, 476,
24132 397, 1135, 1038, 796, 797, 1140, 1139, 146, 534, 146,
24133 420, 146, 420, 827, 828, 534, 796, 1140, 796, 1127,
24134 1127, 1033, 745, 1140, 670, 146, 146, 534, 742, 743,
24135 1126, 1127, 1127, 743, 477, 181, 1125, 920, 922, 953,
24136 953, 953, 953, 953, 953, 588, 477, 480, 477, 166,
24137 306, 338, 351, 386, 1126, 742, 105, 353, 796, 1126,
24138 263, 796, 796, 1126, 1124, 1124, 1126, 742, 397, 439,
24139 772, 141, 225, 667, 668, 20, 144, 339, 359, 944,
24140 1011, 258, 945, 477, 480, 927, 397, 1125, 840, 841,
24141 843, 764, 763, 764, 163, 170, 773, 1141, 25, 74,
24142 106, 129, 140, 160, 165, 216, 237, 305, 308, 334,
24143 337, 343, 350, 379, 385, 388, 407, 432, 635, 754,
24144 755, 1094, 1116, 475, 1094, 1098, 1099, 435, 1111, 1112,
24145 1056, 1094, 476, 1135, 1135, 3, 107, 179, 240, 243,
24146 347, 457, 1100, 1101, 1136, 1094, 1094, 1094, 1135, 1135,
24147 1056, 826, 1056, 1102, 339, 467, 468, 476, 1057, 1058,
24148 1091, 1104, 477, 1094, 1056, 1094, 1105, 1056, 52, 163,
24149 219, 398, 1056, 1094, 1108, 1094, 245, 1058, 1056, 1066,
24150 1067, 1068, 245, 1056, 1068, 477, 480, 1135, 1054, 1033,
24151 1056, 1056, 1056, 1056, 1144, 395, 39, 382, 1120, 743,
24152 1056, 476, 957, 1109, 126, 128, 151, 254, 259, 264,
24153 404, 414, 1056, 476, 1056, 397, 47, 182, 187, 224,
24154 361, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
24155 1056, 26, 33, 366, 1088, 172, 154, 1073, 339, 476,
24156 1085, 168, 228, 385, 389, 391, 416, 967, 1125, 1123,
24157 163, 1001, 1095, 1001, 1125, 399, 476, 1136, 480, 477,
24158 180, 180, 534, 918, 908, 907, 911, 1056, 477, 237,
24159 254, 964, 918, 916, 480, 36, 121, 420, 790, 339,
24160 340, 467, 468, 982, 984, 1058, 359, 213, 270, 480,
24161 4, 983, 1135, 983, 339, 340, 984, 1124, 258, 363,
24162 946, 995, 977, 420, 941, 112, 283, 476, 933, 956,
24163 35, 1141, 476, 948, 949, 950, 1141, 477, 1139, 1127,
24164 1127, 278, 53, 1142, 477, 802, 804, 801, 804, 1142,
24165 275, 477, 480, 744, 1139, 1127, 1127, 1130, 1139, 1127,
24166 1127, 1139, 1128, 1127, 112, 513, 1137, 334, 419, 763,
24167 343, 169, 763, 476, 1127, 420, 783, 213, 213, 420,
24168 476, 610, 181, 1127, 259, 1139, 1127, 1127, 1056, 259,
24169 1127, 1127, 29, 326, 397, 397, 1127, 397, 644, 239,
24170 809, 476, 743, 743, 1033, 402, 105, 385, 797, 432,
24171 68, 152, 828, 797, 797, 1127, 743, 1127, 743, 346,
24172 158, 1033, 743, 215, 175, 252, 285, 323, 424, 647,
24173 648, 649, 1011, 397, 846, 343, 259, 148, 116, 208,
24174 1139, 1127, 269, 1127, 477, 480, 1138, 1140, 1127, 323,
24175 529, 181, 574, 254, 1033, 1127, 1135, 1141, 1125, 1127,
24176 148, 223, 1127, 26, 419, 1127, 181, 1127, 181, 1141,
24177 341, 402, 341, 402, 223, 1127, 26, 419, 1127, 223,
24178 339, 1125, 22, 131, 356, 654, 655, 656, 657, 1144,
24179 1139, 1127, 112, 164, 255, 420, 537, 540, 541, 1144,
24180 1127, 70, 267, 1127, 532, 397, 388, 1125, 269, 397,
24181 846, 343, 1129, 1141, 1129, 480, 477, 480, 1139, 1127,
24182 851, 852, 1144, 269, 323, 397, 678, 148, 1139, 1127,
24183 1127, 1012, 1012, 1139, 1127, 1012, 1128, 1138, 3, 83,
24184 136, 193, 291, 411, 419, 422, 491, 148, 1139, 1127,
24185 1127, 323, 1139, 1127, 323, 356, 529, 623, 626, 743,
24186 1127, 626, 743, 1127, 626, 1139, 1127, 1139, 1127, 1127,
24187 1139, 816, 1127, 860, 861, 1144, 1127, 323, 356, 529,
24188 530, 1125, 1125, 1127, 1127, 1127, 1127, 1139, 1127, 22,
24189 28, 131, 285, 323, 356, 285, 323, 356, 712, 323,
24190 356, 323, 356, 120, 323, 1025, 1141, 181, 722, 1141,
24191 181, 1141, 1139, 1127, 1127, 1136, 1127, 22, 549, 353,
24192 1138, 323, 356, 529, 1127, 1127, 397, 397, 79, 410,
24193 311, 480, 972, 972, 972, 1056, 1056, 428, 1096, 477,
24194 1056, 1117, 259, 751, 1136, 35, 129, 743, 751, 751,
24195 209, 420, 420, 751, 743, 751, 751, 743, 215, 743,
24196 751, 751, 751, 307, 553, 553, 191, 385, 683, 1056,
24197 1033, 743, 477, 480, 465, 686, 576, 1144, 1127, 57,
24198 163, 343, 431, 641, 648, 649, 146, 264, 224, 568,
24199 570, 572, 574, 581, 584, 23, 187, 334, 383, 491,
24200 492, 158, 1129, 432, 1125, 35, 679, 386, 1012, 712,
24201 502, 1141, 503, 274, 567, 1127, 160, 743, 1094, 308,
24202 1136, 712, 712, 712, 712, 264, 269, 274, 476, 712,
24203 1023, 1024, 1025, 353, 146, 476, 146, 146, 145, 956,
24204 743, 264, 568, 1141, 420, 605, 439, 539, 254, 35,
24205 587, 1136, 254, 269, 3, 717, 718, 712, 477, 799,
24206 800, 805, 35, 215, 331, 400, 438, 811, 812, 813,
24207 811, 269, 215, 516, 178, 178, 158, 534, 35, 1094,
24208 477, 477, 534, 474, 459, 459, 477, 477, 1135, 475,
24209 1135, 477, 179, 240, 1055, 240, 1055, 1055, 1135, 243,
24210 477, 534, 742, 743, 1129, 743, 1129, 534, 534, 534,
24211 534, 215, 534, 353, 158, 516, 534, 534, 269, 534,
24212 254, 477, 589, 187, 187, 187, 187, 187, 443, 1126,
24213 626, 627, 172, 767, 768, 1139, 23, 773, 397, 476,
24214 163, 144, 359, 144, 359, 339, 418, 242, 1033, 1139,
24215 439, 614, 781, 781, 163, 269, 767, 53, 534, 809,
24216 1033, 402, 385, 797, 263, 432, 797, 797, 1033, 215,
24217 743, 1127, 477, 475, 475, 480, 1056, 133, 1112, 1113,
24218 35, 477, 1056, 477, 477, 477, 163, 477, 477, 477,
24219 477, 477, 480, 477, 292, 1103, 477, 476, 1057, 1057,
24220 1094, 11, 15, 16, 17, 187, 209, 271, 463, 464,
24221 465, 467, 468, 469, 470, 471, 472, 1091, 1057, 477,
24222 477, 158, 163, 1106, 1107, 477, 35, 1108, 1094, 1108,
24223 1108, 163, 477, 477, 1144, 290, 1070, 35, 477, 480,
24224 1056, 1144, 480, 1056, 1119, 1056, 477, 459, 1057, 1057,
24225 139, 1094, 163, 126, 128, 151, 259, 264, 404, 414,
24226 476, 139, 826, 1056, 382, 1120, 1056, 1109, 1056, 397,
24227 476, 957, 476, 476, 280, 1077, 476, 1094, 389, 391,
24228 389, 391, 1125, 968, 968, 968, 218, 340, 456, 476,
24229 957, 1002, 1003, 1004, 1011, 1016, 1026, 1059, 1061, 1062,
24230 1141, 436, 1021, 972, 1021, 878, 1135, 1054, 511, 918,
24231 237, 476, 975, 271, 1089, 1092, 461, 791, 4, 1135,
24232 984, 270, 418, 981, 233, 1002, 436, 1022, 426, 384,
24233 419, 934, 935, 936, 1141, 269, 937, 1141, 950, 951,
24234 480, 1001, 465, 1119, 808, 744, 804, 804, 53, 806,
24235 471, 1140, 1140, 269, 1126, 272, 269, 1056, 585, 1129,
24236 476, 476, 476, 610, 191, 588, 702, 146, 534, 397,
24237 1139, 1127, 516, 1127, 1033, 1127, 443, 743, 743, 743,
24238 743, 81, 123, 287, 390, 1033, 1127, 630, 1127, 175,
24239 424, 397, 397, 630, 647, 653, 323, 356, 529, 1127,
24240 1127, 1127, 199, 1127, 259, 800, 284, 356, 397, 254,
24241 146, 273, 651, 702, 356, 22, 131, 327, 328, 356,
24242 533, 542, 543, 653, 847, 1127, 348, 146, 534, 146,
24243 534, 1127, 1127, 1127, 1127, 348, 348, 223, 656, 657,
24244 656, 477, 480, 658, 1136, 191, 477, 480, 465, 478,
24245 1139, 1127, 323, 356, 529, 148, 1127, 1127, 1127, 285,
24246 323, 356, 22, 131, 285, 323, 356, 1033, 253, 1033,
24247 477, 480, 465, 1125, 397, 1140, 420, 675, 1127, 225,
24248 291, 259, 1136, 291, 1140, 417, 1127, 397, 397, 343,
24249 480, 816, 284, 356, 84, 397, 846, 343, 112, 158,
24250 544, 397, 397, 235, 235, 235, 397, 397, 343, 397,
24251 397, 343, 397, 343, 397, 343, 269, 397, 534, 1033,
24252 254, 1136, 356, 847, 146, 534, 397, 397, 1127, 397,
24253 343, 1139, 1127, 477, 477, 477, 1096, 475, 1033, 743,
24254 209, 751, 1129, 1129, 209, 209, 1127, 209, 373, 374,
24255 554, 1136, 554, 175, 477, 477, 163, 712, 714, 253,
24256 271, 467, 468, 626, 715, 804, 1092, 1136, 1148, 269,
24257 66, 72, 84, 112, 114, 167, 195, 254, 259, 301,
24258 317, 413, 577, 578, 580, 145, 435, 488, 516, 1127,
24259 516, 651, 1125, 1125, 1125, 477, 480, 1140, 172, 334,
24260 1140, 1135, 407, 1125, 587, 3, 158, 680, 43, 503,
24261 325, 385, 660, 105, 915, 163, 860, 539, 588, 1125,
24262 687, 719, 720, 1136, 477, 480, 1127, 158, 588, 1125,
24263 613, 1125, 1127, 614, 476, 569, 1125, 477, 1129, 439,
24264 441, 606, 538, 35, 146, 956, 605, 397, 146, 1011,
24265 465, 477, 480, 477, 480, 112, 465, 814, 1136, 516,
24266 385, 803, 804, 158, 815, 813, 117, 201, 349, 418,
24267 869, 1127, 175, 956, 1033, 477, 1135, 1053, 1053, 475,
24268 475, 477, 534, 420, 534, 420, 534, 1127, 1127, 670,
24269 534, 743, 146, 343, 343, 343, 343, 343, 1126, 480,
24270 1139, 439, 480, 769, 272, 1012, 353, 144, 144, 105,
24271 252, 1125, 1127, 1140, 766, 534, 1139, 209, 209, 209,
24272 626, 209, 209, 209, 209, 209, 1098, 393, 1056, 137,
24273 1033, 477, 1056, 1056, 1056, 1106, 477, 1094, 480, 1033,
24274 1057, 1057, 1057, 1057, 126, 128, 254, 264, 1057, 1057,
24275 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1056, 1056,
24276 1107, 1106, 1033, 477, 477, 477, 1094, 477, 480, 53,
24277 1058, 1071, 477, 1144, 1067, 298, 378, 1069, 477, 480,
24278 431, 1063, 35, 477, 1136, 1056, 32, 32, 1056, 477,
24279 1056, 163, 476, 1097, 1056, 477, 139, 1057, 1057, 139,
24280 139, 1056, 1056, 973, 436, 476, 1078, 1141, 477, 1094,
24281 480, 968, 968, 968, 968, 1125, 1125, 1125, 957, 1016,
24282 1026, 163, 476, 957, 1003, 1004, 35, 1005, 1006, 1141,
24283 480, 92, 164, 197, 212, 222, 248, 333, 1008, 1006,
24284 35, 1005, 1007, 1141, 1006, 462, 1020, 1118, 1056, 172,
24285 986, 477, 986, 477, 927, 476, 791, 155, 217, 270,
24286 95, 1056, 330, 939, 425, 477, 480, 1119, 82, 939,
24287 477, 480, 949, 1022, 1056, 477, 471, 808, 407, 166,
24288 338, 344, 351, 386, 408, 778, 158, 778, 477, 476,
24289 592, 593, 785, 1061, 1141, 588, 588, 702, 1131, 477,
24290 114, 195, 252, 254, 703, 1127, 1127, 35, 1127, 420,
24291 420, 743, 743, 743, 743, 215, 744, 1139, 1127, 397,
24292 846, 343, 397, 199, 53, 388, 1127, 146, 574, 476,
24293 576, 372, 167, 180, 254, 538, 488, 105, 167, 254,
24294 372, 375, 538, 624, 356, 543, 407, 1127, 1141, 348,
24295 655, 1127, 541, 715, 1144, 284, 356, 397, 846, 343,
24296 1127, 397, 397, 397, 343, 165, 271, 375, 724, 725,
24297 165, 271, 732, 733, 397, 397, 343, 477, 477, 477,
24298 852, 253, 626, 804, 853, 1092, 1136, 1148, 323, 1127,
24299 476, 439, 676, 1137, 1136, 1136, 1136, 1127, 1127, 1127,
24300 861, 53, 388, 1127, 1127, 1127, 1127, 426, 1127, 1127,
24301 158, 158, 325, 158, 181, 1139, 1127, 1127, 1139, 1127,
24302 1127, 1127, 1127, 1127, 1127, 148, 1127, 72, 535, 146,
24303 24, 45, 407, 1141, 1127, 1136, 653, 1127, 1127, 972,
24304 477, 209, 751, 209, 209, 751, 751, 209, 751, 488,
24305 420, 559, 560, 630, 702, 439, 441, 743, 1125, 476,
24306 743, 1127, 1057, 29, 53, 579, 115, 183, 114, 259,
24307 213, 1125, 816, 165, 305, 698, 705, 706, 1141, 640,
24308 289, 476, 569, 582, 194, 599, 572, 1140, 1140, 1033,
24309 476, 539, 26, 117, 201, 349, 418, 681, 397, 677,
24310 1139, 181, 1125, 662, 443, 269, 1002, 816, 318, 688,
24311 477, 480, 1025, 651, 670, 477, 621, 35, 264, 289,
24312 476, 929, 571, 573, 575, 584, 1141, 289, 600, 601,
24313 569, 599, 538, 267, 269, 607, 956, 616, 614, 539,
24314 1136, 1131, 783, 715, 3, 718, 805, 1056, 1056, 480,
24315 476, 811, 407, 480, 397, 476, 630, 477, 475, 1129,
24316 1129, 534, 353, 534, 1126, 1126, 1126, 1126, 1126, 626,
24317 169, 768, 477, 1127, 105, 773, 163, 259, 756, 1136,
24318 756, 756, 209, 756, 756, 756, 756, 756, 1056, 477,
24319 477, 1107, 477, 1056, 163, 126, 128, 264, 476, 477,
24320 446, 1065, 1094, 316, 425, 53, 1071, 1058, 437, 437,
24321 477, 1056, 252, 1056, 480, 1064, 1035, 1056, 1056, 1056,
24322 1097, 477, 1056, 32, 32, 1056, 1056, 139, 477, 477,
24323 1056, 1079, 1141, 477, 1056, 1125, 1125, 1125, 1125, 1006,
24324 1007, 1006, 476, 451, 1058, 477, 1141, 476, 1003, 212,
24325 279, 1009, 1003, 1009, 212, 1008, 1009, 212, 387, 1014,
24326 476, 1141, 476, 276, 53, 176, 993, 1136, 993, 1136,
24327 477, 826, 264, 1122, 956, 283, 956, 936, 269, 476,
24328 938, 465, 950, 939, 407, 477, 397, 763, 163, 702,
24329 1056, 477, 480, 439, 72, 788, 788, 477, 477, 188,
24330 590, 115, 183, 193, 114, 422, 534, 1033, 1129, 1129,
24331 1127, 1127, 1127, 1127, 1127, 1140, 1127, 574, 652, 656,
24332 1137, 579, 181, 259, 626, 579, 259, 1137, 1141, 1033,
24333 534, 534, 465, 53, 388, 1127, 1127, 1127, 1127, 1139,
24334 1127, 1127, 1135, 1135, 1033, 480, 1135, 1135, 480, 1139,
24335 1127, 1127, 397, 1056, 66, 1140, 1127, 397, 397, 163,
24336 187, 439, 1126, 1126, 743, 1126, 146, 1127, 743, 1136,
24337 1136, 1033, 534, 534, 477, 209, 751, 751, 751, 751,
24338 476, 555, 556, 488, 119, 165, 198, 165, 163, 701,
24339 1056, 254, 578, 112, 35, 816, 587, 420, 609, 1133,
24340 32, 145, 187, 264, 568, 544, 143, 189, 476, 353,
24341 420, 588, 35, 1140, 675, 503, 254, 476, 160, 1127,
24342 1094, 250, 268, 689, 690, 691, 158, 694, 1136, 353,
24343 539, 145, 956, 743, 264, 568, 614, 477, 480, 439,
24344 576, 53, 605, 544, 600, 78, 388, 608, 439, 882,
24345 35, 608, 163, 269, 476, 1136, 802, 817, 818, 1142,
24346 1033, 158, 1125, 163, 397, 837, 196, 631, 534, 534,
24347 534, 1127, 272, 207, 534, 767, 756, 477, 1057, 163,
24348 476, 1097, 476, 477, 480, 477, 1071, 477, 425, 369,
24349 477, 477, 477, 1056, 1056, 1056, 477, 289, 1080, 477,
24350 1017, 1018, 1061, 476, 1070, 1005, 476, 1126, 1003, 269,
24351 420, 1010, 1003, 212, 1003, 1133, 1024, 476, 1024, 1141,
24352 94, 173, 336, 476, 987, 988, 989, 990, 991, 992,
24353 1056, 1056, 438, 1074, 1074, 477, 953, 934, 84, 784,
24354 785, 127, 1056, 767, 269, 767, 477, 590, 593, 271,
24355 826, 743, 743, 789, 789, 317, 590, 476, 816, 477,
24356 397, 356, 945, 477, 480, 35, 146, 535, 715, 1140,
24357 1127, 397, 476, 797, 826, 828, 725, 476, 476, 733,
24358 1127, 477, 476, 356, 945, 1127, 1127, 476, 476, 476,
24359 439, 462, 900, 325, 900, 900, 158, 535, 751, 561,
24360 562, 1144, 49, 93, 118, 135, 139, 159, 162, 177,
24361 259, 309, 557, 555, 1136, 797, 35, 833, 833, 1125,
24362 702, 477, 180, 476, 609, 236, 591, 191, 476, 706,
24363 698, 476, 1125, 477, 353, 26, 77, 85, 113, 167,
24364 180, 192, 372, 375, 583, 583, 1124, 1127, 1129, 477,
24365 956, 676, 146, 105, 651, 163, 690, 339, 385, 692,
24366 132, 695, 435, 697, 1127, 35, 1127, 614, 569, 1125,
24367 477, 573, 273, 3, 602, 1145, 606, 600, 605, 117,
24368 131, 298, 1127, 58, 66, 228, 956, 743, 1011, 784,
24369 804, 477, 480, 407, 1021, 367, 367, 477, 630, 252,
24370 424, 632, 633, 1127, 534, 1057, 1097, 477, 1066, 1094,
24371 252, 458, 53, 972, 477, 480, 35, 1019, 112, 1031,
24372 1032, 1057, 75, 1126, 477, 1056, 476, 1003, 1010, 476,
24373 477, 1024, 477, 476, 357, 476, 477, 480, 1075, 1076,
24374 1141, 425, 1127, 477, 480, 255, 418, 769, 778, 534,
24375 788, 816, 476, 790, 790, 1125, 816, 588, 609, 1127,
24376 388, 656, 180, 420, 536, 356, 945, 1127, 1097, 158,
24377 728, 728, 1097, 1097, 1056, 388, 1094, 1094, 545, 546,
24378 1143, 742, 743, 742, 743, 1126, 534, 477, 480, 469,
24379 476, 513, 563, 626, 897, 1136, 897, 254, 259, 309,
24380 897, 897, 1021, 833, 38, 185, 158, 252, 586, 476,
24381 622, 1056, 164, 288, 362, 269, 595, 596, 597, 388,
24382 477, 1133, 5, 707, 569, 599, 1127, 477, 651, 152,
24383 727, 539, 882, 1125, 443, 1002, 897, 339, 371, 696,
24384 476, 145, 651, 956, 929, 600, 569, 599, 576, 476,
24385 607, 605, 606, 340, 340, 66, 272, 66, 614, 783,
24386 477, 811, 817, 1033, 127, 439, 439, 424, 630, 651,
24387 477, 477, 477, 425, 1094, 174, 310, 340, 1081, 1020,
24388 1017, 476, 1057, 477, 480, 35, 1027, 1028, 1141, 477,
24389 1126, 1094, 477, 1094, 476, 1094, 988, 480, 35, 956,
24390 1021, 785, 356, 163, 789, 609, 826, 791, 791, 587,
24391 609, 477, 702, 1127, 622, 1056, 388, 477, 275, 346,
24392 314, 729, 729, 477, 477, 477, 1127, 477, 477, 477,
24393 480, 1135, 900, 562, 513, 564, 565, 1136, 1136, 259,
24394 588, 469, 588, 1136, 1136, 132, 193, 623, 477, 117,
24395 418, 269, 597, 269, 596, 1127, 476, 477, 480, 544,
24396 353, 651, 743, 35, 35, 476, 1127, 693, 1141, 1056,
24397 698, 882, 614, 605, 544, 600, 476, 603, 604, 1061,
24398 1141, 608, 606, 607, 272, 272, 476, 188, 786, 27,
24399 202, 870, 165, 165, 47, 95, 409, 1056, 1082, 1083,
24400 1082, 1082, 477, 1024, 480, 1032, 1144, 477, 480, 158,
24401 1033, 477, 477, 477, 987, 477, 1076, 1078, 948, 767,
24402 790, 436, 594, 477, 591, 702, 945, 1127, 797, 53,
24403 945, 397, 545, 743, 477, 480, 588, 339, 477, 376,
24404 57, 252, 329, 356, 598, 598, 477, 5, 353, 1127,
24405 724, 956, 651, 477, 1133, 606, 600, 605, 1056, 477,
24406 480, 788, 788, 607, 608, 784, 476, 539, 255, 476,
24407 865, 867, 871, 931, 940, 947, 956, 797, 797, 1083,
24408 339, 157, 296, 157, 296, 142, 1084, 1084, 1084, 477,
24409 1058, 1028, 276, 3, 112, 254, 259, 1029, 1030, 324,
24410 1015, 477, 1021, 534, 791, 476, 702, 595, 945, 743,
24411 476, 565, 697, 21, 112, 259, 1127, 651, 882, 476,
24412 607, 605, 606, 477, 604, 789, 789, 608, 477, 785,
24413 787, 608, 866, 867, 868, 957, 958, 480, 480, 32,
24414 95, 172, 252, 394, 1070, 1057, 1057, 259, 1030, 476,
24415 1056, 702, 1094, 145, 651, 4, 699, 700, 1135, 1136,
24416 1144, 608, 606, 607, 788, 786, 477, 480, 1021, 477,
24417 479, 397, 163, 1083, 339, 277, 75, 1056, 477, 477,
24418 698, 477, 480, 607, 608, 789, 539, 785, 868, 367,
24419 367, 1027, 477, 1133, 700, 608, 608, 439, 439, 477,
24420 476, 1021, 165, 165, 699, 797, 797, 477
24421};
24422
24423 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
24424static const yytype_uint16 yyr1[] =
24425{
24426 0, 482, 483, 484, 484, 485, 485, 485, 485, 485,
24427 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24428 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24429 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24430 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24431 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24432 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24433 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24434 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24435 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24436 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24437 485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
24438 485, 485, 485, 485, 485, 485, 485, 485, 485, 486,
24439 487, 488, 488, 488, 489, 489, 490, 490, 491, 491,
24440 491, 491, 491, 491, 491, 491, 491, 492, 492, 492,
24441 492, 492, 492, 493, 494, 494, 495, 495, 496, 496,
24442 496, 496, 497, 497, 497, 497, 497, 497, 498, 499,
24443 500, 500, 501, 501, 501, 501, 502, 502, 503, 503,
24444 504, 504, 504, 504, 504, 504, 505, 505, 505, 506,
24445 506, 506, 507, 507, 507, 507, 508, 508, 508, 508,
24446 508, 508, 508, 508, 508, 508, 508, 509, 509, 510,
24447 510, 511, 511, 512, 512, 512, 512, 513, 513, 513,
24448 513, 514, 514, 514, 514, 514, 514, 514, 515, 515,
24449 515, 516, 516, 517, 518, 518, 518, 518, 519, 519,
24450 520, 520, 521, 521, 522, 522, 522, 522, 522, 523,
24451 524, 524, 525, 525, 526, 527, 527, 527, 527, 527,
24452 528, 528, 528, 528, 528, 528, 528, 528, 528, 528,
24453 528, 528, 528, 528, 528, 528, 528, 528, 528, 529,
24454 529, 530, 530, 531, 532, 532, 532, 532, 532, 532,
24455 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
24456 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
24457 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
24458 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
24459 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
24460 533, 533, 534, 534, 534, 535, 535, 536, 536, 537,
24461 537, 537, 537, 538, 539, 539, 540, 540, 541, 541,
24462 541, 541, 542, 542, 543, 543, 543, 543, 544, 544,
24463 544, 544, 545, 546, 546, 547, 548, 548, 549, 549,
24464 549, 549, 550, 550, 551, 551, 552, 552, 553, 553,
24465 554, 554, 554, 555, 555, 556, 556, 557, 557, 557,
24466 557, 557, 557, 557, 557, 557, 557, 557, 557, 557,
24467 558, 558, 559, 559, 560, 560, 561, 561, 562, 563,
24468 563, 563, 563, 563, 564, 564, 565, 566, 566, 566,
24469 566, 566, 566, 567, 567, 567, 567, 567, 567, 567,
24470 567, 568, 568, 569, 569, 570, 570, 571, 571, 572,
24471 572, 572, 573, 573, 574, 575, 575, 576, 576, 577,
24472 577, 577, 577, 578, 578, 578, 578, 578, 578, 578,
24473 578, 578, 579, 579, 580, 580, 580, 580, 581, 582,
24474 582, 582, 583, 583, 583, 583, 583, 583, 583, 583,
24475 583, 584, 584, 585, 585, 585, 585, 585, 585, 585,
24476 586, 586, 587, 587, 588, 588, 589, 590, 590, 591,
24477 591, 591, 591, 592, 592, 593, 593, 594, 594, 595,
24478 595, 595, 595, 595, 596, 597, 598, 598, 598, 598,
24479 598, 599, 599, 600, 600, 601, 602, 602, 603, 603,
24480 604, 604, 604, 605, 605, 606, 606, 606, 607, 607,
24481 607, 607, 608, 608, 609, 609, 610, 611, 611, 612,
24482 612, 613, 614, 614, 614, 615, 615, 616, 617, 617,
24483 618, 619, 619, 620, 620, 621, 621, 622, 622, 623,
24484 623, 624, 624, 624, 624, 624, 624, 624, 624, 624,
24485 624, 624, 624, 624, 624, 625, 625, 626, 626, 626,
24486 626, 627, 627, 628, 628, 629, 629, 630, 630, 631,
24487 631, 632, 632, 633, 633, 634, 634, 635, 635, 636,
24488 637, 637, 638, 638, 639, 639, 640, 640, 641, 641,
24489 641, 641, 642, 643, 643, 644, 645, 645, 645, 645,
24490 645, 645, 645, 645, 645, 645, 645, 645, 645, 645,
24491 645, 645, 645, 645, 645, 645, 645, 645, 645, 645,
24492 645, 645, 645, 645, 646, 647, 647, 647, 647, 648,
24493 648, 649, 649, 650, 650, 651, 651, 652, 652, 653,
24494 654, 654, 655, 655, 655, 655, 656, 657, 658, 659,
24495 659, 660, 660, 661, 661, 662, 662, 663, 663, 663,
24496 664, 664, 664, 664, 665, 665, 666, 667, 667, 668,
24497 668, 669, 669, 670, 670, 671, 671, 672, 673, 674,
24498 675, 675, 676, 676, 677, 677, 678, 678, 679, 679,
24499 680, 680, 681, 681, 681, 681, 681, 682, 683, 683,
24500 684, 684, 685, 685, 685, 686, 686, 687, 687, 687,
24501 687, 687, 688, 688, 689, 689, 690, 691, 691, 692,
24502 692, 693, 694, 694, 695, 695, 696, 696, 697, 697,
24503 698, 698, 699, 699, 699, 700, 700, 700, 700, 701,
24504 701, 702, 702, 703, 703, 703, 703, 703, 703, 704,
24505 704, 705, 705, 706, 707, 707, 708, 709, 709, 709,
24506 709, 710, 711, 711, 711, 711, 711, 711, 711, 711,
24507 711, 711, 711, 711, 711, 711, 711, 711, 712, 713,
24508 713, 714, 714, 715, 715, 715, 715, 715, 715, 716,
24509 717, 717, 718, 719, 719, 720, 720, 721, 721, 721,
24510 721, 722, 722, 723, 724, 724, 725, 725, 725, 725,
24511 725, 726, 726, 727, 727, 728, 728, 728, 729, 729,
24512 730, 731, 731, 732, 732, 733, 733, 734, 734, 735,
24513 735, 736, 737, 738, 738, 738, 738, 738, 738, 738,
24514 738, 738, 738, 738, 738, 739, 739, 739, 739, 739,
24515 739, 739, 739, 739, 739, 739, 739, 739, 740, 740,
24516 740, 740, 740, 740, 740, 741, 741, 741, 742, 742,
24517 743, 743, 744, 744, 745, 745, 746, 747, 747, 747,
24518 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
24519 748, 748, 748, 748, 748, 748, 748, 748, 748, 749,
24520 749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
24521 749, 749, 749, 750, 750, 750, 750, 750, 750, 750,
24522 750, 750, 750, 750, 750, 751, 751, 752, 752, 752,
24523 752, 752, 752, 752, 752, 752, 753, 753, 754, 754,
24524 754, 754, 754, 754, 755, 755, 755, 755, 755, 755,
24525 755, 755, 756, 756, 757, 757, 758, 758, 758, 758,
24526 758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
24527 758, 758, 759, 759, 760, 760, 761, 762, 762, 763,
24528 763, 763, 763, 763, 764, 764, 765, 765, 765, 765,
24529 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
24530 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
24531 767, 767, 768, 768, 769, 769, 770, 771, 771, 772,
24532 772, 773, 773, 774, 775, 775, 776, 776, 776, 777,
24533 777, 777, 778, 778, 778, 778, 778, 778, 779, 779,
24534 780, 780, 781, 781, 782, 782, 783, 783, 784, 784,
24535 785, 785, 785, 786, 786, 787, 787, 788, 788, 789,
24536 789, 790, 790, 790, 791, 791, 791, 792, 792, 792,
24537 792, 793, 793, 794, 794, 795, 795, 796, 796, 797,
24538 797, 797, 797, 798, 798, 799, 799, 800, 800, 800,
24539 800, 800, 801, 801, 801, 801, 801, 802, 803, 804,
24540 804, 804, 805, 805, 805, 806, 807, 807, 807, 807,
24541 808, 808, 809, 810, 810, 811, 811, 812, 812, 812,
24542 812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
24543 812, 812, 812, 812, 813, 813, 813, 813, 813, 814,
24544 814, 815, 815, 816, 816, 817, 818, 818, 819, 819,
24545 819, 820, 820, 821, 821, 822, 822, 822, 822, 822,
24546 822, 823, 823, 824, 824, 825, 825, 825, 825, 826,
24547 826, 827, 827, 828, 829, 830, 830, 831, 831, 832,
24548 832, 832, 833, 833, 833, 834, 835, 835, 836, 837,
24549 837, 837, 837, 838, 839, 839, 839, 839, 840, 840,
24550 841, 841, 841, 842, 842, 843, 844, 844, 845, 845,
24551 845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
24552 845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
24553 845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
24554 845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
24555 845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
24556 845, 846, 846, 847, 847, 848, 848, 848, 848, 848,
24557 848, 849, 849, 849, 849, 849, 849, 849, 849, 849,
24558 849, 849, 849, 849, 849, 849, 849, 849, 849, 849,
24559 849, 849, 849, 849, 849, 849, 849, 849, 850, 851,
24560 851, 852, 852, 853, 853, 853, 853, 853, 854, 854,
24561 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
24562 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
24563 854, 854, 855, 856, 856, 857, 857, 858, 858, 858,
24564 858, 859, 860, 860, 861, 862, 862, 862, 862, 862,
24565 862, 863, 863, 864, 865, 865, 865, 866, 866, 867,
24566 867, 867, 867, 867, 868, 868, 869, 869, 869, 869,
24567 870, 870, 870, 871, 872, 872, 873, 874, 874, 875,
24568 875, 875, 875, 875, 875, 875, 875, 875, 875, 875,
24569 875, 875, 875, 876, 876, 876, 877, 877, 877, 877,
24570 877, 878, 878, 878, 879, 879, 880, 880, 880, 881,
24571 881, 881, 881, 882, 882, 882, 882, 883, 884, 885,
24572 885, 886, 886, 887, 887, 887, 888, 888, 888, 888,
24573 888, 888, 888, 889, 889, 890, 890, 890, 891, 892,
24574 892, 893, 894, 894, 895, 896, 896, 896, 896, 896,
24575 896, 896, 897, 897, 898, 899, 899, 899, 899, 899,
24576 899, 900, 900, 901, 902, 902, 902, 903, 903, 904,
24577 904, 905, 905, 906, 906, 907, 907, 908, 909, 909,
24578 910, 910, 910, 911, 911, 912, 912, 913, 913, 914,
24579 914, 915, 915, 916, 917, 917, 918, 918, 919, 919,
24580 919, 919, 920, 920, 920, 920, 920, 920, 920, 920,
24581 920, 921, 921, 922, 923, 923, 924, 924, 924, 925,
24582 926, 926, 927, 927, 927, 927, 928, 928, 928, 929,
24583 929, 930, 930, 930, 930, 931, 932, 932, 933, 933,
24584 933, 933, 933, 934, 934, 935, 935, 936, 937, 937,
24585 937, 938, 938, 938, 939, 939, 940, 941, 941, 942,
24586 943, 943, 944, 944, 944, 944, 944, 944, 944, 944,
24587 945, 945, 946, 946, 946, 947, 948, 948, 949, 949,
24588 950, 951, 951, 952, 953, 954, 954, 954, 954, 954,
24589 955, 955, 955, 956, 956, 957, 957, 958, 958, 958,
24590 958, 958, 958, 958, 958, 959, 959, 960, 960, 960,
24591 960, 960, 960, 960, 961, 961, 961, 962, 962, 963,
24592 964, 964, 964, 965, 965, 966, 966, 967, 967, 967,
24593 967, 967, 967, 967, 967, 967, 968, 968, 969, 969,
24594 969, 970, 970, 971, 971, 972, 972, 973, 974, 974,
24595 975, 975, 976, 976, 976, 976, 977, 977, 978, 978,
24596 978, 978, 979, 979, 980, 980, 981, 982, 982, 982,
24597 983, 983, 984, 984, 985, 985, 986, 986, 987, 987,
24598 988, 988, 988, 988, 988, 989, 990, 991, 992, 993,
24599 993, 994, 994, 995, 995, 996, 996, 997, 998, 998,
24600 998, 998, 999, 999, 1000, 1000, 1001, 1001, 1002, 1002,
24601 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003,
24602 1004, 1004, 1004, 1004, 1004, 1004, 1005, 1005, 1005, 1005,
24603 1006, 1006, 1007, 1007, 1007, 1007, 1007, 1008, 1008, 1008,
24604 1008, 1009, 1009, 1010, 1010, 1011, 1011, 1011, 1011, 1012,
24605 1012, 1013, 1013, 1013, 1014, 1015, 1015, 1016, 1016, 1017,
24606 1018, 1018, 1019, 1019, 1020, 1020, 1021, 1021, 1022, 1022,
24607 1022, 1023, 1023, 1024, 1024, 1025, 1026, 1026, 1027, 1027,
24608 1028, 1028, 1028, 1029, 1029, 1030, 1030, 1030, 1030, 1031,
24609 1031, 1032, 1032, 1033, 1033, 1033, 1033, 1033, 1033, 1034,
24610 1034, 1034, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1036,
24611 1036, 1036, 1036, 1037, 1037, 1038, 1038, 1039, 1039, 1039,
24612 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1040, 1040,
24613 1041, 1041, 1042, 1042, 1043, 1044, 1045, 1045, 1046, 1046,
24614 1047, 1048, 1049, 1049, 1049, 1049, 1049, 1049, 1050, 1050,
24615 1051, 1051, 1051, 1051, 1052, 1053, 1053, 1053, 1054, 1054,
24616 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054,
24617 1054, 1054, 1055, 1055, 1056, 1056, 1056, 1056, 1056, 1056,
24618 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
24619 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
24620 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
24621 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
24622 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
24623 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1057, 1057,
24624 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
24625 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
24626 1057, 1057, 1057, 1058, 1058, 1058, 1058, 1058, 1058, 1058,
24627 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1059, 1059, 1059,
24628 1059, 1059, 1059, 1059, 1060, 1060, 1061, 1061, 1062, 1062,
24629 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
24630 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
24631 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
24632 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
24633 1063, 1063, 1064, 1064, 1064, 1064, 1065, 1066, 1066, 1067,
24634 1067, 1068, 1068, 1069, 1069, 1069, 1070, 1070, 1070, 1070,
24635 1071, 1071, 1072, 1072, 1073, 1073, 1074, 1074, 1075, 1075,
24636 1076, 1077, 1077, 1077, 1078, 1079, 1079, 1080, 1080, 1081,
24637 1081, 1081, 1081, 1082, 1082, 1083, 1083, 1083, 1083, 1083,
24638 1084, 1084, 1084, 1084, 1084, 1085, 1085, 1085, 1086, 1086,
24639 1087, 1088, 1088, 1088, 1089, 1089, 1090, 1090, 1090, 1090,
24640 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1091, 1091,
24641 1092, 1092, 1093, 1093, 1093, 1093, 1093, 1093, 1094, 1094,
24642 1095, 1095, 1096, 1096, 1096, 1097, 1097, 1098, 1098, 1098,
24643 1099, 1099, 1100, 1100, 1101, 1101, 1101, 1101, 1101, 1101,
24644 1101, 1101, 1102, 1102, 1103, 1104, 1104, 1105, 1105, 1105,
24645 1105, 1105, 1105, 1106, 1107, 1108, 1108, 1108, 1109, 1109,
24646 1110, 1111, 1111, 1112, 1113, 1113, 1114, 1114, 1115, 1115,
24647 1116, 1116, 1116, 1116, 1117, 1117, 1118, 1118, 1119, 1119,
24648 1120, 1120, 1121, 1121, 1122, 1122, 1123, 1123, 1123, 1123,
24649 1124, 1124, 1125, 1125, 1126, 1126, 1127, 1128, 1129, 1130,
24650 1131, 1132, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134,
24651 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1135, 1136, 1137,
24652 1137, 1137, 1138, 1139, 1139, 1139, 1140, 1140, 1141, 1141,
24653 1141, 1142, 1142, 1142, 1143, 1143, 1143, 1143, 1144, 1144,
24654 1144, 1144, 1144, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24655 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24656 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24657 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24658 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24659 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24660 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24661 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24662 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24663 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24664 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24665 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24666 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24667 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24668 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24669 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24670 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24671 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24672 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24673 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24674 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24675 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24676 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24677 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24678 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24679 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24680 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24681 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24682 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
24683 1145, 1145, 1145, 1145, 1145, 1146, 1146, 1146, 1146, 1146,
24684 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
24685 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
24686 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
24687 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
24688 1146, 1146, 1146, 1146, 1146, 1147, 1147, 1147, 1147, 1147,
24689 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
24690 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1148, 1148,
24691 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
24692 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
24693 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
24694 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
24695 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
24696 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
24697 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
24698 1148, 1148, 1148, 1148, 1148
24699};
24700
24701 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
24702static const yytype_uint8 yyr2[] =
24703{
24704 0, 2, 1, 3, 1, 1, 1, 1, 1, 1,
24705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24706 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24707 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24708 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24709 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24712 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24713 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24714 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24715 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24716 1, 1, 1, 1, 1, 1, 1, 1, 0, 2,
24717 5, 1, 1, 0, 2, 0, 2, 0, 2, 2,
24718 3, 3, 1, 3, 3, 2, 1, 1, 2, 2,
24719 2, 3, 3, 5, 5, 5, 0, 3, 5, 5,
24720 5, 5, 3, 5, 3, 5, 3, 5, 5, 6,
24721 1, 1, 6, 4, 9, 7, 1, 0, 2, 0,
24722 1, 1, 1, 1, 1, 1, 2, 3, 3, 2,
24723 5, 1, 3, 3, 3, 3, 1, 3, 3, 2,
24724 2, 2, 2, 3, 3, 3, 3, 1, 3, 1,
24725 3, 1, 1, 2, 2, 2, 1, 1, 1, 1,
24726 1, 1, 1, 3, 5, 1, 1, 1, 1, 1,
24727 0, 1, 1, 2, 1, 2, 3, 2, 1, 1,
24728 2, 1, 2, 1, 2, 3, 4, 3, 2, 4,
24729 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
24730 4, 6, 4, 6, 10, 13, 4, 6, 4, 10,
24731 13, 4, 6, 4, 6, 5, 7, 11, 14, 1,
24732 3, 4, 3, 3, 2, 5, 3, 6, 4, 6,
24733 6, 6, 6, 5, 5, 6, 9, 4, 5, 7,
24734 6, 4, 8, 4, 2, 4, 3, 6, 4, 3,
24735 3, 3, 2, 2, 3, 4, 4, 3, 3, 3,
24736 3, 3, 3, 4, 4, 3, 2, 3, 2, 2,
24737 3, 3, 2, 2, 3, 4, 4, 4, 5, 1,
24738 3, 2, 1, 1, 0, 2, 0, 2, 0, 1,
24739 1, 1, 3, 3, 2, 0, 1, 3, 3, 1,
24740 5, 3, 1, 2, 1, 3, 2, 3, 6, 6,
24741 10, 1, 2, 1, 3, 4, 1, 3, 4, 6,
24742 4, 8, 2, 2, 11, 9, 1, 1, 1, 0,
24743 1, 1, 1, 1, 3, 2, 0, 1, 1, 3,
24744 3, 1, 1, 3, 3, 3, 3, 4, 3, 2,
24745 1, 0, 3, 0, 1, 0, 1, 3, 2, 1,
24746 1, 1, 3, 0, 1, 3, 1, 13, 16, 12,
24747 15, 14, 17, 1, 1, 2, 2, 2, 2, 1,
24748 0, 1, 0, 3, 0, 1, 3, 1, 3, 1,
24749 1, 1, 1, 1, 4, 2, 4, 2, 0, 3,
24750 1, 1, 2, 2, 1, 3, 4, 5, 2, 5,
24751 7, 5, 1, 2, 1, 2, 2, 2, 3, 3,
24752 3, 0, 1, 1, 1, 1, 1, 1, 1, 1,
24753 1, 3, 1, 5, 8, 3, 9, 4, 10, 11,
24754 2, 0, 3, 0, 1, 3, 1, 4, 0, 2,
24755 2, 2, 0, 1, 3, 3, 6, 4, 0, 1,
24756 1, 2, 2, 0, 3, 3, 2, 1, 1, 2,
24757 2, 4, 0, 1, 0, 6, 1, 1, 1, 3,
24758 3, 3, 5, 2, 0, 2, 2, 0, 3, 4,
24759 4, 0, 2, 0, 4, 0, 3, 8, 11, 7,
24760 10, 6, 2, 3, 0, 8, 11, 5, 1, 0,
24761 6, 5, 8, 4, 6, 1, 0, 3, 0, 1,
24762 2, 2, 2, 1, 2, 3, 2, 2, 2, 2,
24763 3, 3, 3, 1, 3, 1, 0, 1, 2, 2,
24764 1, 1, 3, 6, 10, 1, 0, 1, 2, 2,
24765 0, 2, 2, 1, 0, 5, 7, 1, 0, 7,
24766 2, 0, 3, 5, 5, 8, 2, 0, 2, 2,
24767 2, 1, 5, 2, 0, 2, 7, 6, 10, 6,
24768 6, 6, 6, 7, 6, 9, 9, 6, 6, 6,
24769 7, 6, 8, 8, 8, 8, 6, 6, 7, 7,
24770 8, 6, 9, 6, 7, 2, 2, 2, 2, 1,
24771 2, 1, 0, 7, 6, 4, 0, 1, 3, 4,
24772 1, 3, 1, 2, 2, 2, 2, 1, 1, 10,
24773 13, 2, 0, 2, 2, 1, 0, 5, 4, 4,
24774 11, 14, 12, 15, 5, 7, 11, 2, 1, 4,
24775 0, 8, 11, 1, 1, 7, 9, 8, 10, 8,
24776 4, 0, 5, 0, 2, 0, 2, 0, 2, 0,
24777 2, 0, 1, 1, 1, 1, 1, 8, 1, 1,
24778 16, 20, 1, 1, 2, 1, 3, 1, 1, 1,
24779 3, 1, 2, 0, 1, 2, 4, 1, 1, 1,
24780 1, 1, 3, 0, 1, 0, 1, 1, 4, 0,
24781 1, 1, 1, 3, 0, 1, 1, 1, 1, 2,
24782 0, 0, 2, 2, 1, 2, 2, 2, 2, 11,
24783 13, 1, 3, 5, 1, 3, 5, 1, 2, 2,
24784 1, 8, 6, 5, 4, 4, 3, 7, 8, 6,
24785 6, 6, 6, 6, 4, 7, 5, 8, 3, 1,
24786 3, 3, 1, 1, 1, 1, 1, 1, 1, 3,
24787 1, 3, 3, 1, 0, 1, 3, 7, 9, 9,
24788 8, 3, 0, 13, 1, 3, 5, 5, 3, 6,
24789 2, 1, 0, 2, 0, 2, 4, 0, 1, 0,
24790 6, 8, 8, 1, 3, 5, 5, 7, 9, 7,
24791 9, 5, 6, 6, 4, 6, 4, 6, 8, 4,
24792 6, 4, 6, 5, 7, 1, 1, 1, 2, 1,
24793 2, 1, 1, 1, 3, 3, 3, 3, 2, 2,
24794 1, 3, 1, 1, 1, 1, 1, 1, 1, 3,
24795 1, 2, 2, 3, 1, 3, 5, 2, 2, 0,
24796 6, 6, 6, 6, 6, 6, 6, 8, 9, 8,
24797 6, 6, 8, 9, 8, 9, 9, 7, 10, 1,
24798 1, 1, 1, 1, 1, 2, 1, 1, 2, 3,
24799 3, 3, 3, 2, 1, 2, 1, 3, 2, 1,
24800 1, 1, 1, 1, 1, 1, 1, 8, 8, 8,
24801 8, 8, 8, 9, 8, 8, 2, 0, 1, 2,
24802 1, 1, 1, 2, 1, 2, 2, 1, 1, 1,
24803 1, 1, 1, 1, 2, 2, 1, 2, 3, 3,
24804 3, 3, 4, 4, 3, 3, 3, 4, 4, 3,
24805 4, 4, 1, 1, 1, 0, 7, 7, 10, 1,
24806 1, 2, 4, 5, 1, 3, 2, 2, 2, 2,
24807 1, 2, 2, 4, 3, 2, 2, 2, 2, 2,
24808 2, 3, 2, 2, 2, 5, 5, 5, 5, 5,
24809 1, 3, 1, 2, 3, 0, 6, 6, 9, 3,
24810 0, 3, 0, 5, 2, 0, 3, 3, 3, 7,
24811 7, 10, 1, 1, 1, 1, 1, 1, 15, 18,
24812 1, 0, 1, 0, 1, 0, 2, 0, 1, 3,
24813 5, 5, 7, 4, 0, 1, 3, 2, 0, 1,
24814 0, 1, 1, 0, 2, 2, 0, 8, 11, 6,
24815 6, 2, 0, 3, 2, 1, 3, 1, 3, 2,
24816 1, 1, 2, 3, 2, 1, 3, 3, 3, 2,
24817 2, 1, 1, 1, 1, 2, 1, 1, 1, 1,
24818 4, 5, 1, 3, 3, 1, 3, 3, 5, 6,
24819 1, 3, 2, 1, 3, 1, 2, 4, 5, 1,
24820 1, 1, 1, 3, 3, 2, 2, 1, 2, 2,
24821 2, 2, 1, 2, 2, 2, 2, 1, 1, 1,
24822 3, 3, 5, 2, 0, 2, 1, 3, 5, 5,
24823 5, 1, 2, 1, 0, 4, 6, 4, 6, 4,
24824 6, 4, 6, 4, 6, 3, 5, 5, 5, 1,
24825 3, 1, 3, 2, 2, 1, 2, 1, 2, 11,
24826 10, 10, 2, 2, 0, 9, 2, 0, 10, 11,
24827 11, 5, 5, 8, 4, 4, 7, 7, 1, 1,
24828 1, 1, 1, 1, 3, 1, 5, 5, 6, 6,
24829 6, 6, 6, 8, 8, 6, 6, 7, 9, 9,
24830 8, 10, 6, 6, 6, 6, 6, 6, 6, 8,
24831 6, 8, 6, 8, 7, 9, 6, 8, 7, 9,
24832 8, 10, 9, 11, 8, 10, 9, 11, 8, 8,
24833 7, 6, 6, 6, 6, 8, 8, 8, 8, 6,
24834 9, 1, 0, 2, 0, 7, 7, 7, 9, 8,
24835 7, 6, 6, 6, 6, 6, 6, 6, 9, 9,
24836 6, 6, 6, 8, 6, 8, 8, 8, 8, 6,
24837 8, 6, 8, 7, 9, 7, 9, 6, 7, 1,
24838 3, 3, 3, 1, 1, 1, 1, 1, 6, 6,
24839 6, 6, 6, 6, 7, 7, 6, 9, 9, 6,
24840 6, 6, 6, 6, 6, 8, 8, 8, 6, 7,
24841 6, 6, 5, 1, 0, 3, 3, 5, 6, 6,
24842 6, 8, 1, 3, 1, 5, 5, 6, 7, 4,
24843 4, 4, 6, 13, 1, 1, 3, 3, 1, 1,
24844 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,
24845 1, 1, 0, 3, 2, 0, 2, 2, 2, 3,
24846 3, 3, 3, 3, 3, 2, 3, 2, 5, 4,
24847 3, 3, 3, 1, 1, 0, 3, 2, 2, 1,
24848 2, 1, 3, 2, 1, 0, 2, 3, 0, 9,
24849 11, 12, 14, 3, 4, 4, 0, 2, 5, 1,
24850 0, 1, 2, 3, 3, 3, 1, 2, 1, 1,
24851 1, 1, 1, 1, 0, 5, 4, 6, 4, 3,
24852 5, 5, 4, 4, 6, 4, 6, 6, 5, 7,
24853 9, 6, 1, 0, 6, 11, 11, 11, 13, 9,
24854 11, 1, 1, 10, 4, 2, 5, 2, 0, 6,
24855 5, 3, 5, 1, 3, 1, 1, 2, 1, 1,
24856 1, 1, 0, 1, 0, 1, 0, 1, 0, 1,
24857 0, 3, 0, 2, 1, 3, 1, 0, 2, 4,
24858 3, 5, 1, 1, 1, 1, 1, 1, 1, 1,
24859 1, 1, 3, 2, 1, 1, 1, 1, 0, 5,
24860 3, 0, 1, 1, 1, 1, 3, 9, 12, 3,
24861 0, 2, 3, 2, 3, 7, 1, 3, 1, 4,
24862 4, 7, 2, 1, 1, 1, 3, 2, 8, 5,
24863 0, 4, 3, 0, 2, 0, 7, 2, 0, 5,
24864 3, 0, 2, 2, 2, 3, 1, 3, 1, 2,
24865 1, 0, 1, 2, 0, 8, 1, 3, 3, 5,
24866 2, 1, 3, 7, 1, 0, 3, 2, 2, 2,
24867 0, 2, 2, 1, 1, 3, 3, 1, 2, 4,
24868 4, 2, 3, 5, 5, 1, 1, 9, 9, 1,
24869 2, 4, 4, 4, 2, 2, 3, 1, 3, 7,
24870 1, 2, 0, 1, 0, 2, 0, 3, 3, 4,
24871 4, 4, 4, 3, 2, 1, 1, 0, 1, 1,
24872 0, 1, 5, 1, 0, 1, 0, 3, 1, 3,
24873 4, 3, 2, 2, 1, 1, 1, 0, 2, 4,
24874 5, 4, 2, 3, 1, 1, 1, 1, 2, 2,
24875 1, 1, 1, 1, 1, 1, 3, 0, 1, 3,
24876 1, 1, 1, 1, 1, 2, 4, 4, 5, 2,
24877 0, 1, 3, 1, 0, 1, 2, 3, 2, 4,
24878 2, 3, 2, 0, 4, 5, 2, 0, 1, 3,
24879 2, 3, 2, 3, 2, 3, 2, 3, 1, 4,
24880 3, 4, 5, 4, 5, 4, 5, 2, 4, 1,
24881 1, 0, 1, 4, 5, 4, 0, 2, 2, 2,
24882 1, 1, 0, 4, 2, 1, 2, 2, 4, 1,
24883 3, 1, 2, 3, 6, 4, 0, 2, 6, 2,
24884 1, 3, 4, 0, 2, 0, 2, 0, 2, 4,
24885 0, 1, 0, 1, 3, 3, 7, 12, 1, 3,
24886 2, 3, 3, 1, 2, 2, 2, 2, 1, 1,
24887 3, 3, 2, 2, 3, 5, 6, 2, 3, 3,
24888 4, 0, 1, 1, 1, 1, 1, 2, 4, 1,
24889 1, 1, 1, 2, 3, 3, 0, 1, 1, 1,
24890 1, 1, 2, 2, 2, 2, 2, 1, 3, 0,
24891 1, 1, 1, 1, 5, 2, 1, 1, 1, 1,
24892 4, 1, 2, 2, 1, 3, 3, 2, 1, 0,
24893 5, 2, 5, 2, 1, 3, 3, 0, 1, 1,
24894 1, 1, 1, 1, 3, 3, 3, 3, 3, 3,
24895 3, 0, 1, 4, 1, 3, 3, 5, 2, 2,
24896 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
24897 3, 3, 3, 2, 2, 3, 3, 2, 2, 3,
24898 5, 4, 6, 3, 5, 4, 6, 4, 6, 5,
24899 7, 3, 2, 4, 2, 3, 3, 4, 3, 4,
24900 3, 4, 5, 6, 6, 7, 6, 7, 6, 7,
24901 3, 4, 4, 6, 2, 3, 4, 1, 1, 3,
24902 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
24903 3, 3, 3, 3, 3, 2, 2, 5, 6, 6,
24904 7, 3, 4, 1, 1, 2, 4, 1, 1, 1,
24905 2, 2, 2, 2, 1, 1, 4, 3, 5, 6,
24906 8, 6, 6, 4, 4, 1, 1, 1, 5, 1,
24907 1, 4, 1, 4, 1, 4, 1, 4, 1, 1,
24908 1, 1, 1, 1, 6, 4, 4, 4, 4, 6,
24909 5, 5, 5, 4, 6, 4, 4, 4, 4, 5,
24910 7, 7, 9, 5, 4, 6, 5, 7, 7, 7,
24911 2, 3, 3, 3, 4, 0, 4, 1, 3, 3,
24912 1, 1, 1, 2, 2, 0, 2, 3, 3, 4,
24913 2, 2, 5, 0, 5, 0, 2, 0, 1, 3,
24914 3, 2, 2, 0, 6, 1, 0, 3, 0, 3,
24915 3, 3, 0, 1, 4, 2, 2, 2, 2, 2,
24916 3, 2, 2, 3, 0, 4, 3, 5, 4, 3,
24917 5, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24918 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
24919 1, 4, 1, 4, 1, 2, 1, 2, 1, 3,
24920 1, 3, 1, 3, 3, 1, 3, 3, 3, 2,
24921 1, 3, 3, 0, 1, 1, 1, 1, 1, 1,
24922 1, 1, 4, 3, 2, 3, 0, 3, 3, 2,
24923 2, 1, 0, 2, 2, 3, 2, 1, 1, 3,
24924 5, 1, 2, 4, 2, 0, 1, 0, 1, 2,
24925 2, 2, 3, 5, 1, 0, 1, 2, 0, 2,
24926 1, 0, 1, 0, 1, 3, 3, 2, 1, 1,
24927 1, 3, 1, 2, 1, 3, 1, 1, 1, 1,
24928 1, 1, 1, 2, 1, 1, 1, 1, 1, 2,
24929 6, 2, 3, 5, 1, 1, 1, 1, 1, 1,
24930 2, 2, 1, 1, 1, 1, 1, 3, 1, 1,
24931 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24932 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24933 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24934 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24935 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24936 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24937 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24938 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24939 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24940 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24941 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24942 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24943 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24944 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24945 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24946 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24947 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24948 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24949 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24950 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24951 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24952 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24953 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24954 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24955 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24956 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24957 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24958 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24959 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24960 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24961 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24962 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24963 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24964 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24965 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24966 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24967 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24968 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24969 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24970 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24971 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24972 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24973 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24974 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24975 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
24976 1, 1, 1, 1, 1
24977};
24978
24979
24980#define yyerrok (yyerrstatus = 0)
24981#define yyclearin (yychar = YYEMPTY)
24982#define YYEMPTY (-2)
24983#define YYEOF 0
24984
24985#define YYACCEPT goto yyacceptlab
24986#define YYABORT goto yyabortlab
24987#define YYERROR goto yyerrorlab
24988
24989
24990#define YYRECOVERING() (!!yyerrstatus)
24991
24992#define YYBACKUP(Token, Value) \
24993do \
24994 if (yychar == YYEMPTY) \
24995 { \
24996 yychar = (Token); \
24997 yylval = (Value); \
24998 YYPOPSTACK (yylen); \
24999 yystate = *yyssp; \
25000 goto yybackup; \
25001 } \
25002 else \
25003 { \
25004 yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
25005 YYERROR; \
25006 } \
25007while (0)
25008
25009/* Error token number */
25010#define YYTERROR 1
25011#define YYERRCODE 256
25012
25013
25014/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
25015 If N is 0, then set CURRENT to the empty location which ends
25016 the previous symbol: RHS[0] (always defined). */
25017
25018#ifndef YYLLOC_DEFAULT
25019# define YYLLOC_DEFAULT(Current, Rhs, N) \
25020 do \
25021 if (N) \
25022 { \
25023 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
25024 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
25025 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
25026 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
25027 } \
25028 else \
25029 { \
25030 (Current).first_line = (Current).last_line = \
25031 YYRHSLOC (Rhs, 0).last_line; \
25032 (Current).first_column = (Current).last_column = \
25033 YYRHSLOC (Rhs, 0).last_column; \
25034 } \
25035 while (0)
25036#endif
25037
25038#define YYRHSLOC(Rhs, K) ((Rhs)[K])
25039
25040
25041/* Enable debugging if requested. */
25042#if YYDEBUG
25043
25044# ifndef YYFPRINTF
25045# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
25046# define YYFPRINTF fprintf
25047# endif
25048
25049# define YYDPRINTF(Args) \
25050do { \
25051 if (yydebug) \
25052 YYFPRINTF Args; \
25053} while (0)
25054
25055
25056/* YY_LOCATION_PRINT -- Print the location on the stream.
25057 This macro was not mandated originally: define only if we know
25058 we won't break user code: when these are the locations we know. */
25059
25060#ifndef YY_LOCATION_PRINT
25061# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
25062
25063/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
25064
25065YY_ATTRIBUTE_UNUSED
25066static unsigned
25067yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
25068{
25069 unsigned res = 0;
25070 int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
25071 if (0 <= yylocp->first_line)
25072 {
25073 res += YYFPRINTF (yyo, "%d", yylocp->first_line);
25074 if (0 <= yylocp->first_column)
25075 res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
25076 }
25077 if (0 <= yylocp->last_line)
25078 {
25079 if (yylocp->first_line < yylocp->last_line)
25080 {
25081 res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
25082 if (0 <= end_col)
25083 res += YYFPRINTF (yyo, ".%d", end_col);
25084 }
25085 else if (0 <= end_col && yylocp->first_column < end_col)
25086 res += YYFPRINTF (yyo, "-%d", end_col);
25087 }
25088 return res;
25089 }
25090
25091# define YY_LOCATION_PRINT(File, Loc) \
25092 yy_location_print_ (File, &(Loc))
25093
25094# else
25095# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
25096# endif
25097#endif
25098
25099
25100# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
25101do { \
25102 if (yydebug) \
25103 { \
25104 YYFPRINTF (stderr, "%s ", Title); \
25105 yy_symbol_print (stderr, \
25106 Type, Value, Location, yyscanner); \
25107 YYFPRINTF (stderr, "\n"); \
25108 } \
25109} while (0)
25110
25111
25112/*----------------------------------------.
25113| Print this symbol's value on YYOUTPUT. |
25114`----------------------------------------*/
25115
25116static void
25117yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
25118{
25119 FILE *yyo = yyoutput;
25120 YYUSE (yyo);
25121 YYUSE (yylocationp);
25122 YYUSE (yyscanner);
25123 if (!yyvaluep)
25124 return;
25125# ifdef YYPRINT
25126 if (yytype < YYNTOKENS)
25127 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
25128# endif
25129 YYUSE (yytype);
25130}
25131
25132
25133/*--------------------------------.
25134| Print this symbol on YYOUTPUT. |
25135`--------------------------------*/
25136
25137static void
25138yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
25139{
25140 YYFPRINTF (yyoutput, "%s %s (",
25141 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
25142
25143 YY_LOCATION_PRINT (yyoutput, *yylocationp);
25144 YYFPRINTF (yyoutput, ": ");
25145 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner);
25146 YYFPRINTF (yyoutput, ")");
25147}
25148
25149/*------------------------------------------------------------------.
25150| yy_stack_print -- Print the state stack from its BOTTOM up to its |
25151| TOP (included). |
25152`------------------------------------------------------------------*/
25153
25154static void
25155yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
25156{
25157 YYFPRINTF (stderr, "Stack now");
25158 for (; yybottom <= yytop; yybottom++)
25159 {
25160 int yybot = *yybottom;
25161 YYFPRINTF (stderr, " %d", yybot);
25162 }
25163 YYFPRINTF (stderr, "\n");
25164}
25165
25166# define YY_STACK_PRINT(Bottom, Top) \
25167do { \
25168 if (yydebug) \
25169 yy_stack_print ((Bottom), (Top)); \
25170} while (0)
25171
25172
25173/*------------------------------------------------.
25174| Report that the YYRULE is going to be reduced. |
25175`------------------------------------------------*/
25176
25177static void
25178yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
25179{
25180 unsigned long int yylno = yyrline[yyrule];
25181 int yynrhs = yyr2[yyrule];
25182 int yyi;
25183 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
25184 yyrule - 1, yylno);
25185 /* The symbols being reduced. */
25186 for (yyi = 0; yyi < yynrhs; yyi++)
25187 {
25188 YYFPRINTF (stderr, " $%d = ", yyi + 1);
25189 yy_symbol_print (stderr,
25190 yystos[yyssp[yyi + 1 - yynrhs]],
25191 &(yyvsp[(yyi + 1) - (yynrhs)])
25192 , &(yylsp[(yyi + 1) - (yynrhs)]) , yyscanner);
25193 YYFPRINTF (stderr, "\n");
25194 }
25195}
25196
25197# define YY_REDUCE_PRINT(Rule) \
25198do { \
25199 if (yydebug) \
25200 yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
25201} while (0)
25202
25203/* Nonzero means print parse trace. It is left uninitialized so that
25204 multiple parsers can coexist. */
25205int yydebug;
25206#else /* !YYDEBUG */
25207# define YYDPRINTF(Args)
25208# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
25209# define YY_STACK_PRINT(Bottom, Top)
25210# define YY_REDUCE_PRINT(Rule)
25211#endif /* !YYDEBUG */
25212
25213
25214/* YYINITDEPTH -- initial size of the parser's stacks. */
25215#ifndef YYINITDEPTH
25216# define YYINITDEPTH 200
25217#endif
25218
25219/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
25220 if the built-in stack extension method is used).
25221
25222 Do not make this value too large; the results are undefined if
25223 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
25224 evaluated with infinite-precision integer arithmetic. */
25225
25226#ifndef YYMAXDEPTH
25227# define YYMAXDEPTH 10000
25228#endif
25229
25230
25231#if YYERROR_VERBOSE
25232
25233# ifndef yystrlen
25234# if defined __GLIBC__ && defined _STRING_H
25235# define yystrlen strlen
25236# else
25237/* Return the length of YYSTR. */
25238static YYSIZE_T
25239yystrlen (const char *yystr)
25240{
25241 YYSIZE_T yylen;
25242 for (yylen = 0; yystr[yylen]; yylen++)
25243 continue;
25244 return yylen;
25245}
25246# endif
25247# endif
25248
25249# ifndef yystpcpy
25250# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
25251# define yystpcpy stpcpy
25252# else
25253/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
25254 YYDEST. */
25255static char *
25256yystpcpy (char *yydest, const char *yysrc)
25257{
25258 char *yyd = yydest;
25259 const char *yys = yysrc;
25260
25261 while ((*yyd++ = *yys++) != '\0')
25262 continue;
25263
25264 return yyd - 1;
25265}
25266# endif
25267# endif
25268
25269# ifndef yytnamerr
25270/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
25271 quotes and backslashes, so that it's suitable for yyerror. The
25272 heuristic is that double-quoting is unnecessary unless the string
25273 contains an apostrophe, a comma, or backslash (other than
25274 backslash-backslash). YYSTR is taken from yytname. If YYRES is
25275 null, do not copy; instead, return the length of what the result
25276 would have been. */
25277static YYSIZE_T
25278yytnamerr (char *yyres, const char *yystr)
25279{
25280 if (*yystr == '"')
25281 {
25282 YYSIZE_T yyn = 0;
25283 char const *yyp = yystr;
25284
25285 for (;;)
25286 switch (*++yyp)
25287 {
25288 case '\'':
25289 case ',':
25290 goto do_not_strip_quotes;
25291
25292 case '\\':
25293 if (*++yyp != '\\')
25294 goto do_not_strip_quotes;
25295 /* Fall through. */
25296 default:
25297 if (yyres)
25298 yyres[yyn] = *yyp;
25299 yyn++;
25300 break;
25301
25302 case '"':
25303 if (yyres)
25304 yyres[yyn] = '\0';
25305 return yyn;
25306 }
25307 do_not_strip_quotes: ;
25308 }
25309
25310 if (! yyres)
25311 return yystrlen (yystr);
25312
25313 return yystpcpy (yyres, yystr) - yyres;
25314}
25315# endif
25316
25317/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
25318 about the unexpected token YYTOKEN for the state stack whose top is
25319 YYSSP.
25320
25321 Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
25322 not large enough to hold the message. In that case, also set
25323 *YYMSG_ALLOC to the required number of bytes. Return 2 if the
25324 required number of bytes is too large to store. */
25325static int
25326yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
25327 yytype_int16 *yyssp, int yytoken)
25328{
25329 YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
25330 YYSIZE_T yysize = yysize0;
25331 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
25332 /* Internationalized format string. */
25333 const char *yyformat = YY_NULLPTR;
25334 /* Arguments of yyformat. */
25335 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
25336 /* Number of reported tokens (one for the "unexpected", one per
25337 "expected"). */
25338 int yycount = 0;
25339
25340 /* There are many possibilities here to consider:
25341 - If this state is a consistent state with a default action, then
25342 the only way this function was invoked is if the default action
25343 is an error action. In that case, don't check for expected
25344 tokens because there are none.
25345 - The only way there can be no lookahead present (in yychar) is if
25346 this state is a consistent state with a default action. Thus,
25347 detecting the absence of a lookahead is sufficient to determine
25348 that there is no unexpected or expected token to report. In that
25349 case, just report a simple "syntax error".
25350 - Don't assume there isn't a lookahead just because this state is a
25351 consistent state with a default action. There might have been a
25352 previous inconsistent state, consistent state with a non-default
25353 action, or user semantic action that manipulated yychar.
25354 - Of course, the expected token list depends on states to have
25355 correct lookahead information, and it depends on the parser not
25356 to perform extra reductions after fetching a lookahead from the
25357 scanner and before detecting a syntax error. Thus, state merging
25358 (from LALR or IELR) and default reductions corrupt the expected
25359 token list. However, the list is correct for canonical LR with
25360 one exception: it will still contain any token that will not be
25361 accepted due to an error action in a later state.
25362 */
25363 if (yytoken != YYEMPTY)
25364 {
25365 int yyn = yypact[*yyssp];
25366 yyarg[yycount++] = yytname[yytoken];
25367 if (!yypact_value_is_default (yyn))
25368 {
25369 /* Start YYX at -YYN if negative to avoid negative indexes in
25370 YYCHECK. In other words, skip the first -YYN actions for
25371 this state because they are default actions. */
25372 int yyxbegin = yyn < 0 ? -yyn : 0;
25373 /* Stay within bounds of both yycheck and yytname. */
25374 int yychecklim = YYLAST - yyn + 1;
25375 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
25376 int yyx;
25377
25378 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
25379 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
25380 && !yytable_value_is_error (yytable[yyx + yyn]))
25381 {
25382 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
25383 {
25384 yycount = 1;
25385 yysize = yysize0;
25386 break;
25387 }
25388 yyarg[yycount++] = yytname[yyx];
25389 {
25390 YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
25391 if (! (yysize <= yysize1
25392 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
25393 return 2;
25394 yysize = yysize1;
25395 }
25396 }
25397 }
25398 }
25399
25400 switch (yycount)
25401 {
25402# define YYCASE_(N, S) \
25403 case N: \
25404 yyformat = S; \
25405 break
25406 YYCASE_(0, YY_("syntax error"));
25407 YYCASE_(1, YY_("syntax error, unexpected %s"));
25408 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
25409 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
25410 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
25411 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
25412# undef YYCASE_
25413 }
25414
25415 {
25416 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
25417 if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
25418 return 2;
25419 yysize = yysize1;
25420 }
25421
25422 if (*yymsg_alloc < yysize)
25423 {
25424 *yymsg_alloc = 2 * yysize;
25425 if (! (yysize <= *yymsg_alloc
25426 && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
25427 *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
25428 return 1;
25429 }
25430
25431 /* Avoid sprintf, as that infringes on the user's name space.
25432 Don't have undefined behavior even if the translation
25433 produced a string with the wrong number of "%s"s. */
25434 {
25435 char *yyp = *yymsg;
25436 int yyi = 0;
25437 while ((*yyp = *yyformat) != '\0')
25438 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
25439 {
25440 yyp += yytnamerr (yyp, yyarg[yyi++]);
25441 yyformat += 2;
25442 }
25443 else
25444 {
25445 yyp++;
25446 yyformat++;
25447 }
25448 }
25449 return 0;
25450}
25451#endif /* YYERROR_VERBOSE */
25452
25453/*-----------------------------------------------.
25454| Release the memory associated to this symbol. |
25455`-----------------------------------------------*/
25456
25457static void
25458yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
25459{
25460 YYUSE (yyvaluep);
25461 YYUSE (yylocationp);
25462 YYUSE (yyscanner);
25463 if (!yymsg)
25464 yymsg = "Deleting";
25465 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
25466
25467 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
25468 YYUSE (yytype);
25469 YY_IGNORE_MAYBE_UNINITIALIZED_END
25470}
25471
25472
25473
25474
25475/*----------.
25476| yyparse. |
25477`----------*/
25478
25479int
25480yyparse (core_yyscan_t yyscanner)
25481{
25482/* The lookahead symbol. */
25483int yychar;
25484
25485
25486/* The semantic value of the lookahead symbol. */
25487/* Default value used for initialization, for pacifying older GCCs
25488 or non-GCC compilers. */
25489YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
25490YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
25491
25492/* Location data for the lookahead symbol. */
25493static YYLTYPE yyloc_default
25494# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
25495 = { 1, 1, 1, 1 }
25496# endif
25497;
25498YYLTYPE yylloc = yyloc_default;
25499
25500 /* Number of syntax errors so far. */
25501 int yynerrs;
25502
25503 int yystate;
25504 /* Number of tokens to shift before error messages enabled. */
25505 int yyerrstatus;
25506
25507 /* The stacks and their tools:
25508 'yyss': related to states.
25509 'yyvs': related to semantic values.
25510 'yyls': related to locations.
25511
25512 Refer to the stacks through separate pointers, to allow yyoverflow
25513 to reallocate them elsewhere. */
25514
25515 /* The state stack. */
25516 yytype_int16 yyssa[YYINITDEPTH];
25517 yytype_int16 *yyss;
25518 yytype_int16 *yyssp;
25519
25520 /* The semantic value stack. */
25521 YYSTYPE yyvsa[YYINITDEPTH];
25522 YYSTYPE *yyvs;
25523 YYSTYPE *yyvsp;
25524
25525 /* The location stack. */
25526 YYLTYPE yylsa[YYINITDEPTH];
25527 YYLTYPE *yyls;
25528 YYLTYPE *yylsp;
25529
25530 /* The locations where the error started and ended. */
25531 YYLTYPE yyerror_range[3];
25532
25533 YYSIZE_T yystacksize;
25534
25535 int yyn;
25536 int yyresult;
25537 /* Lookahead token as an internal (translated) token number. */
25538 int yytoken = 0;
25539 /* The variables used to return semantic value and location from the
25540 action routines. */
25541 YYSTYPE yyval;
25542 YYLTYPE yyloc;
25543
25544#if YYERROR_VERBOSE
25545 /* Buffer for error messages, and its allocated size. */
25546 char yymsgbuf[128];
25547 char *yymsg = yymsgbuf;
25548 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
25549#endif
25550
25551#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
25552
25553 /* The number of symbols on the RHS of the reduced rule.
25554 Keep to zero when no symbol should be popped. */
25555 int yylen = 0;
25556
25557 yyssp = yyss = yyssa;
25558 yyvsp = yyvs = yyvsa;
25559 yylsp = yyls = yylsa;
25560 yystacksize = YYINITDEPTH;
25561
25562 YYDPRINTF ((stderr, "Starting parse\n"));
25563
25564 yystate = 0;
25565 yyerrstatus = 0;
25566 yynerrs = 0;
25567 yychar = YYEMPTY; /* Cause a token to be read. */
25568 yylsp[0] = yylloc;
25569 goto yysetstate;
25570
25571/*------------------------------------------------------------.
25572| yynewstate -- Push a new state, which is found in yystate. |
25573`------------------------------------------------------------*/
25574 yynewstate:
25575 /* In all cases, when you get here, the value and location stacks
25576 have just been pushed. So pushing a state here evens the stacks. */
25577 yyssp++;
25578
25579 yysetstate:
25580 *yyssp = yystate;
25581
25582 if (yyss + yystacksize - 1 <= yyssp)
25583 {
25584 /* Get the current used size of the three stacks, in elements. */
25585 YYSIZE_T yysize = yyssp - yyss + 1;
25586
25587#ifdef yyoverflow
25588 {
25589 /* Give user a chance to reallocate the stack. Use copies of
25590 these so that the &'s don't force the real ones into
25591 memory. */
25592 YYSTYPE *yyvs1 = yyvs;
25593 yytype_int16 *yyss1 = yyss;
25594 YYLTYPE *yyls1 = yyls;
25595
25596 /* Each stack pointer address is followed by the size of the
25597 data in use in that stack, in bytes. This used to be a
25598 conditional around just the two extra args, but that might
25599 be undefined if yyoverflow is a macro. */
25600 yyoverflow (YY_("memory exhausted"),
25601 &yyss1, yysize * sizeof (*yyssp),
25602 &yyvs1, yysize * sizeof (*yyvsp),
25603 &yyls1, yysize * sizeof (*yylsp),
25604 &yystacksize);
25605
25606 yyls = yyls1;
25607 yyss = yyss1;
25608 yyvs = yyvs1;
25609 }
25610#else /* no yyoverflow */
25611# ifndef YYSTACK_RELOCATE
25612 goto yyexhaustedlab;
25613# else
25614 /* Extend the stack our own way. */
25615 if (YYMAXDEPTH <= yystacksize)
25616 goto yyexhaustedlab;
25617 yystacksize *= 2;
25618 if (YYMAXDEPTH < yystacksize)
25619 yystacksize = YYMAXDEPTH;
25620
25621 {
25622 yytype_int16 *yyss1 = yyss;
25623 union yyalloc *yyptr =
25624 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
25625 if (! yyptr)
25626 goto yyexhaustedlab;
25627 YYSTACK_RELOCATE (yyss_alloc, yyss);
25628 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
25629 YYSTACK_RELOCATE (yyls_alloc, yyls);
25630# undef YYSTACK_RELOCATE
25631 if (yyss1 != yyssa)
25632 YYSTACK_FREE (yyss1);
25633 }
25634# endif
25635#endif /* no yyoverflow */
25636
25637 yyssp = yyss + yysize - 1;
25638 yyvsp = yyvs + yysize - 1;
25639 yylsp = yyls + yysize - 1;
25640
25641 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
25642 (unsigned long int) yystacksize));
25643
25644 if (yyss + yystacksize - 1 <= yyssp)
25645 YYABORT;
25646 }
25647
25648 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
25649
25650 if (yystate == YYFINAL)
25651 YYACCEPT;
25652
25653 goto yybackup;
25654
25655/*-----------.
25656| yybackup. |
25657`-----------*/
25658yybackup:
25659
25660 /* Do appropriate processing given the current state. Read a
25661 lookahead token if we need one and don't already have one. */
25662
25663 /* First try to decide what to do without reference to lookahead token. */
25664 yyn = yypact[yystate];
25665 if (yypact_value_is_default (yyn))
25666 goto yydefault;
25667
25668 /* Not known => get a lookahead token if don't already have one. */
25669
25670 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
25671 if (yychar == YYEMPTY)
25672 {
25673 YYDPRINTF ((stderr, "Reading a token: "));
25674 yychar = yylex (&yylval, &yylloc, yyscanner);
25675 }
25676
25677 if (yychar <= YYEOF)
25678 {
25679 yychar = yytoken = YYEOF;
25680 YYDPRINTF ((stderr, "Now at end of input.\n"));
25681 }
25682 else
25683 {
25684 yytoken = YYTRANSLATE (yychar);
25685 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
25686 }
25687
25688 /* If the proper action on seeing token YYTOKEN is to reduce or to
25689 detect an error, take that action. */
25690 yyn += yytoken;
25691 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
25692 goto yydefault;
25693 yyn = yytable[yyn];
25694 if (yyn <= 0)
25695 {
25696 if (yytable_value_is_error (yyn))
25697 goto yyerrlab;
25698 yyn = -yyn;
25699 goto yyreduce;
25700 }
25701
25702 /* Count tokens shifted since error; after three, turn off error
25703 status. */
25704 if (yyerrstatus)
25705 yyerrstatus--;
25706
25707 /* Shift the lookahead token. */
25708 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
25709
25710 /* Discard the shifted token. */
25711 yychar = YYEMPTY;
25712
25713 yystate = yyn;
25714 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
25715 *++yyvsp = yylval;
25716 YY_IGNORE_MAYBE_UNINITIALIZED_END
25717 *++yylsp = yylloc;
25718 goto yynewstate;
25719
25720
25721/*-----------------------------------------------------------.
25722| yydefault -- do the default action for the current state. |
25723`-----------------------------------------------------------*/
25724yydefault:
25725 yyn = yydefact[yystate];
25726 if (yyn == 0)
25727 goto yyerrlab;
25728 goto yyreduce;
25729
25730
25731/*-----------------------------.
25732| yyreduce -- Do a reduction. |
25733`-----------------------------*/
25734yyreduce:
25735 /* yyn is the number of a rule to reduce with. */
25736 yylen = yyr2[yyn];
25737
25738 /* If YYLEN is nonzero, implement the default value of the action:
25739 '$$ = $1'.
25740
25741 Otherwise, the following line sets YYVAL to garbage.
25742 This behavior is undocumented and Bison
25743 users should not rely upon it. Assigning to YYVAL
25744 unconditionally makes the parser a bit smaller, and it avoids a
25745 GCC warning that YYVAL may be used uninitialized. */
25746 yyval = yyvsp[1-yylen];
25747
25748 /* Default location. */
25749 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
25750 YY_REDUCE_PRINT (yyn);
25751 switch (yyn)
25752 {
25753 case 2:
25754#line 790 "gram.y" /* yacc.c:1646 */
25755 {
25756 pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
25757 }
25758#line 25759 "gram.c" /* yacc.c:1646 */
25759 break;
25760
25761 case 3:
25762#line 806 "gram.y" /* yacc.c:1646 */
25763 {
25764 if ((yyvsp[-2].list) != NIL)
25765 {
25766 /* update length of previous stmt */
25767 updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
25768 }
25769 if ((yyvsp[0].node) != NULL)
25770 (yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[-1]) + 1));
25771 else
25772 (yyval.list) = (yyvsp[-2].list);
25773 }
25774#line 25775 "gram.c" /* yacc.c:1646 */
25775 break;
25776
25777 case 4:
25778#line 818 "gram.y" /* yacc.c:1646 */
25779 {
25780 if ((yyvsp[0].node) != NULL)
25781 (yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
25782 else
25783 (yyval.list) = NIL;
25784 }
25785#line 25786 "gram.c" /* yacc.c:1646 */
25786 break;
25787
25788 case 128:
25789#line 951 "gram.y" /* yacc.c:1646 */
25790 { (yyval.node) = NULL; }
25791#line 25792 "gram.c" /* yacc.c:1646 */
25792 break;
25793
25794 case 129:
25795#line 961 "gram.y" /* yacc.c:1646 */
25796 {
25797 CallStmt *n = makeNode(CallStmt);
25798 n->funccall = castNode(FuncCall, (yyvsp[0].node));
25799 (yyval.node) = (Node *)n;
25800 }
25801#line 25802 "gram.c" /* yacc.c:1646 */
25802 break;
25803
25804 case 130:
25805#line 976 "gram.y" /* yacc.c:1646 */
25806 {
25807 CreateRoleStmt *n = makeNode(CreateRoleStmt);
25808 n->stmt_type = ROLESTMT_ROLE;
25809 n->role = (yyvsp[-2].str);
25810 n->options = (yyvsp[0].list);
25811 (yyval.node) = (Node *)n;
25812 }
25813#line 25814 "gram.c" /* yacc.c:1646 */
25814 break;
25815
25816 case 131:
25817#line 986 "gram.y" /* yacc.c:1646 */
25818 {}
25819#line 25820 "gram.c" /* yacc.c:1646 */
25820 break;
25821
25822 case 132:
25823#line 987 "gram.y" /* yacc.c:1646 */
25824 {}
25825#line 25826 "gram.c" /* yacc.c:1646 */
25826 break;
25827
25828 case 133:
25829#line 988 "gram.y" /* yacc.c:1646 */
25830 {}
25831#line 25832 "gram.c" /* yacc.c:1646 */
25832 break;
25833
25834 case 134:
25835#line 997 "gram.y" /* yacc.c:1646 */
25836 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
25837#line 25838 "gram.c" /* yacc.c:1646 */
25838 break;
25839
25840 case 135:
25841#line 998 "gram.y" /* yacc.c:1646 */
25842 { (yyval.list) = NIL; }
25843#line 25844 "gram.c" /* yacc.c:1646 */
25844 break;
25845
25846 case 136:
25847#line 1002 "gram.y" /* yacc.c:1646 */
25848 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
25849#line 25850 "gram.c" /* yacc.c:1646 */
25850 break;
25851
25852 case 137:
25853#line 1003 "gram.y" /* yacc.c:1646 */
25854 { (yyval.list) = NIL; }
25855#line 25856 "gram.c" /* yacc.c:1646 */
25856 break;
25857
25858 case 138:
25859#line 1008 "gram.y" /* yacc.c:1646 */
25860 {
25861 (yyval.defelt) = makeDefElem("password",
25862 (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
25863 }
25864#line 25865 "gram.c" /* yacc.c:1646 */
25865 break;
25866
25867 case 139:
25868#line 1013 "gram.y" /* yacc.c:1646 */
25869 {
25870 (yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
25871 }
25872#line 25873 "gram.c" /* yacc.c:1646 */
25873 break;
25874
25875 case 140:
25876#line 1017 "gram.y" /* yacc.c:1646 */
25877 {
25878 /*
25879 * These days, passwords are always stored in encrypted
25880 * form, so there is no difference between PASSWORD and
25881 * ENCRYPTED PASSWORD.
25882 */
25883 (yyval.defelt) = makeDefElem("password",
25884 (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
25885 }
25886#line 25887 "gram.c" /* yacc.c:1646 */
25887 break;
25888
25889 case 141:
25890#line 1027 "gram.y" /* yacc.c:1646 */
25891 {
25892 ereport(ERROR,
25893 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
25894 errmsg("UNENCRYPTED PASSWORD is no longer supported"),
25895 errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
25896 parser_errposition((yylsp[-2]))));
25897 }
25898#line 25899 "gram.c" /* yacc.c:1646 */
25899 break;
25900
25901 case 142:
25902#line 1035 "gram.y" /* yacc.c:1646 */
25903 {
25904 (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[0]));
25905 }
25906#line 25907 "gram.c" /* yacc.c:1646 */
25907 break;
25908
25909 case 143:
25910#line 1039 "gram.y" /* yacc.c:1646 */
25911 {
25912 (yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
25913 }
25914#line 25915 "gram.c" /* yacc.c:1646 */
25915 break;
25916
25917 case 144:
25918#line 1043 "gram.y" /* yacc.c:1646 */
25919 {
25920 (yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
25921 }
25922#line 25923 "gram.c" /* yacc.c:1646 */
25923 break;
25924
25925 case 145:
25926#line 1048 "gram.y" /* yacc.c:1646 */
25927 {
25928 (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
25929 }
25930#line 25931 "gram.c" /* yacc.c:1646 */
25931 break;
25932
25933 case 146:
25934#line 1052 "gram.y" /* yacc.c:1646 */
25935 {
25936 /*
25937 * We handle identifiers that aren't parser keywords with
25938 * the following special-case codes, to avoid bloating the
25939 * size of the main parser.
25940 */
25941 if (strcmp((yyvsp[0].str), "superuser") == 0)
25942 (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(true), (yylsp[0]));
25943 else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
25944 (yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(false), (yylsp[0]));
25945 else if (strcmp((yyvsp[0].str), "createrole") == 0)
25946 (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(true), (yylsp[0]));
25947 else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
25948 (yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(false), (yylsp[0]));
25949 else if (strcmp((yyvsp[0].str), "replication") == 0)
25950 (yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(true), (yylsp[0]));
25951 else if (strcmp((yyvsp[0].str), "noreplication") == 0)
25952 (yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(false), (yylsp[0]));
25953 else if (strcmp((yyvsp[0].str), "createdb") == 0)
25954 (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(true), (yylsp[0]));
25955 else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
25956 (yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(false), (yylsp[0]));
25957 else if (strcmp((yyvsp[0].str), "login") == 0)
25958 (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(true), (yylsp[0]));
25959 else if (strcmp((yyvsp[0].str), "nologin") == 0)
25960 (yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(false), (yylsp[0]));
25961 else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
25962 (yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(true), (yylsp[0]));
25963 else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
25964 (yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(false), (yylsp[0]));
25965 else if (strcmp((yyvsp[0].str), "noinherit") == 0)
25966 {
25967 /*
25968 * Note that INHERIT is a keyword, so it's handled by main parser, but
25969 * NOINHERIT is handled here.
25970 */
25971 (yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(false), (yylsp[0]));
25972 }
25973 else
25974 ereport(ERROR,
25975 (errcode(ERRCODE_SYNTAX_ERROR),
25976 errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
25977 parser_errposition((yylsp[0]))));
25978 }
25979#line 25980 "gram.c" /* yacc.c:1646 */
25980 break;
25981
25982 case 147:
25983#line 1099 "gram.y" /* yacc.c:1646 */
25984 { (yyval.defelt) = (yyvsp[0].defelt); }
25985#line 25986 "gram.c" /* yacc.c:1646 */
25986 break;
25987
25988 case 148:
25989#line 1102 "gram.y" /* yacc.c:1646 */
25990 {
25991 (yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
25992 }
25993#line 25994 "gram.c" /* yacc.c:1646 */
25994 break;
25995
25996 case 149:
25997#line 1106 "gram.y" /* yacc.c:1646 */
25998 {
25999 (yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26000 }
26001#line 26002 "gram.c" /* yacc.c:1646 */
26002 break;
26003
26004 case 150:
26005#line 1110 "gram.y" /* yacc.c:1646 */
26006 {
26007 (yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
26008 }
26009#line 26010 "gram.c" /* yacc.c:1646 */
26010 break;
26011
26012 case 151:
26013#line 1114 "gram.y" /* yacc.c:1646 */
26014 {
26015 (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
26016 }
26017#line 26018 "gram.c" /* yacc.c:1646 */
26018 break;
26019
26020 case 152:
26021#line 1118 "gram.y" /* yacc.c:1646 */
26022 {
26023 (yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
26024 }
26025#line 26026 "gram.c" /* yacc.c:1646 */
26026 break;
26027
26028 case 153:
26029#line 1132 "gram.y" /* yacc.c:1646 */
26030 {
26031 CreateRoleStmt *n = makeNode(CreateRoleStmt);
26032 n->stmt_type = ROLESTMT_USER;
26033 n->role = (yyvsp[-2].str);
26034 n->options = (yyvsp[0].list);
26035 (yyval.node) = (Node *)n;
26036 }
26037#line 26038 "gram.c" /* yacc.c:1646 */
26038 break;
26039
26040 case 154:
26041#line 1150 "gram.y" /* yacc.c:1646 */
26042 {
26043 AlterRoleStmt *n = makeNode(AlterRoleStmt);
26044 n->role = (yyvsp[-2].rolespec);
26045 n->action = +1; /* add, if there are members */
26046 n->options = (yyvsp[0].list);
26047 (yyval.node) = (Node *)n;
26048 }
26049#line 26050 "gram.c" /* yacc.c:1646 */
26050 break;
26051
26052 case 155:
26053#line 1158 "gram.y" /* yacc.c:1646 */
26054 {
26055 AlterRoleStmt *n = makeNode(AlterRoleStmt);
26056 n->role = (yyvsp[-2].rolespec);
26057 n->action = +1; /* add, if there are members */
26058 n->options = (yyvsp[0].list);
26059 (yyval.node) = (Node *)n;
26060 }
26061#line 26062 "gram.c" /* yacc.c:1646 */
26062 break;
26063
26064 case 156:
26065#line 1168 "gram.y" /* yacc.c:1646 */
26066 { (yyval.str) = NULL; }
26067#line 26068 "gram.c" /* yacc.c:1646 */
26068 break;
26069
26070 case 157:
26071#line 1169 "gram.y" /* yacc.c:1646 */
26072 { (yyval.str) = (yyvsp[0].str); }
26073#line 26074 "gram.c" /* yacc.c:1646 */
26074 break;
26075
26076 case 158:
26077#line 1174 "gram.y" /* yacc.c:1646 */
26078 {
26079 AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26080 n->role = (yyvsp[-2].rolespec);
26081 n->database = (yyvsp[-1].str);
26082 n->setstmt = (yyvsp[0].vsetstmt);
26083 (yyval.node) = (Node *)n;
26084 }
26085#line 26086 "gram.c" /* yacc.c:1646 */
26086 break;
26087
26088 case 159:
26089#line 1182 "gram.y" /* yacc.c:1646 */
26090 {
26091 AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26092 n->role = NULL;
26093 n->database = (yyvsp[-1].str);
26094 n->setstmt = (yyvsp[0].vsetstmt);
26095 (yyval.node) = (Node *)n;
26096 }
26097#line 26098 "gram.c" /* yacc.c:1646 */
26098 break;
26099
26100 case 160:
26101#line 1190 "gram.y" /* yacc.c:1646 */
26102 {
26103 AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26104 n->role = (yyvsp[-2].rolespec);
26105 n->database = (yyvsp[-1].str);
26106 n->setstmt = (yyvsp[0].vsetstmt);
26107 (yyval.node) = (Node *)n;
26108 }
26109#line 26110 "gram.c" /* yacc.c:1646 */
26110 break;
26111
26112 case 161:
26113#line 1198 "gram.y" /* yacc.c:1646 */
26114 {
26115 AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
26116 n->role = NULL;
26117 n->database = (yyvsp[-1].str);
26118 n->setstmt = (yyvsp[0].vsetstmt);
26119 (yyval.node) = (Node *)n;
26120 }
26121#line 26122 "gram.c" /* yacc.c:1646 */
26122 break;
26123
26124 case 162:
26125#line 1219 "gram.y" /* yacc.c:1646 */
26126 {
26127 DropRoleStmt *n = makeNode(DropRoleStmt);
26128 n->missing_ok = false;
26129 n->roles = (yyvsp[0].list);
26130 (yyval.node) = (Node *)n;
26131 }
26132#line 26133 "gram.c" /* yacc.c:1646 */
26133 break;
26134
26135 case 163:
26136#line 1226 "gram.y" /* yacc.c:1646 */
26137 {
26138 DropRoleStmt *n = makeNode(DropRoleStmt);
26139 n->missing_ok = true;
26140 n->roles = (yyvsp[0].list);
26141 (yyval.node) = (Node *)n;
26142 }
26143#line 26144 "gram.c" /* yacc.c:1646 */
26144 break;
26145
26146 case 164:
26147#line 1233 "gram.y" /* yacc.c:1646 */
26148 {
26149 DropRoleStmt *n = makeNode(DropRoleStmt);
26150 n->missing_ok = false;
26151 n->roles = (yyvsp[0].list);
26152 (yyval.node) = (Node *)n;
26153 }
26154#line 26155 "gram.c" /* yacc.c:1646 */
26155 break;
26156
26157 case 165:
26158#line 1240 "gram.y" /* yacc.c:1646 */
26159 {
26160 DropRoleStmt *n = makeNode(DropRoleStmt);
26161 n->roles = (yyvsp[0].list);
26162 n->missing_ok = true;
26163 (yyval.node) = (Node *)n;
26164 }
26165#line 26166 "gram.c" /* yacc.c:1646 */
26166 break;
26167
26168 case 166:
26169#line 1247 "gram.y" /* yacc.c:1646 */
26170 {
26171 DropRoleStmt *n = makeNode(DropRoleStmt);
26172 n->missing_ok = false;
26173 n->roles = (yyvsp[0].list);
26174 (yyval.node) = (Node *)n;
26175 }
26176#line 26177 "gram.c" /* yacc.c:1646 */
26177 break;
26178
26179 case 167:
26180#line 1254 "gram.y" /* yacc.c:1646 */
26181 {
26182 DropRoleStmt *n = makeNode(DropRoleStmt);
26183 n->missing_ok = true;
26184 n->roles = (yyvsp[0].list);
26185 (yyval.node) = (Node *)n;
26186 }
26187#line 26188 "gram.c" /* yacc.c:1646 */
26188 break;
26189
26190 case 168:
26191#line 1271 "gram.y" /* yacc.c:1646 */
26192 {
26193 CreateRoleStmt *n = makeNode(CreateRoleStmt);
26194 n->stmt_type = ROLESTMT_GROUP;
26195 n->role = (yyvsp[-2].str);
26196 n->options = (yyvsp[0].list);
26197 (yyval.node) = (Node *)n;
26198 }
26199#line 26200 "gram.c" /* yacc.c:1646 */
26200 break;
26201
26202 case 169:
26203#line 1289 "gram.y" /* yacc.c:1646 */
26204 {
26205 AlterRoleStmt *n = makeNode(AlterRoleStmt);
26206 n->role = (yyvsp[-3].rolespec);
26207 n->action = (yyvsp[-2].ival);
26208 n->options = list_make1(makeDefElem("rolemembers",
26209 (Node *)(yyvsp[0].list), (yylsp[0])));
26210 (yyval.node) = (Node *)n;
26211 }
26212#line 26213 "gram.c" /* yacc.c:1646 */
26213 break;
26214
26215 case 170:
26216#line 1299 "gram.y" /* yacc.c:1646 */
26217 { (yyval.ival) = +1; }
26218#line 26219 "gram.c" /* yacc.c:1646 */
26219 break;
26220
26221 case 171:
26222#line 1300 "gram.y" /* yacc.c:1646 */
26223 { (yyval.ival) = -1; }
26224#line 26225 "gram.c" /* yacc.c:1646 */
26225 break;
26226
26227 case 172:
26228#line 1312 "gram.y" /* yacc.c:1646 */
26229 {
26230 CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26231 /* One can omit the schema name or the authorization id. */
26232 n->schemaname = (yyvsp[-3].str);
26233 n->authrole = (yyvsp[-1].rolespec);
26234 n->schemaElts = (yyvsp[0].list);
26235 n->if_not_exists = false;
26236 (yyval.node) = (Node *)n;
26237 }
26238#line 26239 "gram.c" /* yacc.c:1646 */
26239 break;
26240
26241 case 173:
26242#line 1322 "gram.y" /* yacc.c:1646 */
26243 {
26244 CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26245 /* ...but not both */
26246 n->schemaname = (yyvsp[-1].str);
26247 n->authrole = NULL;
26248 n->schemaElts = (yyvsp[0].list);
26249 n->if_not_exists = false;
26250 (yyval.node) = (Node *)n;
26251 }
26252#line 26253 "gram.c" /* yacc.c:1646 */
26253 break;
26254
26255 case 174:
26256#line 1332 "gram.y" /* yacc.c:1646 */
26257 {
26258 CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26259 /* schema name can be omitted here, too */
26260 n->schemaname = (yyvsp[-3].str);
26261 n->authrole = (yyvsp[-1].rolespec);
26262 if ((yyvsp[0].list) != NIL)
26263 ereport(ERROR,
26264 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26265 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
26266 parser_errposition((yylsp[0]))));
26267 n->schemaElts = (yyvsp[0].list);
26268 n->if_not_exists = true;
26269 (yyval.node) = (Node *)n;
26270 }
26271#line 26272 "gram.c" /* yacc.c:1646 */
26272 break;
26273
26274 case 175:
26275#line 1347 "gram.y" /* yacc.c:1646 */
26276 {
26277 CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
26278 /* ...but not here */
26279 n->schemaname = (yyvsp[-1].str);
26280 n->authrole = NULL;
26281 if ((yyvsp[0].list) != NIL)
26282 ereport(ERROR,
26283 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26284 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
26285 parser_errposition((yylsp[0]))));
26286 n->schemaElts = (yyvsp[0].list);
26287 n->if_not_exists = true;
26288 (yyval.node) = (Node *)n;
26289 }
26290#line 26291 "gram.c" /* yacc.c:1646 */
26291 break;
26292
26293 case 176:
26294#line 1364 "gram.y" /* yacc.c:1646 */
26295 { (yyval.str) = (yyvsp[0].str); }
26296#line 26297 "gram.c" /* yacc.c:1646 */
26297 break;
26298
26299 case 177:
26300#line 1365 "gram.y" /* yacc.c:1646 */
26301 { (yyval.str) = NULL; }
26302#line 26303 "gram.c" /* yacc.c:1646 */
26303 break;
26304
26305 case 178:
26306#line 1370 "gram.y" /* yacc.c:1646 */
26307 {
26308 if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */
26309 (yyloc) = (yylsp[0]);
26310 (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
26311 }
26312#line 26313 "gram.c" /* yacc.c:1646 */
26313 break;
26314
26315 case 179:
26316#line 1376 "gram.y" /* yacc.c:1646 */
26317 { (yyval.list) = NIL; }
26318#line 26319 "gram.c" /* yacc.c:1646 */
26319 break;
26320
26321 case 186:
26322#line 1404 "gram.y" /* yacc.c:1646 */
26323 {
26324 VariableSetStmt *n = (yyvsp[0].vsetstmt);
26325 n->is_local = false;
26326 (yyval.node) = (Node *) n;
26327 }
26328#line 26329 "gram.c" /* yacc.c:1646 */
26329 break;
26330
26331 case 187:
26332#line 1410 "gram.y" /* yacc.c:1646 */
26333 {
26334 VariableSetStmt *n = (yyvsp[0].vsetstmt);
26335 n->is_local = true;
26336 (yyval.node) = (Node *) n;
26337 }
26338#line 26339 "gram.c" /* yacc.c:1646 */
26339 break;
26340
26341 case 188:
26342#line 1416 "gram.y" /* yacc.c:1646 */
26343 {
26344 VariableSetStmt *n = (yyvsp[0].vsetstmt);
26345 n->is_local = false;
26346 (yyval.node) = (Node *) n;
26347 }
26348#line 26349 "gram.c" /* yacc.c:1646 */
26349 break;
26350
26351 case 189:
26352#line 1425 "gram.y" /* yacc.c:1646 */
26353 {
26354 VariableSetStmt *n = makeNode(VariableSetStmt);
26355 n->kind = VAR_SET_MULTI;
26356 n->name = "TRANSACTION";
26357 n->args = (yyvsp[0].list);
26358 (yyval.vsetstmt) = n;
26359 }
26360#line 26361 "gram.c" /* yacc.c:1646 */
26361 break;
26362
26363 case 190:
26364#line 1433 "gram.y" /* yacc.c:1646 */
26365 {
26366 VariableSetStmt *n = makeNode(VariableSetStmt);
26367 n->kind = VAR_SET_MULTI;
26368 n->name = "SESSION CHARACTERISTICS";
26369 n->args = (yyvsp[0].list);
26370 (yyval.vsetstmt) = n;
26371 }
26372#line 26373 "gram.c" /* yacc.c:1646 */
26373 break;
26374
26375 case 192:
26376#line 1445 "gram.y" /* yacc.c:1646 */
26377 {
26378 VariableSetStmt *n = makeNode(VariableSetStmt);
26379 n->kind = VAR_SET_VALUE;
26380 n->name = (yyvsp[-2].str);
26381 n->args = (yyvsp[0].list);
26382 (yyval.vsetstmt) = n;
26383 }
26384#line 26385 "gram.c" /* yacc.c:1646 */
26385 break;
26386
26387 case 193:
26388#line 1453 "gram.y" /* yacc.c:1646 */
26389 {
26390 VariableSetStmt *n = makeNode(VariableSetStmt);
26391 n->kind = VAR_SET_VALUE;
26392 n->name = (yyvsp[-2].str);
26393 n->args = (yyvsp[0].list);
26394 (yyval.vsetstmt) = n;
26395 }
26396#line 26397 "gram.c" /* yacc.c:1646 */
26397 break;
26398
26399 case 194:
26400#line 1461 "gram.y" /* yacc.c:1646 */
26401 {
26402 VariableSetStmt *n = makeNode(VariableSetStmt);
26403 n->kind = VAR_SET_DEFAULT;
26404 n->name = (yyvsp[-2].str);
26405 (yyval.vsetstmt) = n;
26406 }
26407#line 26408 "gram.c" /* yacc.c:1646 */
26408 break;
26409
26410 case 195:
26411#line 1468 "gram.y" /* yacc.c:1646 */
26412 {
26413 VariableSetStmt *n = makeNode(VariableSetStmt);
26414 n->kind = VAR_SET_DEFAULT;
26415 n->name = (yyvsp[-2].str);
26416 (yyval.vsetstmt) = n;
26417 }
26418#line 26419 "gram.c" /* yacc.c:1646 */
26419 break;
26420
26421 case 196:
26422#line 1477 "gram.y" /* yacc.c:1646 */
26423 {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
26424#line 26425 "gram.c" /* yacc.c:1646 */
26425 break;
26426
26427 case 197:
26428#line 1479 "gram.y" /* yacc.c:1646 */
26429 {
26430 VariableSetStmt *n = makeNode(VariableSetStmt);
26431 n->kind = VAR_SET_CURRENT;
26432 n->name = (yyvsp[-2].str);
26433 (yyval.vsetstmt) = n;
26434 }
26435#line 26436 "gram.c" /* yacc.c:1646 */
26436 break;
26437
26438 case 198:
26439#line 1487 "gram.y" /* yacc.c:1646 */
26440 {
26441 VariableSetStmt *n = makeNode(VariableSetStmt);
26442 n->kind = VAR_SET_VALUE;
26443 n->name = "timezone";
26444 if ((yyvsp[0].node) != NULL)
26445 n->args = list_make1((yyvsp[0].node));
26446 else
26447 n->kind = VAR_SET_DEFAULT;
26448 (yyval.vsetstmt) = n;
26449 }
26450#line 26451 "gram.c" /* yacc.c:1646 */
26451 break;
26452
26453 case 199:
26454#line 1498 "gram.y" /* yacc.c:1646 */
26455 {
26456 ereport(ERROR,
26457 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26458 errmsg("current database cannot be changed"),
26459 parser_errposition((yylsp[0]))));
26460 (yyval.vsetstmt) = NULL; /*not reached*/
26461 }
26462#line 26463 "gram.c" /* yacc.c:1646 */
26463 break;
26464
26465 case 200:
26466#line 1506 "gram.y" /* yacc.c:1646 */
26467 {
26468 VariableSetStmt *n = makeNode(VariableSetStmt);
26469 n->kind = VAR_SET_VALUE;
26470 n->name = "search_path";
26471 n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26472 (yyval.vsetstmt) = n;
26473 }
26474#line 26475 "gram.c" /* yacc.c:1646 */
26475 break;
26476
26477 case 201:
26478#line 1514 "gram.y" /* yacc.c:1646 */
26479 {
26480 VariableSetStmt *n = makeNode(VariableSetStmt);
26481 n->kind = VAR_SET_VALUE;
26482 n->name = "client_encoding";
26483 if ((yyvsp[0].str) != NULL)
26484 n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26485 else
26486 n->kind = VAR_SET_DEFAULT;
26487 (yyval.vsetstmt) = n;
26488 }
26489#line 26490 "gram.c" /* yacc.c:1646 */
26490 break;
26491
26492 case 202:
26493#line 1525 "gram.y" /* yacc.c:1646 */
26494 {
26495 VariableSetStmt *n = makeNode(VariableSetStmt);
26496 n->kind = VAR_SET_VALUE;
26497 n->name = "role";
26498 n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26499 (yyval.vsetstmt) = n;
26500 }
26501#line 26502 "gram.c" /* yacc.c:1646 */
26502 break;
26503
26504 case 203:
26505#line 1533 "gram.y" /* yacc.c:1646 */
26506 {
26507 VariableSetStmt *n = makeNode(VariableSetStmt);
26508 n->kind = VAR_SET_VALUE;
26509 n->name = "session_authorization";
26510 n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26511 (yyval.vsetstmt) = n;
26512 }
26513#line 26514 "gram.c" /* yacc.c:1646 */
26514 break;
26515
26516 case 204:
26517#line 1541 "gram.y" /* yacc.c:1646 */
26518 {
26519 VariableSetStmt *n = makeNode(VariableSetStmt);
26520 n->kind = VAR_SET_DEFAULT;
26521 n->name = "session_authorization";
26522 (yyval.vsetstmt) = n;
26523 }
26524#line 26525 "gram.c" /* yacc.c:1646 */
26525 break;
26526
26527 case 205:
26528#line 1548 "gram.y" /* yacc.c:1646 */
26529 {
26530 VariableSetStmt *n = makeNode(VariableSetStmt);
26531 n->kind = VAR_SET_VALUE;
26532 n->name = "xmloption";
26533 n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
26534 (yyval.vsetstmt) = n;
26535 }
26536#line 26537 "gram.c" /* yacc.c:1646 */
26537 break;
26538
26539 case 206:
26540#line 1557 "gram.y" /* yacc.c:1646 */
26541 {
26542 VariableSetStmt *n = makeNode(VariableSetStmt);
26543 n->kind = VAR_SET_MULTI;
26544 n->name = "TRANSACTION SNAPSHOT";
26545 n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
26546 (yyval.vsetstmt) = n;
26547 }
26548#line 26549 "gram.c" /* yacc.c:1646 */
26549 break;
26550
26551 case 207:
26552#line 1566 "gram.y" /* yacc.c:1646 */
26553 { (yyval.str) = (yyvsp[0].str); }
26554#line 26555 "gram.c" /* yacc.c:1646 */
26555 break;
26556
26557 case 208:
26558#line 1568 "gram.y" /* yacc.c:1646 */
26559 { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
26560#line 26561 "gram.c" /* yacc.c:1646 */
26561 break;
26562
26563 case 209:
26564#line 1571 "gram.y" /* yacc.c:1646 */
26565 { (yyval.list) = list_make1((yyvsp[0].node)); }
26566#line 26567 "gram.c" /* yacc.c:1646 */
26567 break;
26568
26569 case 210:
26570#line 1572 "gram.y" /* yacc.c:1646 */
26571 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
26572#line 26573 "gram.c" /* yacc.c:1646 */
26573 break;
26574
26575 case 211:
26576#line 1576 "gram.y" /* yacc.c:1646 */
26577 { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
26578#line 26579 "gram.c" /* yacc.c:1646 */
26579 break;
26580
26581 case 212:
26582#line 1578 "gram.y" /* yacc.c:1646 */
26583 { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
26584#line 26585 "gram.c" /* yacc.c:1646 */
26585 break;
26586
26587 case 213:
26588#line 1581 "gram.y" /* yacc.c:1646 */
26589 { (yyval.str) = "read uncommitted"; }
26590#line 26591 "gram.c" /* yacc.c:1646 */
26591 break;
26592
26593 case 214:
26594#line 1582 "gram.y" /* yacc.c:1646 */
26595 { (yyval.str) = "read committed"; }
26596#line 26597 "gram.c" /* yacc.c:1646 */
26597 break;
26598
26599 case 215:
26600#line 1583 "gram.y" /* yacc.c:1646 */
26601 { (yyval.str) = "repeatable read"; }
26602#line 26603 "gram.c" /* yacc.c:1646 */
26603 break;
26604
26605 case 216:
26606#line 1584 "gram.y" /* yacc.c:1646 */
26607 { (yyval.str) = "serializable"; }
26608#line 26609 "gram.c" /* yacc.c:1646 */
26609 break;
26610
26611 case 217:
26612#line 1588 "gram.y" /* yacc.c:1646 */
26613 { (yyval.str) = "true"; }
26614#line 26615 "gram.c" /* yacc.c:1646 */
26615 break;
26616
26617 case 218:
26618#line 1589 "gram.y" /* yacc.c:1646 */
26619 { (yyval.str) = "false"; }
26620#line 26621 "gram.c" /* yacc.c:1646 */
26621 break;
26622
26623 case 219:
26624#line 1590 "gram.y" /* yacc.c:1646 */
26625 { (yyval.str) = "on"; }
26626#line 26627 "gram.c" /* yacc.c:1646 */
26627 break;
26628
26629 case 220:
26630#line 1596 "gram.y" /* yacc.c:1646 */
26631 { (yyval.str) = (yyvsp[0].str); }
26632#line 26633 "gram.c" /* yacc.c:1646 */
26633 break;
26634
26635 case 221:
26636#line 1609 "gram.y" /* yacc.c:1646 */
26637 {
26638 (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
26639 }
26640#line 26641 "gram.c" /* yacc.c:1646 */
26641 break;
26642
26643 case 222:
26644#line 1613 "gram.y" /* yacc.c:1646 */
26645 {
26646 (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
26647 }
26648#line 26649 "gram.c" /* yacc.c:1646 */
26649 break;
26650
26651 case 223:
26652#line 1617 "gram.y" /* yacc.c:1646 */
26653 {
26654 TypeName *t = (yyvsp[-2].typnam);
26655 if ((yyvsp[0].list) != NIL)
26656 {
26657 A_Const *n = (A_Const *) linitial((yyvsp[0].list));
26658 if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
26659 ereport(ERROR,
26660 (errcode(ERRCODE_SYNTAX_ERROR),
26661 errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
26662 parser_errposition((yylsp[0]))));
26663 }
26664 t->typmods = (yyvsp[0].list);
26665 (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
26666 }
26667#line 26668 "gram.c" /* yacc.c:1646 */
26668 break;
26669
26670 case 224:
26671#line 1632 "gram.y" /* yacc.c:1646 */
26672 {
26673 TypeName *t = (yyvsp[-4].typnam);
26674 t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
26675 makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
26676 (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
26677 }
26678#line 26679 "gram.c" /* yacc.c:1646 */
26679 break;
26680
26681 case 225:
26682#line 1638 "gram.y" /* yacc.c:1646 */
26683 { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
26684#line 26685 "gram.c" /* yacc.c:1646 */
26685 break;
26686
26687 case 226:
26688#line 1639 "gram.y" /* yacc.c:1646 */
26689 { (yyval.node) = NULL; }
26690#line 26691 "gram.c" /* yacc.c:1646 */
26691 break;
26692
26693 case 227:
26694#line 1640 "gram.y" /* yacc.c:1646 */
26695 { (yyval.node) = NULL; }
26696#line 26697 "gram.c" /* yacc.c:1646 */
26697 break;
26698
26699 case 228:
26700#line 1644 "gram.y" /* yacc.c:1646 */
26701 { (yyval.str) = (yyvsp[0].str); }
26702#line 26703 "gram.c" /* yacc.c:1646 */
26703 break;
26704
26705 case 229:
26706#line 1645 "gram.y" /* yacc.c:1646 */
26707 { (yyval.str) = NULL; }
26708#line 26709 "gram.c" /* yacc.c:1646 */
26709 break;
26710
26711 case 230:
26712#line 1646 "gram.y" /* yacc.c:1646 */
26713 { (yyval.str) = NULL; }
26714#line 26715 "gram.c" /* yacc.c:1646 */
26715 break;
26716
26717 case 231:
26718#line 1650 "gram.y" /* yacc.c:1646 */
26719 { (yyval.str) = (yyvsp[0].str); }
26720#line 26721 "gram.c" /* yacc.c:1646 */
26721 break;
26722
26723 case 232:
26724#line 1651 "gram.y" /* yacc.c:1646 */
26725 { (yyval.str) = (yyvsp[0].str); }
26726#line 26727 "gram.c" /* yacc.c:1646 */
26727 break;
26728
26729 case 233:
26730#line 1655 "gram.y" /* yacc.c:1646 */
26731 { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
26732#line 26733 "gram.c" /* yacc.c:1646 */
26733 break;
26734
26735 case 234:
26736#line 1659 "gram.y" /* yacc.c:1646 */
26737 { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
26738#line 26739 "gram.c" /* yacc.c:1646 */
26739 break;
26740
26741 case 235:
26742#line 1661 "gram.y" /* yacc.c:1646 */
26743 {
26744 VariableSetStmt *n = makeNode(VariableSetStmt);
26745 n->kind = VAR_RESET;
26746 n->name = "timezone";
26747 (yyval.vsetstmt) = n;
26748 }
26749#line 26750 "gram.c" /* yacc.c:1646 */
26750 break;
26751
26752 case 236:
26753#line 1668 "gram.y" /* yacc.c:1646 */
26754 {
26755 VariableSetStmt *n = makeNode(VariableSetStmt);
26756 n->kind = VAR_RESET;
26757 n->name = "transaction_isolation";
26758 (yyval.vsetstmt) = n;
26759 }
26760#line 26761 "gram.c" /* yacc.c:1646 */
26761 break;
26762
26763 case 237:
26764#line 1675 "gram.y" /* yacc.c:1646 */
26765 {
26766 VariableSetStmt *n = makeNode(VariableSetStmt);
26767 n->kind = VAR_RESET;
26768 n->name = "session_authorization";
26769 (yyval.vsetstmt) = n;
26770 }
26771#line 26772 "gram.c" /* yacc.c:1646 */
26772 break;
26773
26774 case 238:
26775#line 1685 "gram.y" /* yacc.c:1646 */
26776 {
26777 VariableSetStmt *n = makeNode(VariableSetStmt);
26778 n->kind = VAR_RESET;
26779 n->name = (yyvsp[0].str);
26780 (yyval.vsetstmt) = n;
26781 }
26782#line 26783 "gram.c" /* yacc.c:1646 */
26783 break;
26784
26785 case 239:
26786#line 1692 "gram.y" /* yacc.c:1646 */
26787 {
26788 VariableSetStmt *n = makeNode(VariableSetStmt);
26789 n->kind = VAR_RESET_ALL;
26790 (yyval.vsetstmt) = n;
26791 }
26792#line 26793 "gram.c" /* yacc.c:1646 */
26793 break;
26794
26795 case 240:
26796#line 1701 "gram.y" /* yacc.c:1646 */
26797 { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
26798#line 26799 "gram.c" /* yacc.c:1646 */
26799 break;
26800
26801 case 241:
26802#line 1702 "gram.y" /* yacc.c:1646 */
26803 { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
26804#line 26805 "gram.c" /* yacc.c:1646 */
26805 break;
26806
26807 case 242:
26808#line 1707 "gram.y" /* yacc.c:1646 */
26809 { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
26810#line 26811 "gram.c" /* yacc.c:1646 */
26811 break;
26812
26813 case 243:
26814#line 1708 "gram.y" /* yacc.c:1646 */
26815 { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
26816#line 26817 "gram.c" /* yacc.c:1646 */
26817 break;
26818
26819 case 244:
26820#line 1714 "gram.y" /* yacc.c:1646 */
26821 {
26822 VariableShowStmt *n = makeNode(VariableShowStmt);
26823 n->name = (yyvsp[0].str);
26824 (yyval.node) = (Node *) n;
26825 }
26826#line 26827 "gram.c" /* yacc.c:1646 */
26827 break;
26828
26829 case 245:
26830#line 1720 "gram.y" /* yacc.c:1646 */
26831 {
26832 VariableShowStmt *n = makeNode(VariableShowStmt);
26833 n->name = "timezone";
26834 (yyval.node) = (Node *) n;
26835 }
26836#line 26837 "gram.c" /* yacc.c:1646 */
26837 break;
26838
26839 case 246:
26840#line 1726 "gram.y" /* yacc.c:1646 */
26841 {
26842 VariableShowStmt *n = makeNode(VariableShowStmt);
26843 n->name = "transaction_isolation";
26844 (yyval.node) = (Node *) n;
26845 }
26846#line 26847 "gram.c" /* yacc.c:1646 */
26847 break;
26848
26849 case 247:
26850#line 1732 "gram.y" /* yacc.c:1646 */
26851 {
26852 VariableShowStmt *n = makeNode(VariableShowStmt);
26853 n->name = "session_authorization";
26854 (yyval.node) = (Node *) n;
26855 }
26856#line 26857 "gram.c" /* yacc.c:1646 */
26857 break;
26858
26859 case 248:
26860#line 1738 "gram.y" /* yacc.c:1646 */
26861 {
26862 VariableShowStmt *n = makeNode(VariableShowStmt);
26863 n->name = "all";
26864 (yyval.node) = (Node *) n;
26865 }
26866#line 26867 "gram.c" /* yacc.c:1646 */
26867 break;
26868
26869 case 249:
26870#line 1748 "gram.y" /* yacc.c:1646 */
26871 {
26872 ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
26873 n->constraints = (yyvsp[-1].list);
26874 n->deferred = (yyvsp[0].boolean);
26875 (yyval.node) = (Node *) n;
26876 }
26877#line 26878 "gram.c" /* yacc.c:1646 */
26878 break;
26879
26880 case 250:
26881#line 1757 "gram.y" /* yacc.c:1646 */
26882 { (yyval.list) = NIL; }
26883#line 26884 "gram.c" /* yacc.c:1646 */
26884 break;
26885
26886 case 251:
26887#line 1758 "gram.y" /* yacc.c:1646 */
26888 { (yyval.list) = (yyvsp[0].list); }
26889#line 26890 "gram.c" /* yacc.c:1646 */
26890 break;
26891
26892 case 252:
26893#line 1762 "gram.y" /* yacc.c:1646 */
26894 { (yyval.boolean) = true; }
26895#line 26896 "gram.c" /* yacc.c:1646 */
26896 break;
26897
26898 case 253:
26899#line 1763 "gram.y" /* yacc.c:1646 */
26900 { (yyval.boolean) = false; }
26901#line 26902 "gram.c" /* yacc.c:1646 */
26902 break;
26903
26904 case 254:
26905#line 1772 "gram.y" /* yacc.c:1646 */
26906 {
26907 CheckPointStmt *n = makeNode(CheckPointStmt);
26908 (yyval.node) = (Node *)n;
26909 }
26910#line 26911 "gram.c" /* yacc.c:1646 */
26911 break;
26912
26913 case 255:
26914#line 1787 "gram.y" /* yacc.c:1646 */
26915 {
26916 DiscardStmt *n = makeNode(DiscardStmt);
26917 n->target = DISCARD_ALL;
26918 (yyval.node) = (Node *) n;
26919 }
26920#line 26921 "gram.c" /* yacc.c:1646 */
26921 break;
26922
26923 case 256:
26924#line 1793 "gram.y" /* yacc.c:1646 */
26925 {
26926 DiscardStmt *n = makeNode(DiscardStmt);
26927 n->target = DISCARD_TEMP;
26928 (yyval.node) = (Node *) n;
26929 }
26930#line 26931 "gram.c" /* yacc.c:1646 */
26931 break;
26932
26933 case 257:
26934#line 1799 "gram.y" /* yacc.c:1646 */
26935 {
26936 DiscardStmt *n = makeNode(DiscardStmt);
26937 n->target = DISCARD_TEMP;
26938 (yyval.node) = (Node *) n;
26939 }
26940#line 26941 "gram.c" /* yacc.c:1646 */
26941 break;
26942
26943 case 258:
26944#line 1805 "gram.y" /* yacc.c:1646 */
26945 {
26946 DiscardStmt *n = makeNode(DiscardStmt);
26947 n->target = DISCARD_PLANS;
26948 (yyval.node) = (Node *) n;
26949 }
26950#line 26951 "gram.c" /* yacc.c:1646 */
26951 break;
26952
26953 case 259:
26954#line 1811 "gram.y" /* yacc.c:1646 */
26955 {
26956 DiscardStmt *n = makeNode(DiscardStmt);
26957 n->target = DISCARD_SEQUENCES;
26958 (yyval.node) = (Node *) n;
26959 }
26960#line 26961 "gram.c" /* yacc.c:1646 */
26961 break;
26962
26963 case 260:
26964#line 1830 "gram.y" /* yacc.c:1646 */
26965 {
26966 AlterTableStmt *n = makeNode(AlterTableStmt);
26967 n->relation = (yyvsp[-1].range);
26968 n->cmds = (yyvsp[0].list);
26969 n->relkind = OBJECT_TABLE;
26970 n->missing_ok = false;
26971 (yyval.node) = (Node *)n;
26972 }
26973#line 26974 "gram.c" /* yacc.c:1646 */
26974 break;
26975
26976 case 261:
26977#line 1839 "gram.y" /* yacc.c:1646 */
26978 {
26979 AlterTableStmt *n = makeNode(AlterTableStmt);
26980 n->relation = (yyvsp[-1].range);
26981 n->cmds = (yyvsp[0].list);
26982 n->relkind = OBJECT_TABLE;
26983 n->missing_ok = true;
26984 (yyval.node) = (Node *)n;
26985 }
26986#line 26987 "gram.c" /* yacc.c:1646 */
26987 break;
26988
26989 case 262:
26990#line 1848 "gram.y" /* yacc.c:1646 */
26991 {
26992 AlterTableStmt *n = makeNode(AlterTableStmt);
26993 n->relation = (yyvsp[-1].range);
26994 n->cmds = list_make1((yyvsp[0].node));
26995 n->relkind = OBJECT_TABLE;
26996 n->missing_ok = false;
26997 (yyval.node) = (Node *)n;
26998 }
26999#line 27000 "gram.c" /* yacc.c:1646 */
27000 break;
27001
27002 case 263:
27003#line 1857 "gram.y" /* yacc.c:1646 */
27004 {
27005 AlterTableStmt *n = makeNode(AlterTableStmt);
27006 n->relation = (yyvsp[-1].range);
27007 n->cmds = list_make1((yyvsp[0].node));
27008 n->relkind = OBJECT_TABLE;
27009 n->missing_ok = true;
27010 (yyval.node) = (Node *)n;
27011 }
27012#line 27013 "gram.c" /* yacc.c:1646 */
27013 break;
27014
27015 case 264:
27016#line 1866 "gram.y" /* yacc.c:1646 */
27017 {
27018 AlterTableMoveAllStmt *n =
27019 makeNode(AlterTableMoveAllStmt);
27020 n->orig_tablespacename = (yyvsp[-4].str);
27021 n->objtype = OBJECT_TABLE;
27022 n->roles = NIL;
27023 n->new_tablespacename = (yyvsp[-1].str);
27024 n->nowait = (yyvsp[0].boolean);
27025 (yyval.node) = (Node *)n;
27026 }
27027#line 27028 "gram.c" /* yacc.c:1646 */
27028 break;
27029
27030 case 265:
27031#line 1877 "gram.y" /* yacc.c:1646 */
27032 {
27033 AlterTableMoveAllStmt *n =
27034 makeNode(AlterTableMoveAllStmt);
27035 n->orig_tablespacename = (yyvsp[-7].str);
27036 n->objtype = OBJECT_TABLE;
27037 n->roles = (yyvsp[-4].list);
27038 n->new_tablespacename = (yyvsp[-1].str);
27039 n->nowait = (yyvsp[0].boolean);
27040 (yyval.node) = (Node *)n;
27041 }
27042#line 27043 "gram.c" /* yacc.c:1646 */
27043 break;
27044
27045 case 266:
27046#line 1888 "gram.y" /* yacc.c:1646 */
27047 {
27048 AlterTableStmt *n = makeNode(AlterTableStmt);
27049 n->relation = (yyvsp[-1].range);
27050 n->cmds = (yyvsp[0].list);
27051 n->relkind = OBJECT_INDEX;
27052 n->missing_ok = false;
27053 (yyval.node) = (Node *)n;
27054 }
27055#line 27056 "gram.c" /* yacc.c:1646 */
27056 break;
27057
27058 case 267:
27059#line 1897 "gram.y" /* yacc.c:1646 */
27060 {
27061 AlterTableStmt *n = makeNode(AlterTableStmt);
27062 n->relation = (yyvsp[-1].range);
27063 n->cmds = (yyvsp[0].list);
27064 n->relkind = OBJECT_INDEX;
27065 n->missing_ok = true;
27066 (yyval.node) = (Node *)n;
27067 }
27068#line 27069 "gram.c" /* yacc.c:1646 */
27069 break;
27070
27071 case 268:
27072#line 1906 "gram.y" /* yacc.c:1646 */
27073 {
27074 AlterTableStmt *n = makeNode(AlterTableStmt);
27075 n->relation = (yyvsp[-1].range);
27076 n->cmds = list_make1((yyvsp[0].node));
27077 n->relkind = OBJECT_INDEX;
27078 n->missing_ok = false;
27079 (yyval.node) = (Node *)n;
27080 }
27081#line 27082 "gram.c" /* yacc.c:1646 */
27082 break;
27083
27084 case 269:
27085#line 1915 "gram.y" /* yacc.c:1646 */
27086 {
27087 AlterTableMoveAllStmt *n =
27088 makeNode(AlterTableMoveAllStmt);
27089 n->orig_tablespacename = (yyvsp[-4].str);
27090 n->objtype = OBJECT_INDEX;
27091 n->roles = NIL;
27092 n->new_tablespacename = (yyvsp[-1].str);
27093 n->nowait = (yyvsp[0].boolean);
27094 (yyval.node) = (Node *)n;
27095 }
27096#line 27097 "gram.c" /* yacc.c:1646 */
27097 break;
27098
27099 case 270:
27100#line 1926 "gram.y" /* yacc.c:1646 */
27101 {
27102 AlterTableMoveAllStmt *n =
27103 makeNode(AlterTableMoveAllStmt);
27104 n->orig_tablespacename = (yyvsp[-7].str);
27105 n->objtype = OBJECT_INDEX;
27106 n->roles = (yyvsp[-4].list);
27107 n->new_tablespacename = (yyvsp[-1].str);
27108 n->nowait = (yyvsp[0].boolean);
27109 (yyval.node) = (Node *)n;
27110 }
27111#line 27112 "gram.c" /* yacc.c:1646 */
27112 break;
27113
27114 case 271:
27115#line 1937 "gram.y" /* yacc.c:1646 */
27116 {
27117 AlterTableStmt *n = makeNode(AlterTableStmt);
27118 n->relation = (yyvsp[-1].range);
27119 n->cmds = (yyvsp[0].list);
27120 n->relkind = OBJECT_SEQUENCE;
27121 n->missing_ok = false;
27122 (yyval.node) = (Node *)n;
27123 }
27124#line 27125 "gram.c" /* yacc.c:1646 */
27125 break;
27126
27127 case 272:
27128#line 1946 "gram.y" /* yacc.c:1646 */
27129 {
27130 AlterTableStmt *n = makeNode(AlterTableStmt);
27131 n->relation = (yyvsp[-1].range);
27132 n->cmds = (yyvsp[0].list);
27133 n->relkind = OBJECT_SEQUENCE;
27134 n->missing_ok = true;
27135 (yyval.node) = (Node *)n;
27136 }
27137#line 27138 "gram.c" /* yacc.c:1646 */
27138 break;
27139
27140 case 273:
27141#line 1955 "gram.y" /* yacc.c:1646 */
27142 {
27143 AlterTableStmt *n = makeNode(AlterTableStmt);
27144 n->relation = (yyvsp[-1].range);
27145 n->cmds = (yyvsp[0].list);
27146 n->relkind = OBJECT_VIEW;
27147 n->missing_ok = false;
27148 (yyval.node) = (Node *)n;
27149 }
27150#line 27151 "gram.c" /* yacc.c:1646 */
27151 break;
27152
27153 case 274:
27154#line 1964 "gram.y" /* yacc.c:1646 */
27155 {
27156 AlterTableStmt *n = makeNode(AlterTableStmt);
27157 n->relation = (yyvsp[-1].range);
27158 n->cmds = (yyvsp[0].list);
27159 n->relkind = OBJECT_VIEW;
27160 n->missing_ok = true;
27161 (yyval.node) = (Node *)n;
27162 }
27163#line 27164 "gram.c" /* yacc.c:1646 */
27164 break;
27165
27166 case 275:
27167#line 1973 "gram.y" /* yacc.c:1646 */
27168 {
27169 AlterTableStmt *n = makeNode(AlterTableStmt);
27170 n->relation = (yyvsp[-1].range);
27171 n->cmds = (yyvsp[0].list);
27172 n->relkind = OBJECT_MATVIEW;
27173 n->missing_ok = false;
27174 (yyval.node) = (Node *)n;
27175 }
27176#line 27177 "gram.c" /* yacc.c:1646 */
27177 break;
27178
27179 case 276:
27180#line 1982 "gram.y" /* yacc.c:1646 */
27181 {
27182 AlterTableStmt *n = makeNode(AlterTableStmt);
27183 n->relation = (yyvsp[-1].range);
27184 n->cmds = (yyvsp[0].list);
27185 n->relkind = OBJECT_MATVIEW;
27186 n->missing_ok = true;
27187 (yyval.node) = (Node *)n;
27188 }
27189#line 27190 "gram.c" /* yacc.c:1646 */
27190 break;
27191
27192 case 277:
27193#line 1991 "gram.y" /* yacc.c:1646 */
27194 {
27195 AlterTableMoveAllStmt *n =
27196 makeNode(AlterTableMoveAllStmt);
27197 n->orig_tablespacename = (yyvsp[-4].str);
27198 n->objtype = OBJECT_MATVIEW;
27199 n->roles = NIL;
27200 n->new_tablespacename = (yyvsp[-1].str);
27201 n->nowait = (yyvsp[0].boolean);
27202 (yyval.node) = (Node *)n;
27203 }
27204#line 27205 "gram.c" /* yacc.c:1646 */
27205 break;
27206
27207 case 278:
27208#line 2002 "gram.y" /* yacc.c:1646 */
27209 {
27210 AlterTableMoveAllStmt *n =
27211 makeNode(AlterTableMoveAllStmt);
27212 n->orig_tablespacename = (yyvsp[-7].str);
27213 n->objtype = OBJECT_MATVIEW;
27214 n->roles = (yyvsp[-4].list);
27215 n->new_tablespacename = (yyvsp[-1].str);
27216 n->nowait = (yyvsp[0].boolean);
27217 (yyval.node) = (Node *)n;
27218 }
27219#line 27220 "gram.c" /* yacc.c:1646 */
27220 break;
27221
27222 case 279:
27223#line 2015 "gram.y" /* yacc.c:1646 */
27224 { (yyval.list) = list_make1((yyvsp[0].node)); }
27225#line 27226 "gram.c" /* yacc.c:1646 */
27226 break;
27227
27228 case 280:
27229#line 2016 "gram.y" /* yacc.c:1646 */
27230 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
27231#line 27232 "gram.c" /* yacc.c:1646 */
27232 break;
27233
27234 case 281:
27235#line 2022 "gram.y" /* yacc.c:1646 */
27236 {
27237 AlterTableCmd *n = makeNode(AlterTableCmd);
27238 PartitionCmd *cmd = makeNode(PartitionCmd);
27239
27240 n->subtype = AT_AttachPartition;
27241 cmd->name = (yyvsp[-1].range);
27242 cmd->bound = (yyvsp[0].partboundspec);
27243 n->def = (Node *) cmd;
27244
27245 (yyval.node) = (Node *) n;
27246 }
27247#line 27248 "gram.c" /* yacc.c:1646 */
27248 break;
27249
27250 case 282:
27251#line 2035 "gram.y" /* yacc.c:1646 */
27252 {
27253 AlterTableCmd *n = makeNode(AlterTableCmd);
27254 PartitionCmd *cmd = makeNode(PartitionCmd);
27255
27256 n->subtype = AT_DetachPartition;
27257 cmd->name = (yyvsp[0].range);
27258 cmd->bound = NULL;
27259 n->def = (Node *) cmd;
27260
27261 (yyval.node) = (Node *) n;
27262 }
27263#line 27264 "gram.c" /* yacc.c:1646 */
27264 break;
27265
27266 case 283:
27267#line 2051 "gram.y" /* yacc.c:1646 */
27268 {
27269 AlterTableCmd *n = makeNode(AlterTableCmd);
27270 PartitionCmd *cmd = makeNode(PartitionCmd);
27271
27272 n->subtype = AT_AttachPartition;
27273 cmd->name = (yyvsp[0].range);
27274 cmd->bound = NULL;
27275 n->def = (Node *) cmd;
27276
27277 (yyval.node) = (Node *) n;
27278 }
27279#line 27280 "gram.c" /* yacc.c:1646 */
27280 break;
27281
27282 case 284:
27283#line 2067 "gram.y" /* yacc.c:1646 */
27284 {
27285 AlterTableCmd *n = makeNode(AlterTableCmd);
27286 n->subtype = AT_AddColumn;
27287 n->def = (yyvsp[0].node);
27288 n->missing_ok = false;
27289 (yyval.node) = (Node *)n;
27290 }
27291#line 27292 "gram.c" /* yacc.c:1646 */
27292 break;
27293
27294 case 285:
27295#line 2076 "gram.y" /* yacc.c:1646 */
27296 {
27297 AlterTableCmd *n = makeNode(AlterTableCmd);
27298 n->subtype = AT_AddColumn;
27299 n->def = (yyvsp[0].node);
27300 n->missing_ok = true;
27301 (yyval.node) = (Node *)n;
27302 }
27303#line 27304 "gram.c" /* yacc.c:1646 */
27304 break;
27305
27306 case 286:
27307#line 2085 "gram.y" /* yacc.c:1646 */
27308 {
27309 AlterTableCmd *n = makeNode(AlterTableCmd);
27310 n->subtype = AT_AddColumn;
27311 n->def = (yyvsp[0].node);
27312 n->missing_ok = false;
27313 (yyval.node) = (Node *)n;
27314 }
27315#line 27316 "gram.c" /* yacc.c:1646 */
27316 break;
27317
27318 case 287:
27319#line 2094 "gram.y" /* yacc.c:1646 */
27320 {
27321 AlterTableCmd *n = makeNode(AlterTableCmd);
27322 n->subtype = AT_AddColumn;
27323 n->def = (yyvsp[0].node);
27324 n->missing_ok = true;
27325 (yyval.node) = (Node *)n;
27326 }
27327#line 27328 "gram.c" /* yacc.c:1646 */
27328 break;
27329
27330 case 288:
27331#line 2103 "gram.y" /* yacc.c:1646 */
27332 {
27333 AlterTableCmd *n = makeNode(AlterTableCmd);
27334 n->subtype = AT_ColumnDefault;
27335 n->name = (yyvsp[-1].str);
27336 n->def = (yyvsp[0].node);
27337 (yyval.node) = (Node *)n;
27338 }
27339#line 27340 "gram.c" /* yacc.c:1646 */
27340 break;
27341
27342 case 289:
27343#line 2112 "gram.y" /* yacc.c:1646 */
27344 {
27345 AlterTableCmd *n = makeNode(AlterTableCmd);
27346 n->subtype = AT_DropNotNull;
27347 n->name = (yyvsp[-3].str);
27348 (yyval.node) = (Node *)n;
27349 }
27350#line 27351 "gram.c" /* yacc.c:1646 */
27351 break;
27352
27353 case 290:
27354#line 2120 "gram.y" /* yacc.c:1646 */
27355 {
27356 AlterTableCmd *n = makeNode(AlterTableCmd);
27357 n->subtype = AT_SetNotNull;
27358 n->name = (yyvsp[-3].str);
27359 (yyval.node) = (Node *)n;
27360 }
27361#line 27362 "gram.c" /* yacc.c:1646 */
27362 break;
27363
27364 case 291:
27365#line 2128 "gram.y" /* yacc.c:1646 */
27366 {
27367 AlterTableCmd *n = makeNode(AlterTableCmd);
27368 n->subtype = AT_SetStatistics;
27369 n->name = (yyvsp[-3].str);
27370 n->def = (Node *) makeInteger((yyvsp[0].ival));
27371 (yyval.node) = (Node *)n;
27372 }
27373#line 27374 "gram.c" /* yacc.c:1646 */
27374 break;
27375
27376 case 292:
27377#line 2137 "gram.y" /* yacc.c:1646 */
27378 {
27379 AlterTableCmd *n = makeNode(AlterTableCmd);
27380
27381 if ((yyvsp[-3].ival) <= 0 || (yyvsp[-3].ival) > PG_INT16_MAX)
27382 ereport(ERROR,
27383 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
27384 errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
27385 parser_errposition((yylsp[-3]))));
27386
27387 n->subtype = AT_SetStatistics;
27388 n->num = (int16) (yyvsp[-3].ival);
27389 n->def = (Node *) makeInteger((yyvsp[0].ival));
27390 (yyval.node) = (Node *)n;
27391 }
27392#line 27393 "gram.c" /* yacc.c:1646 */
27393 break;
27394
27395 case 293:
27396#line 2153 "gram.y" /* yacc.c:1646 */
27397 {
27398 AlterTableCmd *n = makeNode(AlterTableCmd);
27399 n->subtype = AT_SetOptions;
27400 n->name = (yyvsp[-2].str);
27401 n->def = (Node *) (yyvsp[0].list);
27402 (yyval.node) = (Node *)n;
27403 }
27404#line 27405 "gram.c" /* yacc.c:1646 */
27405 break;
27406
27407 case 294:
27408#line 2162 "gram.y" /* yacc.c:1646 */
27409 {
27410 AlterTableCmd *n = makeNode(AlterTableCmd);
27411 n->subtype = AT_ResetOptions;
27412 n->name = (yyvsp[-2].str);
27413 n->def = (Node *) (yyvsp[0].list);
27414 (yyval.node) = (Node *)n;
27415 }
27416#line 27417 "gram.c" /* yacc.c:1646 */
27417 break;
27418
27419 case 295:
27420#line 2171 "gram.y" /* yacc.c:1646 */
27421 {
27422 AlterTableCmd *n = makeNode(AlterTableCmd);
27423 n->subtype = AT_SetStorage;
27424 n->name = (yyvsp[-3].str);
27425 n->def = (Node *) makeString((yyvsp[0].str));
27426 (yyval.node) = (Node *)n;
27427 }
27428#line 27429 "gram.c" /* yacc.c:1646 */
27429 break;
27430
27431 case 296:
27432#line 2180 "gram.y" /* yacc.c:1646 */
27433 {
27434 AlterTableCmd *n = makeNode(AlterTableCmd);
27435 Constraint *c = makeNode(Constraint);
27436
27437 c->contype = CONSTR_IDENTITY;
27438 c->generated_when = (yyvsp[-3].ival);
27439 c->options = (yyvsp[0].list);
27440 c->location = (yylsp[-4]);
27441
27442 n->subtype = AT_AddIdentity;
27443 n->name = (yyvsp[-6].str);
27444 n->def = (Node *) c;
27445
27446 (yyval.node) = (Node *)n;
27447 }
27448#line 27449 "gram.c" /* yacc.c:1646 */
27449 break;
27450
27451 case 297:
27452#line 2197 "gram.y" /* yacc.c:1646 */
27453 {
27454 AlterTableCmd *n = makeNode(AlterTableCmd);
27455 n->subtype = AT_SetIdentity;
27456 n->name = (yyvsp[-1].str);
27457 n->def = (Node *) (yyvsp[0].list);
27458 (yyval.node) = (Node *)n;
27459 }
27460#line 27461 "gram.c" /* yacc.c:1646 */
27461 break;
27462
27463 case 298:
27464#line 2206 "gram.y" /* yacc.c:1646 */
27465 {
27466 AlterTableCmd *n = makeNode(AlterTableCmd);
27467 n->subtype = AT_DropIdentity;
27468 n->name = (yyvsp[-2].str);
27469 n->missing_ok = false;
27470 (yyval.node) = (Node *)n;
27471 }
27472#line 27473 "gram.c" /* yacc.c:1646 */
27473 break;
27474
27475 case 299:
27476#line 2215 "gram.y" /* yacc.c:1646 */
27477 {
27478 AlterTableCmd *n = makeNode(AlterTableCmd);
27479 n->subtype = AT_DropIdentity;
27480 n->name = (yyvsp[-4].str);
27481 n->missing_ok = true;
27482 (yyval.node) = (Node *)n;
27483 }
27484#line 27485 "gram.c" /* yacc.c:1646 */
27485 break;
27486
27487 case 300:
27488#line 2224 "gram.y" /* yacc.c:1646 */
27489 {
27490 AlterTableCmd *n = makeNode(AlterTableCmd);
27491 n->subtype = AT_DropColumn;
27492 n->name = (yyvsp[-1].str);
27493 n->behavior = (yyvsp[0].dbehavior);
27494 n->missing_ok = true;
27495 (yyval.node) = (Node *)n;
27496 }
27497#line 27498 "gram.c" /* yacc.c:1646 */
27498 break;
27499
27500 case 301:
27501#line 2234 "gram.y" /* yacc.c:1646 */
27502 {
27503 AlterTableCmd *n = makeNode(AlterTableCmd);
27504 n->subtype = AT_DropColumn;
27505 n->name = (yyvsp[-1].str);
27506 n->behavior = (yyvsp[0].dbehavior);
27507 n->missing_ok = false;
27508 (yyval.node) = (Node *)n;
27509 }
27510#line 27511 "gram.c" /* yacc.c:1646 */
27511 break;
27512
27513 case 302:
27514#line 2247 "gram.y" /* yacc.c:1646 */
27515 {
27516 AlterTableCmd *n = makeNode(AlterTableCmd);
27517 ColumnDef *def = makeNode(ColumnDef);
27518 n->subtype = AT_AlterColumnType;
27519 n->name = (yyvsp[-5].str);
27520 n->def = (Node *) def;
27521 /* We only use these fields of the ColumnDef node */
27522 def->typeName = (yyvsp[-2].typnam);
27523 def->collClause = (CollateClause *) (yyvsp[-1].node);
27524 def->raw_default = (yyvsp[0].node);
27525 def->location = (yylsp[-5]);
27526 (yyval.node) = (Node *)n;
27527 }
27528#line 27529 "gram.c" /* yacc.c:1646 */
27529 break;
27530
27531 case 303:
27532#line 2262 "gram.y" /* yacc.c:1646 */
27533 {
27534 AlterTableCmd *n = makeNode(AlterTableCmd);
27535 n->subtype = AT_AlterColumnGenericOptions;
27536 n->name = (yyvsp[-1].str);
27537 n->def = (Node *) (yyvsp[0].list);
27538 (yyval.node) = (Node *)n;
27539 }
27540#line 27541 "gram.c" /* yacc.c:1646 */
27541 break;
27542
27543 case 304:
27544#line 2271 "gram.y" /* yacc.c:1646 */
27545 {
27546 AlterTableCmd *n = makeNode(AlterTableCmd);
27547 n->subtype = AT_AddConstraint;
27548 n->def = (yyvsp[0].node);
27549 (yyval.node) = (Node *)n;
27550 }
27551#line 27552 "gram.c" /* yacc.c:1646 */
27552 break;
27553
27554 case 305:
27555#line 2279 "gram.y" /* yacc.c:1646 */
27556 {
27557 AlterTableCmd *n = makeNode(AlterTableCmd);
27558 Constraint *c = makeNode(Constraint);
27559 n->subtype = AT_AlterConstraint;
27560 n->def = (Node *) c;
27561 c->contype = CONSTR_FOREIGN; /* others not supported, yet */
27562 c->conname = (yyvsp[-1].str);
27563 processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
27564 &c->deferrable,
27565 &c->initdeferred,
27566 NULL, NULL, yyscanner);
27567 (yyval.node) = (Node *)n;
27568 }
27569#line 27570 "gram.c" /* yacc.c:1646 */
27570 break;
27571
27572 case 306:
27573#line 2294 "gram.y" /* yacc.c:1646 */
27574 {
27575 AlterTableCmd *n = makeNode(AlterTableCmd);
27576 n->subtype = AT_ValidateConstraint;
27577 n->name = (yyvsp[0].str);
27578 (yyval.node) = (Node *)n;
27579 }
27580#line 27581 "gram.c" /* yacc.c:1646 */
27581 break;
27582
27583 case 307:
27584#line 2302 "gram.y" /* yacc.c:1646 */
27585 {
27586 AlterTableCmd *n = makeNode(AlterTableCmd);
27587 n->subtype = AT_DropConstraint;
27588 n->name = (yyvsp[-1].str);
27589 n->behavior = (yyvsp[0].dbehavior);
27590 n->missing_ok = true;
27591 (yyval.node) = (Node *)n;
27592 }
27593#line 27594 "gram.c" /* yacc.c:1646 */
27594 break;
27595
27596 case 308:
27597#line 2312 "gram.y" /* yacc.c:1646 */
27598 {
27599 AlterTableCmd *n = makeNode(AlterTableCmd);
27600 n->subtype = AT_DropConstraint;
27601 n->name = (yyvsp[-1].str);
27602 n->behavior = (yyvsp[0].dbehavior);
27603 n->missing_ok = false;
27604 (yyval.node) = (Node *)n;
27605 }
27606#line 27607 "gram.c" /* yacc.c:1646 */
27607 break;
27608
27609 case 309:
27610#line 2322 "gram.y" /* yacc.c:1646 */
27611 {
27612 AlterTableCmd *n = makeNode(AlterTableCmd);
27613 n->subtype = AT_DropOids;
27614 (yyval.node) = (Node *)n;
27615 }
27616#line 27617 "gram.c" /* yacc.c:1646 */
27617 break;
27618
27619 case 310:
27620#line 2329 "gram.y" /* yacc.c:1646 */
27621 {
27622 AlterTableCmd *n = makeNode(AlterTableCmd);
27623 n->subtype = AT_ClusterOn;
27624 n->name = (yyvsp[0].str);
27625 (yyval.node) = (Node *)n;
27626 }
27627#line 27628 "gram.c" /* yacc.c:1646 */
27628 break;
27629
27630 case 311:
27631#line 2337 "gram.y" /* yacc.c:1646 */
27632 {
27633 AlterTableCmd *n = makeNode(AlterTableCmd);
27634 n->subtype = AT_DropCluster;
27635 n->name = NULL;
27636 (yyval.node) = (Node *)n;
27637 }
27638#line 27639 "gram.c" /* yacc.c:1646 */
27639 break;
27640
27641 case 312:
27642#line 2345 "gram.y" /* yacc.c:1646 */
27643 {
27644 AlterTableCmd *n = makeNode(AlterTableCmd);
27645 n->subtype = AT_SetLogged;
27646 (yyval.node) = (Node *)n;
27647 }
27648#line 27649 "gram.c" /* yacc.c:1646 */
27649 break;
27650
27651 case 313:
27652#line 2352 "gram.y" /* yacc.c:1646 */
27653 {
27654 AlterTableCmd *n = makeNode(AlterTableCmd);
27655 n->subtype = AT_SetUnLogged;
27656 (yyval.node) = (Node *)n;
27657 }
27658#line 27659 "gram.c" /* yacc.c:1646 */
27659 break;
27660
27661 case 314:
27662#line 2359 "gram.y" /* yacc.c:1646 */
27663 {
27664 AlterTableCmd *n = makeNode(AlterTableCmd);
27665 n->subtype = AT_EnableTrig;
27666 n->name = (yyvsp[0].str);
27667 (yyval.node) = (Node *)n;
27668 }
27669#line 27670 "gram.c" /* yacc.c:1646 */
27670 break;
27671
27672 case 315:
27673#line 2367 "gram.y" /* yacc.c:1646 */
27674 {
27675 AlterTableCmd *n = makeNode(AlterTableCmd);
27676 n->subtype = AT_EnableAlwaysTrig;
27677 n->name = (yyvsp[0].str);
27678 (yyval.node) = (Node *)n;
27679 }
27680#line 27681 "gram.c" /* yacc.c:1646 */
27681 break;
27682
27683 case 316:
27684#line 2375 "gram.y" /* yacc.c:1646 */
27685 {
27686 AlterTableCmd *n = makeNode(AlterTableCmd);
27687 n->subtype = AT_EnableReplicaTrig;
27688 n->name = (yyvsp[0].str);
27689 (yyval.node) = (Node *)n;
27690 }
27691#line 27692 "gram.c" /* yacc.c:1646 */
27692 break;
27693
27694 case 317:
27695#line 2383 "gram.y" /* yacc.c:1646 */
27696 {
27697 AlterTableCmd *n = makeNode(AlterTableCmd);
27698 n->subtype = AT_EnableTrigAll;
27699 (yyval.node) = (Node *)n;
27700 }
27701#line 27702 "gram.c" /* yacc.c:1646 */
27702 break;
27703
27704 case 318:
27705#line 2390 "gram.y" /* yacc.c:1646 */
27706 {
27707 AlterTableCmd *n = makeNode(AlterTableCmd);
27708 n->subtype = AT_EnableTrigUser;
27709 (yyval.node) = (Node *)n;
27710 }
27711#line 27712 "gram.c" /* yacc.c:1646 */
27712 break;
27713
27714 case 319:
27715#line 2397 "gram.y" /* yacc.c:1646 */
27716 {
27717 AlterTableCmd *n = makeNode(AlterTableCmd);
27718 n->subtype = AT_DisableTrig;
27719 n->name = (yyvsp[0].str);
27720 (yyval.node) = (Node *)n;
27721 }
27722#line 27723 "gram.c" /* yacc.c:1646 */
27723 break;
27724
27725 case 320:
27726#line 2405 "gram.y" /* yacc.c:1646 */
27727 {
27728 AlterTableCmd *n = makeNode(AlterTableCmd);
27729 n->subtype = AT_DisableTrigAll;
27730 (yyval.node) = (Node *)n;
27731 }
27732#line 27733 "gram.c" /* yacc.c:1646 */
27733 break;
27734
27735 case 321:
27736#line 2412 "gram.y" /* yacc.c:1646 */
27737 {
27738 AlterTableCmd *n = makeNode(AlterTableCmd);
27739 n->subtype = AT_DisableTrigUser;
27740 (yyval.node) = (Node *)n;
27741 }
27742#line 27743 "gram.c" /* yacc.c:1646 */
27743 break;
27744
27745 case 322:
27746#line 2419 "gram.y" /* yacc.c:1646 */
27747 {
27748 AlterTableCmd *n = makeNode(AlterTableCmd);
27749 n->subtype = AT_EnableRule;
27750 n->name = (yyvsp[0].str);
27751 (yyval.node) = (Node *)n;
27752 }
27753#line 27754 "gram.c" /* yacc.c:1646 */
27754 break;
27755
27756 case 323:
27757#line 2427 "gram.y" /* yacc.c:1646 */
27758 {
27759 AlterTableCmd *n = makeNode(AlterTableCmd);
27760 n->subtype = AT_EnableAlwaysRule;
27761 n->name = (yyvsp[0].str);
27762 (yyval.node) = (Node *)n;
27763 }
27764#line 27765 "gram.c" /* yacc.c:1646 */
27765 break;
27766
27767 case 324:
27768#line 2435 "gram.y" /* yacc.c:1646 */
27769 {
27770 AlterTableCmd *n = makeNode(AlterTableCmd);
27771 n->subtype = AT_EnableReplicaRule;
27772 n->name = (yyvsp[0].str);
27773 (yyval.node) = (Node *)n;
27774 }
27775#line 27776 "gram.c" /* yacc.c:1646 */
27776 break;
27777
27778 case 325:
27779#line 2443 "gram.y" /* yacc.c:1646 */
27780 {
27781 AlterTableCmd *n = makeNode(AlterTableCmd);
27782 n->subtype = AT_DisableRule;
27783 n->name = (yyvsp[0].str);
27784 (yyval.node) = (Node *)n;
27785 }
27786#line 27787 "gram.c" /* yacc.c:1646 */
27787 break;
27788
27789 case 326:
27790#line 2451 "gram.y" /* yacc.c:1646 */
27791 {
27792 AlterTableCmd *n = makeNode(AlterTableCmd);
27793 n->subtype = AT_AddInherit;
27794 n->def = (Node *) (yyvsp[0].range);
27795 (yyval.node) = (Node *)n;
27796 }
27797#line 27798 "gram.c" /* yacc.c:1646 */
27798 break;
27799
27800 case 327:
27801#line 2459 "gram.y" /* yacc.c:1646 */
27802 {
27803 AlterTableCmd *n = makeNode(AlterTableCmd);
27804 n->subtype = AT_DropInherit;
27805 n->def = (Node *) (yyvsp[0].range);
27806 (yyval.node) = (Node *)n;
27807 }
27808#line 27809 "gram.c" /* yacc.c:1646 */
27809 break;
27810
27811 case 328:
27812#line 2467 "gram.y" /* yacc.c:1646 */
27813 {
27814 AlterTableCmd *n = makeNode(AlterTableCmd);
27815 TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
27816 def->location = (yylsp[0]);
27817 n->subtype = AT_AddOf;
27818 n->def = (Node *) def;
27819 (yyval.node) = (Node *)n;
27820 }
27821#line 27822 "gram.c" /* yacc.c:1646 */
27822 break;
27823
27824 case 329:
27825#line 2477 "gram.y" /* yacc.c:1646 */
27826 {
27827 AlterTableCmd *n = makeNode(AlterTableCmd);
27828 n->subtype = AT_DropOf;
27829 (yyval.node) = (Node *)n;
27830 }
27831#line 27832 "gram.c" /* yacc.c:1646 */
27832 break;
27833
27834 case 330:
27835#line 2484 "gram.y" /* yacc.c:1646 */
27836 {
27837 AlterTableCmd *n = makeNode(AlterTableCmd);
27838 n->subtype = AT_ChangeOwner;
27839 n->newowner = (yyvsp[0].rolespec);
27840 (yyval.node) = (Node *)n;
27841 }
27842#line 27843 "gram.c" /* yacc.c:1646 */
27843 break;
27844
27845 case 331:
27846#line 2492 "gram.y" /* yacc.c:1646 */
27847 {
27848 AlterTableCmd *n = makeNode(AlterTableCmd);
27849 n->subtype = AT_SetTableSpace;
27850 n->name = (yyvsp[0].str);
27851 (yyval.node) = (Node *)n;
27852 }
27853#line 27854 "gram.c" /* yacc.c:1646 */
27854 break;
27855
27856 case 332:
27857#line 2500 "gram.y" /* yacc.c:1646 */
27858 {
27859 AlterTableCmd *n = makeNode(AlterTableCmd);
27860 n->subtype = AT_SetRelOptions;
27861 n->def = (Node *)(yyvsp[0].list);
27862 (yyval.node) = (Node *)n;
27863 }
27864#line 27865 "gram.c" /* yacc.c:1646 */
27865 break;
27866
27867 case 333:
27868#line 2508 "gram.y" /* yacc.c:1646 */
27869 {
27870 AlterTableCmd *n = makeNode(AlterTableCmd);
27871 n->subtype = AT_ResetRelOptions;
27872 n->def = (Node *)(yyvsp[0].list);
27873 (yyval.node) = (Node *)n;
27874 }
27875#line 27876 "gram.c" /* yacc.c:1646 */
27876 break;
27877
27878 case 334:
27879#line 2516 "gram.y" /* yacc.c:1646 */
27880 {
27881 AlterTableCmd *n = makeNode(AlterTableCmd);
27882 n->subtype = AT_ReplicaIdentity;
27883 n->def = (yyvsp[0].node);
27884 (yyval.node) = (Node *)n;
27885 }
27886#line 27887 "gram.c" /* yacc.c:1646 */
27887 break;
27888
27889 case 335:
27890#line 2524 "gram.y" /* yacc.c:1646 */
27891 {
27892 AlterTableCmd *n = makeNode(AlterTableCmd);
27893 n->subtype = AT_EnableRowSecurity;
27894 (yyval.node) = (Node *)n;
27895 }
27896#line 27897 "gram.c" /* yacc.c:1646 */
27897 break;
27898
27899 case 336:
27900#line 2531 "gram.y" /* yacc.c:1646 */
27901 {
27902 AlterTableCmd *n = makeNode(AlterTableCmd);
27903 n->subtype = AT_DisableRowSecurity;
27904 (yyval.node) = (Node *)n;
27905 }
27906#line 27907 "gram.c" /* yacc.c:1646 */
27907 break;
27908
27909 case 337:
27910#line 2538 "gram.y" /* yacc.c:1646 */
27911 {
27912 AlterTableCmd *n = makeNode(AlterTableCmd);
27913 n->subtype = AT_ForceRowSecurity;
27914 (yyval.node) = (Node *)n;
27915 }
27916#line 27917 "gram.c" /* yacc.c:1646 */
27917 break;
27918
27919 case 338:
27920#line 2545 "gram.y" /* yacc.c:1646 */
27921 {
27922 AlterTableCmd *n = makeNode(AlterTableCmd);
27923 n->subtype = AT_NoForceRowSecurity;
27924 (yyval.node) = (Node *)n;
27925 }
27926#line 27927 "gram.c" /* yacc.c:1646 */
27927 break;
27928
27929 case 339:
27930#line 2551 "gram.y" /* yacc.c:1646 */
27931 {
27932 AlterTableCmd *n = makeNode(AlterTableCmd);
27933 n->subtype = AT_GenericOptions;
27934 n->def = (Node *)(yyvsp[0].list);
27935 (yyval.node) = (Node *) n;
27936 }
27937#line 27938 "gram.c" /* yacc.c:1646 */
27938 break;
27939
27940 case 340:
27941#line 2560 "gram.y" /* yacc.c:1646 */
27942 { (yyval.node) = (yyvsp[0].node); }
27943#line 27944 "gram.c" /* yacc.c:1646 */
27944 break;
27945
27946 case 341:
27947#line 2561 "gram.y" /* yacc.c:1646 */
27948 { (yyval.node) = NULL; }
27949#line 27950 "gram.c" /* yacc.c:1646 */
27950 break;
27951
27952 case 342:
27953#line 2565 "gram.y" /* yacc.c:1646 */
27954 { (yyval.dbehavior) = DROP_CASCADE; }
27955#line 27956 "gram.c" /* yacc.c:1646 */
27956 break;
27957
27958 case 343:
27959#line 2566 "gram.y" /* yacc.c:1646 */
27960 { (yyval.dbehavior) = DROP_RESTRICT; }
27961#line 27962 "gram.c" /* yacc.c:1646 */
27962 break;
27963
27964 case 344:
27965#line 2567 "gram.y" /* yacc.c:1646 */
27966 { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
27967#line 27968 "gram.c" /* yacc.c:1646 */
27968 break;
27969
27970 case 345:
27971#line 2572 "gram.y" /* yacc.c:1646 */
27972 {
27973 CollateClause *n = makeNode(CollateClause);
27974 n->arg = NULL;
27975 n->collname = (yyvsp[0].list);
27976 n->location = (yylsp[-1]);
27977 (yyval.node) = (Node *) n;
27978 }
27979#line 27980 "gram.c" /* yacc.c:1646 */
27980 break;
27981
27982 case 346:
27983#line 2579 "gram.y" /* yacc.c:1646 */
27984 { (yyval.node) = NULL; }
27985#line 27986 "gram.c" /* yacc.c:1646 */
27986 break;
27987
27988 case 347:
27989#line 2583 "gram.y" /* yacc.c:1646 */
27990 { (yyval.node) = (yyvsp[0].node); }
27991#line 27992 "gram.c" /* yacc.c:1646 */
27992 break;
27993
27994 case 348:
27995#line 2584 "gram.y" /* yacc.c:1646 */
27996 { (yyval.node) = NULL; }
27997#line 27998 "gram.c" /* yacc.c:1646 */
27998 break;
27999
28000 case 349:
28001#line 2589 "gram.y" /* yacc.c:1646 */
28002 {
28003 ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28004 n->identity_type = REPLICA_IDENTITY_NOTHING;
28005 n->name = NULL;
28006 (yyval.node) = (Node *) n;
28007 }
28008#line 28009 "gram.c" /* yacc.c:1646 */
28009 break;
28010
28011 case 350:
28012#line 2596 "gram.y" /* yacc.c:1646 */
28013 {
28014 ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28015 n->identity_type = REPLICA_IDENTITY_FULL;
28016 n->name = NULL;
28017 (yyval.node) = (Node *) n;
28018 }
28019#line 28020 "gram.c" /* yacc.c:1646 */
28020 break;
28021
28022 case 351:
28023#line 2603 "gram.y" /* yacc.c:1646 */
28024 {
28025 ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28026 n->identity_type = REPLICA_IDENTITY_DEFAULT;
28027 n->name = NULL;
28028 (yyval.node) = (Node *) n;
28029 }
28030#line 28031 "gram.c" /* yacc.c:1646 */
28031 break;
28032
28033 case 352:
28034#line 2610 "gram.y" /* yacc.c:1646 */
28035 {
28036 ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
28037 n->identity_type = REPLICA_IDENTITY_INDEX;
28038 n->name = (yyvsp[0].str);
28039 (yyval.node) = (Node *) n;
28040 }
28041#line 28042 "gram.c" /* yacc.c:1646 */
28042 break;
28043
28044 case 353:
28045#line 2619 "gram.y" /* yacc.c:1646 */
28046 { (yyval.list) = (yyvsp[-1].list); }
28047#line 28048 "gram.c" /* yacc.c:1646 */
28048 break;
28049
28050 case 354:
28051#line 2622 "gram.y" /* yacc.c:1646 */
28052 { (yyval.list) = (yyvsp[0].list); }
28053#line 28054 "gram.c" /* yacc.c:1646 */
28054 break;
28055
28056 case 355:
28057#line 2623 "gram.y" /* yacc.c:1646 */
28058 { (yyval.list) = NIL; }
28059#line 28060 "gram.c" /* yacc.c:1646 */
28060 break;
28061
28062 case 356:
28063#line 2627 "gram.y" /* yacc.c:1646 */
28064 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
28065#line 28066 "gram.c" /* yacc.c:1646 */
28066 break;
28067
28068 case 357:
28069#line 2628 "gram.y" /* yacc.c:1646 */
28070 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
28071#line 28072 "gram.c" /* yacc.c:1646 */
28072 break;
28073
28074 case 358:
28075#line 2634 "gram.y" /* yacc.c:1646 */
28076 {
28077 (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
28078 }
28079#line 28080 "gram.c" /* yacc.c:1646 */
28080 break;
28081
28082 case 359:
28083#line 2638 "gram.y" /* yacc.c:1646 */
28084 {
28085 (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
28086 }
28087#line 28088 "gram.c" /* yacc.c:1646 */
28088 break;
28089
28090 case 360:
28091#line 2642 "gram.y" /* yacc.c:1646 */
28092 {
28093 (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
28094 DEFELEM_UNSPEC, (yylsp[-4]));
28095 }
28096#line 28097 "gram.c" /* yacc.c:1646 */
28097 break;
28098
28099 case 361:
28100#line 2647 "gram.y" /* yacc.c:1646 */
28101 {
28102 (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
28103 }
28104#line 28105 "gram.c" /* yacc.c:1646 */
28105 break;
28106
28107 case 362:
28108#line 2654 "gram.y" /* yacc.c:1646 */
28109 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
28110#line 28111 "gram.c" /* yacc.c:1646 */
28111 break;
28112
28113 case 363:
28114#line 2656 "gram.y" /* yacc.c:1646 */
28115 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
28116#line 28117 "gram.c" /* yacc.c:1646 */
28117 break;
28118
28119 case 364:
28120#line 2661 "gram.y" /* yacc.c:1646 */
28121 {
28122 (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
28123 }
28124#line 28125 "gram.c" /* yacc.c:1646 */
28125 break;
28126
28127 case 365:
28128#line 2665 "gram.y" /* yacc.c:1646 */
28129 {
28130 (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
28131 }
28132#line 28133 "gram.c" /* yacc.c:1646 */
28133 break;
28134
28135 case 366:
28136#line 2669 "gram.y" /* yacc.c:1646 */
28137 {
28138 if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
28139 strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
28140 strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
28141 ereport(ERROR,
28142 (errcode(ERRCODE_SYNTAX_ERROR),
28143 errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
28144 parser_errposition((yylsp[0]))));
28145 (yyval.defelt) = (yyvsp[0].defelt);
28146 }
28147#line 28148 "gram.c" /* yacc.c:1646 */
28148 break;
28149
28150 case 367:
28151#line 2680 "gram.y" /* yacc.c:1646 */
28152 {
28153 (yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
28154 }
28155#line 28156 "gram.c" /* yacc.c:1646 */
28156 break;
28157
28158 case 368:
28159#line 2688 "gram.y" /* yacc.c:1646 */
28160 {
28161 ListCell *lc;
28162 PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28163
28164 n->strategy = PARTITION_STRATEGY_HASH;
28165 n->modulus = n->remainder = -1;
28166
28167 foreach (lc, (yyvsp[-1].list))
28168 {
28169 DefElem *opt = lfirst_node(DefElem, lc);
28170
28171 if (strcmp(opt->defname, "modulus") == 0)
28172 {
28173 if (n->modulus != -1)
28174 ereport(ERROR,
28175 (errcode(ERRCODE_DUPLICATE_OBJECT),
28176 errmsg("modulus for hash partition provided more than once"),
28177 parser_errposition(opt->location)));
28178 n->modulus = defGetInt32(opt);
28179 }
28180 else if (strcmp(opt->defname, "remainder") == 0)
28181 {
28182 if (n->remainder != -1)
28183 ereport(ERROR,
28184 (errcode(ERRCODE_DUPLICATE_OBJECT),
28185 errmsg("remainder for hash partition provided more than once"),
28186 parser_errposition(opt->location)));
28187 n->remainder = defGetInt32(opt);
28188 }
28189 else
28190 ereport(ERROR,
28191 (errcode(ERRCODE_SYNTAX_ERROR),
28192 errmsg("unrecognized hash partition bound specification \"%s\"",
28193 opt->defname),
28194 parser_errposition(opt->location)));
28195 }
28196
28197 if (n->modulus == -1)
28198 ereport(ERROR,
28199 (errcode(ERRCODE_SYNTAX_ERROR),
28200 errmsg("modulus for hash partition must be specified")));
28201 if (n->remainder == -1)
28202 ereport(ERROR,
28203 (errcode(ERRCODE_SYNTAX_ERROR),
28204 errmsg("remainder for hash partition must be specified")));
28205
28206 n->location = (yylsp[-3]);
28207
28208 (yyval.partboundspec) = n;
28209 }
28210#line 28211 "gram.c" /* yacc.c:1646 */
28211 break;
28212
28213 case 369:
28214#line 2741 "gram.y" /* yacc.c:1646 */
28215 {
28216 PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28217
28218 n->strategy = PARTITION_STRATEGY_LIST;
28219 n->is_default = false;
28220 n->listdatums = (yyvsp[-1].list);
28221 n->location = (yylsp[-3]);
28222
28223 (yyval.partboundspec) = n;
28224 }
28225#line 28226 "gram.c" /* yacc.c:1646 */
28226 break;
28227
28228 case 370:
28229#line 2754 "gram.y" /* yacc.c:1646 */
28230 {
28231 PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28232
28233 n->strategy = PARTITION_STRATEGY_RANGE;
28234 n->is_default = false;
28235 n->lowerdatums = (yyvsp[-5].list);
28236 n->upperdatums = (yyvsp[-1].list);
28237 n->location = (yylsp[-7]);
28238
28239 (yyval.partboundspec) = n;
28240 }
28241#line 28242 "gram.c" /* yacc.c:1646 */
28242 break;
28243
28244 case 371:
28245#line 2768 "gram.y" /* yacc.c:1646 */
28246 {
28247 PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
28248
28249 n->is_default = true;
28250 n->location = (yylsp[0]);
28251
28252 (yyval.partboundspec) = n;
28253 }
28254#line 28255 "gram.c" /* yacc.c:1646 */
28255 break;
28256
28257 case 372:
28258#line 2780 "gram.y" /* yacc.c:1646 */
28259 {
28260 (yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
28261 }
28262#line 28263 "gram.c" /* yacc.c:1646 */
28263 break;
28264
28265 case 373:
28266#line 2787 "gram.y" /* yacc.c:1646 */
28267 {
28268 (yyval.list) = list_make1((yyvsp[0].defelt));
28269 }
28270#line 28271 "gram.c" /* yacc.c:1646 */
28271 break;
28272
28273 case 374:
28274#line 2791 "gram.y" /* yacc.c:1646 */
28275 {
28276 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
28277 }
28278#line 28279 "gram.c" /* yacc.c:1646 */
28279 break;
28280
28281 case 375:
28282#line 2805 "gram.y" /* yacc.c:1646 */
28283 {
28284 AlterTableStmt *n = makeNode(AlterTableStmt);
28285
28286 /* can't use qualified_name, sigh */
28287 n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
28288 n->cmds = (yyvsp[0].list);
28289 n->relkind = OBJECT_TYPE;
28290 (yyval.node) = (Node *)n;
28291 }
28292#line 28293 "gram.c" /* yacc.c:1646 */
28293 break;
28294
28295 case 376:
28296#line 2817 "gram.y" /* yacc.c:1646 */
28297 { (yyval.list) = list_make1((yyvsp[0].node)); }
28298#line 28299 "gram.c" /* yacc.c:1646 */
28299 break;
28300
28301 case 377:
28302#line 2818 "gram.y" /* yacc.c:1646 */
28303 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
28304#line 28305 "gram.c" /* yacc.c:1646 */
28305 break;
28306
28307 case 378:
28308#line 2824 "gram.y" /* yacc.c:1646 */
28309 {
28310 AlterTableCmd *n = makeNode(AlterTableCmd);
28311 n->subtype = AT_AddColumn;
28312 n->def = (yyvsp[-1].node);
28313 n->behavior = (yyvsp[0].dbehavior);
28314 (yyval.node) = (Node *)n;
28315 }
28316#line 28317 "gram.c" /* yacc.c:1646 */
28317 break;
28318
28319 case 379:
28320#line 2833 "gram.y" /* yacc.c:1646 */
28321 {
28322 AlterTableCmd *n = makeNode(AlterTableCmd);
28323 n->subtype = AT_DropColumn;
28324 n->name = (yyvsp[-1].str);
28325 n->behavior = (yyvsp[0].dbehavior);
28326 n->missing_ok = true;
28327 (yyval.node) = (Node *)n;
28328 }
28329#line 28330 "gram.c" /* yacc.c:1646 */
28330 break;
28331
28332 case 380:
28333#line 2843 "gram.y" /* yacc.c:1646 */
28334 {
28335 AlterTableCmd *n = makeNode(AlterTableCmd);
28336 n->subtype = AT_DropColumn;
28337 n->name = (yyvsp[-1].str);
28338 n->behavior = (yyvsp[0].dbehavior);
28339 n->missing_ok = false;
28340 (yyval.node) = (Node *)n;
28341 }
28342#line 28343 "gram.c" /* yacc.c:1646 */
28343 break;
28344
28345 case 381:
28346#line 2853 "gram.y" /* yacc.c:1646 */
28347 {
28348 AlterTableCmd *n = makeNode(AlterTableCmd);
28349 ColumnDef *def = makeNode(ColumnDef);
28350 n->subtype = AT_AlterColumnType;
28351 n->name = (yyvsp[-5].str);
28352 n->def = (Node *) def;
28353 n->behavior = (yyvsp[0].dbehavior);
28354 /* We only use these fields of the ColumnDef node */
28355 def->typeName = (yyvsp[-2].typnam);
28356 def->collClause = (CollateClause *) (yyvsp[-1].node);
28357 def->raw_default = NULL;
28358 def->location = (yylsp[-5]);
28359 (yyval.node) = (Node *)n;
28360 }
28361#line 28362 "gram.c" /* yacc.c:1646 */
28362 break;
28363
28364 case 382:
28365#line 2879 "gram.y" /* yacc.c:1646 */
28366 {
28367 ClosePortalStmt *n = makeNode(ClosePortalStmt);
28368 n->portalname = (yyvsp[0].str);
28369 (yyval.node) = (Node *)n;
28370 }
28371#line 28372 "gram.c" /* yacc.c:1646 */
28372 break;
28373
28374 case 383:
28375#line 2885 "gram.y" /* yacc.c:1646 */
28376 {
28377 ClosePortalStmt *n = makeNode(ClosePortalStmt);
28378 n->portalname = NULL;
28379 (yyval.node) = (Node *)n;
28380 }
28381#line 28382 "gram.c" /* yacc.c:1646 */
28382 break;
28383
28384 case 384:
28385#line 2920 "gram.y" /* yacc.c:1646 */
28386 {
28387 CopyStmt *n = makeNode(CopyStmt);
28388 n->relation = (yyvsp[-8].range);
28389 n->query = NULL;
28390 n->attlist = (yyvsp[-7].list);
28391 n->is_from = (yyvsp[-6].boolean);
28392 n->is_program = (yyvsp[-5].boolean);
28393 n->filename = (yyvsp[-4].str);
28394 n->whereClause = (yyvsp[0].node);
28395
28396 if (n->is_program && n->filename == NULL)
28397 ereport(ERROR,
28398 (errcode(ERRCODE_SYNTAX_ERROR),
28399 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
28400 parser_errposition((yylsp[-3]))));
28401
28402 if (!n->is_from && n->whereClause != NULL)
28403 ereport(ERROR,
28404 (errcode(ERRCODE_SYNTAX_ERROR),
28405 errmsg("WHERE clause not allowed with COPY TO"),
28406 parser_errposition((yylsp[0]))));
28407
28408 n->options = NIL;
28409 /* Concatenate user-supplied flags */
28410 if ((yyvsp[-9].defelt))
28411 n->options = lappend(n->options, (yyvsp[-9].defelt));
28412 if ((yyvsp[-3].defelt))
28413 n->options = lappend(n->options, (yyvsp[-3].defelt));
28414 if ((yyvsp[-1].list))
28415 n->options = list_concat(n->options, (yyvsp[-1].list));
28416 (yyval.node) = (Node *)n;
28417 }
28418#line 28419 "gram.c" /* yacc.c:1646 */
28419 break;
28420
28421 case 385:
28422#line 2953 "gram.y" /* yacc.c:1646 */
28423 {
28424 CopyStmt *n = makeNode(CopyStmt);
28425 n->relation = NULL;
28426 n->query = (yyvsp[-6].node);
28427 n->attlist = NIL;
28428 n->is_from = false;
28429 n->is_program = (yyvsp[-3].boolean);
28430 n->filename = (yyvsp[-2].str);
28431 n->options = (yyvsp[0].list);
28432
28433 if (n->is_program && n->filename == NULL)
28434 ereport(ERROR,
28435 (errcode(ERRCODE_SYNTAX_ERROR),
28436 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
28437 parser_errposition((yylsp[-4]))));
28438
28439 (yyval.node) = (Node *)n;
28440 }
28441#line 28442 "gram.c" /* yacc.c:1646 */
28442 break;
28443
28444 case 386:
28445#line 2974 "gram.y" /* yacc.c:1646 */
28446 { (yyval.boolean) = true; }
28447#line 28448 "gram.c" /* yacc.c:1646 */
28448 break;
28449
28450 case 387:
28451#line 2975 "gram.y" /* yacc.c:1646 */
28452 { (yyval.boolean) = false; }
28453#line 28454 "gram.c" /* yacc.c:1646 */
28454 break;
28455
28456 case 388:
28457#line 2979 "gram.y" /* yacc.c:1646 */
28458 { (yyval.boolean) = true; }
28459#line 28460 "gram.c" /* yacc.c:1646 */
28460 break;
28461
28462 case 389:
28463#line 2980 "gram.y" /* yacc.c:1646 */
28464 { (yyval.boolean) = false; }
28465#line 28466 "gram.c" /* yacc.c:1646 */
28466 break;
28467
28468 case 390:
28469#line 2989 "gram.y" /* yacc.c:1646 */
28470 { (yyval.str) = (yyvsp[0].str); }
28471#line 28472 "gram.c" /* yacc.c:1646 */
28472 break;
28473
28474 case 391:
28475#line 2990 "gram.y" /* yacc.c:1646 */
28476 { (yyval.str) = NULL; }
28477#line 28478 "gram.c" /* yacc.c:1646 */
28478 break;
28479
28480 case 392:
28481#line 2991 "gram.y" /* yacc.c:1646 */
28482 { (yyval.str) = NULL; }
28483#line 28484 "gram.c" /* yacc.c:1646 */
28484 break;
28485
28486 case 393:
28487#line 2994 "gram.y" /* yacc.c:1646 */
28488 { (yyval.list) = (yyvsp[0].list); }
28489#line 28490 "gram.c" /* yacc.c:1646 */
28490 break;
28491
28492 case 394:
28493#line 2995 "gram.y" /* yacc.c:1646 */
28494 { (yyval.list) = (yyvsp[-1].list); }
28495#line 28496 "gram.c" /* yacc.c:1646 */
28496 break;
28497
28498 case 395:
28499#line 3000 "gram.y" /* yacc.c:1646 */
28500 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
28501#line 28502 "gram.c" /* yacc.c:1646 */
28502 break;
28503
28504 case 396:
28505#line 3001 "gram.y" /* yacc.c:1646 */
28506 { (yyval.list) = NIL; }
28507#line 28508 "gram.c" /* yacc.c:1646 */
28508 break;
28509
28510 case 397:
28511#line 3006 "gram.y" /* yacc.c:1646 */
28512 {
28513 (yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
28514 }
28515#line 28516 "gram.c" /* yacc.c:1646 */
28516 break;
28517
28518 case 398:
28519#line 3010 "gram.y" /* yacc.c:1646 */
28520 {
28521 (yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(true), (yylsp[0]));
28522 }
28523#line 28524 "gram.c" /* yacc.c:1646 */
28524 break;
28525
28526 case 399:
28527#line 3014 "gram.y" /* yacc.c:1646 */
28528 {
28529 (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28530 }
28531#line 28532 "gram.c" /* yacc.c:1646 */
28532 break;
28533
28534 case 400:
28535#line 3018 "gram.y" /* yacc.c:1646 */
28536 {
28537 (yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28538 }
28539#line 28540 "gram.c" /* yacc.c:1646 */
28540 break;
28541
28542 case 401:
28543#line 3022 "gram.y" /* yacc.c:1646 */
28544 {
28545 (yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
28546 }
28547#line 28548 "gram.c" /* yacc.c:1646 */
28548 break;
28549
28550 case 402:
28551#line 3026 "gram.y" /* yacc.c:1646 */
28552 {
28553 (yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[0]));
28554 }
28555#line 28556 "gram.c" /* yacc.c:1646 */
28556 break;
28557
28558 case 403:
28559#line 3030 "gram.y" /* yacc.c:1646 */
28560 {
28561 (yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28562 }
28563#line 28564 "gram.c" /* yacc.c:1646 */
28564 break;
28565
28566 case 404:
28567#line 3034 "gram.y" /* yacc.c:1646 */
28568 {
28569 (yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
28570 }
28571#line 28572 "gram.c" /* yacc.c:1646 */
28572 break;
28573
28574 case 405:
28575#line 3038 "gram.y" /* yacc.c:1646 */
28576 {
28577 (yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
28578 }
28579#line 28580 "gram.c" /* yacc.c:1646 */
28580 break;
28581
28582 case 406:
28583#line 3042 "gram.y" /* yacc.c:1646 */
28584 {
28585 (yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
28586 }
28587#line 28588 "gram.c" /* yacc.c:1646 */
28588 break;
28589
28590 case 407:
28591#line 3046 "gram.y" /* yacc.c:1646 */
28592 {
28593 (yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list), (yylsp[-3]));
28594 }
28595#line 28596 "gram.c" /* yacc.c:1646 */
28596 break;
28597
28598 case 408:
28599#line 3050 "gram.y" /* yacc.c:1646 */
28600 {
28601 (yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list), (yylsp[-2]));
28602 }
28603#line 28604 "gram.c" /* yacc.c:1646 */
28604 break;
28605
28606 case 409:
28607#line 3054 "gram.y" /* yacc.c:1646 */
28608 {
28609 (yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
28610 }
28611#line 28612 "gram.c" /* yacc.c:1646 */
28612 break;
28613
28614 case 410:
28615#line 3063 "gram.y" /* yacc.c:1646 */
28616 {
28617 (yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
28618 }
28619#line 28620 "gram.c" /* yacc.c:1646 */
28620 break;
28621
28622 case 411:
28623#line 3066 "gram.y" /* yacc.c:1646 */
28624 { (yyval.defelt) = NULL; }
28625#line 28626 "gram.c" /* yacc.c:1646 */
28626 break;
28627
28628 case 412:
28629#line 3071 "gram.y" /* yacc.c:1646 */
28630 {
28631 (yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
28632 }
28633#line 28634 "gram.c" /* yacc.c:1646 */
28634 break;
28635
28636 case 413:
28637#line 3074 "gram.y" /* yacc.c:1646 */
28638 { (yyval.defelt) = NULL; }
28639#line 28640 "gram.c" /* yacc.c:1646 */
28640 break;
28641
28642 case 414:
28643#line 3078 "gram.y" /* yacc.c:1646 */
28644 {}
28645#line 28646 "gram.c" /* yacc.c:1646 */
28646 break;
28647
28648 case 415:
28649#line 3079 "gram.y" /* yacc.c:1646 */
28650 {}
28651#line 28652 "gram.c" /* yacc.c:1646 */
28652 break;
28653
28654 case 416:
28655#line 3085 "gram.y" /* yacc.c:1646 */
28656 {
28657 (yyval.list) = list_make1((yyvsp[0].defelt));
28658 }
28659#line 28660 "gram.c" /* yacc.c:1646 */
28660 break;
28661
28662 case 417:
28663#line 3089 "gram.y" /* yacc.c:1646 */
28664 {
28665 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
28666 }
28667#line 28668 "gram.c" /* yacc.c:1646 */
28668 break;
28669
28670 case 418:
28671#line 3096 "gram.y" /* yacc.c:1646 */
28672 {
28673 (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
28674 }
28675#line 28676 "gram.c" /* yacc.c:1646 */
28676 break;
28677
28678 case 419:
28679#line 3102 "gram.y" /* yacc.c:1646 */
28680 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
28681#line 28682 "gram.c" /* yacc.c:1646 */
28682 break;
28683
28684 case 420:
28685#line 3103 "gram.y" /* yacc.c:1646 */
28686 { (yyval.node) = (Node *) (yyvsp[0].value); }
28687#line 28688 "gram.c" /* yacc.c:1646 */
28688 break;
28689
28690 case 421:
28691#line 3104 "gram.y" /* yacc.c:1646 */
28692 { (yyval.node) = (Node *) makeNode(A_Star); }
28693#line 28694 "gram.c" /* yacc.c:1646 */
28694 break;
28695
28696 case 422:
28697#line 3105 "gram.y" /* yacc.c:1646 */
28698 { (yyval.node) = (Node *) (yyvsp[-1].list); }
28699#line 28700 "gram.c" /* yacc.c:1646 */
28700 break;
28701
28702 case 423:
28703#line 3106 "gram.y" /* yacc.c:1646 */
28704 { (yyval.node) = NULL; }
28705#line 28706 "gram.c" /* yacc.c:1646 */
28706 break;
28707
28708 case 424:
28709#line 3111 "gram.y" /* yacc.c:1646 */
28710 {
28711 (yyval.list) = list_make1((yyvsp[0].node));
28712 }
28713#line 28714 "gram.c" /* yacc.c:1646 */
28714 break;
28715
28716 case 425:
28717#line 3115 "gram.y" /* yacc.c:1646 */
28718 {
28719 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
28720 }
28721#line 28722 "gram.c" /* yacc.c:1646 */
28722 break;
28723
28724 case 426:
28725#line 3122 "gram.y" /* yacc.c:1646 */
28726 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
28727#line 28728 "gram.c" /* yacc.c:1646 */
28728 break;
28729
28730 case 427:
28731#line 3136 "gram.y" /* yacc.c:1646 */
28732 {
28733 CreateStmt *n = makeNode(CreateStmt);
28734 (yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
28735 n->relation = (yyvsp[-9].range);
28736 n->tableElts = (yyvsp[-7].list);
28737 n->inhRelations = (yyvsp[-5].list);
28738 n->partspec = (yyvsp[-4].partspec);
28739 n->ofTypename = NULL;
28740 n->constraints = NIL;
28741 n->accessMethod = (yyvsp[-3].str);
28742 n->options = (yyvsp[-2].list);
28743 n->oncommit = (yyvsp[-1].oncommit);
28744 n->tablespacename = (yyvsp[0].str);
28745 n->if_not_exists = false;
28746 (yyval.node) = (Node *)n;
28747 }
28748#line 28749 "gram.c" /* yacc.c:1646 */
28749 break;
28750
28751 case 428:
28752#line 3155 "gram.y" /* yacc.c:1646 */
28753 {
28754 CreateStmt *n = makeNode(CreateStmt);
28755 (yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
28756 n->relation = (yyvsp[-9].range);
28757 n->tableElts = (yyvsp[-7].list);
28758 n->inhRelations = (yyvsp[-5].list);
28759 n->partspec = (yyvsp[-4].partspec);
28760 n->ofTypename = NULL;
28761 n->constraints = NIL;
28762 n->accessMethod = (yyvsp[-3].str);
28763 n->options = (yyvsp[-2].list);
28764 n->oncommit = (yyvsp[-1].oncommit);
28765 n->tablespacename = (yyvsp[0].str);
28766 n->if_not_exists = true;
28767 (yyval.node) = (Node *)n;
28768 }
28769#line 28770 "gram.c" /* yacc.c:1646 */
28770 break;
28771
28772 case 429:
28773#line 3174 "gram.y" /* yacc.c:1646 */
28774 {
28775 CreateStmt *n = makeNode(CreateStmt);
28776 (yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
28777 n->relation = (yyvsp[-8].range);
28778 n->tableElts = (yyvsp[-5].list);
28779 n->inhRelations = NIL;
28780 n->partspec = (yyvsp[-4].partspec);
28781 n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
28782 n->ofTypename->location = (yylsp[-6]);
28783 n->constraints = NIL;
28784 n->accessMethod = (yyvsp[-3].str);
28785 n->options = (yyvsp[-2].list);
28786 n->oncommit = (yyvsp[-1].oncommit);
28787 n->tablespacename = (yyvsp[0].str);
28788 n->if_not_exists = false;
28789 (yyval.node) = (Node *)n;
28790 }
28791#line 28792 "gram.c" /* yacc.c:1646 */
28792 break;
28793
28794 case 430:
28795#line 3194 "gram.y" /* yacc.c:1646 */
28796 {
28797 CreateStmt *n = makeNode(CreateStmt);
28798 (yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
28799 n->relation = (yyvsp[-8].range);
28800 n->tableElts = (yyvsp[-5].list);
28801 n->inhRelations = NIL;
28802 n->partspec = (yyvsp[-4].partspec);
28803 n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
28804 n->ofTypename->location = (yylsp[-6]);
28805 n->constraints = NIL;
28806 n->accessMethod = (yyvsp[-3].str);
28807 n->options = (yyvsp[-2].list);
28808 n->oncommit = (yyvsp[-1].oncommit);
28809 n->tablespacename = (yyvsp[0].str);
28810 n->if_not_exists = true;
28811 (yyval.node) = (Node *)n;
28812 }
28813#line 28814 "gram.c" /* yacc.c:1646 */
28814 break;
28815
28816 case 431:
28817#line 3214 "gram.y" /* yacc.c:1646 */
28818 {
28819 CreateStmt *n = makeNode(CreateStmt);
28820 (yyvsp[-10].range)->relpersistence = (yyvsp[-12].ival);
28821 n->relation = (yyvsp[-10].range);
28822 n->tableElts = (yyvsp[-6].list);
28823 n->inhRelations = list_make1((yyvsp[-7].range));
28824 n->partbound = (yyvsp[-5].partboundspec);
28825 n->partspec = (yyvsp[-4].partspec);
28826 n->ofTypename = NULL;
28827 n->constraints = NIL;
28828 n->accessMethod = (yyvsp[-3].str);
28829 n->options = (yyvsp[-2].list);
28830 n->oncommit = (yyvsp[-1].oncommit);
28831 n->tablespacename = (yyvsp[0].str);
28832 n->if_not_exists = false;
28833 (yyval.node) = (Node *)n;
28834 }
28835#line 28836 "gram.c" /* yacc.c:1646 */
28836 break;
28837
28838 case 432:
28839#line 3234 "gram.y" /* yacc.c:1646 */
28840 {
28841 CreateStmt *n = makeNode(CreateStmt);
28842 (yyvsp[-10].range)->relpersistence = (yyvsp[-15].ival);
28843 n->relation = (yyvsp[-10].range);
28844 n->tableElts = (yyvsp[-6].list);
28845 n->inhRelations = list_make1((yyvsp[-7].range));
28846 n->partbound = (yyvsp[-5].partboundspec);
28847 n->partspec = (yyvsp[-4].partspec);
28848 n->ofTypename = NULL;
28849 n->constraints = NIL;
28850 n->accessMethod = (yyvsp[-3].str);
28851 n->options = (yyvsp[-2].list);
28852 n->oncommit = (yyvsp[-1].oncommit);
28853 n->tablespacename = (yyvsp[0].str);
28854 n->if_not_exists = true;
28855 (yyval.node) = (Node *)n;
28856 }
28857#line 28858 "gram.c" /* yacc.c:1646 */
28858 break;
28859
28860 case 433:
28861#line 3264 "gram.y" /* yacc.c:1646 */
28862 { (yyval.ival) = RELPERSISTENCE_TEMP; }
28863#line 28864 "gram.c" /* yacc.c:1646 */
28864 break;
28865
28866 case 434:
28867#line 3265 "gram.y" /* yacc.c:1646 */
28868 { (yyval.ival) = RELPERSISTENCE_TEMP; }
28869#line 28870 "gram.c" /* yacc.c:1646 */
28870 break;
28871
28872 case 435:
28873#line 3266 "gram.y" /* yacc.c:1646 */
28874 { (yyval.ival) = RELPERSISTENCE_TEMP; }
28875#line 28876 "gram.c" /* yacc.c:1646 */
28876 break;
28877
28878 case 436:
28879#line 3267 "gram.y" /* yacc.c:1646 */
28880 { (yyval.ival) = RELPERSISTENCE_TEMP; }
28881#line 28882 "gram.c" /* yacc.c:1646 */
28882 break;
28883
28884 case 437:
28885#line 3269 "gram.y" /* yacc.c:1646 */
28886 {
28887 ereport(WARNING,
28888 (errmsg("GLOBAL is deprecated in temporary table creation"),
28889 parser_errposition((yylsp[-1]))));
28890 (yyval.ival) = RELPERSISTENCE_TEMP;
28891 }
28892#line 28893 "gram.c" /* yacc.c:1646 */
28893 break;
28894
28895 case 438:
28896#line 3276 "gram.y" /* yacc.c:1646 */
28897 {
28898 ereport(WARNING,
28899 (errmsg("GLOBAL is deprecated in temporary table creation"),
28900 parser_errposition((yylsp[-1]))));
28901 (yyval.ival) = RELPERSISTENCE_TEMP;
28902 }
28903#line 28904 "gram.c" /* yacc.c:1646 */
28904 break;
28905
28906 case 439:
28907#line 3282 "gram.y" /* yacc.c:1646 */
28908 { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
28909#line 28910 "gram.c" /* yacc.c:1646 */
28910 break;
28911
28912 case 440:
28913#line 3283 "gram.y" /* yacc.c:1646 */
28914 { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
28915#line 28916 "gram.c" /* yacc.c:1646 */
28916 break;
28917
28918 case 441:
28919#line 3287 "gram.y" /* yacc.c:1646 */
28920 { (yyval.list) = (yyvsp[0].list); }
28921#line 28922 "gram.c" /* yacc.c:1646 */
28922 break;
28923
28924 case 442:
28925#line 3288 "gram.y" /* yacc.c:1646 */
28926 { (yyval.list) = NIL; }
28927#line 28928 "gram.c" /* yacc.c:1646 */
28928 break;
28929
28930 case 443:
28931#line 3292 "gram.y" /* yacc.c:1646 */
28932 { (yyval.list) = (yyvsp[-1].list); }
28933#line 28934 "gram.c" /* yacc.c:1646 */
28934 break;
28935
28936 case 444:
28937#line 3293 "gram.y" /* yacc.c:1646 */
28938 { (yyval.list) = NIL; }
28939#line 28940 "gram.c" /* yacc.c:1646 */
28940 break;
28941
28942 case 445:
28943#line 3298 "gram.y" /* yacc.c:1646 */
28944 {
28945 (yyval.list) = list_make1((yyvsp[0].node));
28946 }
28947#line 28948 "gram.c" /* yacc.c:1646 */
28948 break;
28949
28950 case 446:
28951#line 3302 "gram.y" /* yacc.c:1646 */
28952 {
28953 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
28954 }
28955#line 28956 "gram.c" /* yacc.c:1646 */
28956 break;
28957
28958 case 447:
28959#line 3309 "gram.y" /* yacc.c:1646 */
28960 {
28961 (yyval.list) = list_make1((yyvsp[0].node));
28962 }
28963#line 28964 "gram.c" /* yacc.c:1646 */
28964 break;
28965
28966 case 448:
28967#line 3313 "gram.y" /* yacc.c:1646 */
28968 {
28969 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
28970 }
28971#line 28972 "gram.c" /* yacc.c:1646 */
28972 break;
28973
28974 case 449:
28975#line 3319 "gram.y" /* yacc.c:1646 */
28976 { (yyval.node) = (yyvsp[0].node); }
28977#line 28978 "gram.c" /* yacc.c:1646 */
28978 break;
28979
28980 case 450:
28981#line 3320 "gram.y" /* yacc.c:1646 */
28982 { (yyval.node) = (yyvsp[0].node); }
28983#line 28984 "gram.c" /* yacc.c:1646 */
28984 break;
28985
28986 case 451:
28987#line 3321 "gram.y" /* yacc.c:1646 */
28988 { (yyval.node) = (yyvsp[0].node); }
28989#line 28990 "gram.c" /* yacc.c:1646 */
28990 break;
28991
28992 case 452:
28993#line 3325 "gram.y" /* yacc.c:1646 */
28994 { (yyval.node) = (yyvsp[0].node); }
28995#line 28996 "gram.c" /* yacc.c:1646 */
28996 break;
28997
28998 case 453:
28999#line 3326 "gram.y" /* yacc.c:1646 */
29000 { (yyval.node) = (yyvsp[0].node); }
29001#line 29002 "gram.c" /* yacc.c:1646 */
29002 break;
29003
29004 case 454:
29005#line 3330 "gram.y" /* yacc.c:1646 */
29006 {
29007 ColumnDef *n = makeNode(ColumnDef);
29008 n->colname = (yyvsp[-3].str);
29009 n->typeName = (yyvsp[-2].typnam);
29010 n->inhcount = 0;
29011 n->is_local = true;
29012 n->is_not_null = false;
29013 n->is_from_type = false;
29014 n->storage = 0;
29015 n->raw_default = NULL;
29016 n->cooked_default = NULL;
29017 n->collOid = InvalidOid;
29018 n->fdwoptions = (yyvsp[-1].list);
29019 SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29020 yyscanner);
29021 n->location = (yylsp[-3]);
29022 (yyval.node) = (Node *)n;
29023 }
29024#line 29025 "gram.c" /* yacc.c:1646 */
29025 break;
29026
29027 case 455:
29028#line 3351 "gram.y" /* yacc.c:1646 */
29029 {
29030 ColumnDef *n = makeNode(ColumnDef);
29031 n->colname = (yyvsp[-1].str);
29032 n->typeName = NULL;
29033 n->inhcount = 0;
29034 n->is_local = true;
29035 n->is_not_null = false;
29036 n->is_from_type = false;
29037 n->storage = 0;
29038 n->raw_default = NULL;
29039 n->cooked_default = NULL;
29040 n->collOid = InvalidOid;
29041 SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29042 yyscanner);
29043 n->location = (yylsp[-1]);
29044 (yyval.node) = (Node *)n;
29045 }
29046#line 29047 "gram.c" /* yacc.c:1646 */
29047 break;
29048
29049 case 456:
29050#line 3369 "gram.y" /* yacc.c:1646 */
29051 {
29052 ColumnDef *n = makeNode(ColumnDef);
29053 n->colname = (yyvsp[-3].str);
29054 n->typeName = NULL;
29055 n->inhcount = 0;
29056 n->is_local = true;
29057 n->is_not_null = false;
29058 n->is_from_type = false;
29059 n->storage = 0;
29060 n->raw_default = NULL;
29061 n->cooked_default = NULL;
29062 n->collOid = InvalidOid;
29063 SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
29064 yyscanner);
29065 n->location = (yylsp[-3]);
29066 (yyval.node) = (Node *)n;
29067 }
29068#line 29069 "gram.c" /* yacc.c:1646 */
29069 break;
29070
29071 case 457:
29072#line 3389 "gram.y" /* yacc.c:1646 */
29073 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
29074#line 29075 "gram.c" /* yacc.c:1646 */
29075 break;
29076
29077 case 458:
29078#line 3390 "gram.y" /* yacc.c:1646 */
29079 { (yyval.list) = NIL; }
29080#line 29081 "gram.c" /* yacc.c:1646 */
29081 break;
29082
29083 case 459:
29084#line 3395 "gram.y" /* yacc.c:1646 */
29085 {
29086 Constraint *n = castNode(Constraint, (yyvsp[0].node));
29087 n->conname = (yyvsp[-1].str);
29088 n->location = (yylsp[-2]);
29089 (yyval.node) = (Node *) n;
29090 }
29091#line 29092 "gram.c" /* yacc.c:1646 */
29092 break;
29093
29094 case 460:
29095#line 3401 "gram.y" /* yacc.c:1646 */
29096 { (yyval.node) = (yyvsp[0].node); }
29097#line 29098 "gram.c" /* yacc.c:1646 */
29098 break;
29099
29100 case 461:
29101#line 3402 "gram.y" /* yacc.c:1646 */
29102 { (yyval.node) = (yyvsp[0].node); }
29103#line 29104 "gram.c" /* yacc.c:1646 */
29104 break;
29105
29106 case 462:
29107#line 3404 "gram.y" /* yacc.c:1646 */
29108 {
29109 /*
29110 * Note: the CollateClause is momentarily included in
29111 * the list built by ColQualList, but we split it out
29112 * again in SplitColQualList.
29113 */
29114 CollateClause *n = makeNode(CollateClause);
29115 n->arg = NULL;
29116 n->collname = (yyvsp[0].list);
29117 n->location = (yylsp[-1]);
29118 (yyval.node) = (Node *) n;
29119 }
29120#line 29121 "gram.c" /* yacc.c:1646 */
29121 break;
29122
29123 case 463:
29124#line 3435 "gram.y" /* yacc.c:1646 */
29125 {
29126 Constraint *n = makeNode(Constraint);
29127 n->contype = CONSTR_NOTNULL;
29128 n->location = (yylsp[-1]);
29129 (yyval.node) = (Node *)n;
29130 }
29131#line 29132 "gram.c" /* yacc.c:1646 */
29132 break;
29133
29134 case 464:
29135#line 3442 "gram.y" /* yacc.c:1646 */
29136 {
29137 Constraint *n = makeNode(Constraint);
29138 n->contype = CONSTR_NULL;
29139 n->location = (yylsp[0]);
29140 (yyval.node) = (Node *)n;
29141 }
29142#line 29143 "gram.c" /* yacc.c:1646 */
29143 break;
29144
29145 case 465:
29146#line 3449 "gram.y" /* yacc.c:1646 */
29147 {
29148 Constraint *n = makeNode(Constraint);
29149 n->contype = CONSTR_UNIQUE;
29150 n->location = (yylsp[-2]);
29151 n->keys = NULL;
29152 n->options = (yyvsp[-1].list);
29153 n->indexname = NULL;
29154 n->indexspace = (yyvsp[0].str);
29155 (yyval.node) = (Node *)n;
29156 }
29157#line 29158 "gram.c" /* yacc.c:1646 */
29158 break;
29159
29160 case 466:
29161#line 3460 "gram.y" /* yacc.c:1646 */
29162 {
29163 Constraint *n = makeNode(Constraint);
29164 n->contype = CONSTR_PRIMARY;
29165 n->location = (yylsp[-3]);
29166 n->keys = NULL;
29167 n->options = (yyvsp[-1].list);
29168 n->indexname = NULL;
29169 n->indexspace = (yyvsp[0].str);
29170 (yyval.node) = (Node *)n;
29171 }
29172#line 29173 "gram.c" /* yacc.c:1646 */
29173 break;
29174
29175 case 467:
29176#line 3471 "gram.y" /* yacc.c:1646 */
29177 {
29178 Constraint *n = makeNode(Constraint);
29179 n->contype = CONSTR_CHECK;
29180 n->location = (yylsp[-4]);
29181 n->is_no_inherit = (yyvsp[0].boolean);
29182 n->raw_expr = (yyvsp[-2].node);
29183 n->cooked_expr = NULL;
29184 n->skip_validation = false;
29185 n->initially_valid = true;
29186 (yyval.node) = (Node *)n;
29187 }
29188#line 29189 "gram.c" /* yacc.c:1646 */
29189 break;
29190
29191 case 468:
29192#line 3483 "gram.y" /* yacc.c:1646 */
29193 {
29194 Constraint *n = makeNode(Constraint);
29195 n->contype = CONSTR_DEFAULT;
29196 n->location = (yylsp[-1]);
29197 n->raw_expr = (yyvsp[0].node);
29198 n->cooked_expr = NULL;
29199 (yyval.node) = (Node *)n;
29200 }
29201#line 29202 "gram.c" /* yacc.c:1646 */
29202 break;
29203
29204 case 469:
29205#line 3492 "gram.y" /* yacc.c:1646 */
29206 {
29207 Constraint *n = makeNode(Constraint);
29208 n->contype = CONSTR_IDENTITY;
29209 n->generated_when = (yyvsp[-3].ival);
29210 n->options = (yyvsp[0].list);
29211 n->location = (yylsp[-4]);
29212 (yyval.node) = (Node *)n;
29213 }
29214#line 29215 "gram.c" /* yacc.c:1646 */
29215 break;
29216
29217 case 470:
29218#line 3501 "gram.y" /* yacc.c:1646 */
29219 {
29220 Constraint *n = makeNode(Constraint);
29221 n->contype = CONSTR_GENERATED;
29222 n->generated_when = (yyvsp[-5].ival);
29223 n->raw_expr = (yyvsp[-2].node);
29224 n->cooked_expr = NULL;
29225 n->location = (yylsp[-6]);
29226
29227 /*
29228 * Can't do this in the grammar because of shift/reduce
29229 * conflicts. (IDENTITY allows both ALWAYS and BY
29230 * DEFAULT, but generated columns only allow ALWAYS.) We
29231 * can also give a more useful error message and location.
29232 */
29233 if ((yyvsp[-5].ival) != ATTRIBUTE_IDENTITY_ALWAYS)
29234 ereport(ERROR,
29235 (errcode(ERRCODE_SYNTAX_ERROR),
29236 errmsg("for a generated column, GENERATED ALWAYS must be specified"),
29237 parser_errposition((yylsp[-5]))));
29238
29239 (yyval.node) = (Node *)n;
29240 }
29241#line 29242 "gram.c" /* yacc.c:1646 */
29242 break;
29243
29244 case 471:
29245#line 3524 "gram.y" /* yacc.c:1646 */
29246 {
29247 Constraint *n = makeNode(Constraint);
29248 n->contype = CONSTR_FOREIGN;
29249 n->location = (yylsp[-4]);
29250 n->pktable = (yyvsp[-3].range);
29251 n->fk_attrs = NIL;
29252 n->pk_attrs = (yyvsp[-2].list);
29253 n->fk_matchtype = (yyvsp[-1].ival);
29254 n->fk_upd_action = (char) ((yyvsp[0].ival) >> 8);
29255 n->fk_del_action = (char) ((yyvsp[0].ival) & 0xFF);
29256 n->skip_validation = false;
29257 n->initially_valid = true;
29258 (yyval.node) = (Node *)n;
29259 }
29260#line 29261 "gram.c" /* yacc.c:1646 */
29261 break;
29262
29263 case 472:
29264#line 3541 "gram.y" /* yacc.c:1646 */
29265 { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
29266#line 29267 "gram.c" /* yacc.c:1646 */
29267 break;
29268
29269 case 473:
29270#line 3542 "gram.y" /* yacc.c:1646 */
29271 { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
29272#line 29273 "gram.c" /* yacc.c:1646 */
29273 break;
29274
29275 case 474:
29276#line 3562 "gram.y" /* yacc.c:1646 */
29277 {
29278 Constraint *n = makeNode(Constraint);
29279 n->contype = CONSTR_ATTR_DEFERRABLE;
29280 n->location = (yylsp[0]);
29281 (yyval.node) = (Node *)n;
29282 }
29283#line 29284 "gram.c" /* yacc.c:1646 */
29284 break;
29285
29286 case 475:
29287#line 3569 "gram.y" /* yacc.c:1646 */
29288 {
29289 Constraint *n = makeNode(Constraint);
29290 n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
29291 n->location = (yylsp[-1]);
29292 (yyval.node) = (Node *)n;
29293 }
29294#line 29295 "gram.c" /* yacc.c:1646 */
29295 break;
29296
29297 case 476:
29298#line 3576 "gram.y" /* yacc.c:1646 */
29299 {
29300 Constraint *n = makeNode(Constraint);
29301 n->contype = CONSTR_ATTR_DEFERRED;
29302 n->location = (yylsp[-1]);
29303 (yyval.node) = (Node *)n;
29304 }
29305#line 29306 "gram.c" /* yacc.c:1646 */
29306 break;
29307
29308 case 477:
29309#line 3583 "gram.y" /* yacc.c:1646 */
29310 {
29311 Constraint *n = makeNode(Constraint);
29312 n->contype = CONSTR_ATTR_IMMEDIATE;
29313 n->location = (yylsp[-1]);
29314 (yyval.node) = (Node *)n;
29315 }
29316#line 29317 "gram.c" /* yacc.c:1646 */
29317 break;
29318
29319 case 478:
29320#line 3594 "gram.y" /* yacc.c:1646 */
29321 {
29322 TableLikeClause *n = makeNode(TableLikeClause);
29323 n->relation = (yyvsp[-1].range);
29324 n->options = (yyvsp[0].ival);
29325 (yyval.node) = (Node *)n;
29326 }
29327#line 29328 "gram.c" /* yacc.c:1646 */
29328 break;
29329
29330 case 479:
29331#line 3603 "gram.y" /* yacc.c:1646 */
29332 { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
29333#line 29334 "gram.c" /* yacc.c:1646 */
29334 break;
29335
29336 case 480:
29337#line 3604 "gram.y" /* yacc.c:1646 */
29338 { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
29339#line 29340 "gram.c" /* yacc.c:1646 */
29340 break;
29341
29342 case 481:
29343#line 3605 "gram.y" /* yacc.c:1646 */
29344 { (yyval.ival) = 0; }
29345#line 29346 "gram.c" /* yacc.c:1646 */
29346 break;
29347
29348 case 482:
29349#line 3609 "gram.y" /* yacc.c:1646 */
29350 { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
29351#line 29352 "gram.c" /* yacc.c:1646 */
29352 break;
29353
29354 case 483:
29355#line 3610 "gram.y" /* yacc.c:1646 */
29356 { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
29357#line 29358 "gram.c" /* yacc.c:1646 */
29358 break;
29359
29360 case 484:
29361#line 3611 "gram.y" /* yacc.c:1646 */
29362 { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
29363#line 29364 "gram.c" /* yacc.c:1646 */
29364 break;
29365
29366 case 485:
29367#line 3612 "gram.y" /* yacc.c:1646 */
29368 { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
29369#line 29370 "gram.c" /* yacc.c:1646 */
29370 break;
29371
29372 case 486:
29373#line 3613 "gram.y" /* yacc.c:1646 */
29374 { (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; }
29375#line 29376 "gram.c" /* yacc.c:1646 */
29376 break;
29377
29378 case 487:
29379#line 3614 "gram.y" /* yacc.c:1646 */
29380 { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
29381#line 29382 "gram.c" /* yacc.c:1646 */
29382 break;
29383
29384 case 488:
29385#line 3615 "gram.y" /* yacc.c:1646 */
29386 { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
29387#line 29388 "gram.c" /* yacc.c:1646 */
29388 break;
29389
29390 case 489:
29391#line 3616 "gram.y" /* yacc.c:1646 */
29392 { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
29393#line 29394 "gram.c" /* yacc.c:1646 */
29394 break;
29395
29396 case 490:
29397#line 3617 "gram.y" /* yacc.c:1646 */
29398 { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
29399#line 29400 "gram.c" /* yacc.c:1646 */
29400 break;
29401
29402 case 491:
29403#line 3627 "gram.y" /* yacc.c:1646 */
29404 {
29405 Constraint *n = castNode(Constraint, (yyvsp[0].node));
29406 n->conname = (yyvsp[-1].str);
29407 n->location = (yylsp[-2]);
29408 (yyval.node) = (Node *) n;
29409 }
29410#line 29411 "gram.c" /* yacc.c:1646 */
29411 break;
29412
29413 case 492:
29414#line 3633 "gram.y" /* yacc.c:1646 */
29415 { (yyval.node) = (yyvsp[0].node); }
29416#line 29417 "gram.c" /* yacc.c:1646 */
29417 break;
29418
29419 case 493:
29420#line 3638 "gram.y" /* yacc.c:1646 */
29421 {
29422 Constraint *n = makeNode(Constraint);
29423 n->contype = CONSTR_CHECK;
29424 n->location = (yylsp[-4]);
29425 n->raw_expr = (yyvsp[-2].node);
29426 n->cooked_expr = NULL;
29427 processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
29428 NULL, NULL, &n->skip_validation,
29429 &n->is_no_inherit, yyscanner);
29430 n->initially_valid = !n->skip_validation;
29431 (yyval.node) = (Node *)n;
29432 }
29433#line 29434 "gram.c" /* yacc.c:1646 */
29434 break;
29435
29436 case 494:
29437#line 3652 "gram.y" /* yacc.c:1646 */
29438 {
29439 Constraint *n = makeNode(Constraint);
29440 n->contype = CONSTR_UNIQUE;
29441 n->location = (yylsp[-7]);
29442 n->keys = (yyvsp[-5].list);
29443 n->including = (yyvsp[-3].list);
29444 n->options = (yyvsp[-2].list);
29445 n->indexname = NULL;
29446 n->indexspace = (yyvsp[-1].str);
29447 processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
29448 &n->deferrable, &n->initdeferred, NULL,
29449 NULL, yyscanner);
29450 (yyval.node) = (Node *)n;
29451 }
29452#line 29453 "gram.c" /* yacc.c:1646 */
29453 break;
29454
29455 case 495:
29456#line 3667 "gram.y" /* yacc.c:1646 */
29457 {
29458 Constraint *n = makeNode(Constraint);
29459 n->contype = CONSTR_UNIQUE;
29460 n->location = (yylsp[-2]);
29461 n->keys = NIL;
29462 n->including = NIL;
29463 n->options = NIL;
29464 n->indexname = (yyvsp[-1].str);
29465 n->indexspace = NULL;
29466 processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
29467 &n->deferrable, &n->initdeferred, NULL,
29468 NULL, yyscanner);
29469 (yyval.node) = (Node *)n;
29470 }
29471#line 29472 "gram.c" /* yacc.c:1646 */
29472 break;
29473
29474 case 496:
29475#line 3683 "gram.y" /* yacc.c:1646 */
29476 {
29477 Constraint *n = makeNode(Constraint);
29478 n->contype = CONSTR_PRIMARY;
29479 n->location = (yylsp[-8]);
29480 n->keys = (yyvsp[-5].list);
29481 n->including = (yyvsp[-3].list);
29482 n->options = (yyvsp[-2].list);
29483 n->indexname = NULL;
29484 n->indexspace = (yyvsp[-1].str);
29485 processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
29486 &n->deferrable, &n->initdeferred, NULL,
29487 NULL, yyscanner);
29488 (yyval.node) = (Node *)n;
29489 }
29490#line 29491 "gram.c" /* yacc.c:1646 */
29491 break;
29492
29493 case 497:
29494#line 3698 "gram.y" /* yacc.c:1646 */
29495 {
29496 Constraint *n = makeNode(Constraint);
29497 n->contype = CONSTR_PRIMARY;
29498 n->location = (yylsp[-3]);
29499 n->keys = NIL;
29500 n->including = NIL;
29501 n->options = NIL;
29502 n->indexname = (yyvsp[-1].str);
29503 n->indexspace = NULL;
29504 processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
29505 &n->deferrable, &n->initdeferred, NULL,
29506 NULL, yyscanner);
29507 (yyval.node) = (Node *)n;
29508 }
29509#line 29510 "gram.c" /* yacc.c:1646 */
29510 break;
29511
29512 case 498:
29513#line 3715 "gram.y" /* yacc.c:1646 */
29514 {
29515 Constraint *n = makeNode(Constraint);
29516 n->contype = CONSTR_EXCLUSION;
29517 n->location = (yylsp[-9]);
29518 n->access_method = (yyvsp[-8].str);
29519 n->exclusions = (yyvsp[-6].list);
29520 n->including = (yyvsp[-4].list);
29521 n->options = (yyvsp[-3].list);
29522 n->indexname = NULL;
29523 n->indexspace = (yyvsp[-2].str);
29524 n->where_clause = (yyvsp[-1].node);
29525 processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
29526 &n->deferrable, &n->initdeferred, NULL,
29527 NULL, yyscanner);
29528 (yyval.node) = (Node *)n;
29529 }
29530#line 29531 "gram.c" /* yacc.c:1646 */
29531 break;
29532
29533 case 499:
29534#line 3733 "gram.y" /* yacc.c:1646 */
29535 {
29536 Constraint *n = makeNode(Constraint);
29537 n->contype = CONSTR_FOREIGN;
29538 n->location = (yylsp[-10]);
29539 n->pktable = (yyvsp[-4].range);
29540 n->fk_attrs = (yyvsp[-7].list);
29541 n->pk_attrs = (yyvsp[-3].list);
29542 n->fk_matchtype = (yyvsp[-2].ival);
29543 n->fk_upd_action = (char) ((yyvsp[-1].ival) >> 8);
29544 n->fk_del_action = (char) ((yyvsp[-1].ival) & 0xFF);
29545 processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
29546 &n->deferrable, &n->initdeferred,
29547 &n->skip_validation, NULL,
29548 yyscanner);
29549 n->initially_valid = !n->skip_validation;
29550 (yyval.node) = (Node *)n;
29551 }
29552#line 29553 "gram.c" /* yacc.c:1646 */
29553 break;
29554
29555 case 500:
29556#line 3752 "gram.y" /* yacc.c:1646 */
29557 { (yyval.boolean) = true; }
29558#line 29559 "gram.c" /* yacc.c:1646 */
29559 break;
29560
29561 case 501:
29562#line 3753 "gram.y" /* yacc.c:1646 */
29563 { (yyval.boolean) = false; }
29564#line 29565 "gram.c" /* yacc.c:1646 */
29565 break;
29566
29567 case 502:
29568#line 3757 "gram.y" /* yacc.c:1646 */
29569 { (yyval.list) = (yyvsp[-1].list); }
29570#line 29571 "gram.c" /* yacc.c:1646 */
29571 break;
29572
29573 case 503:
29574#line 3758 "gram.y" /* yacc.c:1646 */
29575 { (yyval.list) = NIL; }
29576#line 29577 "gram.c" /* yacc.c:1646 */
29577 break;
29578
29579 case 504:
29580#line 3762 "gram.y" /* yacc.c:1646 */
29581 { (yyval.list) = list_make1((yyvsp[0].node)); }
29582#line 29583 "gram.c" /* yacc.c:1646 */
29583 break;
29584
29585 case 505:
29586#line 3763 "gram.y" /* yacc.c:1646 */
29587 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
29588#line 29589 "gram.c" /* yacc.c:1646 */
29589 break;
29590
29591 case 506:
29592#line 3767 "gram.y" /* yacc.c:1646 */
29593 {
29594 (yyval.node) = (Node *) makeString((yyvsp[0].str));
29595 }
29596#line 29597 "gram.c" /* yacc.c:1646 */
29597 break;
29598
29599 case 507:
29600#line 3772 "gram.y" /* yacc.c:1646 */
29601 { (yyval.list) = (yyvsp[-1].list); }
29602#line 29603 "gram.c" /* yacc.c:1646 */
29603 break;
29604
29605 case 508:
29606#line 3773 "gram.y" /* yacc.c:1646 */
29607 { (yyval.list) = NIL; }
29608#line 29609 "gram.c" /* yacc.c:1646 */
29609 break;
29610
29611 case 509:
29612#line 3777 "gram.y" /* yacc.c:1646 */
29613 {
29614 (yyval.ival) = FKCONSTR_MATCH_FULL;
29615 }
29616#line 29617 "gram.c" /* yacc.c:1646 */
29617 break;
29618
29619 case 510:
29620#line 3781 "gram.y" /* yacc.c:1646 */
29621 {
29622 ereport(ERROR,
29623 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
29624 errmsg("MATCH PARTIAL not yet implemented"),
29625 parser_errposition((yylsp[-1]))));
29626 (yyval.ival) = FKCONSTR_MATCH_PARTIAL;
29627 }
29628#line 29629 "gram.c" /* yacc.c:1646 */
29629 break;
29630
29631 case 511:
29632#line 3789 "gram.y" /* yacc.c:1646 */
29633 {
29634 (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
29635 }
29636#line 29637 "gram.c" /* yacc.c:1646 */
29637 break;
29638
29639 case 512:
29640#line 3793 "gram.y" /* yacc.c:1646 */
29641 {
29642 (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
29643 }
29644#line 29645 "gram.c" /* yacc.c:1646 */
29645 break;
29646
29647 case 513:
29648#line 3799 "gram.y" /* yacc.c:1646 */
29649 { (yyval.list) = list_make1((yyvsp[0].list)); }
29650#line 29651 "gram.c" /* yacc.c:1646 */
29651 break;
29652
29653 case 514:
29654#line 3801 "gram.y" /* yacc.c:1646 */
29655 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
29656#line 29657 "gram.c" /* yacc.c:1646 */
29657 break;
29658
29659 case 515:
29660#line 3805 "gram.y" /* yacc.c:1646 */
29661 {
29662 (yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
29663 }
29664#line 29665 "gram.c" /* yacc.c:1646 */
29665 break;
29666
29667 case 516:
29668#line 3810 "gram.y" /* yacc.c:1646 */
29669 {
29670 (yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
29671 }
29672#line 29673 "gram.c" /* yacc.c:1646 */
29673 break;
29674
29675 case 517:
29676#line 3816 "gram.y" /* yacc.c:1646 */
29677 { (yyval.node) = (yyvsp[-1].node); }
29678#line 29679 "gram.c" /* yacc.c:1646 */
29679 break;
29680
29681 case 518:
29682#line 3817 "gram.y" /* yacc.c:1646 */
29683 { (yyval.node) = NULL; }
29684#line 29685 "gram.c" /* yacc.c:1646 */
29685 break;
29686
29687 case 519:
29688#line 3828 "gram.y" /* yacc.c:1646 */
29689 { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
29690#line 29691 "gram.c" /* yacc.c:1646 */
29691 break;
29692
29693 case 520:
29694#line 3830 "gram.y" /* yacc.c:1646 */
29695 { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
29696#line 29697 "gram.c" /* yacc.c:1646 */
29697 break;
29698
29699 case 521:
29700#line 3832 "gram.y" /* yacc.c:1646 */
29701 { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
29702#line 29703 "gram.c" /* yacc.c:1646 */
29703 break;
29704
29705 case 522:
29706#line 3834 "gram.y" /* yacc.c:1646 */
29707 { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
29708#line 29709 "gram.c" /* yacc.c:1646 */
29709 break;
29710
29711 case 523:
29712#line 3836 "gram.y" /* yacc.c:1646 */
29713 { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
29714#line 29715 "gram.c" /* yacc.c:1646 */
29715 break;
29716
29717 case 524:
29718#line 3839 "gram.y" /* yacc.c:1646 */
29719 { (yyval.ival) = (yyvsp[0].ival); }
29720#line 29721 "gram.c" /* yacc.c:1646 */
29721 break;
29722
29723 case 525:
29724#line 3842 "gram.y" /* yacc.c:1646 */
29725 { (yyval.ival) = (yyvsp[0].ival); }
29726#line 29727 "gram.c" /* yacc.c:1646 */
29727 break;
29728
29729 case 526:
29730#line 3846 "gram.y" /* yacc.c:1646 */
29731 { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
29732#line 29733 "gram.c" /* yacc.c:1646 */
29733 break;
29734
29735 case 527:
29736#line 3847 "gram.y" /* yacc.c:1646 */
29737 { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
29738#line 29739 "gram.c" /* yacc.c:1646 */
29739 break;
29740
29741 case 528:
29742#line 3848 "gram.y" /* yacc.c:1646 */
29743 { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
29744#line 29745 "gram.c" /* yacc.c:1646 */
29745 break;
29746
29747 case 529:
29748#line 3849 "gram.y" /* yacc.c:1646 */
29749 { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
29750#line 29751 "gram.c" /* yacc.c:1646 */
29751 break;
29752
29753 case 530:
29754#line 3850 "gram.y" /* yacc.c:1646 */
29755 { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
29756#line 29757 "gram.c" /* yacc.c:1646 */
29757 break;
29758
29759 case 531:
29760#line 3853 "gram.y" /* yacc.c:1646 */
29761 { (yyval.list) = (yyvsp[-1].list); }
29762#line 29763 "gram.c" /* yacc.c:1646 */
29763 break;
29764
29765 case 532:
29766#line 3854 "gram.y" /* yacc.c:1646 */
29767 { (yyval.list) = NIL; }
29768#line 29769 "gram.c" /* yacc.c:1646 */
29769 break;
29770
29771 case 533:
29772#line 3858 "gram.y" /* yacc.c:1646 */
29773 { (yyval.partspec) = (yyvsp[0].partspec); }
29774#line 29775 "gram.c" /* yacc.c:1646 */
29775 break;
29776
29777 case 534:
29778#line 3859 "gram.y" /* yacc.c:1646 */
29779 { (yyval.partspec) = NULL; }
29780#line 29781 "gram.c" /* yacc.c:1646 */
29781 break;
29782
29783 case 535:
29784#line 3863 "gram.y" /* yacc.c:1646 */
29785 {
29786 PartitionSpec *n = makeNode(PartitionSpec);
29787
29788 n->strategy = (yyvsp[-3].str);
29789 n->partParams = (yyvsp[-1].list);
29790 n->location = (yylsp[-5]);
29791
29792 (yyval.partspec) = n;
29793 }
29794#line 29795 "gram.c" /* yacc.c:1646 */
29795 break;
29796
29797 case 536:
29798#line 3874 "gram.y" /* yacc.c:1646 */
29799 { (yyval.str) = (yyvsp[0].str); }
29800#line 29801 "gram.c" /* yacc.c:1646 */
29801 break;
29802
29803 case 537:
29804#line 3875 "gram.y" /* yacc.c:1646 */
29805 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
29806#line 29807 "gram.c" /* yacc.c:1646 */
29807 break;
29808
29809 case 538:
29810#line 3878 "gram.y" /* yacc.c:1646 */
29811 { (yyval.list) = list_make1((yyvsp[0].partelem)); }
29812#line 29813 "gram.c" /* yacc.c:1646 */
29813 break;
29814
29815 case 539:
29816#line 3879 "gram.y" /* yacc.c:1646 */
29817 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
29818#line 29819 "gram.c" /* yacc.c:1646 */
29819 break;
29820
29821 case 540:
29822#line 3883 "gram.y" /* yacc.c:1646 */
29823 {
29824 PartitionElem *n = makeNode(PartitionElem);
29825
29826 n->name = (yyvsp[-2].str);
29827 n->expr = NULL;
29828 n->collation = (yyvsp[-1].list);
29829 n->opclass = (yyvsp[0].list);
29830 n->location = (yylsp[-2]);
29831 (yyval.partelem) = n;
29832 }
29833#line 29834 "gram.c" /* yacc.c:1646 */
29834 break;
29835
29836 case 541:
29837#line 3894 "gram.y" /* yacc.c:1646 */
29838 {
29839 PartitionElem *n = makeNode(PartitionElem);
29840
29841 n->name = NULL;
29842 n->expr = (yyvsp[-2].node);
29843 n->collation = (yyvsp[-1].list);
29844 n->opclass = (yyvsp[0].list);
29845 n->location = (yylsp[-2]);
29846 (yyval.partelem) = n;
29847 }
29848#line 29849 "gram.c" /* yacc.c:1646 */
29849 break;
29850
29851 case 542:
29852#line 3905 "gram.y" /* yacc.c:1646 */
29853 {
29854 PartitionElem *n = makeNode(PartitionElem);
29855
29856 n->name = NULL;
29857 n->expr = (yyvsp[-3].node);
29858 n->collation = (yyvsp[-1].list);
29859 n->opclass = (yyvsp[0].list);
29860 n->location = (yylsp[-4]);
29861 (yyval.partelem) = n;
29862 }
29863#line 29864 "gram.c" /* yacc.c:1646 */
29864 break;
29865
29866 case 543:
29867#line 3918 "gram.y" /* yacc.c:1646 */
29868 { (yyval.str) = (yyvsp[0].str); }
29869#line 29870 "gram.c" /* yacc.c:1646 */
29870 break;
29871
29872 case 544:
29873#line 3919 "gram.y" /* yacc.c:1646 */
29874 { (yyval.str) = NULL; }
29875#line 29876 "gram.c" /* yacc.c:1646 */
29876 break;
29877
29878 case 545:
29879#line 3924 "gram.y" /* yacc.c:1646 */
29880 { (yyval.list) = (yyvsp[0].list); }
29881#line 29882 "gram.c" /* yacc.c:1646 */
29882 break;
29883
29884 case 546:
29885#line 3925 "gram.y" /* yacc.c:1646 */
29886 { (yyval.list) = NIL; }
29887#line 29888 "gram.c" /* yacc.c:1646 */
29888 break;
29889
29890 case 547:
29891#line 3926 "gram.y" /* yacc.c:1646 */
29892 { (yyval.list) = NIL; }
29893#line 29894 "gram.c" /* yacc.c:1646 */
29894 break;
29895
29896 case 548:
29897#line 3929 "gram.y" /* yacc.c:1646 */
29898 { (yyval.oncommit) = ONCOMMIT_DROP; }
29899#line 29900 "gram.c" /* yacc.c:1646 */
29900 break;
29901
29902 case 549:
29903#line 3930 "gram.y" /* yacc.c:1646 */
29904 { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
29905#line 29906 "gram.c" /* yacc.c:1646 */
29906 break;
29907
29908 case 550:
29909#line 3931 "gram.y" /* yacc.c:1646 */
29910 { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
29911#line 29912 "gram.c" /* yacc.c:1646 */
29912 break;
29913
29914 case 551:
29915#line 3932 "gram.y" /* yacc.c:1646 */
29916 { (yyval.oncommit) = ONCOMMIT_NOOP; }
29917#line 29918 "gram.c" /* yacc.c:1646 */
29918 break;
29919
29920 case 552:
29921#line 3935 "gram.y" /* yacc.c:1646 */
29922 { (yyval.str) = (yyvsp[0].str); }
29923#line 29924 "gram.c" /* yacc.c:1646 */
29924 break;
29925
29926 case 553:
29927#line 3936 "gram.y" /* yacc.c:1646 */
29928 { (yyval.str) = NULL; }
29929#line 29930 "gram.c" /* yacc.c:1646 */
29930 break;
29931
29932 case 554:
29933#line 3939 "gram.y" /* yacc.c:1646 */
29934 { (yyval.str) = (yyvsp[0].str); }
29935#line 29936 "gram.c" /* yacc.c:1646 */
29936 break;
29937
29938 case 555:
29939#line 3940 "gram.y" /* yacc.c:1646 */
29940 { (yyval.str) = NULL; }
29941#line 29942 "gram.c" /* yacc.c:1646 */
29942 break;
29943
29944 case 556:
29945#line 3943 "gram.y" /* yacc.c:1646 */
29946 { (yyval.str) = (yyvsp[0].str); }
29947#line 29948 "gram.c" /* yacc.c:1646 */
29948 break;
29949
29950 case 557:
29951#line 3963 "gram.y" /* yacc.c:1646 */
29952 {
29953 CreateStatsStmt *n = makeNode(CreateStatsStmt);
29954 n->defnames = (yyvsp[-5].list);
29955 n->stat_types = (yyvsp[-4].list);
29956 n->exprs = (yyvsp[-2].list);
29957 n->relations = (yyvsp[0].list);
29958 n->stxcomment = NULL;
29959 n->if_not_exists = false;
29960 (yyval.node) = (Node *)n;
29961 }
29962#line 29963 "gram.c" /* yacc.c:1646 */
29963 break;
29964
29965 case 558:
29966#line 3975 "gram.y" /* yacc.c:1646 */
29967 {
29968 CreateStatsStmt *n = makeNode(CreateStatsStmt);
29969 n->defnames = (yyvsp[-5].list);
29970 n->stat_types = (yyvsp[-4].list);
29971 n->exprs = (yyvsp[-2].list);
29972 n->relations = (yyvsp[0].list);
29973 n->stxcomment = NULL;
29974 n->if_not_exists = true;
29975 (yyval.node) = (Node *)n;
29976 }
29977#line 29978 "gram.c" /* yacc.c:1646 */
29978 break;
29979
29980 case 559:
29981#line 3999 "gram.y" /* yacc.c:1646 */
29982 {
29983 CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
29984 ctas->query = (yyvsp[-1].node);
29985 ctas->into = (yyvsp[-3].into);
29986 ctas->relkind = OBJECT_TABLE;
29987 ctas->is_select_into = false;
29988 ctas->if_not_exists = false;
29989 /* cram additional flags into the IntoClause */
29990 (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
29991 (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
29992 (yyval.node) = (Node *) ctas;
29993 }
29994#line 29995 "gram.c" /* yacc.c:1646 */
29995 break;
29996
29997 case 560:
29998#line 4012 "gram.y" /* yacc.c:1646 */
29999 {
30000 CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30001 ctas->query = (yyvsp[-1].node);
30002 ctas->into = (yyvsp[-3].into);
30003 ctas->relkind = OBJECT_TABLE;
30004 ctas->is_select_into = false;
30005 ctas->if_not_exists = true;
30006 /* cram additional flags into the IntoClause */
30007 (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
30008 (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30009 (yyval.node) = (Node *) ctas;
30010 }
30011#line 30012 "gram.c" /* yacc.c:1646 */
30012 break;
30013
30014 case 561:
30015#line 4029 "gram.y" /* yacc.c:1646 */
30016 {
30017 (yyval.into) = makeNode(IntoClause);
30018 (yyval.into)->rel = (yyvsp[-5].range);
30019 (yyval.into)->colNames = (yyvsp[-4].list);
30020 (yyval.into)->accessMethod = (yyvsp[-3].str);
30021 (yyval.into)->options = (yyvsp[-2].list);
30022 (yyval.into)->onCommit = (yyvsp[-1].oncommit);
30023 (yyval.into)->tableSpaceName = (yyvsp[0].str);
30024 (yyval.into)->viewQuery = NULL;
30025 (yyval.into)->skipData = false; /* might get changed later */
30026 }
30027#line 30028 "gram.c" /* yacc.c:1646 */
30028 break;
30029
30030 case 562:
30031#line 4043 "gram.y" /* yacc.c:1646 */
30032 { (yyval.boolean) = true; }
30033#line 30034 "gram.c" /* yacc.c:1646 */
30034 break;
30035
30036 case 563:
30037#line 4044 "gram.y" /* yacc.c:1646 */
30038 { (yyval.boolean) = false; }
30039#line 30040 "gram.c" /* yacc.c:1646 */
30040 break;
30041
30042 case 564:
30043#line 4045 "gram.y" /* yacc.c:1646 */
30044 { (yyval.boolean) = true; }
30045#line 30046 "gram.c" /* yacc.c:1646 */
30046 break;
30047
30048 case 565:
30049#line 4058 "gram.y" /* yacc.c:1646 */
30050 {
30051 CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30052 ctas->query = (yyvsp[-1].node);
30053 ctas->into = (yyvsp[-3].into);
30054 ctas->relkind = OBJECT_MATVIEW;
30055 ctas->is_select_into = false;
30056 ctas->if_not_exists = false;
30057 /* cram additional flags into the IntoClause */
30058 (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
30059 (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30060 (yyval.node) = (Node *) ctas;
30061 }
30062#line 30063 "gram.c" /* yacc.c:1646 */
30063 break;
30064
30065 case 566:
30066#line 4071 "gram.y" /* yacc.c:1646 */
30067 {
30068 CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
30069 ctas->query = (yyvsp[-1].node);
30070 ctas->into = (yyvsp[-3].into);
30071 ctas->relkind = OBJECT_MATVIEW;
30072 ctas->is_select_into = false;
30073 ctas->if_not_exists = true;
30074 /* cram additional flags into the IntoClause */
30075 (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
30076 (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
30077 (yyval.node) = (Node *) ctas;
30078 }
30079#line 30080 "gram.c" /* yacc.c:1646 */
30080 break;
30081
30082 case 567:
30083#line 4087 "gram.y" /* yacc.c:1646 */
30084 {
30085 (yyval.into) = makeNode(IntoClause);
30086 (yyval.into)->rel = (yyvsp[-4].range);
30087 (yyval.into)->colNames = (yyvsp[-3].list);
30088 (yyval.into)->accessMethod = (yyvsp[-2].str);
30089 (yyval.into)->options = (yyvsp[-1].list);
30090 (yyval.into)->onCommit = ONCOMMIT_NOOP;
30091 (yyval.into)->tableSpaceName = (yyvsp[0].str);
30092 (yyval.into)->viewQuery = NULL; /* filled at analysis time */
30093 (yyval.into)->skipData = false; /* might get changed later */
30094 }
30095#line 30096 "gram.c" /* yacc.c:1646 */
30096 break;
30097
30098 case 568:
30099#line 4100 "gram.y" /* yacc.c:1646 */
30100 { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
30101#line 30102 "gram.c" /* yacc.c:1646 */
30102 break;
30103
30104 case 569:
30105#line 4101 "gram.y" /* yacc.c:1646 */
30106 { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
30107#line 30108 "gram.c" /* yacc.c:1646 */
30108 break;
30109
30110 case 570:
30111#line 4114 "gram.y" /* yacc.c:1646 */
30112 {
30113 RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
30114 n->concurrent = (yyvsp[-2].boolean);
30115 n->relation = (yyvsp[-1].range);
30116 n->skipData = !((yyvsp[0].boolean));
30117 (yyval.node) = (Node *) n;
30118 }
30119#line 30120 "gram.c" /* yacc.c:1646 */
30120 break;
30121
30122 case 571:
30123#line 4134 "gram.y" /* yacc.c:1646 */
30124 {
30125 CreateSeqStmt *n = makeNode(CreateSeqStmt);
30126 (yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
30127 n->sequence = (yyvsp[-1].range);
30128 n->options = (yyvsp[0].list);
30129 n->ownerId = InvalidOid;
30130 n->if_not_exists = false;
30131 (yyval.node) = (Node *)n;
30132 }
30133#line 30134 "gram.c" /* yacc.c:1646 */
30134 break;
30135
30136 case 572:
30137#line 4144 "gram.y" /* yacc.c:1646 */
30138 {
30139 CreateSeqStmt *n = makeNode(CreateSeqStmt);
30140 (yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
30141 n->sequence = (yyvsp[-1].range);
30142 n->options = (yyvsp[0].list);
30143 n->ownerId = InvalidOid;
30144 n->if_not_exists = true;
30145 (yyval.node) = (Node *)n;
30146 }
30147#line 30148 "gram.c" /* yacc.c:1646 */
30148 break;
30149
30150 case 573:
30151#line 4157 "gram.y" /* yacc.c:1646 */
30152 {
30153 AlterSeqStmt *n = makeNode(AlterSeqStmt);
30154 n->sequence = (yyvsp[-1].range);
30155 n->options = (yyvsp[0].list);
30156 n->missing_ok = false;
30157 (yyval.node) = (Node *)n;
30158 }
30159#line 30160 "gram.c" /* yacc.c:1646 */
30160 break;
30161
30162 case 574:
30163#line 4165 "gram.y" /* yacc.c:1646 */
30164 {
30165 AlterSeqStmt *n = makeNode(AlterSeqStmt);
30166 n->sequence = (yyvsp[-1].range);
30167 n->options = (yyvsp[0].list);
30168 n->missing_ok = true;
30169 (yyval.node) = (Node *)n;
30170 }
30171#line 30172 "gram.c" /* yacc.c:1646 */
30172 break;
30173
30174 case 575:
30175#line 4175 "gram.y" /* yacc.c:1646 */
30176 { (yyval.list) = (yyvsp[0].list); }
30177#line 30178 "gram.c" /* yacc.c:1646 */
30178 break;
30179
30180 case 576:
30181#line 4176 "gram.y" /* yacc.c:1646 */
30182 { (yyval.list) = NIL; }
30183#line 30184 "gram.c" /* yacc.c:1646 */
30184 break;
30185
30186 case 577:
30187#line 4179 "gram.y" /* yacc.c:1646 */
30188 { (yyval.list) = (yyvsp[-1].list); }
30189#line 30190 "gram.c" /* yacc.c:1646 */
30190 break;
30191
30192 case 578:
30193#line 4180 "gram.y" /* yacc.c:1646 */
30194 { (yyval.list) = NIL; }
30195#line 30196 "gram.c" /* yacc.c:1646 */
30196 break;
30197
30198 case 579:
30199#line 4183 "gram.y" /* yacc.c:1646 */
30200 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
30201#line 30202 "gram.c" /* yacc.c:1646 */
30202 break;
30203
30204 case 580:
30205#line 4184 "gram.y" /* yacc.c:1646 */
30206 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
30207#line 30208 "gram.c" /* yacc.c:1646 */
30208 break;
30209
30210 case 581:
30211#line 4188 "gram.y" /* yacc.c:1646 */
30212 {
30213 (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
30214 }
30215#line 30216 "gram.c" /* yacc.c:1646 */
30216 break;
30217
30218 case 582:
30219#line 4192 "gram.y" /* yacc.c:1646 */
30220 {
30221 (yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
30222 }
30223#line 30224 "gram.c" /* yacc.c:1646 */
30224 break;
30225
30226 case 583:
30227#line 4196 "gram.y" /* yacc.c:1646 */
30228 {
30229 (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[0]));
30230 }
30231#line 30232 "gram.c" /* yacc.c:1646 */
30232 break;
30233
30234 case 584:
30235#line 4200 "gram.y" /* yacc.c:1646 */
30236 {
30237 (yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[-1]));
30238 }
30239#line 30240 "gram.c" /* yacc.c:1646 */
30240 break;
30241
30242 case 585:
30243#line 4204 "gram.y" /* yacc.c:1646 */
30244 {
30245 (yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
30246 }
30247#line 30248 "gram.c" /* yacc.c:1646 */
30248 break;
30249
30250 case 586:
30251#line 4208 "gram.y" /* yacc.c:1646 */
30252 {
30253 (yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
30254 }
30255#line 30256 "gram.c" /* yacc.c:1646 */
30256 break;
30257
30258 case 587:
30259#line 4212 "gram.y" /* yacc.c:1646 */
30260 {
30261 (yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
30262 }
30263#line 30264 "gram.c" /* yacc.c:1646 */
30264 break;
30265
30266 case 588:
30267#line 4216 "gram.y" /* yacc.c:1646 */
30268 {
30269 (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
30270 }
30271#line 30272 "gram.c" /* yacc.c:1646 */
30272 break;
30273
30274 case 589:
30275#line 4220 "gram.y" /* yacc.c:1646 */
30276 {
30277 (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
30278 }
30279#line 30280 "gram.c" /* yacc.c:1646 */
30280 break;
30281
30282 case 590:
30283#line 4224 "gram.y" /* yacc.c:1646 */
30284 {
30285 (yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
30286 }
30287#line 30288 "gram.c" /* yacc.c:1646 */
30288 break;
30289
30290 case 591:
30291#line 4228 "gram.y" /* yacc.c:1646 */
30292 {
30293 /* not documented, only used by pg_dump */
30294 (yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
30295 }
30296#line 30297 "gram.c" /* yacc.c:1646 */
30297 break;
30298
30299 case 592:
30300#line 4233 "gram.y" /* yacc.c:1646 */
30301 {
30302 (yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
30303 }
30304#line 30305 "gram.c" /* yacc.c:1646 */
30305 break;
30306
30307 case 593:
30308#line 4237 "gram.y" /* yacc.c:1646 */
30309 {
30310 (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
30311 }
30312#line 30313 "gram.c" /* yacc.c:1646 */
30313 break;
30314
30315 case 594:
30316#line 4241 "gram.y" /* yacc.c:1646 */
30317 {
30318 (yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
30319 }
30320#line 30321 "gram.c" /* yacc.c:1646 */
30321 break;
30322
30323 case 595:
30324#line 4246 "gram.y" /* yacc.c:1646 */
30325 {}
30326#line 30327 "gram.c" /* yacc.c:1646 */
30327 break;
30328
30329 case 596:
30330#line 4247 "gram.y" /* yacc.c:1646 */
30331 {}
30332#line 30333 "gram.c" /* yacc.c:1646 */
30333 break;
30334
30335 case 597:
30336#line 4251 "gram.y" /* yacc.c:1646 */
30337 { (yyval.value) = makeFloat((yyvsp[0].str)); }
30338#line 30339 "gram.c" /* yacc.c:1646 */
30339 break;
30340
30341 case 598:
30342#line 4252 "gram.y" /* yacc.c:1646 */
30343 { (yyval.value) = makeFloat((yyvsp[0].str)); }
30344#line 30345 "gram.c" /* yacc.c:1646 */
30345 break;
30346
30347 case 599:
30348#line 4254 "gram.y" /* yacc.c:1646 */
30349 {
30350 (yyval.value) = makeFloat((yyvsp[0].str));
30351 doNegateFloat((yyval.value));
30352 }
30353#line 30354 "gram.c" /* yacc.c:1646 */
30354 break;
30355
30356 case 600:
30357#line 4258 "gram.y" /* yacc.c:1646 */
30358 { (yyval.value) = makeInteger((yyvsp[0].ival)); }
30359#line 30360 "gram.c" /* yacc.c:1646 */
30360 break;
30361
30362 case 601:
30363#line 4261 "gram.y" /* yacc.c:1646 */
30364 { (yyval.list) = list_make1((yyvsp[0].value)); }
30365#line 30366 "gram.c" /* yacc.c:1646 */
30366 break;
30367
30368 case 602:
30369#line 4262 "gram.y" /* yacc.c:1646 */
30370 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
30371#line 30372 "gram.c" /* yacc.c:1646 */
30372 break;
30373
30374 case 603:
30375#line 4275 "gram.y" /* yacc.c:1646 */
30376 {
30377 CreatePLangStmt *n = makeNode(CreatePLangStmt);
30378 n->replace = (yyvsp[-4].boolean);
30379 n->plname = (yyvsp[0].str);
30380 /* parameters are all to be supplied by system */
30381 n->plhandler = NIL;
30382 n->plinline = NIL;
30383 n->plvalidator = NIL;
30384 n->pltrusted = false;
30385 (yyval.node) = (Node *)n;
30386 }
30387#line 30388 "gram.c" /* yacc.c:1646 */
30388 break;
30389
30390 case 604:
30391#line 4288 "gram.y" /* yacc.c:1646 */
30392 {
30393 CreatePLangStmt *n = makeNode(CreatePLangStmt);
30394 n->replace = (yyvsp[-8].boolean);
30395 n->plname = (yyvsp[-4].str);
30396 n->plhandler = (yyvsp[-2].list);
30397 n->plinline = (yyvsp[-1].list);
30398 n->plvalidator = (yyvsp[0].list);
30399 n->pltrusted = (yyvsp[-7].boolean);
30400 (yyval.node) = (Node *)n;
30401 }
30402#line 30403 "gram.c" /* yacc.c:1646 */
30403 break;
30404
30405 case 605:
30406#line 4301 "gram.y" /* yacc.c:1646 */
30407 { (yyval.boolean) = true; }
30408#line 30409 "gram.c" /* yacc.c:1646 */
30409 break;
30410
30411 case 606:
30412#line 4302 "gram.y" /* yacc.c:1646 */
30413 { (yyval.boolean) = false; }
30414#line 30415 "gram.c" /* yacc.c:1646 */
30415 break;
30416
30417 case 607:
30418#line 4310 "gram.y" /* yacc.c:1646 */
30419 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
30420#line 30421 "gram.c" /* yacc.c:1646 */
30421 break;
30422
30423 case 608:
30424#line 4311 "gram.y" /* yacc.c:1646 */
30425 { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
30426#line 30427 "gram.c" /* yacc.c:1646 */
30427 break;
30428
30429 case 609:
30430#line 4315 "gram.y" /* yacc.c:1646 */
30431 { (yyval.list) = (yyvsp[0].list); }
30432#line 30433 "gram.c" /* yacc.c:1646 */
30433 break;
30434
30435 case 610:
30436#line 4316 "gram.y" /* yacc.c:1646 */
30437 { (yyval.list) = NIL; }
30438#line 30439 "gram.c" /* yacc.c:1646 */
30439 break;
30440
30441 case 611:
30442#line 4320 "gram.y" /* yacc.c:1646 */
30443 { (yyval.list) = (yyvsp[0].list); }
30444#line 30445 "gram.c" /* yacc.c:1646 */
30445 break;
30446
30447 case 612:
30448#line 4321 "gram.y" /* yacc.c:1646 */
30449 { (yyval.list) = NIL; }
30450#line 30451 "gram.c" /* yacc.c:1646 */
30451 break;
30452
30453 case 613:
30454#line 4325 "gram.y" /* yacc.c:1646 */
30455 { (yyval.list) = (yyvsp[0].list); }
30456#line 30457 "gram.c" /* yacc.c:1646 */
30457 break;
30458
30459 case 614:
30460#line 4326 "gram.y" /* yacc.c:1646 */
30461 { (yyval.list) = NIL; }
30462#line 30463 "gram.c" /* yacc.c:1646 */
30463 break;
30464
30465 case 615:
30466#line 4331 "gram.y" /* yacc.c:1646 */
30467 {
30468 DropStmt *n = makeNode(DropStmt);
30469 n->removeType = OBJECT_LANGUAGE;
30470 n->objects = list_make1(makeString((yyvsp[-1].str)));
30471 n->behavior = (yyvsp[0].dbehavior);
30472 n->missing_ok = false;
30473 n->concurrent = false;
30474 (yyval.node) = (Node *)n;
30475 }
30476#line 30477 "gram.c" /* yacc.c:1646 */
30477 break;
30478
30479 case 616:
30480#line 4341 "gram.y" /* yacc.c:1646 */
30481 {
30482 DropStmt *n = makeNode(DropStmt);
30483 n->removeType = OBJECT_LANGUAGE;
30484 n->objects = list_make1(makeString((yyvsp[-1].str)));
30485 n->behavior = (yyvsp[0].dbehavior);
30486 n->missing_ok = true;
30487 n->concurrent = false;
30488 (yyval.node) = (Node *)n;
30489 }
30490#line 30491 "gram.c" /* yacc.c:1646 */
30491 break;
30492
30493 case 617:
30494#line 4353 "gram.y" /* yacc.c:1646 */
30495 {}
30496#line 30497 "gram.c" /* yacc.c:1646 */
30497 break;
30498
30499 case 618:
30500#line 4354 "gram.y" /* yacc.c:1646 */
30501 {}
30502#line 30503 "gram.c" /* yacc.c:1646 */
30503 break;
30504
30505 case 619:
30506#line 4365 "gram.y" /* yacc.c:1646 */
30507 {
30508 CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
30509 n->tablespacename = (yyvsp[-4].str);
30510 n->owner = (yyvsp[-3].rolespec);
30511 n->location = (yyvsp[-1].str);
30512 n->options = (yyvsp[0].list);
30513 (yyval.node) = (Node *) n;
30514 }
30515#line 30516 "gram.c" /* yacc.c:1646 */
30516 break;
30517
30518 case 620:
30519#line 4375 "gram.y" /* yacc.c:1646 */
30520 { (yyval.rolespec) = (yyvsp[0].rolespec); }
30521#line 30522 "gram.c" /* yacc.c:1646 */
30522 break;
30523
30524 case 621:
30525#line 4376 "gram.y" /* yacc.c:1646 */
30526 { (yyval.rolespec) = NULL; }
30527#line 30528 "gram.c" /* yacc.c:1646 */
30528 break;
30529
30530 case 622:
30531#line 4390 "gram.y" /* yacc.c:1646 */
30532 {
30533 DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
30534 n->tablespacename = (yyvsp[0].str);
30535 n->missing_ok = false;
30536 (yyval.node) = (Node *) n;
30537 }
30538#line 30539 "gram.c" /* yacc.c:1646 */
30539 break;
30540
30541 case 623:
30542#line 4397 "gram.y" /* yacc.c:1646 */
30543 {
30544 DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
30545 n->tablespacename = (yyvsp[0].str);
30546 n->missing_ok = true;
30547 (yyval.node) = (Node *) n;
30548 }
30549#line 30550 "gram.c" /* yacc.c:1646 */
30550 break;
30551
30552 case 624:
30553#line 4414 "gram.y" /* yacc.c:1646 */
30554 {
30555 CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
30556 n->extname = (yyvsp[-2].str);
30557 n->if_not_exists = false;
30558 n->options = (yyvsp[0].list);
30559 (yyval.node) = (Node *) n;
30560 }
30561#line 30562 "gram.c" /* yacc.c:1646 */
30562 break;
30563
30564 case 625:
30565#line 4422 "gram.y" /* yacc.c:1646 */
30566 {
30567 CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
30568 n->extname = (yyvsp[-2].str);
30569 n->if_not_exists = true;
30570 n->options = (yyvsp[0].list);
30571 (yyval.node) = (Node *) n;
30572 }
30573#line 30574 "gram.c" /* yacc.c:1646 */
30574 break;
30575
30576 case 626:
30577#line 4433 "gram.y" /* yacc.c:1646 */
30578 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
30579#line 30580 "gram.c" /* yacc.c:1646 */
30580 break;
30581
30582 case 627:
30583#line 4435 "gram.y" /* yacc.c:1646 */
30584 { (yyval.list) = NIL; }
30585#line 30586 "gram.c" /* yacc.c:1646 */
30586 break;
30587
30588 case 628:
30589#line 4440 "gram.y" /* yacc.c:1646 */
30590 {
30591 (yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30592 }
30593#line 30594 "gram.c" /* yacc.c:1646 */
30594 break;
30595
30596 case 629:
30597#line 4444 "gram.y" /* yacc.c:1646 */
30598 {
30599 (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30600 }
30601#line 30602 "gram.c" /* yacc.c:1646 */
30602 break;
30603
30604 case 630:
30605#line 4448 "gram.y" /* yacc.c:1646 */
30606 {
30607 (yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30608 }
30609#line 30610 "gram.c" /* yacc.c:1646 */
30610 break;
30611
30612 case 631:
30613#line 4452 "gram.y" /* yacc.c:1646 */
30614 {
30615 (yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[0]));
30616 }
30617#line 30618 "gram.c" /* yacc.c:1646 */
30618 break;
30619
30620 case 632:
30621#line 4464 "gram.y" /* yacc.c:1646 */
30622 {
30623 AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
30624 n->extname = (yyvsp[-2].str);
30625 n->options = (yyvsp[0].list);
30626 (yyval.node) = (Node *) n;
30627 }
30628#line 30629 "gram.c" /* yacc.c:1646 */
30629 break;
30630
30631 case 633:
30632#line 4474 "gram.y" /* yacc.c:1646 */
30633 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
30634#line 30635 "gram.c" /* yacc.c:1646 */
30635 break;
30636
30637 case 634:
30638#line 4476 "gram.y" /* yacc.c:1646 */
30639 { (yyval.list) = NIL; }
30640#line 30641 "gram.c" /* yacc.c:1646 */
30641 break;
30642
30643 case 635:
30644#line 4481 "gram.y" /* yacc.c:1646 */
30645 {
30646 (yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
30647 }
30648#line 30649 "gram.c" /* yacc.c:1646 */
30649 break;
30650
30651 case 636:
30652#line 4494 "gram.y" /* yacc.c:1646 */
30653 {
30654 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30655 n->extname = (yyvsp[-4].str);
30656 n->action = (yyvsp[-3].ival);
30657 n->objtype = OBJECT_ACCESS_METHOD;
30658 n->object = (Node *) makeString((yyvsp[0].str));
30659 (yyval.node) = (Node *)n;
30660 }
30661#line 30662 "gram.c" /* yacc.c:1646 */
30662 break;
30663
30664 case 637:
30665#line 4503 "gram.y" /* yacc.c:1646 */
30666 {
30667 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30668 n->extname = (yyvsp[-3].str);
30669 n->action = (yyvsp[-2].ival);
30670 n->objtype = OBJECT_AGGREGATE;
30671 n->object = (Node *) (yyvsp[0].objwithargs);
30672 (yyval.node) = (Node *)n;
30673 }
30674#line 30675 "gram.c" /* yacc.c:1646 */
30675 break;
30676
30677 case 638:
30678#line 4512 "gram.y" /* yacc.c:1646 */
30679 {
30680 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30681 n->extname = (yyvsp[-7].str);
30682 n->action = (yyvsp[-6].ival);
30683 n->objtype = OBJECT_CAST;
30684 n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
30685 (yyval.node) = (Node *) n;
30686 }
30687#line 30688 "gram.c" /* yacc.c:1646 */
30688 break;
30689
30690 case 639:
30691#line 4521 "gram.y" /* yacc.c:1646 */
30692 {
30693 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30694 n->extname = (yyvsp[-3].str);
30695 n->action = (yyvsp[-2].ival);
30696 n->objtype = OBJECT_COLLATION;
30697 n->object = (Node *) (yyvsp[0].list);
30698 (yyval.node) = (Node *)n;
30699 }
30700#line 30701 "gram.c" /* yacc.c:1646 */
30701 break;
30702
30703 case 640:
30704#line 4530 "gram.y" /* yacc.c:1646 */
30705 {
30706 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30707 n->extname = (yyvsp[-3].str);
30708 n->action = (yyvsp[-2].ival);
30709 n->objtype = OBJECT_CONVERSION;
30710 n->object = (Node *) (yyvsp[0].list);
30711 (yyval.node) = (Node *)n;
30712 }
30713#line 30714 "gram.c" /* yacc.c:1646 */
30714 break;
30715
30716 case 641:
30717#line 4539 "gram.y" /* yacc.c:1646 */
30718 {
30719 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30720 n->extname = (yyvsp[-3].str);
30721 n->action = (yyvsp[-2].ival);
30722 n->objtype = OBJECT_DOMAIN;
30723 n->object = (Node *) (yyvsp[0].typnam);
30724 (yyval.node) = (Node *)n;
30725 }
30726#line 30727 "gram.c" /* yacc.c:1646 */
30727 break;
30728
30729 case 642:
30730#line 4548 "gram.y" /* yacc.c:1646 */
30731 {
30732 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30733 n->extname = (yyvsp[-3].str);
30734 n->action = (yyvsp[-2].ival);
30735 n->objtype = OBJECT_FUNCTION;
30736 n->object = (Node *) (yyvsp[0].objwithargs);
30737 (yyval.node) = (Node *)n;
30738 }
30739#line 30740 "gram.c" /* yacc.c:1646 */
30740 break;
30741
30742 case 643:
30743#line 4557 "gram.y" /* yacc.c:1646 */
30744 {
30745 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30746 n->extname = (yyvsp[-4].str);
30747 n->action = (yyvsp[-3].ival);
30748 n->objtype = OBJECT_LANGUAGE;
30749 n->object = (Node *) makeString((yyvsp[0].str));
30750 (yyval.node) = (Node *)n;
30751 }
30752#line 30753 "gram.c" /* yacc.c:1646 */
30753 break;
30754
30755 case 644:
30756#line 4566 "gram.y" /* yacc.c:1646 */
30757 {
30758 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30759 n->extname = (yyvsp[-3].str);
30760 n->action = (yyvsp[-2].ival);
30761 n->objtype = OBJECT_OPERATOR;
30762 n->object = (Node *) (yyvsp[0].objwithargs);
30763 (yyval.node) = (Node *)n;
30764 }
30765#line 30766 "gram.c" /* yacc.c:1646 */
30766 break;
30767
30768 case 645:
30769#line 4575 "gram.y" /* yacc.c:1646 */
30770 {
30771 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30772 n->extname = (yyvsp[-6].str);
30773 n->action = (yyvsp[-5].ival);
30774 n->objtype = OBJECT_OPCLASS;
30775 n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
30776 (yyval.node) = (Node *)n;
30777 }
30778#line 30779 "gram.c" /* yacc.c:1646 */
30779 break;
30780
30781 case 646:
30782#line 4584 "gram.y" /* yacc.c:1646 */
30783 {
30784 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30785 n->extname = (yyvsp[-6].str);
30786 n->action = (yyvsp[-5].ival);
30787 n->objtype = OBJECT_OPFAMILY;
30788 n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
30789 (yyval.node) = (Node *)n;
30790 }
30791#line 30792 "gram.c" /* yacc.c:1646 */
30792 break;
30793
30794 case 647:
30795#line 4593 "gram.y" /* yacc.c:1646 */
30796 {
30797 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30798 n->extname = (yyvsp[-3].str);
30799 n->action = (yyvsp[-2].ival);
30800 n->objtype = OBJECT_PROCEDURE;
30801 n->object = (Node *) (yyvsp[0].objwithargs);
30802 (yyval.node) = (Node *)n;
30803 }
30804#line 30805 "gram.c" /* yacc.c:1646 */
30805 break;
30806
30807 case 648:
30808#line 4602 "gram.y" /* yacc.c:1646 */
30809 {
30810 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30811 n->extname = (yyvsp[-3].str);
30812 n->action = (yyvsp[-2].ival);
30813 n->objtype = OBJECT_ROUTINE;
30814 n->object = (Node *) (yyvsp[0].objwithargs);
30815 (yyval.node) = (Node *)n;
30816 }
30817#line 30818 "gram.c" /* yacc.c:1646 */
30818 break;
30819
30820 case 649:
30821#line 4611 "gram.y" /* yacc.c:1646 */
30822 {
30823 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30824 n->extname = (yyvsp[-3].str);
30825 n->action = (yyvsp[-2].ival);
30826 n->objtype = OBJECT_SCHEMA;
30827 n->object = (Node *) makeString((yyvsp[0].str));
30828 (yyval.node) = (Node *)n;
30829 }
30830#line 30831 "gram.c" /* yacc.c:1646 */
30831 break;
30832
30833 case 650:
30834#line 4620 "gram.y" /* yacc.c:1646 */
30835 {
30836 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30837 n->extname = (yyvsp[-4].str);
30838 n->action = (yyvsp[-3].ival);
30839 n->objtype = OBJECT_EVENT_TRIGGER;
30840 n->object = (Node *) makeString((yyvsp[0].str));
30841 (yyval.node) = (Node *)n;
30842 }
30843#line 30844 "gram.c" /* yacc.c:1646 */
30844 break;
30845
30846 case 651:
30847#line 4629 "gram.y" /* yacc.c:1646 */
30848 {
30849 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30850 n->extname = (yyvsp[-3].str);
30851 n->action = (yyvsp[-2].ival);
30852 n->objtype = OBJECT_TABLE;
30853 n->object = (Node *) (yyvsp[0].list);
30854 (yyval.node) = (Node *)n;
30855 }
30856#line 30857 "gram.c" /* yacc.c:1646 */
30857 break;
30858
30859 case 652:
30860#line 4638 "gram.y" /* yacc.c:1646 */
30861 {
30862 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30863 n->extname = (yyvsp[-5].str);
30864 n->action = (yyvsp[-4].ival);
30865 n->objtype = OBJECT_TSPARSER;
30866 n->object = (Node *) (yyvsp[0].list);
30867 (yyval.node) = (Node *)n;
30868 }
30869#line 30870 "gram.c" /* yacc.c:1646 */
30870 break;
30871
30872 case 653:
30873#line 4647 "gram.y" /* yacc.c:1646 */
30874 {
30875 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30876 n->extname = (yyvsp[-5].str);
30877 n->action = (yyvsp[-4].ival);
30878 n->objtype = OBJECT_TSDICTIONARY;
30879 n->object = (Node *) (yyvsp[0].list);
30880 (yyval.node) = (Node *)n;
30881 }
30882#line 30883 "gram.c" /* yacc.c:1646 */
30883 break;
30884
30885 case 654:
30886#line 4656 "gram.y" /* yacc.c:1646 */
30887 {
30888 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30889 n->extname = (yyvsp[-5].str);
30890 n->action = (yyvsp[-4].ival);
30891 n->objtype = OBJECT_TSTEMPLATE;
30892 n->object = (Node *) (yyvsp[0].list);
30893 (yyval.node) = (Node *)n;
30894 }
30895#line 30896 "gram.c" /* yacc.c:1646 */
30896 break;
30897
30898 case 655:
30899#line 4665 "gram.y" /* yacc.c:1646 */
30900 {
30901 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30902 n->extname = (yyvsp[-5].str);
30903 n->action = (yyvsp[-4].ival);
30904 n->objtype = OBJECT_TSCONFIGURATION;
30905 n->object = (Node *) (yyvsp[0].list);
30906 (yyval.node) = (Node *)n;
30907 }
30908#line 30909 "gram.c" /* yacc.c:1646 */
30909 break;
30910
30911 case 656:
30912#line 4674 "gram.y" /* yacc.c:1646 */
30913 {
30914 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30915 n->extname = (yyvsp[-3].str);
30916 n->action = (yyvsp[-2].ival);
30917 n->objtype = OBJECT_SEQUENCE;
30918 n->object = (Node *) (yyvsp[0].list);
30919 (yyval.node) = (Node *)n;
30920 }
30921#line 30922 "gram.c" /* yacc.c:1646 */
30922 break;
30923
30924 case 657:
30925#line 4683 "gram.y" /* yacc.c:1646 */
30926 {
30927 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30928 n->extname = (yyvsp[-3].str);
30929 n->action = (yyvsp[-2].ival);
30930 n->objtype = OBJECT_VIEW;
30931 n->object = (Node *) (yyvsp[0].list);
30932 (yyval.node) = (Node *)n;
30933 }
30934#line 30935 "gram.c" /* yacc.c:1646 */
30935 break;
30936
30937 case 658:
30938#line 4692 "gram.y" /* yacc.c:1646 */
30939 {
30940 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30941 n->extname = (yyvsp[-4].str);
30942 n->action = (yyvsp[-3].ival);
30943 n->objtype = OBJECT_MATVIEW;
30944 n->object = (Node *) (yyvsp[0].list);
30945 (yyval.node) = (Node *)n;
30946 }
30947#line 30948 "gram.c" /* yacc.c:1646 */
30948 break;
30949
30950 case 659:
30951#line 4701 "gram.y" /* yacc.c:1646 */
30952 {
30953 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30954 n->extname = (yyvsp[-4].str);
30955 n->action = (yyvsp[-3].ival);
30956 n->objtype = OBJECT_FOREIGN_TABLE;
30957 n->object = (Node *) (yyvsp[0].list);
30958 (yyval.node) = (Node *)n;
30959 }
30960#line 30961 "gram.c" /* yacc.c:1646 */
30961 break;
30962
30963 case 660:
30964#line 4710 "gram.y" /* yacc.c:1646 */
30965 {
30966 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30967 n->extname = (yyvsp[-5].str);
30968 n->action = (yyvsp[-4].ival);
30969 n->objtype = OBJECT_FDW;
30970 n->object = (Node *) makeString((yyvsp[0].str));
30971 (yyval.node) = (Node *)n;
30972 }
30973#line 30974 "gram.c" /* yacc.c:1646 */
30974 break;
30975
30976 case 661:
30977#line 4719 "gram.y" /* yacc.c:1646 */
30978 {
30979 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30980 n->extname = (yyvsp[-3].str);
30981 n->action = (yyvsp[-2].ival);
30982 n->objtype = OBJECT_FOREIGN_SERVER;
30983 n->object = (Node *) makeString((yyvsp[0].str));
30984 (yyval.node) = (Node *)n;
30985 }
30986#line 30987 "gram.c" /* yacc.c:1646 */
30987 break;
30988
30989 case 662:
30990#line 4728 "gram.y" /* yacc.c:1646 */
30991 {
30992 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
30993 n->extname = (yyvsp[-6].str);
30994 n->action = (yyvsp[-5].ival);
30995 n->objtype = OBJECT_TRANSFORM;
30996 n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
30997 (yyval.node) = (Node *)n;
30998 }
30999#line 31000 "gram.c" /* yacc.c:1646 */
31000 break;
31001
31002 case 663:
31003#line 4737 "gram.y" /* yacc.c:1646 */
31004 {
31005 AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31006 n->extname = (yyvsp[-3].str);
31007 n->action = (yyvsp[-2].ival);
31008 n->objtype = OBJECT_TYPE;
31009 n->object = (Node *) (yyvsp[0].typnam);
31010 (yyval.node) = (Node *)n;
31011 }
31012#line 31013 "gram.c" /* yacc.c:1646 */
31013 break;
31014
31015 case 664:
31016#line 4755 "gram.y" /* yacc.c:1646 */
31017 {
31018 CreateFdwStmt *n = makeNode(CreateFdwStmt);
31019 n->fdwname = (yyvsp[-2].str);
31020 n->func_options = (yyvsp[-1].list);
31021 n->options = (yyvsp[0].list);
31022 (yyval.node) = (Node *) n;
31023 }
31024#line 31025 "gram.c" /* yacc.c:1646 */
31025 break;
31026
31027 case 665:
31028#line 4765 "gram.y" /* yacc.c:1646 */
31029 { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
31030#line 31031 "gram.c" /* yacc.c:1646 */
31031 break;
31032
31033 case 666:
31034#line 4766 "gram.y" /* yacc.c:1646 */
31035 { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
31036#line 31037 "gram.c" /* yacc.c:1646 */
31037 break;
31038
31039 case 667:
31040#line 4767 "gram.y" /* yacc.c:1646 */
31041 { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
31042#line 31043 "gram.c" /* yacc.c:1646 */
31043 break;
31044
31045 case 668:
31046#line 4768 "gram.y" /* yacc.c:1646 */
31047 { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
31048#line 31049 "gram.c" /* yacc.c:1646 */
31049 break;
31050
31051 case 669:
31052#line 4772 "gram.y" /* yacc.c:1646 */
31053 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31054#line 31055 "gram.c" /* yacc.c:1646 */
31055 break;
31056
31057 case 670:
31058#line 4773 "gram.y" /* yacc.c:1646 */
31059 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31060#line 31061 "gram.c" /* yacc.c:1646 */
31061 break;
31062
31063 case 671:
31064#line 4777 "gram.y" /* yacc.c:1646 */
31065 { (yyval.list) = (yyvsp[0].list); }
31066#line 31067 "gram.c" /* yacc.c:1646 */
31067 break;
31068
31069 case 672:
31070#line 4778 "gram.y" /* yacc.c:1646 */
31071 { (yyval.list) = NIL; }
31072#line 31073 "gram.c" /* yacc.c:1646 */
31073 break;
31074
31075 case 673:
31076#line 4789 "gram.y" /* yacc.c:1646 */
31077 {
31078 AlterFdwStmt *n = makeNode(AlterFdwStmt);
31079 n->fdwname = (yyvsp[-2].str);
31080 n->func_options = (yyvsp[-1].list);
31081 n->options = (yyvsp[0].list);
31082 (yyval.node) = (Node *) n;
31083 }
31084#line 31085 "gram.c" /* yacc.c:1646 */
31085 break;
31086
31087 case 674:
31088#line 4797 "gram.y" /* yacc.c:1646 */
31089 {
31090 AlterFdwStmt *n = makeNode(AlterFdwStmt);
31091 n->fdwname = (yyvsp[-1].str);
31092 n->func_options = (yyvsp[0].list);
31093 n->options = NIL;
31094 (yyval.node) = (Node *) n;
31095 }
31096#line 31097 "gram.c" /* yacc.c:1646 */
31097 break;
31098
31099 case 675:
31100#line 4808 "gram.y" /* yacc.c:1646 */
31101 { (yyval.list) = (yyvsp[-1].list); }
31102#line 31103 "gram.c" /* yacc.c:1646 */
31103 break;
31104
31105 case 676:
31106#line 4809 "gram.y" /* yacc.c:1646 */
31107 { (yyval.list) = NIL; }
31108#line 31109 "gram.c" /* yacc.c:1646 */
31109 break;
31110
31111 case 677:
31112#line 4814 "gram.y" /* yacc.c:1646 */
31113 {
31114 (yyval.list) = list_make1((yyvsp[0].defelt));
31115 }
31116#line 31117 "gram.c" /* yacc.c:1646 */
31117 break;
31118
31119 case 678:
31120#line 4818 "gram.y" /* yacc.c:1646 */
31121 {
31122 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
31123 }
31124#line 31125 "gram.c" /* yacc.c:1646 */
31125 break;
31126
31127 case 679:
31128#line 4825 "gram.y" /* yacc.c:1646 */
31129 { (yyval.list) = (yyvsp[-1].list); }
31130#line 31131 "gram.c" /* yacc.c:1646 */
31131 break;
31132
31133 case 680:
31134#line 4830 "gram.y" /* yacc.c:1646 */
31135 {
31136 (yyval.list) = list_make1((yyvsp[0].defelt));
31137 }
31138#line 31139 "gram.c" /* yacc.c:1646 */
31139 break;
31140
31141 case 681:
31142#line 4834 "gram.y" /* yacc.c:1646 */
31143 {
31144 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
31145 }
31146#line 31147 "gram.c" /* yacc.c:1646 */
31147 break;
31148
31149 case 682:
31150#line 4841 "gram.y" /* yacc.c:1646 */
31151 {
31152 (yyval.defelt) = (yyvsp[0].defelt);
31153 }
31154#line 31155 "gram.c" /* yacc.c:1646 */
31155 break;
31156
31157 case 683:
31158#line 4845 "gram.y" /* yacc.c:1646 */
31159 {
31160 (yyval.defelt) = (yyvsp[0].defelt);
31161 (yyval.defelt)->defaction = DEFELEM_SET;
31162 }
31163#line 31164 "gram.c" /* yacc.c:1646 */
31164 break;
31165
31166 case 684:
31167#line 4850 "gram.y" /* yacc.c:1646 */
31168 {
31169 (yyval.defelt) = (yyvsp[0].defelt);
31170 (yyval.defelt)->defaction = DEFELEM_ADD;
31171 }
31172#line 31173 "gram.c" /* yacc.c:1646 */
31173 break;
31174
31175 case 685:
31176#line 4855 "gram.y" /* yacc.c:1646 */
31177 {
31178 (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
31179 }
31180#line 31181 "gram.c" /* yacc.c:1646 */
31181 break;
31182
31183 case 686:
31184#line 4862 "gram.y" /* yacc.c:1646 */
31185 {
31186 (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
31187 }
31188#line 31189 "gram.c" /* yacc.c:1646 */
31189 break;
31190
31191 case 687:
31192#line 4868 "gram.y" /* yacc.c:1646 */
31193 { (yyval.str) = (yyvsp[0].str); }
31194#line 31195 "gram.c" /* yacc.c:1646 */
31195 break;
31196
31197 case 688:
31198#line 4873 "gram.y" /* yacc.c:1646 */
31199 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
31200#line 31201 "gram.c" /* yacc.c:1646 */
31201 break;
31202
31203 case 689:
31204#line 4885 "gram.y" /* yacc.c:1646 */
31205 {
31206 CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
31207 n->servername = (yyvsp[-7].str);
31208 n->servertype = (yyvsp[-6].str);
31209 n->version = (yyvsp[-5].str);
31210 n->fdwname = (yyvsp[-1].str);
31211 n->options = (yyvsp[0].list);
31212 n->if_not_exists = false;
31213 (yyval.node) = (Node *) n;
31214 }
31215#line 31216 "gram.c" /* yacc.c:1646 */
31216 break;
31217
31218 case 690:
31219#line 4897 "gram.y" /* yacc.c:1646 */
31220 {
31221 CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
31222 n->servername = (yyvsp[-7].str);
31223 n->servertype = (yyvsp[-6].str);
31224 n->version = (yyvsp[-5].str);
31225 n->fdwname = (yyvsp[-1].str);
31226 n->options = (yyvsp[0].list);
31227 n->if_not_exists = true;
31228 (yyval.node) = (Node *) n;
31229 }
31230#line 31231 "gram.c" /* yacc.c:1646 */
31231 break;
31232
31233 case 691:
31234#line 4910 "gram.y" /* yacc.c:1646 */
31235 { (yyval.str) = (yyvsp[0].str); }
31236#line 31237 "gram.c" /* yacc.c:1646 */
31237 break;
31238
31239 case 692:
31240#line 4911 "gram.y" /* yacc.c:1646 */
31241 { (yyval.str) = NULL; }
31242#line 31243 "gram.c" /* yacc.c:1646 */
31243 break;
31244
31245 case 693:
31246#line 4916 "gram.y" /* yacc.c:1646 */
31247 { (yyval.str) = (yyvsp[0].str); }
31248#line 31249 "gram.c" /* yacc.c:1646 */
31249 break;
31250
31251 case 694:
31252#line 4917 "gram.y" /* yacc.c:1646 */
31253 { (yyval.str) = NULL; }
31254#line 31255 "gram.c" /* yacc.c:1646 */
31255 break;
31256
31257 case 695:
31258#line 4921 "gram.y" /* yacc.c:1646 */
31259 { (yyval.str) = (yyvsp[0].str); }
31260#line 31261 "gram.c" /* yacc.c:1646 */
31261 break;
31262
31263 case 696:
31264#line 4922 "gram.y" /* yacc.c:1646 */
31265 { (yyval.str) = NULL; }
31266#line 31267 "gram.c" /* yacc.c:1646 */
31267 break;
31268
31269 case 697:
31270#line 4933 "gram.y" /* yacc.c:1646 */
31271 {
31272 AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
31273 n->servername = (yyvsp[-2].str);
31274 n->version = (yyvsp[-1].str);
31275 n->options = (yyvsp[0].list);
31276 n->has_version = true;
31277 (yyval.node) = (Node *) n;
31278 }
31279#line 31280 "gram.c" /* yacc.c:1646 */
31280 break;
31281
31282 case 698:
31283#line 4942 "gram.y" /* yacc.c:1646 */
31284 {
31285 AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
31286 n->servername = (yyvsp[-1].str);
31287 n->version = (yyvsp[0].str);
31288 n->has_version = true;
31289 (yyval.node) = (Node *) n;
31290 }
31291#line 31292 "gram.c" /* yacc.c:1646 */
31292 break;
31293
31294 case 699:
31295#line 4950 "gram.y" /* yacc.c:1646 */
31296 {
31297 AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
31298 n->servername = (yyvsp[-1].str);
31299 n->options = (yyvsp[0].list);
31300 (yyval.node) = (Node *) n;
31301 }
31302#line 31303 "gram.c" /* yacc.c:1646 */
31303 break;
31304
31305 case 700:
31306#line 4969 "gram.y" /* yacc.c:1646 */
31307 {
31308 CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31309 (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31310 n->base.relation = (yyvsp[-7].range);
31311 n->base.tableElts = (yyvsp[-5].list);
31312 n->base.inhRelations = (yyvsp[-3].list);
31313 n->base.ofTypename = NULL;
31314 n->base.constraints = NIL;
31315 n->base.options = NIL;
31316 n->base.oncommit = ONCOMMIT_NOOP;
31317 n->base.tablespacename = NULL;
31318 n->base.if_not_exists = false;
31319 /* FDW-specific data */
31320 n->servername = (yyvsp[-1].str);
31321 n->options = (yyvsp[0].list);
31322 (yyval.node) = (Node *) n;
31323 }
31324#line 31325 "gram.c" /* yacc.c:1646 */
31325 break;
31326
31327 case 701:
31328#line 4989 "gram.y" /* yacc.c:1646 */
31329 {
31330 CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31331 (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31332 n->base.relation = (yyvsp[-7].range);
31333 n->base.tableElts = (yyvsp[-5].list);
31334 n->base.inhRelations = (yyvsp[-3].list);
31335 n->base.ofTypename = NULL;
31336 n->base.constraints = NIL;
31337 n->base.options = NIL;
31338 n->base.oncommit = ONCOMMIT_NOOP;
31339 n->base.tablespacename = NULL;
31340 n->base.if_not_exists = true;
31341 /* FDW-specific data */
31342 n->servername = (yyvsp[-1].str);
31343 n->options = (yyvsp[0].list);
31344 (yyval.node) = (Node *) n;
31345 }
31346#line 31347 "gram.c" /* yacc.c:1646 */
31347 break;
31348
31349 case 702:
31350#line 5009 "gram.y" /* yacc.c:1646 */
31351 {
31352 CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31353 (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31354 n->base.relation = (yyvsp[-8].range);
31355 n->base.inhRelations = list_make1((yyvsp[-5].range));
31356 n->base.tableElts = (yyvsp[-4].list);
31357 n->base.partbound = (yyvsp[-3].partboundspec);
31358 n->base.ofTypename = NULL;
31359 n->base.constraints = NIL;
31360 n->base.options = NIL;
31361 n->base.oncommit = ONCOMMIT_NOOP;
31362 n->base.tablespacename = NULL;
31363 n->base.if_not_exists = false;
31364 /* FDW-specific data */
31365 n->servername = (yyvsp[-1].str);
31366 n->options = (yyvsp[0].list);
31367 (yyval.node) = (Node *) n;
31368 }
31369#line 31370 "gram.c" /* yacc.c:1646 */
31370 break;
31371
31372 case 703:
31373#line 5030 "gram.y" /* yacc.c:1646 */
31374 {
31375 CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
31376 (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
31377 n->base.relation = (yyvsp[-8].range);
31378 n->base.inhRelations = list_make1((yyvsp[-5].range));
31379 n->base.tableElts = (yyvsp[-4].list);
31380 n->base.partbound = (yyvsp[-3].partboundspec);
31381 n->base.ofTypename = NULL;
31382 n->base.constraints = NIL;
31383 n->base.options = NIL;
31384 n->base.oncommit = ONCOMMIT_NOOP;
31385 n->base.tablespacename = NULL;
31386 n->base.if_not_exists = true;
31387 /* FDW-specific data */
31388 n->servername = (yyvsp[-1].str);
31389 n->options = (yyvsp[0].list);
31390 (yyval.node) = (Node *) n;
31391 }
31392#line 31393 "gram.c" /* yacc.c:1646 */
31393 break;
31394
31395 case 704:
31396#line 5059 "gram.y" /* yacc.c:1646 */
31397 {
31398 AlterTableStmt *n = makeNode(AlterTableStmt);
31399 n->relation = (yyvsp[-1].range);
31400 n->cmds = (yyvsp[0].list);
31401 n->relkind = OBJECT_FOREIGN_TABLE;
31402 n->missing_ok = false;
31403 (yyval.node) = (Node *)n;
31404 }
31405#line 31406 "gram.c" /* yacc.c:1646 */
31406 break;
31407
31408 case 705:
31409#line 5068 "gram.y" /* yacc.c:1646 */
31410 {
31411 AlterTableStmt *n = makeNode(AlterTableStmt);
31412 n->relation = (yyvsp[-1].range);
31413 n->cmds = (yyvsp[0].list);
31414 n->relkind = OBJECT_FOREIGN_TABLE;
31415 n->missing_ok = true;
31416 (yyval.node) = (Node *)n;
31417 }
31418#line 31419 "gram.c" /* yacc.c:1646 */
31419 break;
31420
31421 case 706:
31422#line 5090 "gram.y" /* yacc.c:1646 */
31423 {
31424 ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
31425 n->server_name = (yyvsp[-3].str);
31426 n->remote_schema = (yyvsp[-7].str);
31427 n->local_schema = (yyvsp[-1].str);
31428 n->list_type = (yyvsp[-6].importqual)->type;
31429 n->table_list = (yyvsp[-6].importqual)->table_names;
31430 n->options = (yyvsp[0].list);
31431 (yyval.node) = (Node *) n;
31432 }
31433#line 31434 "gram.c" /* yacc.c:1646 */
31434 break;
31435
31436 case 707:
31437#line 5103 "gram.y" /* yacc.c:1646 */
31438 { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
31439#line 31440 "gram.c" /* yacc.c:1646 */
31440 break;
31441
31442 case 708:
31443#line 5104 "gram.y" /* yacc.c:1646 */
31444 { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
31445#line 31446 "gram.c" /* yacc.c:1646 */
31446 break;
31447
31448 case 709:
31449#line 5109 "gram.y" /* yacc.c:1646 */
31450 {
31451 ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
31452 n->type = (yyvsp[-3].ival);
31453 n->table_names = (yyvsp[-1].list);
31454 (yyval.importqual) = n;
31455 }
31456#line 31457 "gram.c" /* yacc.c:1646 */
31457 break;
31458
31459 case 710:
31460#line 5116 "gram.y" /* yacc.c:1646 */
31461 {
31462 ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
31463 n->type = FDW_IMPORT_SCHEMA_ALL;
31464 n->table_names = NIL;
31465 (yyval.importqual) = n;
31466 }
31467#line 31468 "gram.c" /* yacc.c:1646 */
31468 break;
31469
31470 case 711:
31471#line 5132 "gram.y" /* yacc.c:1646 */
31472 {
31473 CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
31474 n->user = (yyvsp[-3].rolespec);
31475 n->servername = (yyvsp[-1].str);
31476 n->options = (yyvsp[0].list);
31477 n->if_not_exists = false;
31478 (yyval.node) = (Node *) n;
31479 }
31480#line 31481 "gram.c" /* yacc.c:1646 */
31481 break;
31482
31483 case 712:
31484#line 5141 "gram.y" /* yacc.c:1646 */
31485 {
31486 CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
31487 n->user = (yyvsp[-3].rolespec);
31488 n->servername = (yyvsp[-1].str);
31489 n->options = (yyvsp[0].list);
31490 n->if_not_exists = true;
31491 (yyval.node) = (Node *) n;
31492 }
31493#line 31494 "gram.c" /* yacc.c:1646 */
31494 break;
31495
31496 case 713:
31497#line 5152 "gram.y" /* yacc.c:1646 */
31498 { (yyval.rolespec) = (yyvsp[0].rolespec); }
31499#line 31500 "gram.c" /* yacc.c:1646 */
31500 break;
31501
31502 case 714:
31503#line 5153 "gram.y" /* yacc.c:1646 */
31504 { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
31505#line 31506 "gram.c" /* yacc.c:1646 */
31506 break;
31507
31508 case 715:
31509#line 5166 "gram.y" /* yacc.c:1646 */
31510 {
31511 DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
31512 n->user = (yyvsp[-2].rolespec);
31513 n->servername = (yyvsp[0].str);
31514 n->missing_ok = false;
31515 (yyval.node) = (Node *) n;
31516 }
31517#line 31518 "gram.c" /* yacc.c:1646 */
31518 break;
31519
31520 case 716:
31521#line 5174 "gram.y" /* yacc.c:1646 */
31522 {
31523 DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
31524 n->user = (yyvsp[-2].rolespec);
31525 n->servername = (yyvsp[0].str);
31526 n->missing_ok = true;
31527 (yyval.node) = (Node *) n;
31528 }
31529#line 31530 "gram.c" /* yacc.c:1646 */
31530 break;
31531
31532 case 717:
31533#line 5191 "gram.y" /* yacc.c:1646 */
31534 {
31535 AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
31536 n->user = (yyvsp[-3].rolespec);
31537 n->servername = (yyvsp[-1].str);
31538 n->options = (yyvsp[0].list);
31539 (yyval.node) = (Node *) n;
31540 }
31541#line 31542 "gram.c" /* yacc.c:1646 */
31542 break;
31543
31544 case 718:
31545#line 5217 "gram.y" /* yacc.c:1646 */
31546 {
31547 CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
31548 n->policy_name = (yyvsp[-7].str);
31549 n->table = (yyvsp[-5].range);
31550 n->permissive = (yyvsp[-4].boolean);
31551 n->cmd_name = (yyvsp[-3].str);
31552 n->roles = (yyvsp[-2].list);
31553 n->qual = (yyvsp[-1].node);
31554 n->with_check = (yyvsp[0].node);
31555 (yyval.node) = (Node *) n;
31556 }
31557#line 31558 "gram.c" /* yacc.c:1646 */
31558 break;
31559
31560 case 719:
31561#line 5233 "gram.y" /* yacc.c:1646 */
31562 {
31563 AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
31564 n->policy_name = (yyvsp[-5].str);
31565 n->table = (yyvsp[-3].range);
31566 n->roles = (yyvsp[-2].list);
31567 n->qual = (yyvsp[-1].node);
31568 n->with_check = (yyvsp[0].node);
31569 (yyval.node) = (Node *) n;
31570 }
31571#line 31572 "gram.c" /* yacc.c:1646 */
31572 break;
31573
31574 case 720:
31575#line 5245 "gram.y" /* yacc.c:1646 */
31576 { (yyval.node) = (yyvsp[-1].node); }
31577#line 31578 "gram.c" /* yacc.c:1646 */
31578 break;
31579
31580 case 721:
31581#line 5246 "gram.y" /* yacc.c:1646 */
31582 { (yyval.node) = NULL; }
31583#line 31584 "gram.c" /* yacc.c:1646 */
31584 break;
31585
31586 case 722:
31587#line 5250 "gram.y" /* yacc.c:1646 */
31588 { (yyval.node) = (yyvsp[-1].node); }
31589#line 31590 "gram.c" /* yacc.c:1646 */
31590 break;
31591
31592 case 723:
31593#line 5251 "gram.y" /* yacc.c:1646 */
31594 { (yyval.node) = NULL; }
31595#line 31596 "gram.c" /* yacc.c:1646 */
31596 break;
31597
31598 case 724:
31599#line 5255 "gram.y" /* yacc.c:1646 */
31600 { (yyval.list) = (yyvsp[0].list); }
31601#line 31602 "gram.c" /* yacc.c:1646 */
31602 break;
31603
31604 case 725:
31605#line 5256 "gram.y" /* yacc.c:1646 */
31606 { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
31607#line 31608 "gram.c" /* yacc.c:1646 */
31608 break;
31609
31610 case 726:
31611#line 5260 "gram.y" /* yacc.c:1646 */
31612 { (yyval.list) = (yyvsp[0].list); }
31613#line 31614 "gram.c" /* yacc.c:1646 */
31614 break;
31615
31616 case 727:
31617#line 5261 "gram.y" /* yacc.c:1646 */
31618 { (yyval.list) = NULL; }
31619#line 31620 "gram.c" /* yacc.c:1646 */
31620 break;
31621
31622 case 728:
31623#line 5266 "gram.y" /* yacc.c:1646 */
31624 {
31625 if (strcmp((yyvsp[0].str), "permissive") == 0)
31626 (yyval.boolean) = true;
31627 else if (strcmp((yyvsp[0].str), "restrictive") == 0)
31628 (yyval.boolean) = false;
31629 else
31630 ereport(ERROR,
31631 (errcode(ERRCODE_SYNTAX_ERROR),
31632 errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
31633 errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
31634 parser_errposition((yylsp[0]))));
31635
31636 }
31637#line 31638 "gram.c" /* yacc.c:1646 */
31638 break;
31639
31640 case 729:
31641#line 5279 "gram.y" /* yacc.c:1646 */
31642 { (yyval.boolean) = true; }
31643#line 31644 "gram.c" /* yacc.c:1646 */
31644 break;
31645
31646 case 730:
31647#line 5283 "gram.y" /* yacc.c:1646 */
31648 { (yyval.str) = (yyvsp[0].str); }
31649#line 31650 "gram.c" /* yacc.c:1646 */
31650 break;
31651
31652 case 731:
31653#line 5284 "gram.y" /* yacc.c:1646 */
31654 { (yyval.str) = "all"; }
31655#line 31656 "gram.c" /* yacc.c:1646 */
31656 break;
31657
31658 case 732:
31659#line 5288 "gram.y" /* yacc.c:1646 */
31660 { (yyval.str) = "all"; }
31661#line 31662 "gram.c" /* yacc.c:1646 */
31662 break;
31663
31664 case 733:
31665#line 5289 "gram.y" /* yacc.c:1646 */
31666 { (yyval.str) = "select"; }
31667#line 31668 "gram.c" /* yacc.c:1646 */
31668 break;
31669
31670 case 734:
31671#line 5290 "gram.y" /* yacc.c:1646 */
31672 { (yyval.str) = "insert"; }
31673#line 31674 "gram.c" /* yacc.c:1646 */
31674 break;
31675
31676 case 735:
31677#line 5291 "gram.y" /* yacc.c:1646 */
31678 { (yyval.str) = "update"; }
31679#line 31680 "gram.c" /* yacc.c:1646 */
31680 break;
31681
31682 case 736:
31683#line 5292 "gram.y" /* yacc.c:1646 */
31684 { (yyval.str) = "delete"; }
31685#line 31686 "gram.c" /* yacc.c:1646 */
31686 break;
31687
31688 case 737:
31689#line 5303 "gram.y" /* yacc.c:1646 */
31690 {
31691 CreateAmStmt *n = makeNode(CreateAmStmt);
31692 n->amname = (yyvsp[-4].str);
31693 n->handler_name = (yyvsp[0].list);
31694 n->amtype = (yyvsp[-2].chr);
31695 (yyval.node) = (Node *) n;
31696 }
31697#line 31698 "gram.c" /* yacc.c:1646 */
31698 break;
31699
31700 case 738:
31701#line 5313 "gram.y" /* yacc.c:1646 */
31702 { (yyval.chr) = AMTYPE_INDEX; }
31703#line 31704 "gram.c" /* yacc.c:1646 */
31704 break;
31705
31706 case 739:
31707#line 5314 "gram.y" /* yacc.c:1646 */
31708 { (yyval.chr) = AMTYPE_TABLE; }
31709#line 31710 "gram.c" /* yacc.c:1646 */
31710 break;
31711
31712 case 740:
31713#line 5328 "gram.y" /* yacc.c:1646 */
31714 {
31715 CreateTrigStmt *n = makeNode(CreateTrigStmt);
31716 n->trigname = (yyvsp[-13].str);
31717 n->relation = (yyvsp[-9].range);
31718 n->funcname = (yyvsp[-3].list);
31719 n->args = (yyvsp[-1].list);
31720 n->row = (yyvsp[-7].boolean);
31721 n->timing = (yyvsp[-12].ival);
31722 n->events = intVal(linitial((yyvsp[-11].list)));
31723 n->columns = (List *) lsecond((yyvsp[-11].list));
31724 n->whenClause = (yyvsp[-6].node);
31725 n->transitionRels = (yyvsp[-8].list);
31726 n->isconstraint = false;
31727 n->deferrable = false;
31728 n->initdeferred = false;
31729 n->constrrel = NULL;
31730 (yyval.node) = (Node *)n;
31731 }
31732#line 31733 "gram.c" /* yacc.c:1646 */
31733 break;
31734
31735 case 741:
31736#line 5350 "gram.y" /* yacc.c:1646 */
31737 {
31738 CreateTrigStmt *n = makeNode(CreateTrigStmt);
31739 n->trigname = (yyvsp[-16].str);
31740 n->relation = (yyvsp[-12].range);
31741 n->funcname = (yyvsp[-3].list);
31742 n->args = (yyvsp[-1].list);
31743 n->row = true;
31744 n->timing = TRIGGER_TYPE_AFTER;
31745 n->events = intVal(linitial((yyvsp[-14].list)));
31746 n->columns = (List *) lsecond((yyvsp[-14].list));
31747 n->whenClause = (yyvsp[-6].node);
31748 n->transitionRels = NIL;
31749 n->isconstraint = true;
31750 processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
31751 &n->deferrable, &n->initdeferred, NULL,
31752 NULL, yyscanner);
31753 n->constrrel = (yyvsp[-11].range);
31754 (yyval.node) = (Node *)n;
31755 }
31756#line 31757 "gram.c" /* yacc.c:1646 */
31757 break;
31758
31759 case 742:
31760#line 5372 "gram.y" /* yacc.c:1646 */
31761 { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
31762#line 31763 "gram.c" /* yacc.c:1646 */
31763 break;
31764
31765 case 743:
31766#line 5373 "gram.y" /* yacc.c:1646 */
31767 { (yyval.ival) = TRIGGER_TYPE_AFTER; }
31768#line 31769 "gram.c" /* yacc.c:1646 */
31769 break;
31770
31771 case 744:
31772#line 5374 "gram.y" /* yacc.c:1646 */
31773 { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
31774#line 31775 "gram.c" /* yacc.c:1646 */
31775 break;
31776
31777 case 745:
31778#line 5379 "gram.y" /* yacc.c:1646 */
31779 { (yyval.list) = (yyvsp[0].list); }
31780#line 31781 "gram.c" /* yacc.c:1646 */
31781 break;
31782
31783 case 746:
31784#line 5381 "gram.y" /* yacc.c:1646 */
31785 {
31786 int events1 = intVal(linitial((yyvsp[-2].list)));
31787 int events2 = intVal(linitial((yyvsp[0].list)));
31788 List *columns1 = (List *) lsecond((yyvsp[-2].list));
31789 List *columns2 = (List *) lsecond((yyvsp[0].list));
31790
31791 if (events1 & events2)
31792 parser_yyerror("duplicate trigger events specified");
31793 /*
31794 * concat'ing the columns lists loses information about
31795 * which columns went with which event, but so long as
31796 * only UPDATE carries columns and we disallow multiple
31797 * UPDATE items, it doesn't matter. Command execution
31798 * should just ignore the columns for non-UPDATE events.
31799 */
31800 (yyval.list) = list_make2(makeInteger(events1 | events2),
31801 list_concat(columns1, columns2));
31802 }
31803#line 31804 "gram.c" /* yacc.c:1646 */
31804 break;
31805
31806 case 747:
31807#line 5403 "gram.y" /* yacc.c:1646 */
31808 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
31809#line 31810 "gram.c" /* yacc.c:1646 */
31810 break;
31811
31812 case 748:
31813#line 5405 "gram.y" /* yacc.c:1646 */
31814 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
31815#line 31816 "gram.c" /* yacc.c:1646 */
31816 break;
31817
31818 case 749:
31819#line 5407 "gram.y" /* yacc.c:1646 */
31820 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
31821#line 31822 "gram.c" /* yacc.c:1646 */
31822 break;
31823
31824 case 750:
31825#line 5409 "gram.y" /* yacc.c:1646 */
31826 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
31827#line 31828 "gram.c" /* yacc.c:1646 */
31828 break;
31829
31830 case 751:
31831#line 5411 "gram.y" /* yacc.c:1646 */
31832 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
31833#line 31834 "gram.c" /* yacc.c:1646 */
31834 break;
31835
31836 case 752:
31837#line 5415 "gram.y" /* yacc.c:1646 */
31838 { (yyval.list) = (yyvsp[0].list); }
31839#line 31840 "gram.c" /* yacc.c:1646 */
31840 break;
31841
31842 case 753:
31843#line 5416 "gram.y" /* yacc.c:1646 */
31844 { (yyval.list) = NIL; }
31845#line 31846 "gram.c" /* yacc.c:1646 */
31846 break;
31847
31848 case 754:
31849#line 5420 "gram.y" /* yacc.c:1646 */
31850 { (yyval.list) = list_make1((yyvsp[0].node)); }
31851#line 31852 "gram.c" /* yacc.c:1646 */
31852 break;
31853
31854 case 755:
31855#line 5421 "gram.y" /* yacc.c:1646 */
31856 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
31857#line 31858 "gram.c" /* yacc.c:1646 */
31858 break;
31859
31860 case 756:
31861#line 5426 "gram.y" /* yacc.c:1646 */
31862 {
31863 TriggerTransition *n = makeNode(TriggerTransition);
31864 n->name = (yyvsp[0].str);
31865 n->isNew = (yyvsp[-3].boolean);
31866 n->isTable = (yyvsp[-2].boolean);
31867 (yyval.node) = (Node *)n;
31868 }
31869#line 31870 "gram.c" /* yacc.c:1646 */
31870 break;
31871
31872 case 757:
31873#line 5436 "gram.y" /* yacc.c:1646 */
31874 { (yyval.boolean) = true; }
31875#line 31876 "gram.c" /* yacc.c:1646 */
31876 break;
31877
31878 case 758:
31879#line 5437 "gram.y" /* yacc.c:1646 */
31880 { (yyval.boolean) = false; }
31881#line 31882 "gram.c" /* yacc.c:1646 */
31882 break;
31883
31884 case 759:
31885#line 5441 "gram.y" /* yacc.c:1646 */
31886 { (yyval.boolean) = true; }
31887#line 31888 "gram.c" /* yacc.c:1646 */
31888 break;
31889
31890 case 760:
31891#line 5450 "gram.y" /* yacc.c:1646 */
31892 { (yyval.boolean) = false; }
31893#line 31894 "gram.c" /* yacc.c:1646 */
31894 break;
31895
31896 case 761:
31897#line 5454 "gram.y" /* yacc.c:1646 */
31898 { (yyval.str) = (yyvsp[0].str); }
31899#line 31900 "gram.c" /* yacc.c:1646 */
31900 break;
31901
31902 case 762:
31903#line 5459 "gram.y" /* yacc.c:1646 */
31904 {
31905 (yyval.boolean) = (yyvsp[0].boolean);
31906 }
31907#line 31908 "gram.c" /* yacc.c:1646 */
31908 break;
31909
31910 case 763:
31911#line 5463 "gram.y" /* yacc.c:1646 */
31912 {
31913 /*
31914 * If ROW/STATEMENT not specified, default to
31915 * STATEMENT, per SQL
31916 */
31917 (yyval.boolean) = false;
31918 }
31919#line 31920 "gram.c" /* yacc.c:1646 */
31920 break;
31921
31922 case 764:
31923#line 5473 "gram.y" /* yacc.c:1646 */
31924 {}
31925#line 31926 "gram.c" /* yacc.c:1646 */
31926 break;
31927
31928 case 765:
31929#line 5474 "gram.y" /* yacc.c:1646 */
31930 {}
31931#line 31932 "gram.c" /* yacc.c:1646 */
31932 break;
31933
31934 case 766:
31935#line 5478 "gram.y" /* yacc.c:1646 */
31936 { (yyval.boolean) = true; }
31937#line 31938 "gram.c" /* yacc.c:1646 */
31938 break;
31939
31940 case 767:
31941#line 5479 "gram.y" /* yacc.c:1646 */
31942 { (yyval.boolean) = false; }
31943#line 31944 "gram.c" /* yacc.c:1646 */
31944 break;
31945
31946 case 768:
31947#line 5483 "gram.y" /* yacc.c:1646 */
31948 { (yyval.node) = (yyvsp[-1].node); }
31949#line 31950 "gram.c" /* yacc.c:1646 */
31950 break;
31951
31952 case 769:
31953#line 5484 "gram.y" /* yacc.c:1646 */
31954 { (yyval.node) = NULL; }
31955#line 31956 "gram.c" /* yacc.c:1646 */
31956 break;
31957
31958 case 772:
31959#line 5493 "gram.y" /* yacc.c:1646 */
31960 { (yyval.list) = list_make1((yyvsp[0].value)); }
31961#line 31962 "gram.c" /* yacc.c:1646 */
31962 break;
31963
31964 case 773:
31965#line 5494 "gram.y" /* yacc.c:1646 */
31966 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
31967#line 31968 "gram.c" /* yacc.c:1646 */
31968 break;
31969
31970 case 774:
31971#line 5495 "gram.y" /* yacc.c:1646 */
31972 { (yyval.list) = NIL; }
31973#line 31974 "gram.c" /* yacc.c:1646 */
31974 break;
31975
31976 case 775:
31977#line 5500 "gram.y" /* yacc.c:1646 */
31978 {
31979 (yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
31980 }
31981#line 31982 "gram.c" /* yacc.c:1646 */
31982 break;
31983
31984 case 776:
31985#line 5503 "gram.y" /* yacc.c:1646 */
31986 { (yyval.value) = makeString((yyvsp[0].str)); }
31987#line 31988 "gram.c" /* yacc.c:1646 */
31988 break;
31989
31990 case 777:
31991#line 5504 "gram.y" /* yacc.c:1646 */
31992 { (yyval.value) = makeString((yyvsp[0].str)); }
31993#line 31994 "gram.c" /* yacc.c:1646 */
31994 break;
31995
31996 case 778:
31997#line 5505 "gram.y" /* yacc.c:1646 */
31998 { (yyval.value) = makeString((yyvsp[0].str)); }
31999#line 32000 "gram.c" /* yacc.c:1646 */
32000 break;
32001
32002 case 779:
32003#line 5509 "gram.y" /* yacc.c:1646 */
32004 { (yyval.range) = (yyvsp[0].range); }
32005#line 32006 "gram.c" /* yacc.c:1646 */
32006 break;
32007
32008 case 780:
32009#line 5510 "gram.y" /* yacc.c:1646 */
32010 { (yyval.range) = NULL; }
32011#line 32012 "gram.c" /* yacc.c:1646 */
32012 break;
32013
32014 case 781:
32015#line 5515 "gram.y" /* yacc.c:1646 */
32016 { (yyval.ival) = 0; }
32017#line 32018 "gram.c" /* yacc.c:1646 */
32018 break;
32019
32020 case 782:
32021#line 5517 "gram.y" /* yacc.c:1646 */
32022 {
32023 /*
32024 * We must complain about conflicting options.
32025 * We could, but choose not to, complain about redundant
32026 * options (ie, where $2's bit is already set in $1).
32027 */
32028 int newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
32029
32030 /* special message for this case */
32031 if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
32032 ereport(ERROR,
32033 (errcode(ERRCODE_SYNTAX_ERROR),
32034 errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
32035 parser_errposition((yylsp[0]))));
32036 /* generic message for other conflicts */
32037 if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
32038 (newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
32039 ereport(ERROR,
32040 (errcode(ERRCODE_SYNTAX_ERROR),
32041 errmsg("conflicting constraint properties"),
32042 parser_errposition((yylsp[0]))));
32043 (yyval.ival) = newspec;
32044 }
32045#line 32046 "gram.c" /* yacc.c:1646 */
32046 break;
32047
32048 case 783:
32049#line 5543 "gram.y" /* yacc.c:1646 */
32050 { (yyval.ival) = CAS_NOT_DEFERRABLE; }
32051#line 32052 "gram.c" /* yacc.c:1646 */
32052 break;
32053
32054 case 784:
32055#line 5544 "gram.y" /* yacc.c:1646 */
32056 { (yyval.ival) = CAS_DEFERRABLE; }
32057#line 32058 "gram.c" /* yacc.c:1646 */
32058 break;
32059
32060 case 785:
32061#line 5545 "gram.y" /* yacc.c:1646 */
32062 { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
32063#line 32064 "gram.c" /* yacc.c:1646 */
32064 break;
32065
32066 case 786:
32067#line 5546 "gram.y" /* yacc.c:1646 */
32068 { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
32069#line 32070 "gram.c" /* yacc.c:1646 */
32070 break;
32071
32072 case 787:
32073#line 5547 "gram.y" /* yacc.c:1646 */
32074 { (yyval.ival) = CAS_NOT_VALID; }
32075#line 32076 "gram.c" /* yacc.c:1646 */
32076 break;
32077
32078 case 788:
32079#line 5548 "gram.y" /* yacc.c:1646 */
32080 { (yyval.ival) = CAS_NO_INHERIT; }
32081#line 32082 "gram.c" /* yacc.c:1646 */
32082 break;
32083
32084 case 789:
32085#line 5563 "gram.y" /* yacc.c:1646 */
32086 {
32087 CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
32088 n->trigname = (yyvsp[-7].str);
32089 n->eventname = (yyvsp[-5].str);
32090 n->whenclause = NULL;
32091 n->funcname = (yyvsp[-2].list);
32092 (yyval.node) = (Node *)n;
32093 }
32094#line 32095 "gram.c" /* yacc.c:1646 */
32095 break;
32096
32097 case 790:
32098#line 5574 "gram.y" /* yacc.c:1646 */
32099 {
32100 CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
32101 n->trigname = (yyvsp[-9].str);
32102 n->eventname = (yyvsp[-7].str);
32103 n->whenclause = (yyvsp[-5].list);
32104 n->funcname = (yyvsp[-2].list);
32105 (yyval.node) = (Node *)n;
32106 }
32107#line 32108 "gram.c" /* yacc.c:1646 */
32108 break;
32109
32110 case 791:
32111#line 5586 "gram.y" /* yacc.c:1646 */
32112 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32113#line 32114 "gram.c" /* yacc.c:1646 */
32114 break;
32115
32116 case 792:
32117#line 5588 "gram.y" /* yacc.c:1646 */
32118 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
32119#line 32120 "gram.c" /* yacc.c:1646 */
32120 break;
32121
32122 case 793:
32123#line 5593 "gram.y" /* yacc.c:1646 */
32124 { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
32125#line 32126 "gram.c" /* yacc.c:1646 */
32126 break;
32127
32128 case 794:
32129#line 5598 "gram.y" /* yacc.c:1646 */
32130 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32131#line 32132 "gram.c" /* yacc.c:1646 */
32132 break;
32133
32134 case 795:
32135#line 5600 "gram.y" /* yacc.c:1646 */
32136 { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
32137#line 32138 "gram.c" /* yacc.c:1646 */
32138 break;
32139
32140 case 796:
32141#line 5605 "gram.y" /* yacc.c:1646 */
32142 {
32143 AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
32144 n->trigname = (yyvsp[-1].str);
32145 n->tgenabled = (yyvsp[0].chr);
32146 (yyval.node) = (Node *) n;
32147 }
32148#line 32149 "gram.c" /* yacc.c:1646 */
32149 break;
32150
32151 case 797:
32152#line 5614 "gram.y" /* yacc.c:1646 */
32153 { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
32154#line 32155 "gram.c" /* yacc.c:1646 */
32155 break;
32156
32157 case 798:
32158#line 5615 "gram.y" /* yacc.c:1646 */
32159 { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
32160#line 32161 "gram.c" /* yacc.c:1646 */
32161 break;
32162
32163 case 799:
32164#line 5616 "gram.y" /* yacc.c:1646 */
32165 { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
32166#line 32167 "gram.c" /* yacc.c:1646 */
32167 break;
32168
32169 case 800:
32170#line 5617 "gram.y" /* yacc.c:1646 */
32171 { (yyval.chr) = TRIGGER_DISABLED; }
32172#line 32173 "gram.c" /* yacc.c:1646 */
32173 break;
32174
32175 case 801:
32176#line 5629 "gram.y" /* yacc.c:1646 */
32177 {
32178 ereport(ERROR,
32179 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
32180 errmsg("CREATE ASSERTION is not yet implemented")));
32181
32182 (yyval.node) = NULL;
32183 }
32184#line 32185 "gram.c" /* yacc.c:1646 */
32185 break;
32186
32187 case 802:
32188#line 5648 "gram.y" /* yacc.c:1646 */
32189 {
32190 DefineStmt *n = makeNode(DefineStmt);
32191 n->kind = OBJECT_AGGREGATE;
32192 n->oldstyle = false;
32193 n->replace = (yyvsp[-4].boolean);
32194 n->defnames = (yyvsp[-2].list);
32195 n->args = (yyvsp[-1].list);
32196 n->definition = (yyvsp[0].list);
32197 (yyval.node) = (Node *)n;
32198 }
32199#line 32200 "gram.c" /* yacc.c:1646 */
32200 break;
32201
32202 case 803:
32203#line 5659 "gram.y" /* yacc.c:1646 */
32204 {
32205 /* old-style (pre-8.2) syntax for CREATE AGGREGATE */
32206 DefineStmt *n = makeNode(DefineStmt);
32207 n->kind = OBJECT_AGGREGATE;
32208 n->oldstyle = true;
32209 n->replace = (yyvsp[-3].boolean);
32210 n->defnames = (yyvsp[-1].list);
32211 n->args = NIL;
32212 n->definition = (yyvsp[0].list);
32213 (yyval.node) = (Node *)n;
32214 }
32215#line 32216 "gram.c" /* yacc.c:1646 */
32216 break;
32217
32218 case 804:
32219#line 5671 "gram.y" /* yacc.c:1646 */
32220 {
32221 DefineStmt *n = makeNode(DefineStmt);
32222 n->kind = OBJECT_OPERATOR;
32223 n->oldstyle = false;
32224 n->defnames = (yyvsp[-1].list);
32225 n->args = NIL;
32226 n->definition = (yyvsp[0].list);
32227 (yyval.node) = (Node *)n;
32228 }
32229#line 32230 "gram.c" /* yacc.c:1646 */
32230 break;
32231
32232 case 805:
32233#line 5681 "gram.y" /* yacc.c:1646 */
32234 {
32235 DefineStmt *n = makeNode(DefineStmt);
32236 n->kind = OBJECT_TYPE;
32237 n->oldstyle = false;
32238 n->defnames = (yyvsp[-1].list);
32239 n->args = NIL;
32240 n->definition = (yyvsp[0].list);
32241 (yyval.node) = (Node *)n;
32242 }
32243#line 32244 "gram.c" /* yacc.c:1646 */
32244 break;
32245
32246 case 806:
32247#line 5691 "gram.y" /* yacc.c:1646 */
32248 {
32249 /* Shell type (identified by lack of definition) */
32250 DefineStmt *n = makeNode(DefineStmt);
32251 n->kind = OBJECT_TYPE;
32252 n->oldstyle = false;
32253 n->defnames = (yyvsp[0].list);
32254 n->args = NIL;
32255 n->definition = NIL;
32256 (yyval.node) = (Node *)n;
32257 }
32258#line 32259 "gram.c" /* yacc.c:1646 */
32259 break;
32260
32261 case 807:
32262#line 5702 "gram.y" /* yacc.c:1646 */
32263 {
32264 CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
32265
32266 /* can't use qualified_name, sigh */
32267 n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
32268 n->coldeflist = (yyvsp[-1].list);
32269 (yyval.node) = (Node *)n;
32270 }
32271#line 32272 "gram.c" /* yacc.c:1646 */
32272 break;
32273
32274 case 808:
32275#line 5711 "gram.y" /* yacc.c:1646 */
32276 {
32277 CreateEnumStmt *n = makeNode(CreateEnumStmt);
32278 n->typeName = (yyvsp[-5].list);
32279 n->vals = (yyvsp[-1].list);
32280 (yyval.node) = (Node *)n;
32281 }
32282#line 32283 "gram.c" /* yacc.c:1646 */
32283 break;
32284
32285 case 809:
32286#line 5718 "gram.y" /* yacc.c:1646 */
32287 {
32288 CreateRangeStmt *n = makeNode(CreateRangeStmt);
32289 n->typeName = (yyvsp[-3].list);
32290 n->params = (yyvsp[0].list);
32291 (yyval.node) = (Node *)n;
32292 }
32293#line 32294 "gram.c" /* yacc.c:1646 */
32294 break;
32295
32296 case 810:
32297#line 5725 "gram.y" /* yacc.c:1646 */
32298 {
32299 DefineStmt *n = makeNode(DefineStmt);
32300 n->kind = OBJECT_TSPARSER;
32301 n->args = NIL;
32302 n->defnames = (yyvsp[-1].list);
32303 n->definition = (yyvsp[0].list);
32304 (yyval.node) = (Node *)n;
32305 }
32306#line 32307 "gram.c" /* yacc.c:1646 */
32307 break;
32308
32309 case 811:
32310#line 5734 "gram.y" /* yacc.c:1646 */
32311 {
32312 DefineStmt *n = makeNode(DefineStmt);
32313 n->kind = OBJECT_TSDICTIONARY;
32314 n->args = NIL;
32315 n->defnames = (yyvsp[-1].list);
32316 n->definition = (yyvsp[0].list);
32317 (yyval.node) = (Node *)n;
32318 }
32319#line 32320 "gram.c" /* yacc.c:1646 */
32320 break;
32321
32322 case 812:
32323#line 5743 "gram.y" /* yacc.c:1646 */
32324 {
32325 DefineStmt *n = makeNode(DefineStmt);
32326 n->kind = OBJECT_TSTEMPLATE;
32327 n->args = NIL;
32328 n->defnames = (yyvsp[-1].list);
32329 n->definition = (yyvsp[0].list);
32330 (yyval.node) = (Node *)n;
32331 }
32332#line 32333 "gram.c" /* yacc.c:1646 */
32333 break;
32334
32335 case 813:
32336#line 5752 "gram.y" /* yacc.c:1646 */
32337 {
32338 DefineStmt *n = makeNode(DefineStmt);
32339 n->kind = OBJECT_TSCONFIGURATION;
32340 n->args = NIL;
32341 n->defnames = (yyvsp[-1].list);
32342 n->definition = (yyvsp[0].list);
32343 (yyval.node) = (Node *)n;
32344 }
32345#line 32346 "gram.c" /* yacc.c:1646 */
32346 break;
32347
32348 case 814:
32349#line 5761 "gram.y" /* yacc.c:1646 */
32350 {
32351 DefineStmt *n = makeNode(DefineStmt);
32352 n->kind = OBJECT_COLLATION;
32353 n->args = NIL;
32354 n->defnames = (yyvsp[-1].list);
32355 n->definition = (yyvsp[0].list);
32356 (yyval.node) = (Node *)n;
32357 }
32358#line 32359 "gram.c" /* yacc.c:1646 */
32359 break;
32360
32361 case 815:
32362#line 5770 "gram.y" /* yacc.c:1646 */
32363 {
32364 DefineStmt *n = makeNode(DefineStmt);
32365 n->kind = OBJECT_COLLATION;
32366 n->args = NIL;
32367 n->defnames = (yyvsp[-1].list);
32368 n->definition = (yyvsp[0].list);
32369 n->if_not_exists = true;
32370 (yyval.node) = (Node *)n;
32371 }
32372#line 32373 "gram.c" /* yacc.c:1646 */
32373 break;
32374
32375 case 816:
32376#line 5780 "gram.y" /* yacc.c:1646 */
32377 {
32378 DefineStmt *n = makeNode(DefineStmt);
32379 n->kind = OBJECT_COLLATION;
32380 n->args = NIL;
32381 n->defnames = (yyvsp[-2].list);
32382 n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
32383 (yyval.node) = (Node *)n;
32384 }
32385#line 32386 "gram.c" /* yacc.c:1646 */
32386 break;
32387
32388 case 817:
32389#line 5789 "gram.y" /* yacc.c:1646 */
32390 {
32391 DefineStmt *n = makeNode(DefineStmt);
32392 n->kind = OBJECT_COLLATION;
32393 n->args = NIL;
32394 n->defnames = (yyvsp[-2].list);
32395 n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
32396 n->if_not_exists = true;
32397 (yyval.node) = (Node *)n;
32398 }
32399#line 32400 "gram.c" /* yacc.c:1646 */
32400 break;
32401
32402 case 818:
32403#line 5800 "gram.y" /* yacc.c:1646 */
32404 { (yyval.list) = (yyvsp[-1].list); }
32405#line 32406 "gram.c" /* yacc.c:1646 */
32406 break;
32407
32408 case 819:
32409#line 5803 "gram.y" /* yacc.c:1646 */
32410 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32411#line 32412 "gram.c" /* yacc.c:1646 */
32412 break;
32413
32414 case 820:
32415#line 5804 "gram.y" /* yacc.c:1646 */
32416 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
32417#line 32418 "gram.c" /* yacc.c:1646 */
32418 break;
32419
32420 case 821:
32421#line 5808 "gram.y" /* yacc.c:1646 */
32422 {
32423 (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
32424 }
32425#line 32426 "gram.c" /* yacc.c:1646 */
32426 break;
32427
32428 case 822:
32429#line 5812 "gram.y" /* yacc.c:1646 */
32430 {
32431 (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
32432 }
32433#line 32434 "gram.c" /* yacc.c:1646 */
32434 break;
32435
32436 case 823:
32437#line 5818 "gram.y" /* yacc.c:1646 */
32438 { (yyval.node) = (Node *)(yyvsp[0].typnam); }
32439#line 32440 "gram.c" /* yacc.c:1646 */
32440 break;
32441
32442 case 824:
32443#line 5819 "gram.y" /* yacc.c:1646 */
32444 { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
32445#line 32446 "gram.c" /* yacc.c:1646 */
32446 break;
32447
32448 case 825:
32449#line 5820 "gram.y" /* yacc.c:1646 */
32450 { (yyval.node) = (Node *)(yyvsp[0].list); }
32451#line 32452 "gram.c" /* yacc.c:1646 */
32452 break;
32453
32454 case 826:
32455#line 5821 "gram.y" /* yacc.c:1646 */
32456 { (yyval.node) = (Node *)(yyvsp[0].value); }
32457#line 32458 "gram.c" /* yacc.c:1646 */
32458 break;
32459
32460 case 827:
32461#line 5822 "gram.y" /* yacc.c:1646 */
32462 { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
32463#line 32464 "gram.c" /* yacc.c:1646 */
32464 break;
32465
32466 case 828:
32467#line 5823 "gram.y" /* yacc.c:1646 */
32468 { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
32469#line 32470 "gram.c" /* yacc.c:1646 */
32470 break;
32471
32472 case 829:
32473#line 5826 "gram.y" /* yacc.c:1646 */
32474 { (yyval.list) = (yyvsp[-1].list); }
32475#line 32476 "gram.c" /* yacc.c:1646 */
32476 break;
32477
32478 case 830:
32479#line 5829 "gram.y" /* yacc.c:1646 */
32480 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32481#line 32482 "gram.c" /* yacc.c:1646 */
32482 break;
32483
32484 case 831:
32485#line 5830 "gram.y" /* yacc.c:1646 */
32486 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
32487#line 32488 "gram.c" /* yacc.c:1646 */
32488 break;
32489
32490 case 832:
32491#line 5839 "gram.y" /* yacc.c:1646 */
32492 {
32493 (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
32494 }
32495#line 32496 "gram.c" /* yacc.c:1646 */
32496 break;
32497
32498 case 833:
32499#line 5845 "gram.y" /* yacc.c:1646 */
32500 { (yyval.list) = (yyvsp[0].list); }
32501#line 32502 "gram.c" /* yacc.c:1646 */
32502 break;
32503
32504 case 834:
32505#line 5846 "gram.y" /* yacc.c:1646 */
32506 { (yyval.list) = NIL; }
32507#line 32508 "gram.c" /* yacc.c:1646 */
32508 break;
32509
32510 case 835:
32511#line 5850 "gram.y" /* yacc.c:1646 */
32512 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32513#line 32514 "gram.c" /* yacc.c:1646 */
32514 break;
32515
32516 case 836:
32517#line 5852 "gram.y" /* yacc.c:1646 */
32518 { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
32519#line 32520 "gram.c" /* yacc.c:1646 */
32520 break;
32521
32522 case 837:
32523#line 5863 "gram.y" /* yacc.c:1646 */
32524 {
32525 AlterEnumStmt *n = makeNode(AlterEnumStmt);
32526 n->typeName = (yyvsp[-4].list);
32527 n->oldVal = NULL;
32528 n->newVal = (yyvsp[0].str);
32529 n->newValNeighbor = NULL;
32530 n->newValIsAfter = true;
32531 n->skipIfNewValExists = (yyvsp[-1].boolean);
32532 (yyval.node) = (Node *) n;
32533 }
32534#line 32535 "gram.c" /* yacc.c:1646 */
32535 break;
32536
32537 case 838:
32538#line 5874 "gram.y" /* yacc.c:1646 */
32539 {
32540 AlterEnumStmt *n = makeNode(AlterEnumStmt);
32541 n->typeName = (yyvsp[-6].list);
32542 n->oldVal = NULL;
32543 n->newVal = (yyvsp[-2].str);
32544 n->newValNeighbor = (yyvsp[0].str);
32545 n->newValIsAfter = false;
32546 n->skipIfNewValExists = (yyvsp[-3].boolean);
32547 (yyval.node) = (Node *) n;
32548 }
32549#line 32550 "gram.c" /* yacc.c:1646 */
32550 break;
32551
32552 case 839:
32553#line 5885 "gram.y" /* yacc.c:1646 */
32554 {
32555 AlterEnumStmt *n = makeNode(AlterEnumStmt);
32556 n->typeName = (yyvsp[-6].list);
32557 n->oldVal = NULL;
32558 n->newVal = (yyvsp[-2].str);
32559 n->newValNeighbor = (yyvsp[0].str);
32560 n->newValIsAfter = true;
32561 n->skipIfNewValExists = (yyvsp[-3].boolean);
32562 (yyval.node) = (Node *) n;
32563 }
32564#line 32565 "gram.c" /* yacc.c:1646 */
32565 break;
32566
32567 case 840:
32568#line 5896 "gram.y" /* yacc.c:1646 */
32569 {
32570 AlterEnumStmt *n = makeNode(AlterEnumStmt);
32571 n->typeName = (yyvsp[-5].list);
32572 n->oldVal = (yyvsp[-2].str);
32573 n->newVal = (yyvsp[0].str);
32574 n->newValNeighbor = NULL;
32575 n->newValIsAfter = false;
32576 n->skipIfNewValExists = false;
32577 (yyval.node) = (Node *) n;
32578 }
32579#line 32580 "gram.c" /* yacc.c:1646 */
32580 break;
32581
32582 case 841:
32583#line 5908 "gram.y" /* yacc.c:1646 */
32584 { (yyval.boolean) = true; }
32585#line 32586 "gram.c" /* yacc.c:1646 */
32586 break;
32587
32588 case 842:
32589#line 5909 "gram.y" /* yacc.c:1646 */
32590 { (yyval.boolean) = false; }
32591#line 32592 "gram.c" /* yacc.c:1646 */
32592 break;
32593
32594 case 843:
32595#line 5927 "gram.y" /* yacc.c:1646 */
32596 {
32597 CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
32598 n->opclassname = (yyvsp[-9].list);
32599 n->isDefault = (yyvsp[-8].boolean);
32600 n->datatype = (yyvsp[-5].typnam);
32601 n->amname = (yyvsp[-3].str);
32602 n->opfamilyname = (yyvsp[-2].list);
32603 n->items = (yyvsp[0].list);
32604 (yyval.node) = (Node *) n;
32605 }
32606#line 32607 "gram.c" /* yacc.c:1646 */
32607 break;
32608
32609 case 844:
32610#line 5940 "gram.y" /* yacc.c:1646 */
32611 { (yyval.list) = list_make1((yyvsp[0].node)); }
32612#line 32613 "gram.c" /* yacc.c:1646 */
32613 break;
32614
32615 case 845:
32616#line 5941 "gram.y" /* yacc.c:1646 */
32617 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
32618#line 32619 "gram.c" /* yacc.c:1646 */
32619 break;
32620
32621 case 846:
32622#line 5946 "gram.y" /* yacc.c:1646 */
32623 {
32624 CreateOpClassItem *n = makeNode(CreateOpClassItem);
32625 ObjectWithArgs *owa = makeNode(ObjectWithArgs);
32626 owa->objname = (yyvsp[-2].list);
32627 owa->objargs = NIL;
32628 n->itemtype = OPCLASS_ITEM_OPERATOR;
32629 n->name = owa;
32630 n->number = (yyvsp[-3].ival);
32631 n->order_family = (yyvsp[-1].list);
32632 (yyval.node) = (Node *) n;
32633 }
32634#line 32635 "gram.c" /* yacc.c:1646 */
32635 break;
32636
32637 case 847:
32638#line 5959 "gram.y" /* yacc.c:1646 */
32639 {
32640 CreateOpClassItem *n = makeNode(CreateOpClassItem);
32641 n->itemtype = OPCLASS_ITEM_OPERATOR;
32642 n->name = (yyvsp[-2].objwithargs);
32643 n->number = (yyvsp[-3].ival);
32644 n->order_family = (yyvsp[-1].list);
32645 (yyval.node) = (Node *) n;
32646 }
32647#line 32648 "gram.c" /* yacc.c:1646 */
32648 break;
32649
32650 case 848:
32651#line 5968 "gram.y" /* yacc.c:1646 */
32652 {
32653 CreateOpClassItem *n = makeNode(CreateOpClassItem);
32654 n->itemtype = OPCLASS_ITEM_FUNCTION;
32655 n->name = (yyvsp[0].objwithargs);
32656 n->number = (yyvsp[-1].ival);
32657 (yyval.node) = (Node *) n;
32658 }
32659#line 32660 "gram.c" /* yacc.c:1646 */
32660 break;
32661
32662 case 849:
32663#line 5976 "gram.y" /* yacc.c:1646 */
32664 {
32665 CreateOpClassItem *n = makeNode(CreateOpClassItem);
32666 n->itemtype = OPCLASS_ITEM_FUNCTION;
32667 n->name = (yyvsp[0].objwithargs);
32668 n->number = (yyvsp[-4].ival);
32669 n->class_args = (yyvsp[-2].list);
32670 (yyval.node) = (Node *) n;
32671 }
32672#line 32673 "gram.c" /* yacc.c:1646 */
32673 break;
32674
32675 case 850:
32676#line 5985 "gram.y" /* yacc.c:1646 */
32677 {
32678 CreateOpClassItem *n = makeNode(CreateOpClassItem);
32679 n->itemtype = OPCLASS_ITEM_STORAGETYPE;
32680 n->storedtype = (yyvsp[0].typnam);
32681 (yyval.node) = (Node *) n;
32682 }
32683#line 32684 "gram.c" /* yacc.c:1646 */
32684 break;
32685
32686 case 851:
32687#line 5993 "gram.y" /* yacc.c:1646 */
32688 { (yyval.boolean) = true; }
32689#line 32690 "gram.c" /* yacc.c:1646 */
32690 break;
32691
32692 case 852:
32693#line 5994 "gram.y" /* yacc.c:1646 */
32694 { (yyval.boolean) = false; }
32695#line 32696 "gram.c" /* yacc.c:1646 */
32696 break;
32697
32698 case 853:
32699#line 5997 "gram.y" /* yacc.c:1646 */
32700 { (yyval.list) = (yyvsp[0].list); }
32701#line 32702 "gram.c" /* yacc.c:1646 */
32702 break;
32703
32704 case 854:
32705#line 5998 "gram.y" /* yacc.c:1646 */
32706 { (yyval.list) = NIL; }
32707#line 32708 "gram.c" /* yacc.c:1646 */
32708 break;
32709
32710 case 855:
32711#line 6001 "gram.y" /* yacc.c:1646 */
32712 { (yyval.list) = NIL; }
32713#line 32714 "gram.c" /* yacc.c:1646 */
32714 break;
32715
32716 case 856:
32717#line 6002 "gram.y" /* yacc.c:1646 */
32718 { (yyval.list) = (yyvsp[0].list); }
32719#line 32720 "gram.c" /* yacc.c:1646 */
32720 break;
32721
32722 case 857:
32723#line 6003 "gram.y" /* yacc.c:1646 */
32724 { (yyval.list) = NIL; }
32725#line 32726 "gram.c" /* yacc.c:1646 */
32726 break;
32727
32728 case 858:
32729#line 6007 "gram.y" /* yacc.c:1646 */
32730 {
32731 /*
32732 * RECHECK no longer does anything in opclass definitions,
32733 * but we still accept it to ease porting of old database
32734 * dumps.
32735 */
32736 ereport(NOTICE,
32737 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
32738 errmsg("RECHECK is no longer required"),
32739 errhint("Update your data type."),
32740 parser_errposition((yylsp[0]))));
32741 (yyval.boolean) = true;
32742 }
32743#line 32744 "gram.c" /* yacc.c:1646 */
32744 break;
32745
32746 case 859:
32747#line 6020 "gram.y" /* yacc.c:1646 */
32748 { (yyval.boolean) = false; }
32749#line 32750 "gram.c" /* yacc.c:1646 */
32750 break;
32751
32752 case 860:
32753#line 6026 "gram.y" /* yacc.c:1646 */
32754 {
32755 CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
32756 n->opfamilyname = (yyvsp[-2].list);
32757 n->amname = (yyvsp[0].str);
32758 (yyval.node) = (Node *) n;
32759 }
32760#line 32761 "gram.c" /* yacc.c:1646 */
32761 break;
32762
32763 case 861:
32764#line 6036 "gram.y" /* yacc.c:1646 */
32765 {
32766 AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
32767 n->opfamilyname = (yyvsp[-4].list);
32768 n->amname = (yyvsp[-2].str);
32769 n->isDrop = false;
32770 n->items = (yyvsp[0].list);
32771 (yyval.node) = (Node *) n;
32772 }
32773#line 32774 "gram.c" /* yacc.c:1646 */
32774 break;
32775
32776 case 862:
32777#line 6045 "gram.y" /* yacc.c:1646 */
32778 {
32779 AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
32780 n->opfamilyname = (yyvsp[-4].list);
32781 n->amname = (yyvsp[-2].str);
32782 n->isDrop = true;
32783 n->items = (yyvsp[0].list);
32784 (yyval.node) = (Node *) n;
32785 }
32786#line 32787 "gram.c" /* yacc.c:1646 */
32787 break;
32788
32789 case 863:
32790#line 6056 "gram.y" /* yacc.c:1646 */
32791 { (yyval.list) = list_make1((yyvsp[0].node)); }
32792#line 32793 "gram.c" /* yacc.c:1646 */
32793 break;
32794
32795 case 864:
32796#line 6057 "gram.y" /* yacc.c:1646 */
32797 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
32798#line 32799 "gram.c" /* yacc.c:1646 */
32799 break;
32800
32801 case 865:
32802#line 6062 "gram.y" /* yacc.c:1646 */
32803 {
32804 CreateOpClassItem *n = makeNode(CreateOpClassItem);
32805 n->itemtype = OPCLASS_ITEM_OPERATOR;
32806 n->number = (yyvsp[-3].ival);
32807 n->class_args = (yyvsp[-1].list);
32808 (yyval.node) = (Node *) n;
32809 }
32810#line 32811 "gram.c" /* yacc.c:1646 */
32811 break;
32812
32813 case 866:
32814#line 6070 "gram.y" /* yacc.c:1646 */
32815 {
32816 CreateOpClassItem *n = makeNode(CreateOpClassItem);
32817 n->itemtype = OPCLASS_ITEM_FUNCTION;
32818 n->number = (yyvsp[-3].ival);
32819 n->class_args = (yyvsp[-1].list);
32820 (yyval.node) = (Node *) n;
32821 }
32822#line 32823 "gram.c" /* yacc.c:1646 */
32823 break;
32824
32825 case 867:
32826#line 6082 "gram.y" /* yacc.c:1646 */
32827 {
32828 DropStmt *n = makeNode(DropStmt);
32829 n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
32830 n->removeType = OBJECT_OPCLASS;
32831 n->behavior = (yyvsp[0].dbehavior);
32832 n->missing_ok = false;
32833 n->concurrent = false;
32834 (yyval.node) = (Node *) n;
32835 }
32836#line 32837 "gram.c" /* yacc.c:1646 */
32837 break;
32838
32839 case 868:
32840#line 6092 "gram.y" /* yacc.c:1646 */
32841 {
32842 DropStmt *n = makeNode(DropStmt);
32843 n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
32844 n->removeType = OBJECT_OPCLASS;
32845 n->behavior = (yyvsp[0].dbehavior);
32846 n->missing_ok = true;
32847 n->concurrent = false;
32848 (yyval.node) = (Node *) n;
32849 }
32850#line 32851 "gram.c" /* yacc.c:1646 */
32851 break;
32852
32853 case 869:
32854#line 6105 "gram.y" /* yacc.c:1646 */
32855 {
32856 DropStmt *n = makeNode(DropStmt);
32857 n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
32858 n->removeType = OBJECT_OPFAMILY;
32859 n->behavior = (yyvsp[0].dbehavior);
32860 n->missing_ok = false;
32861 n->concurrent = false;
32862 (yyval.node) = (Node *) n;
32863 }
32864#line 32865 "gram.c" /* yacc.c:1646 */
32865 break;
32866
32867 case 870:
32868#line 6115 "gram.y" /* yacc.c:1646 */
32869 {
32870 DropStmt *n = makeNode(DropStmt);
32871 n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
32872 n->removeType = OBJECT_OPFAMILY;
32873 n->behavior = (yyvsp[0].dbehavior);
32874 n->missing_ok = true;
32875 n->concurrent = false;
32876 (yyval.node) = (Node *) n;
32877 }
32878#line 32879 "gram.c" /* yacc.c:1646 */
32879 break;
32880
32881 case 871:
32882#line 6137 "gram.y" /* yacc.c:1646 */
32883 {
32884 DropOwnedStmt *n = makeNode(DropOwnedStmt);
32885 n->roles = (yyvsp[-1].list);
32886 n->behavior = (yyvsp[0].dbehavior);
32887 (yyval.node) = (Node *)n;
32888 }
32889#line 32890 "gram.c" /* yacc.c:1646 */
32890 break;
32891
32892 case 872:
32893#line 6147 "gram.y" /* yacc.c:1646 */
32894 {
32895 ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
32896 n->roles = (yyvsp[-2].list);
32897 n->newrole = (yyvsp[0].rolespec);
32898 (yyval.node) = (Node *)n;
32899 }
32900#line 32901 "gram.c" /* yacc.c:1646 */
32901 break;
32902
32903 case 873:
32904#line 6165 "gram.y" /* yacc.c:1646 */
32905 {
32906 DropStmt *n = makeNode(DropStmt);
32907 n->removeType = (yyvsp[-4].objtype);
32908 n->missing_ok = true;
32909 n->objects = (yyvsp[-1].list);
32910 n->behavior = (yyvsp[0].dbehavior);
32911 n->concurrent = false;
32912 (yyval.node) = (Node *)n;
32913 }
32914#line 32915 "gram.c" /* yacc.c:1646 */
32915 break;
32916
32917 case 874:
32918#line 6175 "gram.y" /* yacc.c:1646 */
32919 {
32920 DropStmt *n = makeNode(DropStmt);
32921 n->removeType = (yyvsp[-2].objtype);
32922 n->missing_ok = false;
32923 n->objects = (yyvsp[-1].list);
32924 n->behavior = (yyvsp[0].dbehavior);
32925 n->concurrent = false;
32926 (yyval.node) = (Node *)n;
32927 }
32928#line 32929 "gram.c" /* yacc.c:1646 */
32929 break;
32930
32931 case 875:
32932#line 6185 "gram.y" /* yacc.c:1646 */
32933 {
32934 DropStmt *n = makeNode(DropStmt);
32935 n->removeType = (yyvsp[-4].objtype);
32936 n->missing_ok = true;
32937 n->objects = (yyvsp[-1].list);
32938 n->behavior = (yyvsp[0].dbehavior);
32939 n->concurrent = false;
32940 (yyval.node) = (Node *)n;
32941 }
32942#line 32943 "gram.c" /* yacc.c:1646 */
32943 break;
32944
32945 case 876:
32946#line 6195 "gram.y" /* yacc.c:1646 */
32947 {
32948 DropStmt *n = makeNode(DropStmt);
32949 n->removeType = (yyvsp[-2].objtype);
32950 n->missing_ok = false;
32951 n->objects = (yyvsp[-1].list);
32952 n->behavior = (yyvsp[0].dbehavior);
32953 n->concurrent = false;
32954 (yyval.node) = (Node *)n;
32955 }
32956#line 32957 "gram.c" /* yacc.c:1646 */
32957 break;
32958
32959 case 877:
32960#line 6205 "gram.y" /* yacc.c:1646 */
32961 {
32962 DropStmt *n = makeNode(DropStmt);
32963 n->removeType = (yyvsp[-4].objtype);
32964 n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
32965 n->behavior = (yyvsp[0].dbehavior);
32966 n->missing_ok = false;
32967 n->concurrent = false;
32968 (yyval.node) = (Node *) n;
32969 }
32970#line 32971 "gram.c" /* yacc.c:1646 */
32971 break;
32972
32973 case 878:
32974#line 6215 "gram.y" /* yacc.c:1646 */
32975 {
32976 DropStmt *n = makeNode(DropStmt);
32977 n->removeType = (yyvsp[-6].objtype);
32978 n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
32979 n->behavior = (yyvsp[0].dbehavior);
32980 n->missing_ok = true;
32981 n->concurrent = false;
32982 (yyval.node) = (Node *) n;
32983 }
32984#line 32985 "gram.c" /* yacc.c:1646 */
32985 break;
32986
32987 case 879:
32988#line 6225 "gram.y" /* yacc.c:1646 */
32989 {
32990 DropStmt *n = makeNode(DropStmt);
32991 n->removeType = OBJECT_TYPE;
32992 n->missing_ok = false;
32993 n->objects = (yyvsp[-1].list);
32994 n->behavior = (yyvsp[0].dbehavior);
32995 n->concurrent = false;
32996 (yyval.node) = (Node *) n;
32997 }
32998#line 32999 "gram.c" /* yacc.c:1646 */
32999 break;
33000
33001 case 880:
33002#line 6235 "gram.y" /* yacc.c:1646 */
33003 {
33004 DropStmt *n = makeNode(DropStmt);
33005 n->removeType = OBJECT_TYPE;
33006 n->missing_ok = true;
33007 n->objects = (yyvsp[-1].list);
33008 n->behavior = (yyvsp[0].dbehavior);
33009 n->concurrent = false;
33010 (yyval.node) = (Node *) n;
33011 }
33012#line 33013 "gram.c" /* yacc.c:1646 */
33013 break;
33014
33015 case 881:
33016#line 6245 "gram.y" /* yacc.c:1646 */
33017 {
33018 DropStmt *n = makeNode(DropStmt);
33019 n->removeType = OBJECT_DOMAIN;
33020 n->missing_ok = false;
33021 n->objects = (yyvsp[-1].list);
33022 n->behavior = (yyvsp[0].dbehavior);
33023 n->concurrent = false;
33024 (yyval.node) = (Node *) n;
33025 }
33026#line 33027 "gram.c" /* yacc.c:1646 */
33027 break;
33028
33029 case 882:
33030#line 6255 "gram.y" /* yacc.c:1646 */
33031 {
33032 DropStmt *n = makeNode(DropStmt);
33033 n->removeType = OBJECT_DOMAIN;
33034 n->missing_ok = true;
33035 n->objects = (yyvsp[-1].list);
33036 n->behavior = (yyvsp[0].dbehavior);
33037 n->concurrent = false;
33038 (yyval.node) = (Node *) n;
33039 }
33040#line 33041 "gram.c" /* yacc.c:1646 */
33041 break;
33042
33043 case 883:
33044#line 6265 "gram.y" /* yacc.c:1646 */
33045 {
33046 DropStmt *n = makeNode(DropStmt);
33047 n->removeType = OBJECT_INDEX;
33048 n->missing_ok = false;
33049 n->objects = (yyvsp[-1].list);
33050 n->behavior = (yyvsp[0].dbehavior);
33051 n->concurrent = true;
33052 (yyval.node) = (Node *)n;
33053 }
33054#line 33055 "gram.c" /* yacc.c:1646 */
33055 break;
33056
33057 case 884:
33058#line 6275 "gram.y" /* yacc.c:1646 */
33059 {
33060 DropStmt *n = makeNode(DropStmt);
33061 n->removeType = OBJECT_INDEX;
33062 n->missing_ok = true;
33063 n->objects = (yyvsp[-1].list);
33064 n->behavior = (yyvsp[0].dbehavior);
33065 n->concurrent = true;
33066 (yyval.node) = (Node *)n;
33067 }
33068#line 33069 "gram.c" /* yacc.c:1646 */
33069 break;
33070
33071 case 885:
33072#line 6288 "gram.y" /* yacc.c:1646 */
33073 { (yyval.objtype) = OBJECT_TABLE; }
33074#line 33075 "gram.c" /* yacc.c:1646 */
33075 break;
33076
33077 case 886:
33078#line 6289 "gram.y" /* yacc.c:1646 */
33079 { (yyval.objtype) = OBJECT_SEQUENCE; }
33080#line 33081 "gram.c" /* yacc.c:1646 */
33081 break;
33082
33083 case 887:
33084#line 6290 "gram.y" /* yacc.c:1646 */
33085 { (yyval.objtype) = OBJECT_VIEW; }
33086#line 33087 "gram.c" /* yacc.c:1646 */
33087 break;
33088
33089 case 888:
33090#line 6291 "gram.y" /* yacc.c:1646 */
33091 { (yyval.objtype) = OBJECT_MATVIEW; }
33092#line 33093 "gram.c" /* yacc.c:1646 */
33093 break;
33094
33095 case 889:
33096#line 6292 "gram.y" /* yacc.c:1646 */
33097 { (yyval.objtype) = OBJECT_INDEX; }
33098#line 33099 "gram.c" /* yacc.c:1646 */
33099 break;
33100
33101 case 890:
33102#line 6293 "gram.y" /* yacc.c:1646 */
33103 { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
33104#line 33105 "gram.c" /* yacc.c:1646 */
33105 break;
33106
33107 case 891:
33108#line 6294 "gram.y" /* yacc.c:1646 */
33109 { (yyval.objtype) = OBJECT_COLLATION; }
33110#line 33111 "gram.c" /* yacc.c:1646 */
33111 break;
33112
33113 case 892:
33114#line 6295 "gram.y" /* yacc.c:1646 */
33115 { (yyval.objtype) = OBJECT_CONVERSION; }
33116#line 33117 "gram.c" /* yacc.c:1646 */
33117 break;
33118
33119 case 893:
33120#line 6296 "gram.y" /* yacc.c:1646 */
33121 { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
33122#line 33123 "gram.c" /* yacc.c:1646 */
33123 break;
33124
33125 case 894:
33126#line 6297 "gram.y" /* yacc.c:1646 */
33127 { (yyval.objtype) = OBJECT_TSPARSER; }
33128#line 33129 "gram.c" /* yacc.c:1646 */
33129 break;
33130
33131 case 895:
33132#line 6298 "gram.y" /* yacc.c:1646 */
33133 { (yyval.objtype) = OBJECT_TSDICTIONARY; }
33134#line 33135 "gram.c" /* yacc.c:1646 */
33135 break;
33136
33137 case 896:
33138#line 6299 "gram.y" /* yacc.c:1646 */
33139 { (yyval.objtype) = OBJECT_TSTEMPLATE; }
33140#line 33141 "gram.c" /* yacc.c:1646 */
33141 break;
33142
33143 case 897:
33144#line 6300 "gram.y" /* yacc.c:1646 */
33145 { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
33146#line 33147 "gram.c" /* yacc.c:1646 */
33147 break;
33148
33149 case 898:
33150#line 6305 "gram.y" /* yacc.c:1646 */
33151 { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
33152#line 33153 "gram.c" /* yacc.c:1646 */
33153 break;
33154
33155 case 899:
33156#line 6306 "gram.y" /* yacc.c:1646 */
33157 { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
33158#line 33159 "gram.c" /* yacc.c:1646 */
33159 break;
33160
33161 case 900:
33162#line 6307 "gram.y" /* yacc.c:1646 */
33163 { (yyval.objtype) = OBJECT_EXTENSION; }
33164#line 33165 "gram.c" /* yacc.c:1646 */
33165 break;
33166
33167 case 901:
33168#line 6308 "gram.y" /* yacc.c:1646 */
33169 { (yyval.objtype) = OBJECT_FDW; }
33170#line 33171 "gram.c" /* yacc.c:1646 */
33171 break;
33172
33173 case 902:
33174#line 6309 "gram.y" /* yacc.c:1646 */
33175 { (yyval.objtype) = OBJECT_PUBLICATION; }
33176#line 33177 "gram.c" /* yacc.c:1646 */
33177 break;
33178
33179 case 903:
33180#line 6310 "gram.y" /* yacc.c:1646 */
33181 { (yyval.objtype) = OBJECT_SCHEMA; }
33182#line 33183 "gram.c" /* yacc.c:1646 */
33183 break;
33184
33185 case 904:
33186#line 6311 "gram.y" /* yacc.c:1646 */
33187 { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
33188#line 33189 "gram.c" /* yacc.c:1646 */
33189 break;
33190
33191 case 905:
33192#line 6316 "gram.y" /* yacc.c:1646 */
33193 { (yyval.objtype) = OBJECT_POLICY; }
33194#line 33195 "gram.c" /* yacc.c:1646 */
33195 break;
33196
33197 case 906:
33198#line 6317 "gram.y" /* yacc.c:1646 */
33199 { (yyval.objtype) = OBJECT_RULE; }
33200#line 33201 "gram.c" /* yacc.c:1646 */
33201 break;
33202
33203 case 907:
33204#line 6318 "gram.y" /* yacc.c:1646 */
33205 { (yyval.objtype) = OBJECT_TRIGGER; }
33206#line 33207 "gram.c" /* yacc.c:1646 */
33207 break;
33208
33209 case 908:
33210#line 6322 "gram.y" /* yacc.c:1646 */
33211 { (yyval.list) = list_make1((yyvsp[0].list)); }
33212#line 33213 "gram.c" /* yacc.c:1646 */
33213 break;
33214
33215 case 909:
33216#line 6323 "gram.y" /* yacc.c:1646 */
33217 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
33218#line 33219 "gram.c" /* yacc.c:1646 */
33219 break;
33220
33221 case 910:
33222#line 6326 "gram.y" /* yacc.c:1646 */
33223 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33224#line 33225 "gram.c" /* yacc.c:1646 */
33225 break;
33226
33227 case 911:
33228#line 6327 "gram.y" /* yacc.c:1646 */
33229 { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
33230#line 33231 "gram.c" /* yacc.c:1646 */
33231 break;
33232
33233 case 912:
33234#line 6331 "gram.y" /* yacc.c:1646 */
33235 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33236#line 33237 "gram.c" /* yacc.c:1646 */
33237 break;
33238
33239 case 913:
33240#line 6333 "gram.y" /* yacc.c:1646 */
33241 { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
33242#line 33243 "gram.c" /* yacc.c:1646 */
33243 break;
33244
33245 case 914:
33246#line 6337 "gram.y" /* yacc.c:1646 */
33247 { (yyval.list) = list_make1((yyvsp[0].typnam)); }
33248#line 33249 "gram.c" /* yacc.c:1646 */
33249 break;
33250
33251 case 915:
33252#line 6338 "gram.y" /* yacc.c:1646 */
33253 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
33254#line 33255 "gram.c" /* yacc.c:1646 */
33255 break;
33256
33257 case 916:
33258#line 6350 "gram.y" /* yacc.c:1646 */
33259 {
33260 TruncateStmt *n = makeNode(TruncateStmt);
33261 n->relations = (yyvsp[-2].list);
33262 n->restart_seqs = (yyvsp[-1].boolean);
33263 n->behavior = (yyvsp[0].dbehavior);
33264 (yyval.node) = (Node *)n;
33265 }
33266#line 33267 "gram.c" /* yacc.c:1646 */
33267 break;
33268
33269 case 917:
33270#line 6360 "gram.y" /* yacc.c:1646 */
33271 { (yyval.boolean) = false; }
33272#line 33273 "gram.c" /* yacc.c:1646 */
33273 break;
33274
33275 case 918:
33276#line 6361 "gram.y" /* yacc.c:1646 */
33277 { (yyval.boolean) = true; }
33278#line 33279 "gram.c" /* yacc.c:1646 */
33279 break;
33280
33281 case 919:
33282#line 6362 "gram.y" /* yacc.c:1646 */
33283 { (yyval.boolean) = false; }
33284#line 33285 "gram.c" /* yacc.c:1646 */
33285 break;
33286
33287 case 920:
33288#line 6397 "gram.y" /* yacc.c:1646 */
33289 {
33290 CommentStmt *n = makeNode(CommentStmt);
33291 n->objtype = (yyvsp[-3].objtype);
33292 n->object = (Node *) (yyvsp[-2].list);
33293 n->comment = (yyvsp[0].str);
33294 (yyval.node) = (Node *) n;
33295 }
33296#line 33297 "gram.c" /* yacc.c:1646 */
33297 break;
33298
33299 case 921:
33300#line 6405 "gram.y" /* yacc.c:1646 */
33301 {
33302 CommentStmt *n = makeNode(CommentStmt);
33303 n->objtype = (yyvsp[-3].objtype);
33304 n->object = (Node *) makeString((yyvsp[-2].str));
33305 n->comment = (yyvsp[0].str);
33306 (yyval.node) = (Node *) n;
33307 }
33308#line 33309 "gram.c" /* yacc.c:1646 */
33309 break;
33310
33311 case 922:
33312#line 6413 "gram.y" /* yacc.c:1646 */
33313 {
33314 CommentStmt *n = makeNode(CommentStmt);
33315 n->objtype = OBJECT_TYPE;
33316 n->object = (Node *) (yyvsp[-2].typnam);
33317 n->comment = (yyvsp[0].str);
33318 (yyval.node) = (Node *) n;
33319 }
33320#line 33321 "gram.c" /* yacc.c:1646 */
33321 break;
33322
33323 case 923:
33324#line 6421 "gram.y" /* yacc.c:1646 */
33325 {
33326 CommentStmt *n = makeNode(CommentStmt);
33327 n->objtype = OBJECT_DOMAIN;
33328 n->object = (Node *) (yyvsp[-2].typnam);
33329 n->comment = (yyvsp[0].str);
33330 (yyval.node) = (Node *) n;
33331 }
33332#line 33333 "gram.c" /* yacc.c:1646 */
33333 break;
33334
33335 case 924:
33336#line 6429 "gram.y" /* yacc.c:1646 */
33337 {
33338 CommentStmt *n = makeNode(CommentStmt);
33339 n->objtype = OBJECT_AGGREGATE;
33340 n->object = (Node *) (yyvsp[-2].objwithargs);
33341 n->comment = (yyvsp[0].str);
33342 (yyval.node) = (Node *) n;
33343 }
33344#line 33345 "gram.c" /* yacc.c:1646 */
33345 break;
33346
33347 case 925:
33348#line 6437 "gram.y" /* yacc.c:1646 */
33349 {
33350 CommentStmt *n = makeNode(CommentStmt);
33351 n->objtype = OBJECT_FUNCTION;
33352 n->object = (Node *) (yyvsp[-2].objwithargs);
33353 n->comment = (yyvsp[0].str);
33354 (yyval.node) = (Node *) n;
33355 }
33356#line 33357 "gram.c" /* yacc.c:1646 */
33357 break;
33358
33359 case 926:
33360#line 6445 "gram.y" /* yacc.c:1646 */
33361 {
33362 CommentStmt *n = makeNode(CommentStmt);
33363 n->objtype = OBJECT_OPERATOR;
33364 n->object = (Node *) (yyvsp[-2].objwithargs);
33365 n->comment = (yyvsp[0].str);
33366 (yyval.node) = (Node *) n;
33367 }
33368#line 33369 "gram.c" /* yacc.c:1646 */
33369 break;
33370
33371 case 927:
33372#line 6453 "gram.y" /* yacc.c:1646 */
33373 {
33374 CommentStmt *n = makeNode(CommentStmt);
33375 n->objtype = OBJECT_TABCONSTRAINT;
33376 n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33377 n->comment = (yyvsp[0].str);
33378 (yyval.node) = (Node *) n;
33379 }
33380#line 33381 "gram.c" /* yacc.c:1646 */
33381 break;
33382
33383 case 928:
33384#line 6461 "gram.y" /* yacc.c:1646 */
33385 {
33386 CommentStmt *n = makeNode(CommentStmt);
33387 n->objtype = OBJECT_DOMCONSTRAINT;
33388 /*
33389 * should use Typename not any_name in the production, but
33390 * there's a shift/reduce conflict if we do that, so fix it
33391 * up here.
33392 */
33393 n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
33394 n->comment = (yyvsp[0].str);
33395 (yyval.node) = (Node *) n;
33396 }
33397#line 33398 "gram.c" /* yacc.c:1646 */
33398 break;
33399
33400 case 929:
33401#line 6474 "gram.y" /* yacc.c:1646 */
33402 {
33403 CommentStmt *n = makeNode(CommentStmt);
33404 n->objtype = OBJECT_POLICY;
33405 n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33406 n->comment = (yyvsp[0].str);
33407 (yyval.node) = (Node *) n;
33408 }
33409#line 33410 "gram.c" /* yacc.c:1646 */
33410 break;
33411
33412 case 930:
33413#line 6482 "gram.y" /* yacc.c:1646 */
33414 {
33415 CommentStmt *n = makeNode(CommentStmt);
33416 n->objtype = OBJECT_PROCEDURE;
33417 n->object = (Node *) (yyvsp[-2].objwithargs);
33418 n->comment = (yyvsp[0].str);
33419 (yyval.node) = (Node *) n;
33420 }
33421#line 33422 "gram.c" /* yacc.c:1646 */
33422 break;
33423
33424 case 931:
33425#line 6490 "gram.y" /* yacc.c:1646 */
33426 {
33427 CommentStmt *n = makeNode(CommentStmt);
33428 n->objtype = OBJECT_ROUTINE;
33429 n->object = (Node *) (yyvsp[-2].objwithargs);
33430 n->comment = (yyvsp[0].str);
33431 (yyval.node) = (Node *) n;
33432 }
33433#line 33434 "gram.c" /* yacc.c:1646 */
33434 break;
33435
33436 case 932:
33437#line 6498 "gram.y" /* yacc.c:1646 */
33438 {
33439 CommentStmt *n = makeNode(CommentStmt);
33440 n->objtype = OBJECT_RULE;
33441 n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33442 n->comment = (yyvsp[0].str);
33443 (yyval.node) = (Node *) n;
33444 }
33445#line 33446 "gram.c" /* yacc.c:1646 */
33446 break;
33447
33448 case 933:
33449#line 6506 "gram.y" /* yacc.c:1646 */
33450 {
33451 CommentStmt *n = makeNode(CommentStmt);
33452 n->objtype = OBJECT_TRANSFORM;
33453 n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
33454 n->comment = (yyvsp[0].str);
33455 (yyval.node) = (Node *) n;
33456 }
33457#line 33458 "gram.c" /* yacc.c:1646 */
33458 break;
33459
33460 case 934:
33461#line 6514 "gram.y" /* yacc.c:1646 */
33462 {
33463 CommentStmt *n = makeNode(CommentStmt);
33464 n->objtype = OBJECT_TRIGGER;
33465 n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
33466 n->comment = (yyvsp[0].str);
33467 (yyval.node) = (Node *) n;
33468 }
33469#line 33470 "gram.c" /* yacc.c:1646 */
33470 break;
33471
33472 case 935:
33473#line 6522 "gram.y" /* yacc.c:1646 */
33474 {
33475 CommentStmt *n = makeNode(CommentStmt);
33476 n->objtype = OBJECT_OPCLASS;
33477 n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
33478 n->comment = (yyvsp[0].str);
33479 (yyval.node) = (Node *) n;
33480 }
33481#line 33482 "gram.c" /* yacc.c:1646 */
33482 break;
33483
33484 case 936:
33485#line 6530 "gram.y" /* yacc.c:1646 */
33486 {
33487 CommentStmt *n = makeNode(CommentStmt);
33488 n->objtype = OBJECT_OPFAMILY;
33489 n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
33490 n->comment = (yyvsp[0].str);
33491 (yyval.node) = (Node *) n;
33492 }
33493#line 33494 "gram.c" /* yacc.c:1646 */
33494 break;
33495
33496 case 937:
33497#line 6538 "gram.y" /* yacc.c:1646 */
33498 {
33499 CommentStmt *n = makeNode(CommentStmt);
33500 n->objtype = OBJECT_LARGEOBJECT;
33501 n->object = (Node *) (yyvsp[-2].value);
33502 n->comment = (yyvsp[0].str);
33503 (yyval.node) = (Node *) n;
33504 }
33505#line 33506 "gram.c" /* yacc.c:1646 */
33506 break;
33507
33508 case 938:
33509#line 6546 "gram.y" /* yacc.c:1646 */
33510 {
33511 CommentStmt *n = makeNode(CommentStmt);
33512 n->objtype = OBJECT_CAST;
33513 n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
33514 n->comment = (yyvsp[0].str);
33515 (yyval.node) = (Node *) n;
33516 }
33517#line 33518 "gram.c" /* yacc.c:1646 */
33518 break;
33519
33520 case 939:
33521#line 6557 "gram.y" /* yacc.c:1646 */
33522 { (yyval.objtype) = OBJECT_COLUMN; }
33523#line 33524 "gram.c" /* yacc.c:1646 */
33524 break;
33525
33526 case 940:
33527#line 6558 "gram.y" /* yacc.c:1646 */
33528 { (yyval.objtype) = OBJECT_INDEX; }
33529#line 33530 "gram.c" /* yacc.c:1646 */
33530 break;
33531
33532 case 941:
33533#line 6559 "gram.y" /* yacc.c:1646 */
33534 { (yyval.objtype) = OBJECT_SEQUENCE; }
33535#line 33536 "gram.c" /* yacc.c:1646 */
33536 break;
33537
33538 case 942:
33539#line 6560 "gram.y" /* yacc.c:1646 */
33540 { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
33541#line 33542 "gram.c" /* yacc.c:1646 */
33542 break;
33543
33544 case 943:
33545#line 6561 "gram.y" /* yacc.c:1646 */
33546 { (yyval.objtype) = OBJECT_TABLE; }
33547#line 33548 "gram.c" /* yacc.c:1646 */
33548 break;
33549
33550 case 944:
33551#line 6562 "gram.y" /* yacc.c:1646 */
33552 { (yyval.objtype) = OBJECT_VIEW; }
33553#line 33554 "gram.c" /* yacc.c:1646 */
33554 break;
33555
33556 case 945:
33557#line 6563 "gram.y" /* yacc.c:1646 */
33558 { (yyval.objtype) = OBJECT_MATVIEW; }
33559#line 33560 "gram.c" /* yacc.c:1646 */
33560 break;
33561
33562 case 946:
33563#line 6564 "gram.y" /* yacc.c:1646 */
33564 { (yyval.objtype) = OBJECT_COLLATION; }
33565#line 33566 "gram.c" /* yacc.c:1646 */
33566 break;
33567
33568 case 947:
33569#line 6565 "gram.y" /* yacc.c:1646 */
33570 { (yyval.objtype) = OBJECT_CONVERSION; }
33571#line 33572 "gram.c" /* yacc.c:1646 */
33572 break;
33573
33574 case 948:
33575#line 6566 "gram.y" /* yacc.c:1646 */
33576 { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
33577#line 33578 "gram.c" /* yacc.c:1646 */
33578 break;
33579
33580 case 949:
33581#line 6567 "gram.y" /* yacc.c:1646 */
33582 { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
33583#line 33584 "gram.c" /* yacc.c:1646 */
33584 break;
33585
33586 case 950:
33587#line 6568 "gram.y" /* yacc.c:1646 */
33588 { (yyval.objtype) = OBJECT_TSDICTIONARY; }
33589#line 33590 "gram.c" /* yacc.c:1646 */
33590 break;
33591
33592 case 951:
33593#line 6569 "gram.y" /* yacc.c:1646 */
33594 { (yyval.objtype) = OBJECT_TSPARSER; }
33595#line 33596 "gram.c" /* yacc.c:1646 */
33596 break;
33597
33598 case 952:
33599#line 6570 "gram.y" /* yacc.c:1646 */
33600 { (yyval.objtype) = OBJECT_TSTEMPLATE; }
33601#line 33602 "gram.c" /* yacc.c:1646 */
33602 break;
33603
33604 case 953:
33605#line 6575 "gram.y" /* yacc.c:1646 */
33606 { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
33607#line 33608 "gram.c" /* yacc.c:1646 */
33608 break;
33609
33610 case 954:
33611#line 6576 "gram.y" /* yacc.c:1646 */
33612 { (yyval.objtype) = OBJECT_DATABASE; }
33613#line 33614 "gram.c" /* yacc.c:1646 */
33614 break;
33615
33616 case 955:
33617#line 6577 "gram.y" /* yacc.c:1646 */
33618 { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
33619#line 33620 "gram.c" /* yacc.c:1646 */
33620 break;
33621
33622 case 956:
33623#line 6578 "gram.y" /* yacc.c:1646 */
33624 { (yyval.objtype) = OBJECT_EXTENSION; }
33625#line 33626 "gram.c" /* yacc.c:1646 */
33626 break;
33627
33628 case 957:
33629#line 6579 "gram.y" /* yacc.c:1646 */
33630 { (yyval.objtype) = OBJECT_FDW; }
33631#line 33632 "gram.c" /* yacc.c:1646 */
33632 break;
33633
33634 case 958:
33635#line 6580 "gram.y" /* yacc.c:1646 */
33636 { (yyval.objtype) = OBJECT_LANGUAGE; }
33637#line 33638 "gram.c" /* yacc.c:1646 */
33638 break;
33639
33640 case 959:
33641#line 6581 "gram.y" /* yacc.c:1646 */
33642 { (yyval.objtype) = OBJECT_PUBLICATION; }
33643#line 33644 "gram.c" /* yacc.c:1646 */
33644 break;
33645
33646 case 960:
33647#line 6582 "gram.y" /* yacc.c:1646 */
33648 { (yyval.objtype) = OBJECT_ROLE; }
33649#line 33650 "gram.c" /* yacc.c:1646 */
33650 break;
33651
33652 case 961:
33653#line 6583 "gram.y" /* yacc.c:1646 */
33654 { (yyval.objtype) = OBJECT_SCHEMA; }
33655#line 33656 "gram.c" /* yacc.c:1646 */
33656 break;
33657
33658 case 962:
33659#line 6584 "gram.y" /* yacc.c:1646 */
33660 { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
33661#line 33662 "gram.c" /* yacc.c:1646 */
33662 break;
33663
33664 case 963:
33665#line 6585 "gram.y" /* yacc.c:1646 */
33666 { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
33667#line 33668 "gram.c" /* yacc.c:1646 */
33668 break;
33669
33670 case 964:
33671#line 6586 "gram.y" /* yacc.c:1646 */
33672 { (yyval.objtype) = OBJECT_TABLESPACE; }
33673#line 33674 "gram.c" /* yacc.c:1646 */
33674 break;
33675
33676 case 965:
33677#line 6590 "gram.y" /* yacc.c:1646 */
33678 { (yyval.str) = (yyvsp[0].str); }
33679#line 33680 "gram.c" /* yacc.c:1646 */
33680 break;
33681
33682 case 966:
33683#line 6591 "gram.y" /* yacc.c:1646 */
33684 { (yyval.str) = NULL; }
33685#line 33686 "gram.c" /* yacc.c:1646 */
33686 break;
33687
33688 case 967:
33689#line 6607 "gram.y" /* yacc.c:1646 */
33690 {
33691 SecLabelStmt *n = makeNode(SecLabelStmt);
33692 n->provider = (yyvsp[-5].str);
33693 n->objtype = (yyvsp[-3].objtype);
33694 n->object = (Node *) (yyvsp[-2].list);
33695 n->label = (yyvsp[0].str);
33696 (yyval.node) = (Node *) n;
33697 }
33698#line 33699 "gram.c" /* yacc.c:1646 */
33699 break;
33700
33701 case 968:
33702#line 6617 "gram.y" /* yacc.c:1646 */
33703 {
33704 SecLabelStmt *n = makeNode(SecLabelStmt);
33705 n->provider = (yyvsp[-5].str);
33706 n->objtype = (yyvsp[-3].objtype);
33707 n->object = (Node *) makeString((yyvsp[-2].str));
33708 n->label = (yyvsp[0].str);
33709 (yyval.node) = (Node *) n;
33710 }
33711#line 33712 "gram.c" /* yacc.c:1646 */
33712 break;
33713
33714 case 969:
33715#line 6627 "gram.y" /* yacc.c:1646 */
33716 {
33717 SecLabelStmt *n = makeNode(SecLabelStmt);
33718 n->provider = (yyvsp[-5].str);
33719 n->objtype = OBJECT_TYPE;
33720 n->object = (Node *) (yyvsp[-2].typnam);
33721 n->label = (yyvsp[0].str);
33722 (yyval.node) = (Node *) n;
33723 }
33724#line 33725 "gram.c" /* yacc.c:1646 */
33725 break;
33726
33727 case 970:
33728#line 6637 "gram.y" /* yacc.c:1646 */
33729 {
33730 SecLabelStmt *n = makeNode(SecLabelStmt);
33731 n->provider = (yyvsp[-5].str);
33732 n->objtype = OBJECT_DOMAIN;
33733 n->object = (Node *) (yyvsp[-2].typnam);
33734 n->label = (yyvsp[0].str);
33735 (yyval.node) = (Node *) n;
33736 }
33737#line 33738 "gram.c" /* yacc.c:1646 */
33738 break;
33739
33740 case 971:
33741#line 6647 "gram.y" /* yacc.c:1646 */
33742 {
33743 SecLabelStmt *n = makeNode(SecLabelStmt);
33744 n->provider = (yyvsp[-5].str);
33745 n->objtype = OBJECT_AGGREGATE;
33746 n->object = (Node *) (yyvsp[-2].objwithargs);
33747 n->label = (yyvsp[0].str);
33748 (yyval.node) = (Node *) n;
33749 }
33750#line 33751 "gram.c" /* yacc.c:1646 */
33751 break;
33752
33753 case 972:
33754#line 6657 "gram.y" /* yacc.c:1646 */
33755 {
33756 SecLabelStmt *n = makeNode(SecLabelStmt);
33757 n->provider = (yyvsp[-5].str);
33758 n->objtype = OBJECT_FUNCTION;
33759 n->object = (Node *) (yyvsp[-2].objwithargs);
33760 n->label = (yyvsp[0].str);
33761 (yyval.node) = (Node *) n;
33762 }
33763#line 33764 "gram.c" /* yacc.c:1646 */
33764 break;
33765
33766 case 973:
33767#line 6667 "gram.y" /* yacc.c:1646 */
33768 {
33769 SecLabelStmt *n = makeNode(SecLabelStmt);
33770 n->provider = (yyvsp[-6].str);
33771 n->objtype = OBJECT_LARGEOBJECT;
33772 n->object = (Node *) (yyvsp[-2].value);
33773 n->label = (yyvsp[0].str);
33774 (yyval.node) = (Node *) n;
33775 }
33776#line 33777 "gram.c" /* yacc.c:1646 */
33777 break;
33778
33779 case 974:
33780#line 6677 "gram.y" /* yacc.c:1646 */
33781 {
33782 SecLabelStmt *n = makeNode(SecLabelStmt);
33783 n->provider = (yyvsp[-5].str);
33784 n->objtype = OBJECT_PROCEDURE;
33785 n->object = (Node *) (yyvsp[-2].objwithargs);
33786 n->label = (yyvsp[0].str);
33787 (yyval.node) = (Node *) n;
33788 }
33789#line 33790 "gram.c" /* yacc.c:1646 */
33790 break;
33791
33792 case 975:
33793#line 6687 "gram.y" /* yacc.c:1646 */
33794 {
33795 SecLabelStmt *n = makeNode(SecLabelStmt);
33796 n->provider = (yyvsp[-5].str);
33797 n->objtype = OBJECT_ROUTINE;
33798 n->object = (Node *) (yyvsp[-2].objwithargs);
33799 n->label = (yyvsp[0].str);
33800 (yyval.node) = (Node *) n;
33801 }
33802#line 33803 "gram.c" /* yacc.c:1646 */
33803 break;
33804
33805 case 976:
33806#line 6697 "gram.y" /* yacc.c:1646 */
33807 { (yyval.str) = (yyvsp[0].str); }
33808#line 33809 "gram.c" /* yacc.c:1646 */
33809 break;
33810
33811 case 977:
33812#line 6698 "gram.y" /* yacc.c:1646 */
33813 { (yyval.str) = NULL; }
33814#line 33815 "gram.c" /* yacc.c:1646 */
33815 break;
33816
33817 case 978:
33818#line 6703 "gram.y" /* yacc.c:1646 */
33819 { (yyval.objtype) = OBJECT_COLUMN; }
33820#line 33821 "gram.c" /* yacc.c:1646 */
33821 break;
33822
33823 case 979:
33824#line 6704 "gram.y" /* yacc.c:1646 */
33825 { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
33826#line 33827 "gram.c" /* yacc.c:1646 */
33827 break;
33828
33829 case 980:
33830#line 6705 "gram.y" /* yacc.c:1646 */
33831 { (yyval.objtype) = OBJECT_SEQUENCE; }
33832#line 33833 "gram.c" /* yacc.c:1646 */
33833 break;
33834
33835 case 981:
33836#line 6706 "gram.y" /* yacc.c:1646 */
33837 { (yyval.objtype) = OBJECT_TABLE; }
33838#line 33839 "gram.c" /* yacc.c:1646 */
33839 break;
33840
33841 case 982:
33842#line 6707 "gram.y" /* yacc.c:1646 */
33843 { (yyval.objtype) = OBJECT_VIEW; }
33844#line 33845 "gram.c" /* yacc.c:1646 */
33845 break;
33846
33847 case 983:
33848#line 6708 "gram.y" /* yacc.c:1646 */
33849 { (yyval.objtype) = OBJECT_MATVIEW; }
33850#line 33851 "gram.c" /* yacc.c:1646 */
33851 break;
33852
33853 case 984:
33854#line 6713 "gram.y" /* yacc.c:1646 */
33855 { (yyval.objtype) = OBJECT_DATABASE; }
33856#line 33857 "gram.c" /* yacc.c:1646 */
33857 break;
33858
33859 case 985:
33860#line 6714 "gram.y" /* yacc.c:1646 */
33861 { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
33862#line 33863 "gram.c" /* yacc.c:1646 */
33863 break;
33864
33865 case 986:
33866#line 6715 "gram.y" /* yacc.c:1646 */
33867 { (yyval.objtype) = OBJECT_LANGUAGE; }
33868#line 33869 "gram.c" /* yacc.c:1646 */
33869 break;
33870
33871 case 987:
33872#line 6716 "gram.y" /* yacc.c:1646 */
33873 { (yyval.objtype) = OBJECT_PUBLICATION; }
33874#line 33875 "gram.c" /* yacc.c:1646 */
33875 break;
33876
33877 case 988:
33878#line 6717 "gram.y" /* yacc.c:1646 */
33879 { (yyval.objtype) = OBJECT_ROLE; }
33880#line 33881 "gram.c" /* yacc.c:1646 */
33881 break;
33882
33883 case 989:
33884#line 6718 "gram.y" /* yacc.c:1646 */
33885 { (yyval.objtype) = OBJECT_SCHEMA; }
33886#line 33887 "gram.c" /* yacc.c:1646 */
33887 break;
33888
33889 case 990:
33890#line 6719 "gram.y" /* yacc.c:1646 */
33891 { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
33892#line 33893 "gram.c" /* yacc.c:1646 */
33893 break;
33894
33895 case 991:
33896#line 6720 "gram.y" /* yacc.c:1646 */
33897 { (yyval.objtype) = OBJECT_TABLESPACE; }
33898#line 33899 "gram.c" /* yacc.c:1646 */
33899 break;
33900
33901 case 992:
33902#line 6723 "gram.y" /* yacc.c:1646 */
33903 { (yyval.str) = (yyvsp[0].str); }
33904#line 33905 "gram.c" /* yacc.c:1646 */
33905 break;
33906
33907 case 993:
33908#line 6724 "gram.y" /* yacc.c:1646 */
33909 { (yyval.str) = NULL; }
33910#line 33911 "gram.c" /* yacc.c:1646 */
33911 break;
33912
33913 case 994:
33914#line 6735 "gram.y" /* yacc.c:1646 */
33915 {
33916 FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
33917 n->ismove = false;
33918 (yyval.node) = (Node *)n;
33919 }
33920#line 33921 "gram.c" /* yacc.c:1646 */
33921 break;
33922
33923 case 995:
33924#line 6741 "gram.y" /* yacc.c:1646 */
33925 {
33926 FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
33927 n->ismove = true;
33928 (yyval.node) = (Node *)n;
33929 }
33930#line 33931 "gram.c" /* yacc.c:1646 */
33931 break;
33932
33933 case 996:
33934#line 6749 "gram.y" /* yacc.c:1646 */
33935 {
33936 FetchStmt *n = makeNode(FetchStmt);
33937 n->portalname = (yyvsp[0].str);
33938 n->direction = FETCH_FORWARD;
33939 n->howMany = 1;
33940 (yyval.node) = (Node *)n;
33941 }
33942#line 33943 "gram.c" /* yacc.c:1646 */
33943 break;
33944
33945 case 997:
33946#line 6757 "gram.y" /* yacc.c:1646 */
33947 {
33948 FetchStmt *n = makeNode(FetchStmt);
33949 n->portalname = (yyvsp[0].str);
33950 n->direction = FETCH_FORWARD;
33951 n->howMany = 1;
33952 (yyval.node) = (Node *)n;
33953 }
33954#line 33955 "gram.c" /* yacc.c:1646 */
33955 break;
33956
33957 case 998:
33958#line 6765 "gram.y" /* yacc.c:1646 */
33959 {
33960 FetchStmt *n = makeNode(FetchStmt);
33961 n->portalname = (yyvsp[0].str);
33962 n->direction = FETCH_FORWARD;
33963 n->howMany = 1;
33964 (yyval.node) = (Node *)n;
33965 }
33966#line 33967 "gram.c" /* yacc.c:1646 */
33967 break;
33968
33969 case 999:
33970#line 6773 "gram.y" /* yacc.c:1646 */
33971 {
33972 FetchStmt *n = makeNode(FetchStmt);
33973 n->portalname = (yyvsp[0].str);
33974 n->direction = FETCH_BACKWARD;
33975 n->howMany = 1;
33976 (yyval.node) = (Node *)n;
33977 }
33978#line 33979 "gram.c" /* yacc.c:1646 */
33979 break;
33980
33981 case 1000:
33982#line 6781 "gram.y" /* yacc.c:1646 */
33983 {
33984 FetchStmt *n = makeNode(FetchStmt);
33985 n->portalname = (yyvsp[0].str);
33986 n->direction = FETCH_ABSOLUTE;
33987 n->howMany = 1;
33988 (yyval.node) = (Node *)n;
33989 }
33990#line 33991 "gram.c" /* yacc.c:1646 */
33991 break;
33992
33993 case 1001:
33994#line 6789 "gram.y" /* yacc.c:1646 */
33995 {
33996 FetchStmt *n = makeNode(FetchStmt);
33997 n->portalname = (yyvsp[0].str);
33998 n->direction = FETCH_ABSOLUTE;
33999 n->howMany = -1;
34000 (yyval.node) = (Node *)n;
34001 }
34002#line 34003 "gram.c" /* yacc.c:1646 */
34003 break;
34004
34005 case 1002:
34006#line 6797 "gram.y" /* yacc.c:1646 */
34007 {
34008 FetchStmt *n = makeNode(FetchStmt);
34009 n->portalname = (yyvsp[0].str);
34010 n->direction = FETCH_ABSOLUTE;
34011 n->howMany = (yyvsp[-2].ival);
34012 (yyval.node) = (Node *)n;
34013 }
34014#line 34015 "gram.c" /* yacc.c:1646 */
34015 break;
34016
34017 case 1003:
34018#line 6805 "gram.y" /* yacc.c:1646 */
34019 {
34020 FetchStmt *n = makeNode(FetchStmt);
34021 n->portalname = (yyvsp[0].str);
34022 n->direction = FETCH_RELATIVE;
34023 n->howMany = (yyvsp[-2].ival);
34024 (yyval.node) = (Node *)n;
34025 }
34026#line 34027 "gram.c" /* yacc.c:1646 */
34027 break;
34028
34029 case 1004:
34030#line 6813 "gram.y" /* yacc.c:1646 */
34031 {
34032 FetchStmt *n = makeNode(FetchStmt);
34033 n->portalname = (yyvsp[0].str);
34034 n->direction = FETCH_FORWARD;
34035 n->howMany = (yyvsp[-2].ival);
34036 (yyval.node) = (Node *)n;
34037 }
34038#line 34039 "gram.c" /* yacc.c:1646 */
34039 break;
34040
34041 case 1005:
34042#line 6821 "gram.y" /* yacc.c:1646 */
34043 {
34044 FetchStmt *n = makeNode(FetchStmt);
34045 n->portalname = (yyvsp[0].str);
34046 n->direction = FETCH_FORWARD;
34047 n->howMany = FETCH_ALL;
34048 (yyval.node) = (Node *)n;
34049 }
34050#line 34051 "gram.c" /* yacc.c:1646 */
34051 break;
34052
34053 case 1006:
34054#line 6829 "gram.y" /* yacc.c:1646 */
34055 {
34056 FetchStmt *n = makeNode(FetchStmt);
34057 n->portalname = (yyvsp[0].str);
34058 n->direction = FETCH_FORWARD;
34059 n->howMany = 1;
34060 (yyval.node) = (Node *)n;
34061 }
34062#line 34063 "gram.c" /* yacc.c:1646 */
34063 break;
34064
34065 case 1007:
34066#line 6837 "gram.y" /* yacc.c:1646 */
34067 {
34068 FetchStmt *n = makeNode(FetchStmt);
34069 n->portalname = (yyvsp[0].str);
34070 n->direction = FETCH_FORWARD;
34071 n->howMany = (yyvsp[-2].ival);
34072 (yyval.node) = (Node *)n;
34073 }
34074#line 34075 "gram.c" /* yacc.c:1646 */
34075 break;
34076
34077 case 1008:
34078#line 6845 "gram.y" /* yacc.c:1646 */
34079 {
34080 FetchStmt *n = makeNode(FetchStmt);
34081 n->portalname = (yyvsp[0].str);
34082 n->direction = FETCH_FORWARD;
34083 n->howMany = FETCH_ALL;
34084 (yyval.node) = (Node *)n;
34085 }
34086#line 34087 "gram.c" /* yacc.c:1646 */
34087 break;
34088
34089 case 1009:
34090#line 6853 "gram.y" /* yacc.c:1646 */
34091 {
34092 FetchStmt *n = makeNode(FetchStmt);
34093 n->portalname = (yyvsp[0].str);
34094 n->direction = FETCH_BACKWARD;
34095 n->howMany = 1;
34096 (yyval.node) = (Node *)n;
34097 }
34098#line 34099 "gram.c" /* yacc.c:1646 */
34099 break;
34100
34101 case 1010:
34102#line 6861 "gram.y" /* yacc.c:1646 */
34103 {
34104 FetchStmt *n = makeNode(FetchStmt);
34105 n->portalname = (yyvsp[0].str);
34106 n->direction = FETCH_BACKWARD;
34107 n->howMany = (yyvsp[-2].ival);
34108 (yyval.node) = (Node *)n;
34109 }
34110#line 34111 "gram.c" /* yacc.c:1646 */
34111 break;
34112
34113 case 1011:
34114#line 6869 "gram.y" /* yacc.c:1646 */
34115 {
34116 FetchStmt *n = makeNode(FetchStmt);
34117 n->portalname = (yyvsp[0].str);
34118 n->direction = FETCH_BACKWARD;
34119 n->howMany = FETCH_ALL;
34120 (yyval.node) = (Node *)n;
34121 }
34122#line 34123 "gram.c" /* yacc.c:1646 */
34123 break;
34124
34125 case 1012:
34126#line 6878 "gram.y" /* yacc.c:1646 */
34127 {}
34128#line 34129 "gram.c" /* yacc.c:1646 */
34129 break;
34130
34131 case 1013:
34132#line 6879 "gram.y" /* yacc.c:1646 */
34133 {}
34134#line 34135 "gram.c" /* yacc.c:1646 */
34135 break;
34136
34137 case 1014:
34138#line 6882 "gram.y" /* yacc.c:1646 */
34139 {}
34140#line 34141 "gram.c" /* yacc.c:1646 */
34141 break;
34142
34143 case 1015:
34144#line 6883 "gram.y" /* yacc.c:1646 */
34145 {}
34146#line 34147 "gram.c" /* yacc.c:1646 */
34147 break;
34148
34149 case 1016:
34150#line 6895 "gram.y" /* yacc.c:1646 */
34151 {
34152 GrantStmt *n = makeNode(GrantStmt);
34153 n->is_grant = true;
34154 n->privileges = (yyvsp[-5].list);
34155 n->targtype = ((yyvsp[-3].privtarget))->targtype;
34156 n->objtype = ((yyvsp[-3].privtarget))->objtype;
34157 n->objects = ((yyvsp[-3].privtarget))->objs;
34158 n->grantees = (yyvsp[-1].list);
34159 n->grant_option = (yyvsp[0].boolean);
34160 (yyval.node) = (Node*)n;
34161 }
34162#line 34163 "gram.c" /* yacc.c:1646 */
34163 break;
34164
34165 case 1017:
34166#line 6911 "gram.y" /* yacc.c:1646 */
34167 {
34168 GrantStmt *n = makeNode(GrantStmt);
34169 n->is_grant = false;
34170 n->grant_option = false;
34171 n->privileges = (yyvsp[-5].list);
34172 n->targtype = ((yyvsp[-3].privtarget))->targtype;
34173 n->objtype = ((yyvsp[-3].privtarget))->objtype;
34174 n->objects = ((yyvsp[-3].privtarget))->objs;
34175 n->grantees = (yyvsp[-1].list);
34176 n->behavior = (yyvsp[0].dbehavior);
34177 (yyval.node) = (Node *)n;
34178 }
34179#line 34180 "gram.c" /* yacc.c:1646 */
34180 break;
34181
34182 case 1018:
34183#line 6925 "gram.y" /* yacc.c:1646 */
34184 {
34185 GrantStmt *n = makeNode(GrantStmt);
34186 n->is_grant = false;
34187 n->grant_option = true;
34188 n->privileges = (yyvsp[-5].list);
34189 n->targtype = ((yyvsp[-3].privtarget))->targtype;
34190 n->objtype = ((yyvsp[-3].privtarget))->objtype;
34191 n->objects = ((yyvsp[-3].privtarget))->objs;
34192 n->grantees = (yyvsp[-1].list);
34193 n->behavior = (yyvsp[0].dbehavior);
34194 (yyval.node) = (Node *)n;
34195 }
34196#line 34197 "gram.c" /* yacc.c:1646 */
34197 break;
34198
34199 case 1019:
34200#line 6950 "gram.y" /* yacc.c:1646 */
34201 { (yyval.list) = (yyvsp[0].list); }
34202#line 34203 "gram.c" /* yacc.c:1646 */
34203 break;
34204
34205 case 1020:
34206#line 6952 "gram.y" /* yacc.c:1646 */
34207 { (yyval.list) = NIL; }
34208#line 34209 "gram.c" /* yacc.c:1646 */
34209 break;
34210
34211 case 1021:
34212#line 6954 "gram.y" /* yacc.c:1646 */
34213 { (yyval.list) = NIL; }
34214#line 34215 "gram.c" /* yacc.c:1646 */
34215 break;
34216
34217 case 1022:
34218#line 6956 "gram.y" /* yacc.c:1646 */
34219 {
34220 AccessPriv *n = makeNode(AccessPriv);
34221 n->priv_name = NULL;
34222 n->cols = (yyvsp[-1].list);
34223 (yyval.list) = list_make1(n);
34224 }
34225#line 34226 "gram.c" /* yacc.c:1646 */
34226 break;
34227
34228 case 1023:
34229#line 6963 "gram.y" /* yacc.c:1646 */
34230 {
34231 AccessPriv *n = makeNode(AccessPriv);
34232 n->priv_name = NULL;
34233 n->cols = (yyvsp[-1].list);
34234 (yyval.list) = list_make1(n);
34235 }
34236#line 34237 "gram.c" /* yacc.c:1646 */
34237 break;
34238
34239 case 1024:
34240#line 6971 "gram.y" /* yacc.c:1646 */
34241 { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
34242#line 34243 "gram.c" /* yacc.c:1646 */
34243 break;
34244
34245 case 1025:
34246#line 6972 "gram.y" /* yacc.c:1646 */
34247 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
34248#line 34249 "gram.c" /* yacc.c:1646 */
34249 break;
34250
34251 case 1026:
34252#line 6976 "gram.y" /* yacc.c:1646 */
34253 {
34254 AccessPriv *n = makeNode(AccessPriv);
34255 n->priv_name = pstrdup((yyvsp[-1].keyword));
34256 n->cols = (yyvsp[0].list);
34257 (yyval.accesspriv) = n;
34258 }
34259#line 34260 "gram.c" /* yacc.c:1646 */
34260 break;
34261
34262 case 1027:
34263#line 6983 "gram.y" /* yacc.c:1646 */
34264 {
34265 AccessPriv *n = makeNode(AccessPriv);
34266 n->priv_name = pstrdup((yyvsp[-1].keyword));
34267 n->cols = (yyvsp[0].list);
34268 (yyval.accesspriv) = n;
34269 }
34270#line 34271 "gram.c" /* yacc.c:1646 */
34271 break;
34272
34273 case 1028:
34274#line 6990 "gram.y" /* yacc.c:1646 */
34275 {
34276 AccessPriv *n = makeNode(AccessPriv);
34277 n->priv_name = pstrdup((yyvsp[-1].keyword));
34278 n->cols = (yyvsp[0].list);
34279 (yyval.accesspriv) = n;
34280 }
34281#line 34282 "gram.c" /* yacc.c:1646 */
34282 break;
34283
34284 case 1029:
34285#line 6997 "gram.y" /* yacc.c:1646 */
34286 {
34287 AccessPriv *n = makeNode(AccessPriv);
34288 n->priv_name = (yyvsp[-1].str);
34289 n->cols = (yyvsp[0].list);
34290 (yyval.accesspriv) = n;
34291 }
34292#line 34293 "gram.c" /* yacc.c:1646 */
34293 break;
34294
34295 case 1030:
34296#line 7011 "gram.y" /* yacc.c:1646 */
34297 {
34298 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34299 n->targtype = ACL_TARGET_OBJECT;
34300 n->objtype = OBJECT_TABLE;
34301 n->objs = (yyvsp[0].list);
34302 (yyval.privtarget) = n;
34303 }
34304#line 34305 "gram.c" /* yacc.c:1646 */
34305 break;
34306
34307 case 1031:
34308#line 7019 "gram.y" /* yacc.c:1646 */
34309 {
34310 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34311 n->targtype = ACL_TARGET_OBJECT;
34312 n->objtype = OBJECT_TABLE;
34313 n->objs = (yyvsp[0].list);
34314 (yyval.privtarget) = n;
34315 }
34316#line 34317 "gram.c" /* yacc.c:1646 */
34317 break;
34318
34319 case 1032:
34320#line 7027 "gram.y" /* yacc.c:1646 */
34321 {
34322 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34323 n->targtype = ACL_TARGET_OBJECT;
34324 n->objtype = OBJECT_SEQUENCE;
34325 n->objs = (yyvsp[0].list);
34326 (yyval.privtarget) = n;
34327 }
34328#line 34329 "gram.c" /* yacc.c:1646 */
34329 break;
34330
34331 case 1033:
34332#line 7035 "gram.y" /* yacc.c:1646 */
34333 {
34334 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34335 n->targtype = ACL_TARGET_OBJECT;
34336 n->objtype = OBJECT_FDW;
34337 n->objs = (yyvsp[0].list);
34338 (yyval.privtarget) = n;
34339 }
34340#line 34341 "gram.c" /* yacc.c:1646 */
34341 break;
34342
34343 case 1034:
34344#line 7043 "gram.y" /* yacc.c:1646 */
34345 {
34346 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34347 n->targtype = ACL_TARGET_OBJECT;
34348 n->objtype = OBJECT_FOREIGN_SERVER;
34349 n->objs = (yyvsp[0].list);
34350 (yyval.privtarget) = n;
34351 }
34352#line 34353 "gram.c" /* yacc.c:1646 */
34353 break;
34354
34355 case 1035:
34356#line 7051 "gram.y" /* yacc.c:1646 */
34357 {
34358 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34359 n->targtype = ACL_TARGET_OBJECT;
34360 n->objtype = OBJECT_FUNCTION;
34361 n->objs = (yyvsp[0].list);
34362 (yyval.privtarget) = n;
34363 }
34364#line 34365 "gram.c" /* yacc.c:1646 */
34365 break;
34366
34367 case 1036:
34368#line 7059 "gram.y" /* yacc.c:1646 */
34369 {
34370 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34371 n->targtype = ACL_TARGET_OBJECT;
34372 n->objtype = OBJECT_PROCEDURE;
34373 n->objs = (yyvsp[0].list);
34374 (yyval.privtarget) = n;
34375 }
34376#line 34377 "gram.c" /* yacc.c:1646 */
34377 break;
34378
34379 case 1037:
34380#line 7067 "gram.y" /* yacc.c:1646 */
34381 {
34382 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34383 n->targtype = ACL_TARGET_OBJECT;
34384 n->objtype = OBJECT_ROUTINE;
34385 n->objs = (yyvsp[0].list);
34386 (yyval.privtarget) = n;
34387 }
34388#line 34389 "gram.c" /* yacc.c:1646 */
34389 break;
34390
34391 case 1038:
34392#line 7075 "gram.y" /* yacc.c:1646 */
34393 {
34394 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34395 n->targtype = ACL_TARGET_OBJECT;
34396 n->objtype = OBJECT_DATABASE;
34397 n->objs = (yyvsp[0].list);
34398 (yyval.privtarget) = n;
34399 }
34400#line 34401 "gram.c" /* yacc.c:1646 */
34401 break;
34402
34403 case 1039:
34404#line 7083 "gram.y" /* yacc.c:1646 */
34405 {
34406 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34407 n->targtype = ACL_TARGET_OBJECT;
34408 n->objtype = OBJECT_DOMAIN;
34409 n->objs = (yyvsp[0].list);
34410 (yyval.privtarget) = n;
34411 }
34412#line 34413 "gram.c" /* yacc.c:1646 */
34413 break;
34414
34415 case 1040:
34416#line 7091 "gram.y" /* yacc.c:1646 */
34417 {
34418 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34419 n->targtype = ACL_TARGET_OBJECT;
34420 n->objtype = OBJECT_LANGUAGE;
34421 n->objs = (yyvsp[0].list);
34422 (yyval.privtarget) = n;
34423 }
34424#line 34425 "gram.c" /* yacc.c:1646 */
34425 break;
34426
34427 case 1041:
34428#line 7099 "gram.y" /* yacc.c:1646 */
34429 {
34430 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34431 n->targtype = ACL_TARGET_OBJECT;
34432 n->objtype = OBJECT_LARGEOBJECT;
34433 n->objs = (yyvsp[0].list);
34434 (yyval.privtarget) = n;
34435 }
34436#line 34437 "gram.c" /* yacc.c:1646 */
34437 break;
34438
34439 case 1042:
34440#line 7107 "gram.y" /* yacc.c:1646 */
34441 {
34442 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34443 n->targtype = ACL_TARGET_OBJECT;
34444 n->objtype = OBJECT_SCHEMA;
34445 n->objs = (yyvsp[0].list);
34446 (yyval.privtarget) = n;
34447 }
34448#line 34449 "gram.c" /* yacc.c:1646 */
34449 break;
34450
34451 case 1043:
34452#line 7115 "gram.y" /* yacc.c:1646 */
34453 {
34454 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34455 n->targtype = ACL_TARGET_OBJECT;
34456 n->objtype = OBJECT_TABLESPACE;
34457 n->objs = (yyvsp[0].list);
34458 (yyval.privtarget) = n;
34459 }
34460#line 34461 "gram.c" /* yacc.c:1646 */
34461 break;
34462
34463 case 1044:
34464#line 7123 "gram.y" /* yacc.c:1646 */
34465 {
34466 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34467 n->targtype = ACL_TARGET_OBJECT;
34468 n->objtype = OBJECT_TYPE;
34469 n->objs = (yyvsp[0].list);
34470 (yyval.privtarget) = n;
34471 }
34472#line 34473 "gram.c" /* yacc.c:1646 */
34473 break;
34474
34475 case 1045:
34476#line 7131 "gram.y" /* yacc.c:1646 */
34477 {
34478 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34479 n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34480 n->objtype = OBJECT_TABLE;
34481 n->objs = (yyvsp[0].list);
34482 (yyval.privtarget) = n;
34483 }
34484#line 34485 "gram.c" /* yacc.c:1646 */
34485 break;
34486
34487 case 1046:
34488#line 7139 "gram.y" /* yacc.c:1646 */
34489 {
34490 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34491 n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34492 n->objtype = OBJECT_SEQUENCE;
34493 n->objs = (yyvsp[0].list);
34494 (yyval.privtarget) = n;
34495 }
34496#line 34497 "gram.c" /* yacc.c:1646 */
34497 break;
34498
34499 case 1047:
34500#line 7147 "gram.y" /* yacc.c:1646 */
34501 {
34502 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34503 n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34504 n->objtype = OBJECT_FUNCTION;
34505 n->objs = (yyvsp[0].list);
34506 (yyval.privtarget) = n;
34507 }
34508#line 34509 "gram.c" /* yacc.c:1646 */
34509 break;
34510
34511 case 1048:
34512#line 7155 "gram.y" /* yacc.c:1646 */
34513 {
34514 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34515 n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34516 n->objtype = OBJECT_PROCEDURE;
34517 n->objs = (yyvsp[0].list);
34518 (yyval.privtarget) = n;
34519 }
34520#line 34521 "gram.c" /* yacc.c:1646 */
34521 break;
34522
34523 case 1049:
34524#line 7163 "gram.y" /* yacc.c:1646 */
34525 {
34526 PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
34527 n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
34528 n->objtype = OBJECT_ROUTINE;
34529 n->objs = (yyvsp[0].list);
34530 (yyval.privtarget) = n;
34531 }
34532#line 34533 "gram.c" /* yacc.c:1646 */
34533 break;
34534
34535 case 1050:
34536#line 7174 "gram.y" /* yacc.c:1646 */
34537 { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
34538#line 34539 "gram.c" /* yacc.c:1646 */
34539 break;
34540
34541 case 1051:
34542#line 7175 "gram.y" /* yacc.c:1646 */
34543 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
34544#line 34545 "gram.c" /* yacc.c:1646 */
34545 break;
34546
34547 case 1052:
34548#line 7179 "gram.y" /* yacc.c:1646 */
34549 { (yyval.rolespec) = (yyvsp[0].rolespec); }
34550#line 34551 "gram.c" /* yacc.c:1646 */
34551 break;
34552
34553 case 1053:
34554#line 7180 "gram.y" /* yacc.c:1646 */
34555 { (yyval.rolespec) = (yyvsp[0].rolespec); }
34556#line 34557 "gram.c" /* yacc.c:1646 */
34557 break;
34558
34559 case 1054:
34560#line 7185 "gram.y" /* yacc.c:1646 */
34561 { (yyval.boolean) = true; }
34562#line 34563 "gram.c" /* yacc.c:1646 */
34563 break;
34564
34565 case 1055:
34566#line 7186 "gram.y" /* yacc.c:1646 */
34567 { (yyval.boolean) = false; }
34568#line 34569 "gram.c" /* yacc.c:1646 */
34569 break;
34570
34571 case 1056:
34572#line 7197 "gram.y" /* yacc.c:1646 */
34573 {
34574 GrantRoleStmt *n = makeNode(GrantRoleStmt);
34575 n->is_grant = true;
34576 n->granted_roles = (yyvsp[-4].list);
34577 n->grantee_roles = (yyvsp[-2].list);
34578 n->admin_opt = (yyvsp[-1].boolean);
34579 n->grantor = (yyvsp[0].rolespec);
34580 (yyval.node) = (Node*)n;
34581 }
34582#line 34583 "gram.c" /* yacc.c:1646 */
34583 break;
34584
34585 case 1057:
34586#line 7210 "gram.y" /* yacc.c:1646 */
34587 {
34588 GrantRoleStmt *n = makeNode(GrantRoleStmt);
34589 n->is_grant = false;
34590 n->admin_opt = false;
34591 n->granted_roles = (yyvsp[-4].list);
34592 n->grantee_roles = (yyvsp[-2].list);
34593 n->behavior = (yyvsp[0].dbehavior);
34594 (yyval.node) = (Node*)n;
34595 }
34596#line 34597 "gram.c" /* yacc.c:1646 */
34597 break;
34598
34599 case 1058:
34600#line 7220 "gram.y" /* yacc.c:1646 */
34601 {
34602 GrantRoleStmt *n = makeNode(GrantRoleStmt);
34603 n->is_grant = false;
34604 n->admin_opt = true;
34605 n->granted_roles = (yyvsp[-4].list);
34606 n->grantee_roles = (yyvsp[-2].list);
34607 n->behavior = (yyvsp[0].dbehavior);
34608 (yyval.node) = (Node*)n;
34609 }
34610#line 34611 "gram.c" /* yacc.c:1646 */
34611 break;
34612
34613 case 1059:
34614#line 7231 "gram.y" /* yacc.c:1646 */
34615 { (yyval.boolean) = true; }
34616#line 34617 "gram.c" /* yacc.c:1646 */
34617 break;
34618
34619 case 1060:
34620#line 7232 "gram.y" /* yacc.c:1646 */
34621 { (yyval.boolean) = false; }
34622#line 34623 "gram.c" /* yacc.c:1646 */
34623 break;
34624
34625 case 1061:
34626#line 7235 "gram.y" /* yacc.c:1646 */
34627 { (yyval.rolespec) = (yyvsp[0].rolespec); }
34628#line 34629 "gram.c" /* yacc.c:1646 */
34629 break;
34630
34631 case 1062:
34632#line 7236 "gram.y" /* yacc.c:1646 */
34633 { (yyval.rolespec) = NULL; }
34634#line 34635 "gram.c" /* yacc.c:1646 */
34635 break;
34636
34637 case 1063:
34638#line 7247 "gram.y" /* yacc.c:1646 */
34639 {
34640 AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
34641 n->options = (yyvsp[-1].list);
34642 n->action = (GrantStmt *) (yyvsp[0].node);
34643 (yyval.node) = (Node*)n;
34644 }
34645#line 34646 "gram.c" /* yacc.c:1646 */
34646 break;
34647
34648 case 1064:
34649#line 7256 "gram.y" /* yacc.c:1646 */
34650 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
34651#line 34652 "gram.c" /* yacc.c:1646 */
34652 break;
34653
34654 case 1065:
34655#line 7257 "gram.y" /* yacc.c:1646 */
34656 { (yyval.list) = NIL; }
34657#line 34658 "gram.c" /* yacc.c:1646 */
34658 break;
34659
34660 case 1066:
34661#line 7262 "gram.y" /* yacc.c:1646 */
34662 {
34663 (yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
34664 }
34665#line 34666 "gram.c" /* yacc.c:1646 */
34666 break;
34667
34668 case 1067:
34669#line 7266 "gram.y" /* yacc.c:1646 */
34670 {
34671 (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
34672 }
34673#line 34674 "gram.c" /* yacc.c:1646 */
34674 break;
34675
34676 case 1068:
34677#line 7270 "gram.y" /* yacc.c:1646 */
34678 {
34679 (yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
34680 }
34681#line 34682 "gram.c" /* yacc.c:1646 */
34682 break;
34683
34684 case 1069:
34685#line 7282 "gram.y" /* yacc.c:1646 */
34686 {
34687 GrantStmt *n = makeNode(GrantStmt);
34688 n->is_grant = true;
34689 n->privileges = (yyvsp[-5].list);
34690 n->targtype = ACL_TARGET_DEFAULTS;
34691 n->objtype = (yyvsp[-3].ival);
34692 n->objects = NIL;
34693 n->grantees = (yyvsp[-1].list);
34694 n->grant_option = (yyvsp[0].boolean);
34695 (yyval.node) = (Node*)n;
34696 }
34697#line 34698 "gram.c" /* yacc.c:1646 */
34698 break;
34699
34700 case 1070:
34701#line 7295 "gram.y" /* yacc.c:1646 */
34702 {
34703 GrantStmt *n = makeNode(GrantStmt);
34704 n->is_grant = false;
34705 n->grant_option = false;
34706 n->privileges = (yyvsp[-5].list);
34707 n->targtype = ACL_TARGET_DEFAULTS;
34708 n->objtype = (yyvsp[-3].ival);
34709 n->objects = NIL;
34710 n->grantees = (yyvsp[-1].list);
34711 n->behavior = (yyvsp[0].dbehavior);
34712 (yyval.node) = (Node *)n;
34713 }
34714#line 34715 "gram.c" /* yacc.c:1646 */
34715 break;
34716
34717 case 1071:
34718#line 7309 "gram.y" /* yacc.c:1646 */
34719 {
34720 GrantStmt *n = makeNode(GrantStmt);
34721 n->is_grant = false;
34722 n->grant_option = true;
34723 n->privileges = (yyvsp[-5].list);
34724 n->targtype = ACL_TARGET_DEFAULTS;
34725 n->objtype = (yyvsp[-3].ival);
34726 n->objects = NIL;
34727 n->grantees = (yyvsp[-1].list);
34728 n->behavior = (yyvsp[0].dbehavior);
34729 (yyval.node) = (Node *)n;
34730 }
34731#line 34732 "gram.c" /* yacc.c:1646 */
34732 break;
34733
34734 case 1072:
34735#line 7324 "gram.y" /* yacc.c:1646 */
34736 { (yyval.ival) = OBJECT_TABLE; }
34737#line 34738 "gram.c" /* yacc.c:1646 */
34738 break;
34739
34740 case 1073:
34741#line 7325 "gram.y" /* yacc.c:1646 */
34742 { (yyval.ival) = OBJECT_FUNCTION; }
34743#line 34744 "gram.c" /* yacc.c:1646 */
34744 break;
34745
34746 case 1074:
34747#line 7326 "gram.y" /* yacc.c:1646 */
34748 { (yyval.ival) = OBJECT_FUNCTION; }
34749#line 34750 "gram.c" /* yacc.c:1646 */
34750 break;
34751
34752 case 1075:
34753#line 7327 "gram.y" /* yacc.c:1646 */
34754 { (yyval.ival) = OBJECT_SEQUENCE; }
34755#line 34756 "gram.c" /* yacc.c:1646 */
34756 break;
34757
34758 case 1076:
34759#line 7328 "gram.y" /* yacc.c:1646 */
34760 { (yyval.ival) = OBJECT_TYPE; }
34761#line 34762 "gram.c" /* yacc.c:1646 */
34762 break;
34763
34764 case 1077:
34765#line 7329 "gram.y" /* yacc.c:1646 */
34766 { (yyval.ival) = OBJECT_SCHEMA; }
34767#line 34768 "gram.c" /* yacc.c:1646 */
34768 break;
34769
34770 case 1078:
34771#line 7344 "gram.y" /* yacc.c:1646 */
34772 {
34773 IndexStmt *n = makeNode(IndexStmt);
34774 n->unique = (yyvsp[-13].boolean);
34775 n->concurrent = (yyvsp[-11].boolean);
34776 n->idxname = (yyvsp[-10].str);
34777 n->relation = (yyvsp[-8].range);
34778 n->accessMethod = (yyvsp[-7].str);
34779 n->indexParams = (yyvsp[-5].list);
34780 n->indexIncludingParams = (yyvsp[-3].list);
34781 n->options = (yyvsp[-2].list);
34782 n->tableSpace = (yyvsp[-1].str);
34783 n->whereClause = (yyvsp[0].node);
34784 n->excludeOpNames = NIL;
34785 n->idxcomment = NULL;
34786 n->indexOid = InvalidOid;
34787 n->oldNode = InvalidOid;
34788 n->primary = false;
34789 n->isconstraint = false;
34790 n->deferrable = false;
34791 n->initdeferred = false;
34792 n->transformed = false;
34793 n->if_not_exists = false;
34794 n->reset_default_tblspc = false;
34795 (yyval.node) = (Node *)n;
34796 }
34797#line 34798 "gram.c" /* yacc.c:1646 */
34798 break;
34799
34800 case 1079:
34801#line 7372 "gram.y" /* yacc.c:1646 */
34802 {
34803 IndexStmt *n = makeNode(IndexStmt);
34804 n->unique = (yyvsp[-16].boolean);
34805 n->concurrent = (yyvsp[-14].boolean);
34806 n->idxname = (yyvsp[-10].str);
34807 n->relation = (yyvsp[-8].range);
34808 n->accessMethod = (yyvsp[-7].str);
34809 n->indexParams = (yyvsp[-5].list);
34810 n->indexIncludingParams = (yyvsp[-3].list);
34811 n->options = (yyvsp[-2].list);
34812 n->tableSpace = (yyvsp[-1].str);
34813 n->whereClause = (yyvsp[0].node);
34814 n->excludeOpNames = NIL;
34815 n->idxcomment = NULL;
34816 n->indexOid = InvalidOid;
34817 n->oldNode = InvalidOid;
34818 n->primary = false;
34819 n->isconstraint = false;
34820 n->deferrable = false;
34821 n->initdeferred = false;
34822 n->transformed = false;
34823 n->if_not_exists = true;
34824 n->reset_default_tblspc = false;
34825 (yyval.node) = (Node *)n;
34826 }
34827#line 34828 "gram.c" /* yacc.c:1646 */
34828 break;
34829
34830 case 1080:
34831#line 7400 "gram.y" /* yacc.c:1646 */
34832 { (yyval.boolean) = true; }
34833#line 34834 "gram.c" /* yacc.c:1646 */
34834 break;
34835
34836 case 1081:
34837#line 7401 "gram.y" /* yacc.c:1646 */
34838 { (yyval.boolean) = false; }
34839#line 34840 "gram.c" /* yacc.c:1646 */
34840 break;
34841
34842 case 1082:
34843#line 7405 "gram.y" /* yacc.c:1646 */
34844 { (yyval.boolean) = true; }
34845#line 34846 "gram.c" /* yacc.c:1646 */
34846 break;
34847
34848 case 1083:
34849#line 7406 "gram.y" /* yacc.c:1646 */
34850 { (yyval.boolean) = false; }
34851#line 34852 "gram.c" /* yacc.c:1646 */
34852 break;
34853
34854 case 1084:
34855#line 7410 "gram.y" /* yacc.c:1646 */
34856 { (yyval.str) = (yyvsp[0].str); }
34857#line 34858 "gram.c" /* yacc.c:1646 */
34858 break;
34859
34860 case 1085:
34861#line 7411 "gram.y" /* yacc.c:1646 */
34862 { (yyval.str) = NULL; }
34863#line 34864 "gram.c" /* yacc.c:1646 */
34864 break;
34865
34866 case 1086:
34867#line 7415 "gram.y" /* yacc.c:1646 */
34868 { (yyval.str) = (yyvsp[0].str); }
34869#line 34870 "gram.c" /* yacc.c:1646 */
34870 break;
34871
34872 case 1087:
34873#line 7416 "gram.y" /* yacc.c:1646 */
34874 { (yyval.str) = DEFAULT_INDEX_TYPE; }
34875#line 34876 "gram.c" /* yacc.c:1646 */
34876 break;
34877
34878 case 1088:
34879#line 7419 "gram.y" /* yacc.c:1646 */
34880 { (yyval.list) = list_make1((yyvsp[0].ielem)); }
34881#line 34882 "gram.c" /* yacc.c:1646 */
34882 break;
34883
34884 case 1089:
34885#line 7420 "gram.y" /* yacc.c:1646 */
34886 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
34887#line 34888 "gram.c" /* yacc.c:1646 */
34888 break;
34889
34890 case 1090:
34891#line 7429 "gram.y" /* yacc.c:1646 */
34892 {
34893 (yyval.ielem) = makeNode(IndexElem);
34894 (yyval.ielem)->name = (yyvsp[-4].str);
34895 (yyval.ielem)->expr = NULL;
34896 (yyval.ielem)->indexcolname = NULL;
34897 (yyval.ielem)->collation = (yyvsp[-3].list);
34898 (yyval.ielem)->opclass = (yyvsp[-2].list);
34899 (yyval.ielem)->ordering = (yyvsp[-1].ival);
34900 (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
34901 }
34902#line 34903 "gram.c" /* yacc.c:1646 */
34903 break;
34904
34905 case 1091:
34906#line 7440 "gram.y" /* yacc.c:1646 */
34907 {
34908 (yyval.ielem) = makeNode(IndexElem);
34909 (yyval.ielem)->name = NULL;
34910 (yyval.ielem)->expr = (yyvsp[-4].node);
34911 (yyval.ielem)->indexcolname = NULL;
34912 (yyval.ielem)->collation = (yyvsp[-3].list);
34913 (yyval.ielem)->opclass = (yyvsp[-2].list);
34914 (yyval.ielem)->ordering = (yyvsp[-1].ival);
34915 (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
34916 }
34917#line 34918 "gram.c" /* yacc.c:1646 */
34918 break;
34919
34920 case 1092:
34921#line 7451 "gram.y" /* yacc.c:1646 */
34922 {
34923 (yyval.ielem) = makeNode(IndexElem);
34924 (yyval.ielem)->name = NULL;
34925 (yyval.ielem)->expr = (yyvsp[-5].node);
34926 (yyval.ielem)->indexcolname = NULL;
34927 (yyval.ielem)->collation = (yyvsp[-3].list);
34928 (yyval.ielem)->opclass = (yyvsp[-2].list);
34929 (yyval.ielem)->ordering = (yyvsp[-1].ival);
34930 (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
34931 }
34932#line 34933 "gram.c" /* yacc.c:1646 */
34933 break;
34934
34935 case 1093:
34936#line 7463 "gram.y" /* yacc.c:1646 */
34937 { (yyval.list) = (yyvsp[-1].list); }
34938#line 34939 "gram.c" /* yacc.c:1646 */
34939 break;
34940
34941 case 1094:
34942#line 7464 "gram.y" /* yacc.c:1646 */
34943 { (yyval.list) = NIL; }
34944#line 34945 "gram.c" /* yacc.c:1646 */
34945 break;
34946
34947 case 1095:
34948#line 7467 "gram.y" /* yacc.c:1646 */
34949 { (yyval.list) = list_make1((yyvsp[0].ielem)); }
34950#line 34951 "gram.c" /* yacc.c:1646 */
34951 break;
34952
34953 case 1096:
34954#line 7468 "gram.y" /* yacc.c:1646 */
34955 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
34956#line 34957 "gram.c" /* yacc.c:1646 */
34957 break;
34958
34959 case 1097:
34960#line 7471 "gram.y" /* yacc.c:1646 */
34961 { (yyval.list) = (yyvsp[0].list); }
34962#line 34963 "gram.c" /* yacc.c:1646 */
34963 break;
34964
34965 case 1098:
34966#line 7472 "gram.y" /* yacc.c:1646 */
34967 { (yyval.list) = NIL; }
34968#line 34969 "gram.c" /* yacc.c:1646 */
34969 break;
34970
34971 case 1099:
34972#line 7475 "gram.y" /* yacc.c:1646 */
34973 { (yyval.list) = (yyvsp[0].list); }
34974#line 34975 "gram.c" /* yacc.c:1646 */
34975 break;
34976
34977 case 1100:
34978#line 7476 "gram.y" /* yacc.c:1646 */
34979 { (yyval.list) = NIL; }
34980#line 34981 "gram.c" /* yacc.c:1646 */
34981 break;
34982
34983 case 1101:
34984#line 7479 "gram.y" /* yacc.c:1646 */
34985 { (yyval.ival) = SORTBY_ASC; }
34986#line 34987 "gram.c" /* yacc.c:1646 */
34987 break;
34988
34989 case 1102:
34990#line 7480 "gram.y" /* yacc.c:1646 */
34991 { (yyval.ival) = SORTBY_DESC; }
34992#line 34993 "gram.c" /* yacc.c:1646 */
34993 break;
34994
34995 case 1103:
34996#line 7481 "gram.y" /* yacc.c:1646 */
34997 { (yyval.ival) = SORTBY_DEFAULT; }
34998#line 34999 "gram.c" /* yacc.c:1646 */
34999 break;
35000
35001 case 1104:
35002#line 7484 "gram.y" /* yacc.c:1646 */
35003 { (yyval.ival) = SORTBY_NULLS_FIRST; }
35004#line 35005 "gram.c" /* yacc.c:1646 */
35005 break;
35006
35007 case 1105:
35008#line 7485 "gram.y" /* yacc.c:1646 */
35009 { (yyval.ival) = SORTBY_NULLS_LAST; }
35010#line 35011 "gram.c" /* yacc.c:1646 */
35011 break;
35012
35013 case 1106:
35014#line 7486 "gram.y" /* yacc.c:1646 */
35015 { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
35016#line 35017 "gram.c" /* yacc.c:1646 */
35017 break;
35018
35019 case 1107:
35020#line 7504 "gram.y" /* yacc.c:1646 */
35021 {
35022 CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35023 n->is_procedure = false;
35024 n->replace = (yyvsp[-6].boolean);
35025 n->funcname = (yyvsp[-4].list);
35026 n->parameters = (yyvsp[-3].list);
35027 n->returnType = (yyvsp[-1].typnam);
35028 n->options = (yyvsp[0].list);
35029 (yyval.node) = (Node *)n;
35030 }
35031#line 35032 "gram.c" /* yacc.c:1646 */
35032 break;
35033
35034 case 1108:
35035#line 7516 "gram.y" /* yacc.c:1646 */
35036 {
35037 CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35038 n->is_procedure = false;
35039 n->replace = (yyvsp[-9].boolean);
35040 n->funcname = (yyvsp[-7].list);
35041 n->parameters = mergeTableFuncParameters((yyvsp[-6].list), (yyvsp[-2].list));
35042 n->returnType = TableFuncTypeName((yyvsp[-2].list));
35043 n->returnType->location = (yylsp[-4]);
35044 n->options = (yyvsp[0].list);
35045 (yyval.node) = (Node *)n;
35046 }
35047#line 35048 "gram.c" /* yacc.c:1646 */
35048 break;
35049
35050 case 1109:
35051#line 7529 "gram.y" /* yacc.c:1646 */
35052 {
35053 CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35054 n->is_procedure = false;
35055 n->replace = (yyvsp[-4].boolean);
35056 n->funcname = (yyvsp[-2].list);
35057 n->parameters = (yyvsp[-1].list);
35058 n->returnType = NULL;
35059 n->options = (yyvsp[0].list);
35060 (yyval.node) = (Node *)n;
35061 }
35062#line 35063 "gram.c" /* yacc.c:1646 */
35063 break;
35064
35065 case 1110:
35066#line 7541 "gram.y" /* yacc.c:1646 */
35067 {
35068 CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35069 n->is_procedure = true;
35070 n->replace = (yyvsp[-4].boolean);
35071 n->funcname = (yyvsp[-2].list);
35072 n->parameters = (yyvsp[-1].list);
35073 n->returnType = NULL;
35074 n->options = (yyvsp[0].list);
35075 (yyval.node) = (Node *)n;
35076 }
35077#line 35078 "gram.c" /* yacc.c:1646 */
35078 break;
35079
35080 case 1111:
35081#line 7554 "gram.y" /* yacc.c:1646 */
35082 { (yyval.boolean) = true; }
35083#line 35084 "gram.c" /* yacc.c:1646 */
35084 break;
35085
35086 case 1112:
35087#line 7555 "gram.y" /* yacc.c:1646 */
35088 { (yyval.boolean) = false; }
35089#line 35090 "gram.c" /* yacc.c:1646 */
35090 break;
35091
35092 case 1113:
35093#line 7558 "gram.y" /* yacc.c:1646 */
35094 { (yyval.list) = (yyvsp[-1].list); }
35095#line 35096 "gram.c" /* yacc.c:1646 */
35096 break;
35097
35098 case 1114:
35099#line 7559 "gram.y" /* yacc.c:1646 */
35100 { (yyval.list) = NIL; }
35101#line 35102 "gram.c" /* yacc.c:1646 */
35102 break;
35103
35104 case 1115:
35105#line 7563 "gram.y" /* yacc.c:1646 */
35106 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
35107#line 35108 "gram.c" /* yacc.c:1646 */
35108 break;
35109
35110 case 1116:
35111#line 7564 "gram.y" /* yacc.c:1646 */
35112 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
35113#line 35114 "gram.c" /* yacc.c:1646 */
35114 break;
35115
35116 case 1117:
35117#line 7568 "gram.y" /* yacc.c:1646 */
35118 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
35119#line 35120 "gram.c" /* yacc.c:1646 */
35120 break;
35121
35122 case 1118:
35123#line 7570 "gram.y" /* yacc.c:1646 */
35124 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
35125#line 35126 "gram.c" /* yacc.c:1646 */
35126 break;
35127
35128 case 1119:
35129#line 7575 "gram.y" /* yacc.c:1646 */
35130 {
35131 ObjectWithArgs *n = makeNode(ObjectWithArgs);
35132 n->objname = (yyvsp[-1].list);
35133 n->objargs = extractArgTypes((yyvsp[0].list));
35134 (yyval.objwithargs) = n;
35135 }
35136#line 35137 "gram.c" /* yacc.c:1646 */
35137 break;
35138
35139 case 1120:
35140#line 7587 "gram.y" /* yacc.c:1646 */
35141 {
35142 ObjectWithArgs *n = makeNode(ObjectWithArgs);
35143 n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
35144 n->args_unspecified = true;
35145 (yyval.objwithargs) = n;
35146 }
35147#line 35148 "gram.c" /* yacc.c:1646 */
35148 break;
35149
35150 case 1121:
35151#line 7594 "gram.y" /* yacc.c:1646 */
35152 {
35153 ObjectWithArgs *n = makeNode(ObjectWithArgs);
35154 n->objname = list_make1(makeString((yyvsp[0].str)));
35155 n->args_unspecified = true;
35156 (yyval.objwithargs) = n;
35157 }
35158#line 35159 "gram.c" /* yacc.c:1646 */
35159 break;
35160
35161 case 1122:
35162#line 7601 "gram.y" /* yacc.c:1646 */
35163 {
35164 ObjectWithArgs *n = makeNode(ObjectWithArgs);
35165 n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
35166 yyscanner);
35167 n->args_unspecified = true;
35168 (yyval.objwithargs) = n;
35169 }
35170#line 35171 "gram.c" /* yacc.c:1646 */
35171 break;
35172
35173 case 1123:
35174#line 7615 "gram.y" /* yacc.c:1646 */
35175 { (yyval.list) = (yyvsp[-1].list); }
35176#line 35177 "gram.c" /* yacc.c:1646 */
35177 break;
35178
35179 case 1124:
35180#line 7616 "gram.y" /* yacc.c:1646 */
35181 { (yyval.list) = NIL; }
35182#line 35183 "gram.c" /* yacc.c:1646 */
35183 break;
35184
35185 case 1125:
35186#line 7620 "gram.y" /* yacc.c:1646 */
35187 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
35188#line 35189 "gram.c" /* yacc.c:1646 */
35189 break;
35190
35191 case 1126:
35192#line 7622 "gram.y" /* yacc.c:1646 */
35193 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
35194#line 35195 "gram.c" /* yacc.c:1646 */
35195 break;
35196
35197 case 1127:
35198#line 7637 "gram.y" /* yacc.c:1646 */
35199 {
35200 FunctionParameter *n = makeNode(FunctionParameter);
35201 n->name = (yyvsp[-1].str);
35202 n->argType = (yyvsp[0].typnam);
35203 n->mode = (yyvsp[-2].fun_param_mode);
35204 n->defexpr = NULL;
35205 (yyval.fun_param) = n;
35206 }
35207#line 35208 "gram.c" /* yacc.c:1646 */
35208 break;
35209
35210 case 1128:
35211#line 7646 "gram.y" /* yacc.c:1646 */
35212 {
35213 FunctionParameter *n = makeNode(FunctionParameter);
35214 n->name = (yyvsp[-2].str);
35215 n->argType = (yyvsp[0].typnam);
35216 n->mode = (yyvsp[-1].fun_param_mode);
35217 n->defexpr = NULL;
35218 (yyval.fun_param) = n;
35219 }
35220#line 35221 "gram.c" /* yacc.c:1646 */
35221 break;
35222
35223 case 1129:
35224#line 7655 "gram.y" /* yacc.c:1646 */
35225 {
35226 FunctionParameter *n = makeNode(FunctionParameter);
35227 n->name = (yyvsp[-1].str);
35228 n->argType = (yyvsp[0].typnam);
35229 n->mode = FUNC_PARAM_IN;
35230 n->defexpr = NULL;
35231 (yyval.fun_param) = n;
35232 }
35233#line 35234 "gram.c" /* yacc.c:1646 */
35234 break;
35235
35236 case 1130:
35237#line 7664 "gram.y" /* yacc.c:1646 */
35238 {
35239 FunctionParameter *n = makeNode(FunctionParameter);
35240 n->name = NULL;
35241 n->argType = (yyvsp[0].typnam);
35242 n->mode = (yyvsp[-1].fun_param_mode);
35243 n->defexpr = NULL;
35244 (yyval.fun_param) = n;
35245 }
35246#line 35247 "gram.c" /* yacc.c:1646 */
35247 break;
35248
35249 case 1131:
35250#line 7673 "gram.y" /* yacc.c:1646 */
35251 {
35252 FunctionParameter *n = makeNode(FunctionParameter);
35253 n->name = NULL;
35254 n->argType = (yyvsp[0].typnam);
35255 n->mode = FUNC_PARAM_IN;
35256 n->defexpr = NULL;
35257 (yyval.fun_param) = n;
35258 }
35259#line 35260 "gram.c" /* yacc.c:1646 */
35260 break;
35261
35262 case 1132:
35263#line 7684 "gram.y" /* yacc.c:1646 */
35264 { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
35265#line 35266 "gram.c" /* yacc.c:1646 */
35266 break;
35267
35268 case 1133:
35269#line 7685 "gram.y" /* yacc.c:1646 */
35270 { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
35271#line 35272 "gram.c" /* yacc.c:1646 */
35272 break;
35273
35274 case 1134:
35275#line 7686 "gram.y" /* yacc.c:1646 */
35276 { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
35277#line 35278 "gram.c" /* yacc.c:1646 */
35278 break;
35279
35280 case 1135:
35281#line 7687 "gram.y" /* yacc.c:1646 */
35282 { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
35283#line 35284 "gram.c" /* yacc.c:1646 */
35284 break;
35285
35286 case 1136:
35287#line 7688 "gram.y" /* yacc.c:1646 */
35288 { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
35289#line 35290 "gram.c" /* yacc.c:1646 */
35290 break;
35291
35292 case 1138:
35293#line 7699 "gram.y" /* yacc.c:1646 */
35294 {
35295 /* We can catch over-specified results here if we want to,
35296 * but for now better to silently swallow typmod, etc.
35297 * - thomas 2000-03-22
35298 */
35299 (yyval.typnam) = (yyvsp[0].typnam);
35300 }
35301#line 35302 "gram.c" /* yacc.c:1646 */
35302 break;
35303
35304 case 1139:
35305#line 7713 "gram.y" /* yacc.c:1646 */
35306 { (yyval.typnam) = (yyvsp[0].typnam); }
35307#line 35308 "gram.c" /* yacc.c:1646 */
35308 break;
35309
35310 case 1140:
35311#line 7715 "gram.y" /* yacc.c:1646 */
35312 {
35313 (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
35314 (yyval.typnam)->pct_type = true;
35315 (yyval.typnam)->location = (yylsp[-3]);
35316 }
35317#line 35318 "gram.c" /* yacc.c:1646 */
35318 break;
35319
35320 case 1141:
35321#line 7721 "gram.y" /* yacc.c:1646 */
35322 {
35323 (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
35324 (yyval.typnam)->pct_type = true;
35325 (yyval.typnam)->setof = true;
35326 (yyval.typnam)->location = (yylsp[-3]);
35327 }
35328#line 35329 "gram.c" /* yacc.c:1646 */
35329 break;
35330
35331 case 1142:
35332#line 7731 "gram.y" /* yacc.c:1646 */
35333 {
35334 (yyval.fun_param) = (yyvsp[0].fun_param);
35335 }
35336#line 35337 "gram.c" /* yacc.c:1646 */
35337 break;
35338
35339 case 1143:
35340#line 7735 "gram.y" /* yacc.c:1646 */
35341 {
35342 (yyval.fun_param) = (yyvsp[-2].fun_param);
35343 (yyval.fun_param)->defexpr = (yyvsp[0].node);
35344 }
35345#line 35346 "gram.c" /* yacc.c:1646 */
35346 break;
35347
35348 case 1144:
35349#line 7740 "gram.y" /* yacc.c:1646 */
35350 {
35351 (yyval.fun_param) = (yyvsp[-2].fun_param);
35352 (yyval.fun_param)->defexpr = (yyvsp[0].node);
35353 }
35354#line 35355 "gram.c" /* yacc.c:1646 */
35355 break;
35356
35357 case 1145:
35358#line 7748 "gram.y" /* yacc.c:1646 */
35359 {
35360 if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
35361 (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
35362 ereport(ERROR,
35363 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
35364 errmsg("aggregates cannot have output arguments"),
35365 parser_errposition((yylsp[0]))));
35366 (yyval.fun_param) = (yyvsp[0].fun_param);
35367 }
35368#line 35369 "gram.c" /* yacc.c:1646 */
35369 break;
35370
35371 case 1146:
35372#line 7789 "gram.y" /* yacc.c:1646 */
35373 {
35374 (yyval.list) = list_make2(NIL, makeInteger(-1));
35375 }
35376#line 35377 "gram.c" /* yacc.c:1646 */
35377 break;
35378
35379 case 1147:
35380#line 7793 "gram.y" /* yacc.c:1646 */
35381 {
35382 (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
35383 }
35384#line 35385 "gram.c" /* yacc.c:1646 */
35385 break;
35386
35387 case 1148:
35388#line 7797 "gram.y" /* yacc.c:1646 */
35389 {
35390 (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
35391 }
35392#line 35393 "gram.c" /* yacc.c:1646 */
35393 break;
35394
35395 case 1149:
35396#line 7801 "gram.y" /* yacc.c:1646 */
35397 {
35398 /* this is the only case requiring consistency checking */
35399 (yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
35400 }
35401#line 35402 "gram.c" /* yacc.c:1646 */
35402 break;
35403
35404 case 1150:
35405#line 7808 "gram.y" /* yacc.c:1646 */
35406 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
35407#line 35408 "gram.c" /* yacc.c:1646 */
35408 break;
35409
35410 case 1151:
35411#line 7809 "gram.y" /* yacc.c:1646 */
35412 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
35413#line 35414 "gram.c" /* yacc.c:1646 */
35414 break;
35415
35416 case 1152:
35417#line 7814 "gram.y" /* yacc.c:1646 */
35418 {
35419 ObjectWithArgs *n = makeNode(ObjectWithArgs);
35420 n->objname = (yyvsp[-1].list);
35421 n->objargs = extractAggrArgTypes((yyvsp[0].list));
35422 (yyval.objwithargs) = n;
35423 }
35424#line 35425 "gram.c" /* yacc.c:1646 */
35425 break;
35426
35427 case 1153:
35428#line 7823 "gram.y" /* yacc.c:1646 */
35429 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
35430#line 35431 "gram.c" /* yacc.c:1646 */
35431 break;
35432
35433 case 1154:
35434#line 7825 "gram.y" /* yacc.c:1646 */
35435 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
35436#line 35437 "gram.c" /* yacc.c:1646 */
35437 break;
35438
35439 case 1155:
35440#line 7830 "gram.y" /* yacc.c:1646 */
35441 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
35442#line 35443 "gram.c" /* yacc.c:1646 */
35443 break;
35444
35445 case 1156:
35446#line 7831 "gram.y" /* yacc.c:1646 */
35447 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35448#line 35449 "gram.c" /* yacc.c:1646 */
35449 break;
35450
35451 case 1157:
35452#line 7839 "gram.y" /* yacc.c:1646 */
35453 {
35454 (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[-3]));
35455 }
35456#line 35457 "gram.c" /* yacc.c:1646 */
35457 break;
35458
35459 case 1158:
35460#line 7843 "gram.y" /* yacc.c:1646 */
35461 {
35462 (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[-4]));
35463 }
35464#line 35465 "gram.c" /* yacc.c:1646 */
35465 break;
35466
35467 case 1159:
35468#line 7847 "gram.y" /* yacc.c:1646 */
35469 {
35470 (yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[0]));
35471 }
35472#line 35473 "gram.c" /* yacc.c:1646 */
35473 break;
35474
35475 case 1160:
35476#line 7851 "gram.y" /* yacc.c:1646 */
35477 {
35478 (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
35479 }
35480#line 35481 "gram.c" /* yacc.c:1646 */
35481 break;
35482
35483 case 1161:
35484#line 7855 "gram.y" /* yacc.c:1646 */
35485 {
35486 (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
35487 }
35488#line 35489 "gram.c" /* yacc.c:1646 */
35489 break;
35490
35491 case 1162:
35492#line 7859 "gram.y" /* yacc.c:1646 */
35493 {
35494 (yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
35495 }
35496#line 35497 "gram.c" /* yacc.c:1646 */
35497 break;
35498
35499 case 1163:
35500#line 7863 "gram.y" /* yacc.c:1646 */
35501 {
35502 (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-2]));
35503 }
35504#line 35505 "gram.c" /* yacc.c:1646 */
35505 break;
35506
35507 case 1164:
35508#line 7867 "gram.y" /* yacc.c:1646 */
35509 {
35510 (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-2]));
35511 }
35512#line 35513 "gram.c" /* yacc.c:1646 */
35513 break;
35514
35515 case 1165:
35516#line 7871 "gram.y" /* yacc.c:1646 */
35517 {
35518 (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-1]));
35519 }
35520#line 35521 "gram.c" /* yacc.c:1646 */
35521 break;
35522
35523 case 1166:
35524#line 7875 "gram.y" /* yacc.c:1646 */
35525 {
35526 (yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-1]));
35527 }
35528#line 35529 "gram.c" /* yacc.c:1646 */
35529 break;
35530
35531 case 1167:
35532#line 7879 "gram.y" /* yacc.c:1646 */
35533 {
35534 (yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[0]));
35535 }
35536#line 35537 "gram.c" /* yacc.c:1646 */
35537 break;
35538
35539 case 1168:
35540#line 7883 "gram.y" /* yacc.c:1646 */
35541 {
35542 (yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[-1]));
35543 }
35544#line 35545 "gram.c" /* yacc.c:1646 */
35545 break;
35546
35547 case 1169:
35548#line 7887 "gram.y" /* yacc.c:1646 */
35549 {
35550 (yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
35551 }
35552#line 35553 "gram.c" /* yacc.c:1646 */
35553 break;
35554
35555 case 1170:
35556#line 7891 "gram.y" /* yacc.c:1646 */
35557 {
35558 (yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
35559 }
35560#line 35561 "gram.c" /* yacc.c:1646 */
35561 break;
35562
35563 case 1171:
35564#line 7895 "gram.y" /* yacc.c:1646 */
35565 {
35566 (yyval.defelt) = makeDefElem("support", (Node *)(yyvsp[0].list), (yylsp[-1]));
35567 }
35568#line 35569 "gram.c" /* yacc.c:1646 */
35569 break;
35570
35571 case 1172:
35572#line 7899 "gram.y" /* yacc.c:1646 */
35573 {
35574 /* we abuse the normal content of a DefElem here */
35575 (yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt), (yylsp[0]));
35576 }
35577#line 35578 "gram.c" /* yacc.c:1646 */
35578 break;
35579
35580 case 1173:
35581#line 7904 "gram.y" /* yacc.c:1646 */
35582 {
35583 (yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
35584 }
35585#line 35586 "gram.c" /* yacc.c:1646 */
35586 break;
35587
35588 case 1174:
35589#line 7911 "gram.y" /* yacc.c:1646 */
35590 {
35591 (yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
35592 }
35593#line 35594 "gram.c" /* yacc.c:1646 */
35594 break;
35595
35596 case 1175:
35597#line 7915 "gram.y" /* yacc.c:1646 */
35598 {
35599 (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
35600 }
35601#line 35602 "gram.c" /* yacc.c:1646 */
35602 break;
35603
35604 case 1176:
35605#line 7919 "gram.y" /* yacc.c:1646 */
35606 {
35607 (yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
35608 }
35609#line 35610 "gram.c" /* yacc.c:1646 */
35610 break;
35611
35612 case 1177:
35613#line 7923 "gram.y" /* yacc.c:1646 */
35614 {
35615 (yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[0]));
35616 }
35617#line 35618 "gram.c" /* yacc.c:1646 */
35618 break;
35619
35620 case 1178:
35621#line 7927 "gram.y" /* yacc.c:1646 */
35622 {
35623 (yyval.defelt) = (yyvsp[0].defelt);
35624 }
35625#line 35626 "gram.c" /* yacc.c:1646 */
35626 break;
35627
35628 case 1179:
35629#line 7932 "gram.y" /* yacc.c:1646 */
35630 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
35631#line 35632 "gram.c" /* yacc.c:1646 */
35632 break;
35633
35634 case 1180:
35635#line 7934 "gram.y" /* yacc.c:1646 */
35636 {
35637 (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
35638 }
35639#line 35640 "gram.c" /* yacc.c:1646 */
35640 break;
35641
35642 case 1181:
35643#line 7940 "gram.y" /* yacc.c:1646 */
35644 { (yyval.list) = list_make1((yyvsp[0].typnam)); }
35645#line 35646 "gram.c" /* yacc.c:1646 */
35646 break;
35647
35648 case 1182:
35649#line 7941 "gram.y" /* yacc.c:1646 */
35650 { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
35651#line 35652 "gram.c" /* yacc.c:1646 */
35652 break;
35653
35654 case 1183:
35655#line 7945 "gram.y" /* yacc.c:1646 */
35656 { (yyval.list) = (yyvsp[0].list); }
35657#line 35658 "gram.c" /* yacc.c:1646 */
35658 break;
35659
35660 case 1184:
35661#line 7946 "gram.y" /* yacc.c:1646 */
35662 { (yyval.list) = NIL; }
35663#line 35664 "gram.c" /* yacc.c:1646 */
35664 break;
35665
35666 case 1185:
35667#line 7950 "gram.y" /* yacc.c:1646 */
35668 {
35669 FunctionParameter *n = makeNode(FunctionParameter);
35670 n->name = (yyvsp[-1].str);
35671 n->argType = (yyvsp[0].typnam);
35672 n->mode = FUNC_PARAM_TABLE;
35673 n->defexpr = NULL;
35674 (yyval.fun_param) = n;
35675 }
35676#line 35677 "gram.c" /* yacc.c:1646 */
35677 break;
35678
35679 case 1186:
35680#line 7962 "gram.y" /* yacc.c:1646 */
35681 {
35682 (yyval.list) = list_make1((yyvsp[0].fun_param));
35683 }
35684#line 35685 "gram.c" /* yacc.c:1646 */
35685 break;
35686
35687 case 1187:
35688#line 7966 "gram.y" /* yacc.c:1646 */
35689 {
35690 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
35691 }
35692#line 35693 "gram.c" /* yacc.c:1646 */
35693 break;
35694
35695 case 1188:
35696#line 7981 "gram.y" /* yacc.c:1646 */
35697 {
35698 AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
35699 n->objtype = OBJECT_FUNCTION;
35700 n->func = (yyvsp[-2].objwithargs);
35701 n->actions = (yyvsp[-1].list);
35702 (yyval.node) = (Node *) n;
35703 }
35704#line 35705 "gram.c" /* yacc.c:1646 */
35705 break;
35706
35707 case 1189:
35708#line 7989 "gram.y" /* yacc.c:1646 */
35709 {
35710 AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
35711 n->objtype = OBJECT_PROCEDURE;
35712 n->func = (yyvsp[-2].objwithargs);
35713 n->actions = (yyvsp[-1].list);
35714 (yyval.node) = (Node *) n;
35715 }
35716#line 35717 "gram.c" /* yacc.c:1646 */
35717 break;
35718
35719 case 1190:
35720#line 7997 "gram.y" /* yacc.c:1646 */
35721 {
35722 AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
35723 n->objtype = OBJECT_ROUTINE;
35724 n->func = (yyvsp[-2].objwithargs);
35725 n->actions = (yyvsp[-1].list);
35726 (yyval.node) = (Node *) n;
35727 }
35728#line 35729 "gram.c" /* yacc.c:1646 */
35729 break;
35730
35731 case 1191:
35732#line 8008 "gram.y" /* yacc.c:1646 */
35733 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
35734#line 35735 "gram.c" /* yacc.c:1646 */
35735 break;
35736
35737 case 1192:
35738#line 8009 "gram.y" /* yacc.c:1646 */
35739 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35740#line 35741 "gram.c" /* yacc.c:1646 */
35741 break;
35742
35743 case 1195:
35744#line 8033 "gram.y" /* yacc.c:1646 */
35745 {
35746 DropStmt *n = makeNode(DropStmt);
35747 n->removeType = OBJECT_FUNCTION;
35748 n->objects = (yyvsp[-1].list);
35749 n->behavior = (yyvsp[0].dbehavior);
35750 n->missing_ok = false;
35751 n->concurrent = false;
35752 (yyval.node) = (Node *)n;
35753 }
35754#line 35755 "gram.c" /* yacc.c:1646 */
35755 break;
35756
35757 case 1196:
35758#line 8043 "gram.y" /* yacc.c:1646 */
35759 {
35760 DropStmt *n = makeNode(DropStmt);
35761 n->removeType = OBJECT_FUNCTION;
35762 n->objects = (yyvsp[-1].list);
35763 n->behavior = (yyvsp[0].dbehavior);
35764 n->missing_ok = true;
35765 n->concurrent = false;
35766 (yyval.node) = (Node *)n;
35767 }
35768#line 35769 "gram.c" /* yacc.c:1646 */
35769 break;
35770
35771 case 1197:
35772#line 8053 "gram.y" /* yacc.c:1646 */
35773 {
35774 DropStmt *n = makeNode(DropStmt);
35775 n->removeType = OBJECT_PROCEDURE;
35776 n->objects = (yyvsp[-1].list);
35777 n->behavior = (yyvsp[0].dbehavior);
35778 n->missing_ok = false;
35779 n->concurrent = false;
35780 (yyval.node) = (Node *)n;
35781 }
35782#line 35783 "gram.c" /* yacc.c:1646 */
35783 break;
35784
35785 case 1198:
35786#line 8063 "gram.y" /* yacc.c:1646 */
35787 {
35788 DropStmt *n = makeNode(DropStmt);
35789 n->removeType = OBJECT_PROCEDURE;
35790 n->objects = (yyvsp[-1].list);
35791 n->behavior = (yyvsp[0].dbehavior);
35792 n->missing_ok = true;
35793 n->concurrent = false;
35794 (yyval.node) = (Node *)n;
35795 }
35796#line 35797 "gram.c" /* yacc.c:1646 */
35797 break;
35798
35799 case 1199:
35800#line 8073 "gram.y" /* yacc.c:1646 */
35801 {
35802 DropStmt *n = makeNode(DropStmt);
35803 n->removeType = OBJECT_ROUTINE;
35804 n->objects = (yyvsp[-1].list);
35805 n->behavior = (yyvsp[0].dbehavior);
35806 n->missing_ok = false;
35807 n->concurrent = false;
35808 (yyval.node) = (Node *)n;
35809 }
35810#line 35811 "gram.c" /* yacc.c:1646 */
35811 break;
35812
35813 case 1200:
35814#line 8083 "gram.y" /* yacc.c:1646 */
35815 {
35816 DropStmt *n = makeNode(DropStmt);
35817 n->removeType = OBJECT_ROUTINE;
35818 n->objects = (yyvsp[-1].list);
35819 n->behavior = (yyvsp[0].dbehavior);
35820 n->missing_ok = true;
35821 n->concurrent = false;
35822 (yyval.node) = (Node *)n;
35823 }
35824#line 35825 "gram.c" /* yacc.c:1646 */
35825 break;
35826
35827 case 1201:
35828#line 8096 "gram.y" /* yacc.c:1646 */
35829 {
35830 DropStmt *n = makeNode(DropStmt);
35831 n->removeType = OBJECT_AGGREGATE;
35832 n->objects = (yyvsp[-1].list);
35833 n->behavior = (yyvsp[0].dbehavior);
35834 n->missing_ok = false;
35835 n->concurrent = false;
35836 (yyval.node) = (Node *)n;
35837 }
35838#line 35839 "gram.c" /* yacc.c:1646 */
35839 break;
35840
35841 case 1202:
35842#line 8106 "gram.y" /* yacc.c:1646 */
35843 {
35844 DropStmt *n = makeNode(DropStmt);
35845 n->removeType = OBJECT_AGGREGATE;
35846 n->objects = (yyvsp[-1].list);
35847 n->behavior = (yyvsp[0].dbehavior);
35848 n->missing_ok = true;
35849 n->concurrent = false;
35850 (yyval.node) = (Node *)n;
35851 }
35852#line 35853 "gram.c" /* yacc.c:1646 */
35853 break;
35854
35855 case 1203:
35856#line 8119 "gram.y" /* yacc.c:1646 */
35857 {
35858 DropStmt *n = makeNode(DropStmt);
35859 n->removeType = OBJECT_OPERATOR;
35860 n->objects = (yyvsp[-1].list);
35861 n->behavior = (yyvsp[0].dbehavior);
35862 n->missing_ok = false;
35863 n->concurrent = false;
35864 (yyval.node) = (Node *)n;
35865 }
35866#line 35867 "gram.c" /* yacc.c:1646 */
35867 break;
35868
35869 case 1204:
35870#line 8129 "gram.y" /* yacc.c:1646 */
35871 {
35872 DropStmt *n = makeNode(DropStmt);
35873 n->removeType = OBJECT_OPERATOR;
35874 n->objects = (yyvsp[-1].list);
35875 n->behavior = (yyvsp[0].dbehavior);
35876 n->missing_ok = true;
35877 n->concurrent = false;
35878 (yyval.node) = (Node *)n;
35879 }
35880#line 35881 "gram.c" /* yacc.c:1646 */
35881 break;
35882
35883 case 1205:
35884#line 8142 "gram.y" /* yacc.c:1646 */
35885 {
35886 ereport(ERROR,
35887 (errcode(ERRCODE_SYNTAX_ERROR),
35888 errmsg("missing argument"),
35889 errhint("Use NONE to denote the missing argument of a unary operator."),
35890 parser_errposition((yylsp[0]))));
35891 }
35892#line 35893 "gram.c" /* yacc.c:1646 */
35893 break;
35894
35895 case 1206:
35896#line 8150 "gram.y" /* yacc.c:1646 */
35897 { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
35898#line 35899 "gram.c" /* yacc.c:1646 */
35899 break;
35900
35901 case 1207:
35902#line 8152 "gram.y" /* yacc.c:1646 */
35903 { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
35904#line 35905 "gram.c" /* yacc.c:1646 */
35905 break;
35906
35907 case 1208:
35908#line 8154 "gram.y" /* yacc.c:1646 */
35909 { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
35910#line 35911 "gram.c" /* yacc.c:1646 */
35911 break;
35912
35913 case 1209:
35914#line 8159 "gram.y" /* yacc.c:1646 */
35915 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
35916#line 35917 "gram.c" /* yacc.c:1646 */
35917 break;
35918
35919 case 1210:
35920#line 8161 "gram.y" /* yacc.c:1646 */
35921 { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
35922#line 35923 "gram.c" /* yacc.c:1646 */
35923 break;
35924
35925 case 1211:
35926#line 8165 "gram.y" /* yacc.c:1646 */
35927 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
35928#line 35929 "gram.c" /* yacc.c:1646 */
35929 break;
35930
35931 case 1212:
35932#line 8167 "gram.y" /* yacc.c:1646 */
35933 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
35934#line 35935 "gram.c" /* yacc.c:1646 */
35935 break;
35936
35937 case 1213:
35938#line 8172 "gram.y" /* yacc.c:1646 */
35939 {
35940 ObjectWithArgs *n = makeNode(ObjectWithArgs);
35941 n->objname = (yyvsp[-1].list);
35942 n->objargs = (yyvsp[0].list);
35943 (yyval.objwithargs) = n;
35944 }
35945#line 35946 "gram.c" /* yacc.c:1646 */
35946 break;
35947
35948 case 1214:
35949#line 8190 "gram.y" /* yacc.c:1646 */
35950 {
35951 DoStmt *n = makeNode(DoStmt);
35952 n->args = (yyvsp[0].list);
35953 (yyval.node) = (Node *)n;
35954 }
35955#line 35956 "gram.c" /* yacc.c:1646 */
35956 break;
35957
35958 case 1215:
35959#line 8198 "gram.y" /* yacc.c:1646 */
35960 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
35961#line 35962 "gram.c" /* yacc.c:1646 */
35962 break;
35963
35964 case 1216:
35965#line 8199 "gram.y" /* yacc.c:1646 */
35966 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35967#line 35968 "gram.c" /* yacc.c:1646 */
35968 break;
35969
35970 case 1217:
35971#line 8204 "gram.y" /* yacc.c:1646 */
35972 {
35973 (yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
35974 }
35975#line 35976 "gram.c" /* yacc.c:1646 */
35976 break;
35977
35978 case 1218:
35979#line 8208 "gram.y" /* yacc.c:1646 */
35980 {
35981 (yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
35982 }
35983#line 35984 "gram.c" /* yacc.c:1646 */
35984 break;
35985
35986 case 1219:
35987#line 8221 "gram.y" /* yacc.c:1646 */
35988 {
35989 CreateCastStmt *n = makeNode(CreateCastStmt);
35990 n->sourcetype = (yyvsp[-7].typnam);
35991 n->targettype = (yyvsp[-5].typnam);
35992 n->func = (yyvsp[-1].objwithargs);
35993 n->context = (CoercionContext) (yyvsp[0].ival);
35994 n->inout = false;
35995 (yyval.node) = (Node *)n;
35996 }
35997#line 35998 "gram.c" /* yacc.c:1646 */
35998 break;
35999
36000 case 1220:
36001#line 8232 "gram.y" /* yacc.c:1646 */
36002 {
36003 CreateCastStmt *n = makeNode(CreateCastStmt);
36004 n->sourcetype = (yyvsp[-6].typnam);
36005 n->targettype = (yyvsp[-4].typnam);
36006 n->func = NULL;
36007 n->context = (CoercionContext) (yyvsp[0].ival);
36008 n->inout = false;
36009 (yyval.node) = (Node *)n;
36010 }
36011#line 36012 "gram.c" /* yacc.c:1646 */
36012 break;
36013
36014 case 1221:
36015#line 8243 "gram.y" /* yacc.c:1646 */
36016 {
36017 CreateCastStmt *n = makeNode(CreateCastStmt);
36018 n->sourcetype = (yyvsp[-6].typnam);
36019 n->targettype = (yyvsp[-4].typnam);
36020 n->func = NULL;
36021 n->context = (CoercionContext) (yyvsp[0].ival);
36022 n->inout = true;
36023 (yyval.node) = (Node *)n;
36024 }
36025#line 36026 "gram.c" /* yacc.c:1646 */
36026 break;
36027
36028 case 1222:
36029#line 8254 "gram.y" /* yacc.c:1646 */
36030 { (yyval.ival) = COERCION_IMPLICIT; }
36031#line 36032 "gram.c" /* yacc.c:1646 */
36032 break;
36033
36034 case 1223:
36035#line 8255 "gram.y" /* yacc.c:1646 */
36036 { (yyval.ival) = COERCION_ASSIGNMENT; }
36037#line 36038 "gram.c" /* yacc.c:1646 */
36038 break;
36039
36040 case 1224:
36041#line 8256 "gram.y" /* yacc.c:1646 */
36042 { (yyval.ival) = COERCION_EXPLICIT; }
36043#line 36044 "gram.c" /* yacc.c:1646 */
36044 break;
36045
36046 case 1225:
36047#line 8261 "gram.y" /* yacc.c:1646 */
36048 {
36049 DropStmt *n = makeNode(DropStmt);
36050 n->removeType = OBJECT_CAST;
36051 n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
36052 n->behavior = (yyvsp[0].dbehavior);
36053 n->missing_ok = (yyvsp[-6].boolean);
36054 n->concurrent = false;
36055 (yyval.node) = (Node *)n;
36056 }
36057#line 36058 "gram.c" /* yacc.c:1646 */
36058 break;
36059
36060 case 1226:
36061#line 8272 "gram.y" /* yacc.c:1646 */
36062 { (yyval.boolean) = true; }
36063#line 36064 "gram.c" /* yacc.c:1646 */
36064 break;
36065
36066 case 1227:
36067#line 8273 "gram.y" /* yacc.c:1646 */
36068 { (yyval.boolean) = false; }
36069#line 36070 "gram.c" /* yacc.c:1646 */
36070 break;
36071
36072 case 1228:
36073#line 8284 "gram.y" /* yacc.c:1646 */
36074 {
36075 CreateTransformStmt *n = makeNode(CreateTransformStmt);
36076 n->replace = (yyvsp[-8].boolean);
36077 n->type_name = (yyvsp[-5].typnam);
36078 n->lang = (yyvsp[-3].str);
36079 n->fromsql = linitial((yyvsp[-1].list));
36080 n->tosql = lsecond((yyvsp[-1].list));
36081 (yyval.node) = (Node *)n;
36082 }
36083#line 36084 "gram.c" /* yacc.c:1646 */
36084 break;
36085
36086 case 1229:
36087#line 8296 "gram.y" /* yacc.c:1646 */
36088 {
36089 (yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
36090 }
36091#line 36092 "gram.c" /* yacc.c:1646 */
36092 break;
36093
36094 case 1230:
36095#line 8300 "gram.y" /* yacc.c:1646 */
36096 {
36097 (yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
36098 }
36099#line 36100 "gram.c" /* yacc.c:1646 */
36100 break;
36101
36102 case 1231:
36103#line 8304 "gram.y" /* yacc.c:1646 */
36104 {
36105 (yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
36106 }
36107#line 36108 "gram.c" /* yacc.c:1646 */
36108 break;
36109
36110 case 1232:
36111#line 8308 "gram.y" /* yacc.c:1646 */
36112 {
36113 (yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
36114 }
36115#line 36116 "gram.c" /* yacc.c:1646 */
36116 break;
36117
36118 case 1233:
36119#line 8315 "gram.y" /* yacc.c:1646 */
36120 {
36121 DropStmt *n = makeNode(DropStmt);
36122 n->removeType = OBJECT_TRANSFORM;
36123 n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
36124 n->behavior = (yyvsp[0].dbehavior);
36125 n->missing_ok = (yyvsp[-5].boolean);
36126 (yyval.node) = (Node *)n;
36127 }
36128#line 36129 "gram.c" /* yacc.c:1646 */
36129 break;
36130
36131 case 1234:
36132#line 8335 "gram.y" /* yacc.c:1646 */
36133 {
36134 ReindexStmt *n = makeNode(ReindexStmt);
36135 n->kind = (yyvsp[-2].ival);
36136 n->concurrent = (yyvsp[-1].boolean);
36137 n->relation = (yyvsp[0].range);
36138 n->name = NULL;
36139 n->options = 0;
36140 (yyval.node) = (Node *)n;
36141 }
36142#line 36143 "gram.c" /* yacc.c:1646 */
36143 break;
36144
36145 case 1235:
36146#line 8345 "gram.y" /* yacc.c:1646 */
36147 {
36148 ReindexStmt *n = makeNode(ReindexStmt);
36149 n->kind = (yyvsp[-2].ival);
36150 n->concurrent = (yyvsp[-1].boolean);
36151 n->name = (yyvsp[0].str);
36152 n->relation = NULL;
36153 n->options = 0;
36154 (yyval.node) = (Node *)n;
36155 }
36156#line 36157 "gram.c" /* yacc.c:1646 */
36157 break;
36158
36159 case 1236:
36160#line 8355 "gram.y" /* yacc.c:1646 */
36161 {
36162 ReindexStmt *n = makeNode(ReindexStmt);
36163 n->kind = (yyvsp[-2].ival);
36164 n->concurrent = (yyvsp[-1].boolean);
36165 n->relation = (yyvsp[0].range);
36166 n->name = NULL;
36167 n->options = (yyvsp[-4].ival);
36168 (yyval.node) = (Node *)n;
36169 }
36170#line 36171 "gram.c" /* yacc.c:1646 */
36171 break;
36172
36173 case 1237:
36174#line 8365 "gram.y" /* yacc.c:1646 */
36175 {
36176 ReindexStmt *n = makeNode(ReindexStmt);
36177 n->kind = (yyvsp[-2].ival);
36178 n->concurrent = (yyvsp[-1].boolean);
36179 n->name = (yyvsp[0].str);
36180 n->relation = NULL;
36181 n->options = (yyvsp[-4].ival);
36182 (yyval.node) = (Node *)n;
36183 }
36184#line 36185 "gram.c" /* yacc.c:1646 */
36185 break;
36186
36187 case 1238:
36188#line 8376 "gram.y" /* yacc.c:1646 */
36189 { (yyval.ival) = REINDEX_OBJECT_INDEX; }
36190#line 36191 "gram.c" /* yacc.c:1646 */
36191 break;
36192
36193 case 1239:
36194#line 8377 "gram.y" /* yacc.c:1646 */
36195 { (yyval.ival) = REINDEX_OBJECT_TABLE; }
36196#line 36197 "gram.c" /* yacc.c:1646 */
36197 break;
36198
36199 case 1240:
36200#line 8380 "gram.y" /* yacc.c:1646 */
36201 { (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
36202#line 36203 "gram.c" /* yacc.c:1646 */
36203 break;
36204
36205 case 1241:
36206#line 8381 "gram.y" /* yacc.c:1646 */
36207 { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
36208#line 36209 "gram.c" /* yacc.c:1646 */
36209 break;
36210
36211 case 1242:
36212#line 8382 "gram.y" /* yacc.c:1646 */
36213 { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
36214#line 36215 "gram.c" /* yacc.c:1646 */
36215 break;
36216
36217 case 1243:
36218#line 8385 "gram.y" /* yacc.c:1646 */
36219 { (yyval.ival) = (yyvsp[0].ival); }
36220#line 36221 "gram.c" /* yacc.c:1646 */
36221 break;
36222
36223 case 1244:
36224#line 8386 "gram.y" /* yacc.c:1646 */
36225 { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
36226#line 36227 "gram.c" /* yacc.c:1646 */
36227 break;
36228
36229 case 1245:
36230#line 8389 "gram.y" /* yacc.c:1646 */
36231 { (yyval.ival) = REINDEXOPT_VERBOSE; }
36232#line 36233 "gram.c" /* yacc.c:1646 */
36233 break;
36234
36235 case 1246:
36236#line 8400 "gram.y" /* yacc.c:1646 */
36237 {
36238 AlterTableSpaceOptionsStmt *n =
36239 makeNode(AlterTableSpaceOptionsStmt);
36240 n->tablespacename = (yyvsp[-2].str);
36241 n->options = (yyvsp[0].list);
36242 n->isReset = false;
36243 (yyval.node) = (Node *)n;
36244 }
36245#line 36246 "gram.c" /* yacc.c:1646 */
36246 break;
36247
36248 case 1247:
36249#line 8409 "gram.y" /* yacc.c:1646 */
36250 {
36251 AlterTableSpaceOptionsStmt *n =
36252 makeNode(AlterTableSpaceOptionsStmt);
36253 n->tablespacename = (yyvsp[-2].str);
36254 n->options = (yyvsp[0].list);
36255 n->isReset = true;
36256 (yyval.node) = (Node *)n;
36257 }
36258#line 36259 "gram.c" /* yacc.c:1646 */
36259 break;
36260
36261 case 1248:
36262#line 8426 "gram.y" /* yacc.c:1646 */
36263 {
36264 RenameStmt *n = makeNode(RenameStmt);
36265 n->renameType = OBJECT_AGGREGATE;
36266 n->object = (Node *) (yyvsp[-3].objwithargs);
36267 n->newname = (yyvsp[0].str);
36268 n->missing_ok = false;
36269 (yyval.node) = (Node *)n;
36270 }
36271#line 36272 "gram.c" /* yacc.c:1646 */
36272 break;
36273
36274 case 1249:
36275#line 8435 "gram.y" /* yacc.c:1646 */
36276 {
36277 RenameStmt *n = makeNode(RenameStmt);
36278 n->renameType = OBJECT_COLLATION;
36279 n->object = (Node *) (yyvsp[-3].list);
36280 n->newname = (yyvsp[0].str);
36281 n->missing_ok = false;
36282 (yyval.node) = (Node *)n;
36283 }
36284#line 36285 "gram.c" /* yacc.c:1646 */
36285 break;
36286
36287 case 1250:
36288#line 8444 "gram.y" /* yacc.c:1646 */
36289 {
36290 RenameStmt *n = makeNode(RenameStmt);
36291 n->renameType = OBJECT_CONVERSION;
36292 n->object = (Node *) (yyvsp[-3].list);
36293 n->newname = (yyvsp[0].str);
36294 n->missing_ok = false;
36295 (yyval.node) = (Node *)n;
36296 }
36297#line 36298 "gram.c" /* yacc.c:1646 */
36298 break;
36299
36300 case 1251:
36301#line 8453 "gram.y" /* yacc.c:1646 */
36302 {
36303 RenameStmt *n = makeNode(RenameStmt);
36304 n->renameType = OBJECT_DATABASE;
36305 n->subname = (yyvsp[-3].str);
36306 n->newname = (yyvsp[0].str);
36307 n->missing_ok = false;
36308 (yyval.node) = (Node *)n;
36309 }
36310#line 36311 "gram.c" /* yacc.c:1646 */
36311 break;
36312
36313 case 1252:
36314#line 8462 "gram.y" /* yacc.c:1646 */
36315 {
36316 RenameStmt *n = makeNode(RenameStmt);
36317 n->renameType = OBJECT_DOMAIN;
36318 n->object = (Node *) (yyvsp[-3].list);
36319 n->newname = (yyvsp[0].str);
36320 n->missing_ok = false;
36321 (yyval.node) = (Node *)n;
36322 }
36323#line 36324 "gram.c" /* yacc.c:1646 */
36324 break;
36325
36326 case 1253:
36327#line 8471 "gram.y" /* yacc.c:1646 */
36328 {
36329 RenameStmt *n = makeNode(RenameStmt);
36330 n->renameType = OBJECT_DOMCONSTRAINT;
36331 n->object = (Node *) (yyvsp[-5].list);
36332 n->subname = (yyvsp[-2].str);
36333 n->newname = (yyvsp[0].str);
36334 (yyval.node) = (Node *)n;
36335 }
36336#line 36337 "gram.c" /* yacc.c:1646 */
36337 break;
36338
36339 case 1254:
36340#line 8480 "gram.y" /* yacc.c:1646 */
36341 {
36342 RenameStmt *n = makeNode(RenameStmt);
36343 n->renameType = OBJECT_FDW;
36344 n->object = (Node *) makeString((yyvsp[-3].str));
36345 n->newname = (yyvsp[0].str);
36346 n->missing_ok = false;
36347 (yyval.node) = (Node *)n;
36348 }
36349#line 36350 "gram.c" /* yacc.c:1646 */
36350 break;
36351
36352 case 1255:
36353#line 8489 "gram.y" /* yacc.c:1646 */
36354 {
36355 RenameStmt *n = makeNode(RenameStmt);
36356 n->renameType = OBJECT_FUNCTION;
36357 n->object = (Node *) (yyvsp[-3].objwithargs);
36358 n->newname = (yyvsp[0].str);
36359 n->missing_ok = false;
36360 (yyval.node) = (Node *)n;
36361 }
36362#line 36363 "gram.c" /* yacc.c:1646 */
36363 break;
36364
36365 case 1256:
36366#line 8498 "gram.y" /* yacc.c:1646 */
36367 {
36368 RenameStmt *n = makeNode(RenameStmt);
36369 n->renameType = OBJECT_ROLE;
36370 n->subname = (yyvsp[-3].str);
36371 n->newname = (yyvsp[0].str);
36372 n->missing_ok = false;
36373 (yyval.node) = (Node *)n;
36374 }
36375#line 36376 "gram.c" /* yacc.c:1646 */
36376 break;
36377
36378 case 1257:
36379#line 8507 "gram.y" /* yacc.c:1646 */
36380 {
36381 RenameStmt *n = makeNode(RenameStmt);
36382 n->renameType = OBJECT_LANGUAGE;
36383 n->object = (Node *) makeString((yyvsp[-3].str));
36384 n->newname = (yyvsp[0].str);
36385 n->missing_ok = false;
36386 (yyval.node) = (Node *)n;
36387 }
36388#line 36389 "gram.c" /* yacc.c:1646 */
36389 break;
36390
36391 case 1258:
36392#line 8516 "gram.y" /* yacc.c:1646 */
36393 {
36394 RenameStmt *n = makeNode(RenameStmt);
36395 n->renameType = OBJECT_OPCLASS;
36396 n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
36397 n->newname = (yyvsp[0].str);
36398 n->missing_ok = false;
36399 (yyval.node) = (Node *)n;
36400 }
36401#line 36402 "gram.c" /* yacc.c:1646 */
36402 break;
36403
36404 case 1259:
36405#line 8525 "gram.y" /* yacc.c:1646 */
36406 {
36407 RenameStmt *n = makeNode(RenameStmt);
36408 n->renameType = OBJECT_OPFAMILY;
36409 n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
36410 n->newname = (yyvsp[0].str);
36411 n->missing_ok = false;
36412 (yyval.node) = (Node *)n;
36413 }
36414#line 36415 "gram.c" /* yacc.c:1646 */
36415 break;
36416
36417 case 1260:
36418#line 8534 "gram.y" /* yacc.c:1646 */
36419 {
36420 RenameStmt *n = makeNode(RenameStmt);
36421 n->renameType = OBJECT_POLICY;
36422 n->relation = (yyvsp[-3].range);
36423 n->subname = (yyvsp[-5].str);
36424 n->newname = (yyvsp[0].str);
36425 n->missing_ok = false;
36426 (yyval.node) = (Node *)n;
36427 }
36428#line 36429 "gram.c" /* yacc.c:1646 */
36429 break;
36430
36431 case 1261:
36432#line 8544 "gram.y" /* yacc.c:1646 */
36433 {
36434 RenameStmt *n = makeNode(RenameStmt);
36435 n->renameType = OBJECT_POLICY;
36436 n->relation = (yyvsp[-3].range);
36437 n->subname = (yyvsp[-5].str);
36438 n->newname = (yyvsp[0].str);
36439 n->missing_ok = true;
36440 (yyval.node) = (Node *)n;
36441 }
36442#line 36443 "gram.c" /* yacc.c:1646 */
36443 break;
36444
36445 case 1262:
36446#line 8554 "gram.y" /* yacc.c:1646 */
36447 {
36448 RenameStmt *n = makeNode(RenameStmt);
36449 n->renameType = OBJECT_PROCEDURE;
36450 n->object = (Node *) (yyvsp[-3].objwithargs);
36451 n->newname = (yyvsp[0].str);
36452 n->missing_ok = false;
36453 (yyval.node) = (Node *)n;
36454 }
36455#line 36456 "gram.c" /* yacc.c:1646 */
36456 break;
36457
36458 case 1263:
36459#line 8563 "gram.y" /* yacc.c:1646 */
36460 {
36461 RenameStmt *n = makeNode(RenameStmt);
36462 n->renameType = OBJECT_PUBLICATION;
36463 n->object = (Node *) makeString((yyvsp[-3].str));
36464 n->newname = (yyvsp[0].str);
36465 n->missing_ok = false;
36466 (yyval.node) = (Node *)n;
36467 }
36468#line 36469 "gram.c" /* yacc.c:1646 */
36469 break;
36470
36471 case 1264:
36472#line 8572 "gram.y" /* yacc.c:1646 */
36473 {
36474 RenameStmt *n = makeNode(RenameStmt);
36475 n->renameType = OBJECT_ROUTINE;
36476 n->object = (Node *) (yyvsp[-3].objwithargs);
36477 n->newname = (yyvsp[0].str);
36478 n->missing_ok = false;
36479 (yyval.node) = (Node *)n;
36480 }
36481#line 36482 "gram.c" /* yacc.c:1646 */
36482 break;
36483
36484 case 1265:
36485#line 8581 "gram.y" /* yacc.c:1646 */
36486 {
36487 RenameStmt *n = makeNode(RenameStmt);
36488 n->renameType = OBJECT_SCHEMA;
36489 n->subname = (yyvsp[-3].str);
36490 n->newname = (yyvsp[0].str);
36491 n->missing_ok = false;
36492 (yyval.node) = (Node *)n;
36493 }
36494#line 36495 "gram.c" /* yacc.c:1646 */
36495 break;
36496
36497 case 1266:
36498#line 8590 "gram.y" /* yacc.c:1646 */
36499 {
36500 RenameStmt *n = makeNode(RenameStmt);
36501 n->renameType = OBJECT_FOREIGN_SERVER;
36502 n->object = (Node *) makeString((yyvsp[-3].str));
36503 n->newname = (yyvsp[0].str);
36504 n->missing_ok = false;
36505 (yyval.node) = (Node *)n;
36506 }
36507#line 36508 "gram.c" /* yacc.c:1646 */
36508 break;
36509
36510 case 1267:
36511#line 8599 "gram.y" /* yacc.c:1646 */
36512 {
36513 RenameStmt *n = makeNode(RenameStmt);
36514 n->renameType = OBJECT_SUBSCRIPTION;
36515 n->object = (Node *) makeString((yyvsp[-3].str));
36516 n->newname = (yyvsp[0].str);
36517 n->missing_ok = false;
36518 (yyval.node) = (Node *)n;
36519 }
36520#line 36521 "gram.c" /* yacc.c:1646 */
36521 break;
36522
36523 case 1268:
36524#line 8608 "gram.y" /* yacc.c:1646 */
36525 {
36526 RenameStmt *n = makeNode(RenameStmt);
36527 n->renameType = OBJECT_TABLE;
36528 n->relation = (yyvsp[-3].range);
36529 n->subname = NULL;
36530 n->newname = (yyvsp[0].str);
36531 n->missing_ok = false;
36532 (yyval.node) = (Node *)n;
36533 }
36534#line 36535 "gram.c" /* yacc.c:1646 */
36535 break;
36536
36537 case 1269:
36538#line 8618 "gram.y" /* yacc.c:1646 */
36539 {
36540 RenameStmt *n = makeNode(RenameStmt);
36541 n->renameType = OBJECT_TABLE;
36542 n->relation = (yyvsp[-3].range);
36543 n->subname = NULL;
36544 n->newname = (yyvsp[0].str);
36545 n->missing_ok = true;
36546 (yyval.node) = (Node *)n;
36547 }
36548#line 36549 "gram.c" /* yacc.c:1646 */
36549 break;
36550
36551 case 1270:
36552#line 8628 "gram.y" /* yacc.c:1646 */
36553 {
36554 RenameStmt *n = makeNode(RenameStmt);
36555 n->renameType = OBJECT_SEQUENCE;
36556 n->relation = (yyvsp[-3].range);
36557 n->subname = NULL;
36558 n->newname = (yyvsp[0].str);
36559 n->missing_ok = false;
36560 (yyval.node) = (Node *)n;
36561 }
36562#line 36563 "gram.c" /* yacc.c:1646 */
36563 break;
36564
36565 case 1271:
36566#line 8638 "gram.y" /* yacc.c:1646 */
36567 {
36568 RenameStmt *n = makeNode(RenameStmt);
36569 n->renameType = OBJECT_SEQUENCE;
36570 n->relation = (yyvsp[-3].range);
36571 n->subname = NULL;
36572 n->newname = (yyvsp[0].str);
36573 n->missing_ok = true;
36574 (yyval.node) = (Node *)n;
36575 }
36576#line 36577 "gram.c" /* yacc.c:1646 */
36577 break;
36578
36579 case 1272:
36580#line 8648 "gram.y" /* yacc.c:1646 */
36581 {
36582 RenameStmt *n = makeNode(RenameStmt);
36583 n->renameType = OBJECT_VIEW;
36584 n->relation = (yyvsp[-3].range);
36585 n->subname = NULL;
36586 n->newname = (yyvsp[0].str);
36587 n->missing_ok = false;
36588 (yyval.node) = (Node *)n;
36589 }
36590#line 36591 "gram.c" /* yacc.c:1646 */
36591 break;
36592
36593 case 1273:
36594#line 8658 "gram.y" /* yacc.c:1646 */
36595 {
36596 RenameStmt *n = makeNode(RenameStmt);
36597 n->renameType = OBJECT_VIEW;
36598 n->relation = (yyvsp[-3].range);
36599 n->subname = NULL;
36600 n->newname = (yyvsp[0].str);
36601 n->missing_ok = true;
36602 (yyval.node) = (Node *)n;
36603 }
36604#line 36605 "gram.c" /* yacc.c:1646 */
36605 break;
36606
36607 case 1274:
36608#line 8668 "gram.y" /* yacc.c:1646 */
36609 {
36610 RenameStmt *n = makeNode(RenameStmt);
36611 n->renameType = OBJECT_MATVIEW;
36612 n->relation = (yyvsp[-3].range);
36613 n->subname = NULL;
36614 n->newname = (yyvsp[0].str);
36615 n->missing_ok = false;
36616 (yyval.node) = (Node *)n;
36617 }
36618#line 36619 "gram.c" /* yacc.c:1646 */
36619 break;
36620
36621 case 1275:
36622#line 8678 "gram.y" /* yacc.c:1646 */
36623 {
36624 RenameStmt *n = makeNode(RenameStmt);
36625 n->renameType = OBJECT_MATVIEW;
36626 n->relation = (yyvsp[-3].range);
36627 n->subname = NULL;
36628 n->newname = (yyvsp[0].str);
36629 n->missing_ok = true;
36630 (yyval.node) = (Node *)n;
36631 }
36632#line 36633 "gram.c" /* yacc.c:1646 */
36633 break;
36634
36635 case 1276:
36636#line 8688 "gram.y" /* yacc.c:1646 */
36637 {
36638 RenameStmt *n = makeNode(RenameStmt);
36639 n->renameType = OBJECT_INDEX;
36640 n->relation = (yyvsp[-3].range);
36641 n->subname = NULL;
36642 n->newname = (yyvsp[0].str);
36643 n->missing_ok = false;
36644 (yyval.node) = (Node *)n;
36645 }
36646#line 36647 "gram.c" /* yacc.c:1646 */
36647 break;
36648
36649 case 1277:
36650#line 8698 "gram.y" /* yacc.c:1646 */
36651 {
36652 RenameStmt *n = makeNode(RenameStmt);
36653 n->renameType = OBJECT_INDEX;
36654 n->relation = (yyvsp[-3].range);
36655 n->subname = NULL;
36656 n->newname = (yyvsp[0].str);
36657 n->missing_ok = true;
36658 (yyval.node) = (Node *)n;
36659 }
36660#line 36661 "gram.c" /* yacc.c:1646 */
36661 break;
36662
36663 case 1278:
36664#line 8708 "gram.y" /* yacc.c:1646 */
36665 {
36666 RenameStmt *n = makeNode(RenameStmt);
36667 n->renameType = OBJECT_FOREIGN_TABLE;
36668 n->relation = (yyvsp[-3].range);
36669 n->subname = NULL;
36670 n->newname = (yyvsp[0].str);
36671 n->missing_ok = false;
36672 (yyval.node) = (Node *)n;
36673 }
36674#line 36675 "gram.c" /* yacc.c:1646 */
36675 break;
36676
36677 case 1279:
36678#line 8718 "gram.y" /* yacc.c:1646 */
36679 {
36680 RenameStmt *n = makeNode(RenameStmt);
36681 n->renameType = OBJECT_FOREIGN_TABLE;
36682 n->relation = (yyvsp[-3].range);
36683 n->subname = NULL;
36684 n->newname = (yyvsp[0].str);
36685 n->missing_ok = true;
36686 (yyval.node) = (Node *)n;
36687 }
36688#line 36689 "gram.c" /* yacc.c:1646 */
36689 break;
36690
36691 case 1280:
36692#line 8728 "gram.y" /* yacc.c:1646 */
36693 {
36694 RenameStmt *n = makeNode(RenameStmt);
36695 n->renameType = OBJECT_COLUMN;
36696 n->relationType = OBJECT_TABLE;
36697 n->relation = (yyvsp[-5].range);
36698 n->subname = (yyvsp[-2].str);
36699 n->newname = (yyvsp[0].str);
36700 n->missing_ok = false;
36701 (yyval.node) = (Node *)n;
36702 }
36703#line 36704 "gram.c" /* yacc.c:1646 */
36704 break;
36705
36706 case 1281:
36707#line 8739 "gram.y" /* yacc.c:1646 */
36708 {
36709 RenameStmt *n = makeNode(RenameStmt);
36710 n->renameType = OBJECT_COLUMN;
36711 n->relationType = OBJECT_TABLE;
36712 n->relation = (yyvsp[-5].range);
36713 n->subname = (yyvsp[-2].str);
36714 n->newname = (yyvsp[0].str);
36715 n->missing_ok = true;
36716 (yyval.node) = (Node *)n;
36717 }
36718#line 36719 "gram.c" /* yacc.c:1646 */
36719 break;
36720
36721 case 1282:
36722#line 8750 "gram.y" /* yacc.c:1646 */
36723 {
36724 RenameStmt *n = makeNode(RenameStmt);
36725 n->renameType = OBJECT_COLUMN;
36726 n->relationType = OBJECT_MATVIEW;
36727 n->relation = (yyvsp[-5].range);
36728 n->subname = (yyvsp[-2].str);
36729 n->newname = (yyvsp[0].str);
36730 n->missing_ok = false;
36731 (yyval.node) = (Node *)n;
36732 }
36733#line 36734 "gram.c" /* yacc.c:1646 */
36734 break;
36735
36736 case 1283:
36737#line 8761 "gram.y" /* yacc.c:1646 */
36738 {
36739 RenameStmt *n = makeNode(RenameStmt);
36740 n->renameType = OBJECT_COLUMN;
36741 n->relationType = OBJECT_MATVIEW;
36742 n->relation = (yyvsp[-5].range);
36743 n->subname = (yyvsp[-2].str);
36744 n->newname = (yyvsp[0].str);
36745 n->missing_ok = true;
36746 (yyval.node) = (Node *)n;
36747 }
36748#line 36749 "gram.c" /* yacc.c:1646 */
36749 break;
36750
36751 case 1284:
36752#line 8772 "gram.y" /* yacc.c:1646 */
36753 {
36754 RenameStmt *n = makeNode(RenameStmt);
36755 n->renameType = OBJECT_TABCONSTRAINT;
36756 n->relation = (yyvsp[-5].range);
36757 n->subname = (yyvsp[-2].str);
36758 n->newname = (yyvsp[0].str);
36759 n->missing_ok = false;
36760 (yyval.node) = (Node *)n;
36761 }
36762#line 36763 "gram.c" /* yacc.c:1646 */
36763 break;
36764
36765 case 1285:
36766#line 8782 "gram.y" /* yacc.c:1646 */
36767 {
36768 RenameStmt *n = makeNode(RenameStmt);
36769 n->renameType = OBJECT_TABCONSTRAINT;
36770 n->relation = (yyvsp[-5].range);
36771 n->subname = (yyvsp[-2].str);
36772 n->newname = (yyvsp[0].str);
36773 n->missing_ok = true;
36774 (yyval.node) = (Node *)n;
36775 }
36776#line 36777 "gram.c" /* yacc.c:1646 */
36777 break;
36778
36779 case 1286:
36780#line 8792 "gram.y" /* yacc.c:1646 */
36781 {
36782 RenameStmt *n = makeNode(RenameStmt);
36783 n->renameType = OBJECT_COLUMN;
36784 n->relationType = OBJECT_FOREIGN_TABLE;
36785 n->relation = (yyvsp[-5].range);
36786 n->subname = (yyvsp[-2].str);
36787 n->newname = (yyvsp[0].str);
36788 n->missing_ok = false;
36789 (yyval.node) = (Node *)n;
36790 }
36791#line 36792 "gram.c" /* yacc.c:1646 */
36792 break;
36793
36794 case 1287:
36795#line 8803 "gram.y" /* yacc.c:1646 */
36796 {
36797 RenameStmt *n = makeNode(RenameStmt);
36798 n->renameType = OBJECT_COLUMN;
36799 n->relationType = OBJECT_FOREIGN_TABLE;
36800 n->relation = (yyvsp[-5].range);
36801 n->subname = (yyvsp[-2].str);
36802 n->newname = (yyvsp[0].str);
36803 n->missing_ok = true;
36804 (yyval.node) = (Node *)n;
36805 }
36806#line 36807 "gram.c" /* yacc.c:1646 */
36807 break;
36808
36809 case 1288:
36810#line 8814 "gram.y" /* yacc.c:1646 */
36811 {
36812 RenameStmt *n = makeNode(RenameStmt);
36813 n->renameType = OBJECT_RULE;
36814 n->relation = (yyvsp[-3].range);
36815 n->subname = (yyvsp[-5].str);
36816 n->newname = (yyvsp[0].str);
36817 n->missing_ok = false;
36818 (yyval.node) = (Node *)n;
36819 }
36820#line 36821 "gram.c" /* yacc.c:1646 */
36821 break;
36822
36823 case 1289:
36824#line 8824 "gram.y" /* yacc.c:1646 */
36825 {
36826 RenameStmt *n = makeNode(RenameStmt);
36827 n->renameType = OBJECT_TRIGGER;
36828 n->relation = (yyvsp[-3].range);
36829 n->subname = (yyvsp[-5].str);
36830 n->newname = (yyvsp[0].str);
36831 n->missing_ok = false;
36832 (yyval.node) = (Node *)n;
36833 }
36834#line 36835 "gram.c" /* yacc.c:1646 */
36835 break;
36836
36837 case 1290:
36838#line 8834 "gram.y" /* yacc.c:1646 */
36839 {
36840 RenameStmt *n = makeNode(RenameStmt);
36841 n->renameType = OBJECT_EVENT_TRIGGER;
36842 n->object = (Node *) makeString((yyvsp[-3].str));
36843 n->newname = (yyvsp[0].str);
36844 (yyval.node) = (Node *)n;
36845 }
36846#line 36847 "gram.c" /* yacc.c:1646 */
36847 break;
36848
36849 case 1291:
36850#line 8842 "gram.y" /* yacc.c:1646 */
36851 {
36852 RenameStmt *n = makeNode(RenameStmt);
36853 n->renameType = OBJECT_ROLE;
36854 n->subname = (yyvsp[-3].str);
36855 n->newname = (yyvsp[0].str);
36856 n->missing_ok = false;
36857 (yyval.node) = (Node *)n;
36858 }
36859#line 36860 "gram.c" /* yacc.c:1646 */
36860 break;
36861
36862 case 1292:
36863#line 8851 "gram.y" /* yacc.c:1646 */
36864 {
36865 RenameStmt *n = makeNode(RenameStmt);
36866 n->renameType = OBJECT_ROLE;
36867 n->subname = (yyvsp[-3].str);
36868 n->newname = (yyvsp[0].str);
36869 n->missing_ok = false;
36870 (yyval.node) = (Node *)n;
36871 }
36872#line 36873 "gram.c" /* yacc.c:1646 */
36873 break;
36874
36875 case 1293:
36876#line 8860 "gram.y" /* yacc.c:1646 */
36877 {
36878 RenameStmt *n = makeNode(RenameStmt);
36879 n->renameType = OBJECT_TABLESPACE;
36880 n->subname = (yyvsp[-3].str);
36881 n->newname = (yyvsp[0].str);
36882 n->missing_ok = false;
36883 (yyval.node) = (Node *)n;
36884 }
36885#line 36886 "gram.c" /* yacc.c:1646 */
36886 break;
36887
36888 case 1294:
36889#line 8869 "gram.y" /* yacc.c:1646 */
36890 {
36891 RenameStmt *n = makeNode(RenameStmt);
36892 n->renameType = OBJECT_STATISTIC_EXT;
36893 n->object = (Node *) (yyvsp[-3].list);
36894 n->newname = (yyvsp[0].str);
36895 n->missing_ok = false;
36896 (yyval.node) = (Node *)n;
36897 }
36898#line 36899 "gram.c" /* yacc.c:1646 */
36899 break;
36900
36901 case 1295:
36902#line 8878 "gram.y" /* yacc.c:1646 */
36903 {
36904 RenameStmt *n = makeNode(RenameStmt);
36905 n->renameType = OBJECT_TSPARSER;
36906 n->object = (Node *) (yyvsp[-3].list);
36907 n->newname = (yyvsp[0].str);
36908 n->missing_ok = false;
36909 (yyval.node) = (Node *)n;
36910 }
36911#line 36912 "gram.c" /* yacc.c:1646 */
36912 break;
36913
36914 case 1296:
36915#line 8887 "gram.y" /* yacc.c:1646 */
36916 {
36917 RenameStmt *n = makeNode(RenameStmt);
36918 n->renameType = OBJECT_TSDICTIONARY;
36919 n->object = (Node *) (yyvsp[-3].list);
36920 n->newname = (yyvsp[0].str);
36921 n->missing_ok = false;
36922 (yyval.node) = (Node *)n;
36923 }
36924#line 36925 "gram.c" /* yacc.c:1646 */
36925 break;
36926
36927 case 1297:
36928#line 8896 "gram.y" /* yacc.c:1646 */
36929 {
36930 RenameStmt *n = makeNode(RenameStmt);
36931 n->renameType = OBJECT_TSTEMPLATE;
36932 n->object = (Node *) (yyvsp[-3].list);
36933 n->newname = (yyvsp[0].str);
36934 n->missing_ok = false;
36935 (yyval.node) = (Node *)n;
36936 }
36937#line 36938 "gram.c" /* yacc.c:1646 */
36938 break;
36939
36940 case 1298:
36941#line 8905 "gram.y" /* yacc.c:1646 */
36942 {
36943 RenameStmt *n = makeNode(RenameStmt);
36944 n->renameType = OBJECT_TSCONFIGURATION;
36945 n->object = (Node *) (yyvsp[-3].list);
36946 n->newname = (yyvsp[0].str);
36947 n->missing_ok = false;
36948 (yyval.node) = (Node *)n;
36949 }
36950#line 36951 "gram.c" /* yacc.c:1646 */
36951 break;
36952
36953 case 1299:
36954#line 8914 "gram.y" /* yacc.c:1646 */
36955 {
36956 RenameStmt *n = makeNode(RenameStmt);
36957 n->renameType = OBJECT_TYPE;
36958 n->object = (Node *) (yyvsp[-3].list);
36959 n->newname = (yyvsp[0].str);
36960 n->missing_ok = false;
36961 (yyval.node) = (Node *)n;
36962 }
36963#line 36964 "gram.c" /* yacc.c:1646 */
36964 break;
36965
36966 case 1300:
36967#line 8923 "gram.y" /* yacc.c:1646 */
36968 {
36969 RenameStmt *n = makeNode(RenameStmt);
36970 n->renameType = OBJECT_ATTRIBUTE;
36971 n->relationType = OBJECT_TYPE;
36972 n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
36973 n->subname = (yyvsp[-3].str);
36974 n->newname = (yyvsp[-1].str);
36975 n->behavior = (yyvsp[0].dbehavior);
36976 n->missing_ok = false;
36977 (yyval.node) = (Node *)n;
36978 }
36979#line 36980 "gram.c" /* yacc.c:1646 */
36980 break;
36981
36982 case 1301:
36983#line 8936 "gram.y" /* yacc.c:1646 */
36984 { (yyval.ival) = COLUMN; }
36985#line 36986 "gram.c" /* yacc.c:1646 */
36986 break;
36987
36988 case 1302:
36989#line 8937 "gram.y" /* yacc.c:1646 */
36990 { (yyval.ival) = 0; }
36991#line 36992 "gram.c" /* yacc.c:1646 */
36992 break;
36993
36994 case 1303:
36995#line 8940 "gram.y" /* yacc.c:1646 */
36996 { (yyval.ival) = 1; }
36997#line 36998 "gram.c" /* yacc.c:1646 */
36998 break;
36999
37000 case 1304:
37001#line 8941 "gram.y" /* yacc.c:1646 */
37002 { (yyval.ival) = 0; }
37003#line 37004 "gram.c" /* yacc.c:1646 */
37004 break;
37005
37006 case 1305:
37007#line 8952 "gram.y" /* yacc.c:1646 */
37008 {
37009 AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37010 n->objectType = OBJECT_FUNCTION;
37011 n->object = (Node *) (yyvsp[-4].objwithargs);
37012 n->extname = makeString((yyvsp[0].str));
37013 (yyval.node) = (Node *)n;
37014 }
37015#line 37016 "gram.c" /* yacc.c:1646 */
37016 break;
37017
37018 case 1306:
37019#line 8960 "gram.y" /* yacc.c:1646 */
37020 {
37021 AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37022 n->objectType = OBJECT_PROCEDURE;
37023 n->object = (Node *) (yyvsp[-4].objwithargs);
37024 n->extname = makeString((yyvsp[0].str));
37025 (yyval.node) = (Node *)n;
37026 }
37027#line 37028 "gram.c" /* yacc.c:1646 */
37028 break;
37029
37030 case 1307:
37031#line 8968 "gram.y" /* yacc.c:1646 */
37032 {
37033 AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37034 n->objectType = OBJECT_ROUTINE;
37035 n->object = (Node *) (yyvsp[-4].objwithargs);
37036 n->extname = makeString((yyvsp[0].str));
37037 (yyval.node) = (Node *)n;
37038 }
37039#line 37040 "gram.c" /* yacc.c:1646 */
37040 break;
37041
37042 case 1308:
37043#line 8976 "gram.y" /* yacc.c:1646 */
37044 {
37045 AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37046 n->objectType = OBJECT_TRIGGER;
37047 n->relation = (yyvsp[-4].range);
37048 n->object = (Node *) list_make1(makeString((yyvsp[-6].str)));
37049 n->extname = makeString((yyvsp[0].str));
37050 (yyval.node) = (Node *)n;
37051 }
37052#line 37053 "gram.c" /* yacc.c:1646 */
37053 break;
37054
37055 case 1309:
37056#line 8985 "gram.y" /* yacc.c:1646 */
37057 {
37058 AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37059 n->objectType = OBJECT_MATVIEW;
37060 n->relation = (yyvsp[-4].range);
37061 n->extname = makeString((yyvsp[0].str));
37062 (yyval.node) = (Node *)n;
37063 }
37064#line 37065 "gram.c" /* yacc.c:1646 */
37065 break;
37066
37067 case 1310:
37068#line 8993 "gram.y" /* yacc.c:1646 */
37069 {
37070 AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37071 n->objectType = OBJECT_INDEX;
37072 n->relation = (yyvsp[-4].range);
37073 n->extname = makeString((yyvsp[0].str));
37074 (yyval.node) = (Node *)n;
37075 }
37076#line 37077 "gram.c" /* yacc.c:1646 */
37077 break;
37078
37079 case 1311:
37080#line 9010 "gram.y" /* yacc.c:1646 */
37081 {
37082 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37083 n->objectType = OBJECT_AGGREGATE;
37084 n->object = (Node *) (yyvsp[-3].objwithargs);
37085 n->newschema = (yyvsp[0].str);
37086 n->missing_ok = false;
37087 (yyval.node) = (Node *)n;
37088 }
37089#line 37090 "gram.c" /* yacc.c:1646 */
37090 break;
37091
37092 case 1312:
37093#line 9019 "gram.y" /* yacc.c:1646 */
37094 {
37095 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37096 n->objectType = OBJECT_COLLATION;
37097 n->object = (Node *) (yyvsp[-3].list);
37098 n->newschema = (yyvsp[0].str);
37099 n->missing_ok = false;
37100 (yyval.node) = (Node *)n;
37101 }
37102#line 37103 "gram.c" /* yacc.c:1646 */
37103 break;
37104
37105 case 1313:
37106#line 9028 "gram.y" /* yacc.c:1646 */
37107 {
37108 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37109 n->objectType = OBJECT_CONVERSION;
37110 n->object = (Node *) (yyvsp[-3].list);
37111 n->newschema = (yyvsp[0].str);
37112 n->missing_ok = false;
37113 (yyval.node) = (Node *)n;
37114 }
37115#line 37116 "gram.c" /* yacc.c:1646 */
37116 break;
37117
37118 case 1314:
37119#line 9037 "gram.y" /* yacc.c:1646 */
37120 {
37121 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37122 n->objectType = OBJECT_DOMAIN;
37123 n->object = (Node *) (yyvsp[-3].list);
37124 n->newschema = (yyvsp[0].str);
37125 n->missing_ok = false;
37126 (yyval.node) = (Node *)n;
37127 }
37128#line 37129 "gram.c" /* yacc.c:1646 */
37129 break;
37130
37131 case 1315:
37132#line 9046 "gram.y" /* yacc.c:1646 */
37133 {
37134 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37135 n->objectType = OBJECT_EXTENSION;
37136 n->object = (Node *) makeString((yyvsp[-3].str));
37137 n->newschema = (yyvsp[0].str);
37138 n->missing_ok = false;
37139 (yyval.node) = (Node *)n;
37140 }
37141#line 37142 "gram.c" /* yacc.c:1646 */
37142 break;
37143
37144 case 1316:
37145#line 9055 "gram.y" /* yacc.c:1646 */
37146 {
37147 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37148 n->objectType = OBJECT_FUNCTION;
37149 n->object = (Node *) (yyvsp[-3].objwithargs);
37150 n->newschema = (yyvsp[0].str);
37151 n->missing_ok = false;
37152 (yyval.node) = (Node *)n;
37153 }
37154#line 37155 "gram.c" /* yacc.c:1646 */
37155 break;
37156
37157 case 1317:
37158#line 9064 "gram.y" /* yacc.c:1646 */
37159 {
37160 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37161 n->objectType = OBJECT_OPERATOR;
37162 n->object = (Node *) (yyvsp[-3].objwithargs);
37163 n->newschema = (yyvsp[0].str);
37164 n->missing_ok = false;
37165 (yyval.node) = (Node *)n;
37166 }
37167#line 37168 "gram.c" /* yacc.c:1646 */
37168 break;
37169
37170 case 1318:
37171#line 9073 "gram.y" /* yacc.c:1646 */
37172 {
37173 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37174 n->objectType = OBJECT_OPCLASS;
37175 n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37176 n->newschema = (yyvsp[0].str);
37177 n->missing_ok = false;
37178 (yyval.node) = (Node *)n;
37179 }
37180#line 37181 "gram.c" /* yacc.c:1646 */
37181 break;
37182
37183 case 1319:
37184#line 9082 "gram.y" /* yacc.c:1646 */
37185 {
37186 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37187 n->objectType = OBJECT_OPFAMILY;
37188 n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37189 n->newschema = (yyvsp[0].str);
37190 n->missing_ok = false;
37191 (yyval.node) = (Node *)n;
37192 }
37193#line 37194 "gram.c" /* yacc.c:1646 */
37194 break;
37195
37196 case 1320:
37197#line 9091 "gram.y" /* yacc.c:1646 */
37198 {
37199 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37200 n->objectType = OBJECT_PROCEDURE;
37201 n->object = (Node *) (yyvsp[-3].objwithargs);
37202 n->newschema = (yyvsp[0].str);
37203 n->missing_ok = false;
37204 (yyval.node) = (Node *)n;
37205 }
37206#line 37207 "gram.c" /* yacc.c:1646 */
37207 break;
37208
37209 case 1321:
37210#line 9100 "gram.y" /* yacc.c:1646 */
37211 {
37212 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37213 n->objectType = OBJECT_ROUTINE;
37214 n->object = (Node *) (yyvsp[-3].objwithargs);
37215 n->newschema = (yyvsp[0].str);
37216 n->missing_ok = false;
37217 (yyval.node) = (Node *)n;
37218 }
37219#line 37220 "gram.c" /* yacc.c:1646 */
37220 break;
37221
37222 case 1322:
37223#line 9109 "gram.y" /* yacc.c:1646 */
37224 {
37225 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37226 n->objectType = OBJECT_TABLE;
37227 n->relation = (yyvsp[-3].range);
37228 n->newschema = (yyvsp[0].str);
37229 n->missing_ok = false;
37230 (yyval.node) = (Node *)n;
37231 }
37232#line 37233 "gram.c" /* yacc.c:1646 */
37233 break;
37234
37235 case 1323:
37236#line 9118 "gram.y" /* yacc.c:1646 */
37237 {
37238 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37239 n->objectType = OBJECT_TABLE;
37240 n->relation = (yyvsp[-3].range);
37241 n->newschema = (yyvsp[0].str);
37242 n->missing_ok = true;
37243 (yyval.node) = (Node *)n;
37244 }
37245#line 37246 "gram.c" /* yacc.c:1646 */
37246 break;
37247
37248 case 1324:
37249#line 9127 "gram.y" /* yacc.c:1646 */
37250 {
37251 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37252 n->objectType = OBJECT_STATISTIC_EXT;
37253 n->object = (Node *) (yyvsp[-3].list);
37254 n->newschema = (yyvsp[0].str);
37255 n->missing_ok = false;
37256 (yyval.node) = (Node *)n;
37257 }
37258#line 37259 "gram.c" /* yacc.c:1646 */
37259 break;
37260
37261 case 1325:
37262#line 9136 "gram.y" /* yacc.c:1646 */
37263 {
37264 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37265 n->objectType = OBJECT_TSPARSER;
37266 n->object = (Node *) (yyvsp[-3].list);
37267 n->newschema = (yyvsp[0].str);
37268 n->missing_ok = false;
37269 (yyval.node) = (Node *)n;
37270 }
37271#line 37272 "gram.c" /* yacc.c:1646 */
37272 break;
37273
37274 case 1326:
37275#line 9145 "gram.y" /* yacc.c:1646 */
37276 {
37277 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37278 n->objectType = OBJECT_TSDICTIONARY;
37279 n->object = (Node *) (yyvsp[-3].list);
37280 n->newschema = (yyvsp[0].str);
37281 n->missing_ok = false;
37282 (yyval.node) = (Node *)n;
37283 }
37284#line 37285 "gram.c" /* yacc.c:1646 */
37285 break;
37286
37287 case 1327:
37288#line 9154 "gram.y" /* yacc.c:1646 */
37289 {
37290 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37291 n->objectType = OBJECT_TSTEMPLATE;
37292 n->object = (Node *) (yyvsp[-3].list);
37293 n->newschema = (yyvsp[0].str);
37294 n->missing_ok = false;
37295 (yyval.node) = (Node *)n;
37296 }
37297#line 37298 "gram.c" /* yacc.c:1646 */
37298 break;
37299
37300 case 1328:
37301#line 9163 "gram.y" /* yacc.c:1646 */
37302 {
37303 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37304 n->objectType = OBJECT_TSCONFIGURATION;
37305 n->object = (Node *) (yyvsp[-3].list);
37306 n->newschema = (yyvsp[0].str);
37307 n->missing_ok = false;
37308 (yyval.node) = (Node *)n;
37309 }
37310#line 37311 "gram.c" /* yacc.c:1646 */
37311 break;
37312
37313 case 1329:
37314#line 9172 "gram.y" /* yacc.c:1646 */
37315 {
37316 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37317 n->objectType = OBJECT_SEQUENCE;
37318 n->relation = (yyvsp[-3].range);
37319 n->newschema = (yyvsp[0].str);
37320 n->missing_ok = false;
37321 (yyval.node) = (Node *)n;
37322 }
37323#line 37324 "gram.c" /* yacc.c:1646 */
37324 break;
37325
37326 case 1330:
37327#line 9181 "gram.y" /* yacc.c:1646 */
37328 {
37329 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37330 n->objectType = OBJECT_SEQUENCE;
37331 n->relation = (yyvsp[-3].range);
37332 n->newschema = (yyvsp[0].str);
37333 n->missing_ok = true;
37334 (yyval.node) = (Node *)n;
37335 }
37336#line 37337 "gram.c" /* yacc.c:1646 */
37337 break;
37338
37339 case 1331:
37340#line 9190 "gram.y" /* yacc.c:1646 */
37341 {
37342 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37343 n->objectType = OBJECT_VIEW;
37344 n->relation = (yyvsp[-3].range);
37345 n->newschema = (yyvsp[0].str);
37346 n->missing_ok = false;
37347 (yyval.node) = (Node *)n;
37348 }
37349#line 37350 "gram.c" /* yacc.c:1646 */
37350 break;
37351
37352 case 1332:
37353#line 9199 "gram.y" /* yacc.c:1646 */
37354 {
37355 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37356 n->objectType = OBJECT_VIEW;
37357 n->relation = (yyvsp[-3].range);
37358 n->newschema = (yyvsp[0].str);
37359 n->missing_ok = true;
37360 (yyval.node) = (Node *)n;
37361 }
37362#line 37363 "gram.c" /* yacc.c:1646 */
37363 break;
37364
37365 case 1333:
37366#line 9208 "gram.y" /* yacc.c:1646 */
37367 {
37368 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37369 n->objectType = OBJECT_MATVIEW;
37370 n->relation = (yyvsp[-3].range);
37371 n->newschema = (yyvsp[0].str);
37372 n->missing_ok = false;
37373 (yyval.node) = (Node *)n;
37374 }
37375#line 37376 "gram.c" /* yacc.c:1646 */
37376 break;
37377
37378 case 1334:
37379#line 9217 "gram.y" /* yacc.c:1646 */
37380 {
37381 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37382 n->objectType = OBJECT_MATVIEW;
37383 n->relation = (yyvsp[-3].range);
37384 n->newschema = (yyvsp[0].str);
37385 n->missing_ok = true;
37386 (yyval.node) = (Node *)n;
37387 }
37388#line 37389 "gram.c" /* yacc.c:1646 */
37389 break;
37390
37391 case 1335:
37392#line 9226 "gram.y" /* yacc.c:1646 */
37393 {
37394 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37395 n->objectType = OBJECT_FOREIGN_TABLE;
37396 n->relation = (yyvsp[-3].range);
37397 n->newschema = (yyvsp[0].str);
37398 n->missing_ok = false;
37399 (yyval.node) = (Node *)n;
37400 }
37401#line 37402 "gram.c" /* yacc.c:1646 */
37402 break;
37403
37404 case 1336:
37405#line 9235 "gram.y" /* yacc.c:1646 */
37406 {
37407 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37408 n->objectType = OBJECT_FOREIGN_TABLE;
37409 n->relation = (yyvsp[-3].range);
37410 n->newschema = (yyvsp[0].str);
37411 n->missing_ok = true;
37412 (yyval.node) = (Node *)n;
37413 }
37414#line 37415 "gram.c" /* yacc.c:1646 */
37415 break;
37416
37417 case 1337:
37418#line 9244 "gram.y" /* yacc.c:1646 */
37419 {
37420 AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
37421 n->objectType = OBJECT_TYPE;
37422 n->object = (Node *) (yyvsp[-3].list);
37423 n->newschema = (yyvsp[0].str);
37424 n->missing_ok = false;
37425 (yyval.node) = (Node *)n;
37426 }
37427#line 37428 "gram.c" /* yacc.c:1646 */
37428 break;
37429
37430 case 1338:
37431#line 9262 "gram.y" /* yacc.c:1646 */
37432 {
37433 AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
37434 n->opername = (yyvsp[-4].objwithargs);
37435 n->options = (yyvsp[-1].list);
37436 (yyval.node) = (Node *)n;
37437 }
37438#line 37439 "gram.c" /* yacc.c:1646 */
37439 break;
37440
37441 case 1339:
37442#line 9270 "gram.y" /* yacc.c:1646 */
37443 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
37444#line 37445 "gram.c" /* yacc.c:1646 */
37445 break;
37446
37447 case 1340:
37448#line 9271 "gram.y" /* yacc.c:1646 */
37449 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
37450#line 37451 "gram.c" /* yacc.c:1646 */
37451 break;
37452
37453 case 1341:
37454#line 9275 "gram.y" /* yacc.c:1646 */
37455 { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
37456#line 37457 "gram.c" /* yacc.c:1646 */
37457 break;
37458
37459 case 1342:
37460#line 9277 "gram.y" /* yacc.c:1646 */
37461 { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
37462#line 37463 "gram.c" /* yacc.c:1646 */
37463 break;
37464
37465 case 1343:
37466#line 9282 "gram.y" /* yacc.c:1646 */
37467 { (yyval.node) = (Node *)(yyvsp[0].typnam); }
37468#line 37469 "gram.c" /* yacc.c:1646 */
37469 break;
37470
37471 case 1344:
37472#line 9283 "gram.y" /* yacc.c:1646 */
37473 { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
37474#line 37475 "gram.c" /* yacc.c:1646 */
37475 break;
37476
37477 case 1345:
37478#line 9284 "gram.y" /* yacc.c:1646 */
37479 { (yyval.node) = (Node *)(yyvsp[0].list); }
37480#line 37481 "gram.c" /* yacc.c:1646 */
37481 break;
37482
37483 case 1346:
37484#line 9285 "gram.y" /* yacc.c:1646 */
37485 { (yyval.node) = (Node *)(yyvsp[0].value); }
37486#line 37487 "gram.c" /* yacc.c:1646 */
37487 break;
37488
37489 case 1347:
37490#line 9286 "gram.y" /* yacc.c:1646 */
37491 { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
37492#line 37493 "gram.c" /* yacc.c:1646 */
37493 break;
37494
37495 case 1348:
37496#line 9296 "gram.y" /* yacc.c:1646 */
37497 {
37498 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37499 n->objectType = OBJECT_AGGREGATE;
37500 n->object = (Node *) (yyvsp[-3].objwithargs);
37501 n->newowner = (yyvsp[0].rolespec);
37502 (yyval.node) = (Node *)n;
37503 }
37504#line 37505 "gram.c" /* yacc.c:1646 */
37505 break;
37506
37507 case 1349:
37508#line 9304 "gram.y" /* yacc.c:1646 */
37509 {
37510 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37511 n->objectType = OBJECT_COLLATION;
37512 n->object = (Node *) (yyvsp[-3].list);
37513 n->newowner = (yyvsp[0].rolespec);
37514 (yyval.node) = (Node *)n;
37515 }
37516#line 37517 "gram.c" /* yacc.c:1646 */
37517 break;
37518
37519 case 1350:
37520#line 9312 "gram.y" /* yacc.c:1646 */
37521 {
37522 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37523 n->objectType = OBJECT_CONVERSION;
37524 n->object = (Node *) (yyvsp[-3].list);
37525 n->newowner = (yyvsp[0].rolespec);
37526 (yyval.node) = (Node *)n;
37527 }
37528#line 37529 "gram.c" /* yacc.c:1646 */
37529 break;
37530
37531 case 1351:
37532#line 9320 "gram.y" /* yacc.c:1646 */
37533 {
37534 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37535 n->objectType = OBJECT_DATABASE;
37536 n->object = (Node *) makeString((yyvsp[-3].str));
37537 n->newowner = (yyvsp[0].rolespec);
37538 (yyval.node) = (Node *)n;
37539 }
37540#line 37541 "gram.c" /* yacc.c:1646 */
37541 break;
37542
37543 case 1352:
37544#line 9328 "gram.y" /* yacc.c:1646 */
37545 {
37546 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37547 n->objectType = OBJECT_DOMAIN;
37548 n->object = (Node *) (yyvsp[-3].list);
37549 n->newowner = (yyvsp[0].rolespec);
37550 (yyval.node) = (Node *)n;
37551 }
37552#line 37553 "gram.c" /* yacc.c:1646 */
37553 break;
37554
37555 case 1353:
37556#line 9336 "gram.y" /* yacc.c:1646 */
37557 {
37558 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37559 n->objectType = OBJECT_FUNCTION;
37560 n->object = (Node *) (yyvsp[-3].objwithargs);
37561 n->newowner = (yyvsp[0].rolespec);
37562 (yyval.node) = (Node *)n;
37563 }
37564#line 37565 "gram.c" /* yacc.c:1646 */
37565 break;
37566
37567 case 1354:
37568#line 9344 "gram.y" /* yacc.c:1646 */
37569 {
37570 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37571 n->objectType = OBJECT_LANGUAGE;
37572 n->object = (Node *) makeString((yyvsp[-3].str));
37573 n->newowner = (yyvsp[0].rolespec);
37574 (yyval.node) = (Node *)n;
37575 }
37576#line 37577 "gram.c" /* yacc.c:1646 */
37577 break;
37578
37579 case 1355:
37580#line 9352 "gram.y" /* yacc.c:1646 */
37581 {
37582 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37583 n->objectType = OBJECT_LARGEOBJECT;
37584 n->object = (Node *) (yyvsp[-3].value);
37585 n->newowner = (yyvsp[0].rolespec);
37586 (yyval.node) = (Node *)n;
37587 }
37588#line 37589 "gram.c" /* yacc.c:1646 */
37589 break;
37590
37591 case 1356:
37592#line 9360 "gram.y" /* yacc.c:1646 */
37593 {
37594 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37595 n->objectType = OBJECT_OPERATOR;
37596 n->object = (Node *) (yyvsp[-3].objwithargs);
37597 n->newowner = (yyvsp[0].rolespec);
37598 (yyval.node) = (Node *)n;
37599 }
37600#line 37601 "gram.c" /* yacc.c:1646 */
37601 break;
37602
37603 case 1357:
37604#line 9368 "gram.y" /* yacc.c:1646 */
37605 {
37606 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37607 n->objectType = OBJECT_OPCLASS;
37608 n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37609 n->newowner = (yyvsp[0].rolespec);
37610 (yyval.node) = (Node *)n;
37611 }
37612#line 37613 "gram.c" /* yacc.c:1646 */
37613 break;
37614
37615 case 1358:
37616#line 9376 "gram.y" /* yacc.c:1646 */
37617 {
37618 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37619 n->objectType = OBJECT_OPFAMILY;
37620 n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37621 n->newowner = (yyvsp[0].rolespec);
37622 (yyval.node) = (Node *)n;
37623 }
37624#line 37625 "gram.c" /* yacc.c:1646 */
37625 break;
37626
37627 case 1359:
37628#line 9384 "gram.y" /* yacc.c:1646 */
37629 {
37630 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37631 n->objectType = OBJECT_PROCEDURE;
37632 n->object = (Node *) (yyvsp[-3].objwithargs);
37633 n->newowner = (yyvsp[0].rolespec);
37634 (yyval.node) = (Node *)n;
37635 }
37636#line 37637 "gram.c" /* yacc.c:1646 */
37637 break;
37638
37639 case 1360:
37640#line 9392 "gram.y" /* yacc.c:1646 */
37641 {
37642 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37643 n->objectType = OBJECT_ROUTINE;
37644 n->object = (Node *) (yyvsp[-3].objwithargs);
37645 n->newowner = (yyvsp[0].rolespec);
37646 (yyval.node) = (Node *)n;
37647 }
37648#line 37649 "gram.c" /* yacc.c:1646 */
37649 break;
37650
37651 case 1361:
37652#line 9400 "gram.y" /* yacc.c:1646 */
37653 {
37654 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37655 n->objectType = OBJECT_SCHEMA;
37656 n->object = (Node *) makeString((yyvsp[-3].str));
37657 n->newowner = (yyvsp[0].rolespec);
37658 (yyval.node) = (Node *)n;
37659 }
37660#line 37661 "gram.c" /* yacc.c:1646 */
37661 break;
37662
37663 case 1362:
37664#line 9408 "gram.y" /* yacc.c:1646 */
37665 {
37666 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37667 n->objectType = OBJECT_TYPE;
37668 n->object = (Node *) (yyvsp[-3].list);
37669 n->newowner = (yyvsp[0].rolespec);
37670 (yyval.node) = (Node *)n;
37671 }
37672#line 37673 "gram.c" /* yacc.c:1646 */
37673 break;
37674
37675 case 1363:
37676#line 9416 "gram.y" /* yacc.c:1646 */
37677 {
37678 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37679 n->objectType = OBJECT_TABLESPACE;
37680 n->object = (Node *) makeString((yyvsp[-3].str));
37681 n->newowner = (yyvsp[0].rolespec);
37682 (yyval.node) = (Node *)n;
37683 }
37684#line 37685 "gram.c" /* yacc.c:1646 */
37685 break;
37686
37687 case 1364:
37688#line 9424 "gram.y" /* yacc.c:1646 */
37689 {
37690 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37691 n->objectType = OBJECT_STATISTIC_EXT;
37692 n->object = (Node *) (yyvsp[-3].list);
37693 n->newowner = (yyvsp[0].rolespec);
37694 (yyval.node) = (Node *)n;
37695 }
37696#line 37697 "gram.c" /* yacc.c:1646 */
37697 break;
37698
37699 case 1365:
37700#line 9432 "gram.y" /* yacc.c:1646 */
37701 {
37702 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37703 n->objectType = OBJECT_TSDICTIONARY;
37704 n->object = (Node *) (yyvsp[-3].list);
37705 n->newowner = (yyvsp[0].rolespec);
37706 (yyval.node) = (Node *)n;
37707 }
37708#line 37709 "gram.c" /* yacc.c:1646 */
37709 break;
37710
37711 case 1366:
37712#line 9440 "gram.y" /* yacc.c:1646 */
37713 {
37714 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37715 n->objectType = OBJECT_TSCONFIGURATION;
37716 n->object = (Node *) (yyvsp[-3].list);
37717 n->newowner = (yyvsp[0].rolespec);
37718 (yyval.node) = (Node *)n;
37719 }
37720#line 37721 "gram.c" /* yacc.c:1646 */
37721 break;
37722
37723 case 1367:
37724#line 9448 "gram.y" /* yacc.c:1646 */
37725 {
37726 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37727 n->objectType = OBJECT_FDW;
37728 n->object = (Node *) makeString((yyvsp[-3].str));
37729 n->newowner = (yyvsp[0].rolespec);
37730 (yyval.node) = (Node *)n;
37731 }
37732#line 37733 "gram.c" /* yacc.c:1646 */
37733 break;
37734
37735 case 1368:
37736#line 9456 "gram.y" /* yacc.c:1646 */
37737 {
37738 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37739 n->objectType = OBJECT_FOREIGN_SERVER;
37740 n->object = (Node *) makeString((yyvsp[-3].str));
37741 n->newowner = (yyvsp[0].rolespec);
37742 (yyval.node) = (Node *)n;
37743 }
37744#line 37745 "gram.c" /* yacc.c:1646 */
37745 break;
37746
37747 case 1369:
37748#line 9464 "gram.y" /* yacc.c:1646 */
37749 {
37750 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37751 n->objectType = OBJECT_EVENT_TRIGGER;
37752 n->object = (Node *) makeString((yyvsp[-3].str));
37753 n->newowner = (yyvsp[0].rolespec);
37754 (yyval.node) = (Node *)n;
37755 }
37756#line 37757 "gram.c" /* yacc.c:1646 */
37757 break;
37758
37759 case 1370:
37760#line 9472 "gram.y" /* yacc.c:1646 */
37761 {
37762 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37763 n->objectType = OBJECT_PUBLICATION;
37764 n->object = (Node *) makeString((yyvsp[-3].str));
37765 n->newowner = (yyvsp[0].rolespec);
37766 (yyval.node) = (Node *)n;
37767 }
37768#line 37769 "gram.c" /* yacc.c:1646 */
37769 break;
37770
37771 case 1371:
37772#line 9480 "gram.y" /* yacc.c:1646 */
37773 {
37774 AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
37775 n->objectType = OBJECT_SUBSCRIPTION;
37776 n->object = (Node *) makeString((yyvsp[-3].str));
37777 n->newowner = (yyvsp[0].rolespec);
37778 (yyval.node) = (Node *)n;
37779 }
37780#line 37781 "gram.c" /* yacc.c:1646 */
37781 break;
37782
37783 case 1372:
37784#line 9498 "gram.y" /* yacc.c:1646 */
37785 {
37786 CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
37787 n->pubname = (yyvsp[-2].str);
37788 n->options = (yyvsp[0].list);
37789 if ((yyvsp[-1].node) != NULL)
37790 {
37791 /* FOR TABLE */
37792 if (IsA((yyvsp[-1].node), List))
37793 n->tables = (List *)(yyvsp[-1].node);
37794 /* FOR ALL TABLES */
37795 else
37796 n->for_all_tables = true;
37797 }
37798 (yyval.node) = (Node *)n;
37799 }
37800#line 37801 "gram.c" /* yacc.c:1646 */
37801 break;
37802
37803 case 1373:
37804#line 9516 "gram.y" /* yacc.c:1646 */
37805 { (yyval.node) = (yyvsp[0].node); }
37806#line 37807 "gram.c" /* yacc.c:1646 */
37807 break;
37808
37809 case 1374:
37810#line 9517 "gram.y" /* yacc.c:1646 */
37811 { (yyval.node) = NULL; }
37812#line 37813 "gram.c" /* yacc.c:1646 */
37813 break;
37814
37815 case 1375:
37816#line 9522 "gram.y" /* yacc.c:1646 */
37817 {
37818 (yyval.node) = (Node *) (yyvsp[0].list);
37819 }
37820#line 37821 "gram.c" /* yacc.c:1646 */
37821 break;
37822
37823 case 1376:
37824#line 9526 "gram.y" /* yacc.c:1646 */
37825 {
37826 (yyval.node) = (Node *) makeInteger(true);
37827 }
37828#line 37829 "gram.c" /* yacc.c:1646 */
37829 break;
37830
37831 case 1377:
37832#line 9546 "gram.y" /* yacc.c:1646 */
37833 {
37834 AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
37835 n->pubname = (yyvsp[-2].str);
37836 n->options = (yyvsp[0].list);
37837 (yyval.node) = (Node *)n;
37838 }
37839#line 37840 "gram.c" /* yacc.c:1646 */
37840 break;
37841
37842 case 1378:
37843#line 9553 "gram.y" /* yacc.c:1646 */
37844 {
37845 AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
37846 n->pubname = (yyvsp[-3].str);
37847 n->tables = (yyvsp[0].list);
37848 n->tableAction = DEFELEM_ADD;
37849 (yyval.node) = (Node *)n;
37850 }
37851#line 37852 "gram.c" /* yacc.c:1646 */
37852 break;
37853
37854 case 1379:
37855#line 9561 "gram.y" /* yacc.c:1646 */
37856 {
37857 AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
37858 n->pubname = (yyvsp[-3].str);
37859 n->tables = (yyvsp[0].list);
37860 n->tableAction = DEFELEM_SET;
37861 (yyval.node) = (Node *)n;
37862 }
37863#line 37864 "gram.c" /* yacc.c:1646 */
37864 break;
37865
37866 case 1380:
37867#line 9569 "gram.y" /* yacc.c:1646 */
37868 {
37869 AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
37870 n->pubname = (yyvsp[-3].str);
37871 n->tables = (yyvsp[0].list);
37872 n->tableAction = DEFELEM_DROP;
37873 (yyval.node) = (Node *)n;
37874 }
37875#line 37876 "gram.c" /* yacc.c:1646 */
37876 break;
37877
37878 case 1381:
37879#line 9586 "gram.y" /* yacc.c:1646 */
37880 {
37881 CreateSubscriptionStmt *n =
37882 makeNode(CreateSubscriptionStmt);
37883 n->subname = (yyvsp[-5].str);
37884 n->conninfo = (yyvsp[-3].str);
37885 n->publication = (yyvsp[-1].list);
37886 n->options = (yyvsp[0].list);
37887 (yyval.node) = (Node *)n;
37888 }
37889#line 37890 "gram.c" /* yacc.c:1646 */
37890 break;
37891
37892 case 1382:
37893#line 9599 "gram.y" /* yacc.c:1646 */
37894 {
37895 (yyval.list) = list_make1((yyvsp[0].value));
37896 }
37897#line 37898 "gram.c" /* yacc.c:1646 */
37898 break;
37899
37900 case 1383:
37901#line 9603 "gram.y" /* yacc.c:1646 */
37902 {
37903 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value));
37904 }
37905#line 37906 "gram.c" /* yacc.c:1646 */
37906 break;
37907
37908 case 1384:
37909#line 9609 "gram.y" /* yacc.c:1646 */
37910 { (yyval.value) = makeString((yyvsp[0].str)); }
37911#line 37912 "gram.c" /* yacc.c:1646 */
37912 break;
37913
37914 case 1385:
37915#line 9619 "gram.y" /* yacc.c:1646 */
37916 {
37917 AlterSubscriptionStmt *n =
37918 makeNode(AlterSubscriptionStmt);
37919 n->kind = ALTER_SUBSCRIPTION_OPTIONS;
37920 n->subname = (yyvsp[-2].str);
37921 n->options = (yyvsp[0].list);
37922 (yyval.node) = (Node *)n;
37923 }
37924#line 37925 "gram.c" /* yacc.c:1646 */
37925 break;
37926
37927 case 1386:
37928#line 9628 "gram.y" /* yacc.c:1646 */
37929 {
37930 AlterSubscriptionStmt *n =
37931 makeNode(AlterSubscriptionStmt);
37932 n->kind = ALTER_SUBSCRIPTION_CONNECTION;
37933 n->subname = (yyvsp[-2].str);
37934 n->conninfo = (yyvsp[0].str);
37935 (yyval.node) = (Node *)n;
37936 }
37937#line 37938 "gram.c" /* yacc.c:1646 */
37938 break;
37939
37940 case 1387:
37941#line 9637 "gram.y" /* yacc.c:1646 */
37942 {
37943 AlterSubscriptionStmt *n =
37944 makeNode(AlterSubscriptionStmt);
37945 n->kind = ALTER_SUBSCRIPTION_REFRESH;
37946 n->subname = (yyvsp[-3].str);
37947 n->options = (yyvsp[0].list);
37948 (yyval.node) = (Node *)n;
37949 }
37950#line 37951 "gram.c" /* yacc.c:1646 */
37951 break;
37952
37953 case 1388:
37954#line 9646 "gram.y" /* yacc.c:1646 */
37955 {
37956 AlterSubscriptionStmt *n =
37957 makeNode(AlterSubscriptionStmt);
37958 n->kind = ALTER_SUBSCRIPTION_PUBLICATION;
37959 n->subname = (yyvsp[-4].str);
37960 n->publication = (yyvsp[-1].list);
37961 n->options = (yyvsp[0].list);
37962 (yyval.node) = (Node *)n;
37963 }
37964#line 37965 "gram.c" /* yacc.c:1646 */
37965 break;
37966
37967 case 1389:
37968#line 9656 "gram.y" /* yacc.c:1646 */
37969 {
37970 AlterSubscriptionStmt *n =
37971 makeNode(AlterSubscriptionStmt);
37972 n->kind = ALTER_SUBSCRIPTION_ENABLED;
37973 n->subname = (yyvsp[-1].str);
37974 n->options = list_make1(makeDefElem("enabled",
37975 (Node *)makeInteger(true), (yylsp[-3])));
37976 (yyval.node) = (Node *)n;
37977 }
37978#line 37979 "gram.c" /* yacc.c:1646 */
37979 break;
37980
37981 case 1390:
37982#line 9666 "gram.y" /* yacc.c:1646 */
37983 {
37984 AlterSubscriptionStmt *n =
37985 makeNode(AlterSubscriptionStmt);
37986 n->kind = ALTER_SUBSCRIPTION_ENABLED;
37987 n->subname = (yyvsp[-1].str);
37988 n->options = list_make1(makeDefElem("enabled",
37989 (Node *)makeInteger(false), (yylsp[-3])));
37990 (yyval.node) = (Node *)n;
37991 }
37992#line 37993 "gram.c" /* yacc.c:1646 */
37993 break;
37994
37995 case 1391:
37996#line 9684 "gram.y" /* yacc.c:1646 */
37997 {
37998 DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
37999 n->subname = (yyvsp[-1].str);
38000 n->missing_ok = false;
38001 n->behavior = (yyvsp[0].dbehavior);
38002 (yyval.node) = (Node *) n;
38003 }
38004#line 38005 "gram.c" /* yacc.c:1646 */
38005 break;
38006
38007 case 1392:
38008#line 9692 "gram.y" /* yacc.c:1646 */
38009 {
38010 DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
38011 n->subname = (yyvsp[-1].str);
38012 n->missing_ok = true;
38013 n->behavior = (yyvsp[0].dbehavior);
38014 (yyval.node) = (Node *) n;
38015 }
38016#line 38017 "gram.c" /* yacc.c:1646 */
38017 break;
38018
38019 case 1393:
38020#line 9710 "gram.y" /* yacc.c:1646 */
38021 {
38022 RuleStmt *n = makeNode(RuleStmt);
38023 n->replace = (yyvsp[-11].boolean);
38024 n->relation = (yyvsp[-4].range);
38025 n->rulename = (yyvsp[-9].str);
38026 n->whereClause = (yyvsp[-3].node);
38027 n->event = (yyvsp[-6].ival);
38028 n->instead = (yyvsp[-1].boolean);
38029 n->actions = (yyvsp[0].list);
38030 (yyval.node) = (Node *)n;
38031 }
38032#line 38033 "gram.c" /* yacc.c:1646 */
38033 break;
38034
38035 case 1394:
38036#line 9724 "gram.y" /* yacc.c:1646 */
38037 { (yyval.list) = NIL; }
38038#line 38039 "gram.c" /* yacc.c:1646 */
38039 break;
38040
38041 case 1395:
38042#line 9725 "gram.y" /* yacc.c:1646 */
38043 { (yyval.list) = list_make1((yyvsp[0].node)); }
38044#line 38045 "gram.c" /* yacc.c:1646 */
38045 break;
38046
38047 case 1396:
38048#line 9726 "gram.y" /* yacc.c:1646 */
38049 { (yyval.list) = (yyvsp[-1].list); }
38050#line 38051 "gram.c" /* yacc.c:1646 */
38051 break;
38052
38053 case 1397:
38054#line 9732 "gram.y" /* yacc.c:1646 */
38055 { if ((yyvsp[0].node) != NULL)
38056 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
38057 else
38058 (yyval.list) = (yyvsp[-2].list);
38059 }
38060#line 38061 "gram.c" /* yacc.c:1646 */
38061 break;
38062
38063 case 1398:
38064#line 9738 "gram.y" /* yacc.c:1646 */
38065 { if ((yyvsp[0].node) != NULL)
38066 (yyval.list) = list_make1((yyvsp[0].node));
38067 else
38068 (yyval.list) = NIL;
38069 }
38070#line 38071 "gram.c" /* yacc.c:1646 */
38071 break;
38072
38073 case 1404:
38074#line 9754 "gram.y" /* yacc.c:1646 */
38075 { (yyval.node) = (yyvsp[0].node); }
38076#line 38077 "gram.c" /* yacc.c:1646 */
38077 break;
38078
38079 case 1405:
38080#line 9755 "gram.y" /* yacc.c:1646 */
38081 { (yyval.node) = NULL; }
38082#line 38083 "gram.c" /* yacc.c:1646 */
38083 break;
38084
38085 case 1406:
38086#line 9758 "gram.y" /* yacc.c:1646 */
38087 { (yyval.ival) = CMD_SELECT; }
38088#line 38089 "gram.c" /* yacc.c:1646 */
38089 break;
38090
38091 case 1407:
38092#line 9759 "gram.y" /* yacc.c:1646 */
38093 { (yyval.ival) = CMD_UPDATE; }
38094#line 38095 "gram.c" /* yacc.c:1646 */
38095 break;
38096
38097 case 1408:
38098#line 9760 "gram.y" /* yacc.c:1646 */
38099 { (yyval.ival) = CMD_DELETE; }
38100#line 38101 "gram.c" /* yacc.c:1646 */
38101 break;
38102
38103 case 1409:
38104#line 9761 "gram.y" /* yacc.c:1646 */
38105 { (yyval.ival) = CMD_INSERT; }
38106#line 38107 "gram.c" /* yacc.c:1646 */
38107 break;
38108
38109 case 1410:
38110#line 9765 "gram.y" /* yacc.c:1646 */
38111 { (yyval.boolean) = true; }
38112#line 38113 "gram.c" /* yacc.c:1646 */
38113 break;
38114
38115 case 1411:
38116#line 9766 "gram.y" /* yacc.c:1646 */
38117 { (yyval.boolean) = false; }
38118#line 38119 "gram.c" /* yacc.c:1646 */
38119 break;
38120
38121 case 1412:
38122#line 9767 "gram.y" /* yacc.c:1646 */
38123 { (yyval.boolean) = false; }
38124#line 38125 "gram.c" /* yacc.c:1646 */
38125 break;
38126
38127 case 1413:
38128#line 9780 "gram.y" /* yacc.c:1646 */
38129 {
38130 NotifyStmt *n = makeNode(NotifyStmt);
38131 n->conditionname = (yyvsp[-1].str);
38132 n->payload = (yyvsp[0].str);
38133 (yyval.node) = (Node *)n;
38134 }
38135#line 38136 "gram.c" /* yacc.c:1646 */
38136 break;
38137
38138 case 1414:
38139#line 9789 "gram.y" /* yacc.c:1646 */
38140 { (yyval.str) = (yyvsp[0].str); }
38141#line 38142 "gram.c" /* yacc.c:1646 */
38142 break;
38143
38144 case 1415:
38145#line 9790 "gram.y" /* yacc.c:1646 */
38146 { (yyval.str) = NULL; }
38147#line 38148 "gram.c" /* yacc.c:1646 */
38148 break;
38149
38150 case 1416:
38151#line 9794 "gram.y" /* yacc.c:1646 */
38152 {
38153 ListenStmt *n = makeNode(ListenStmt);
38154 n->conditionname = (yyvsp[0].str);
38155 (yyval.node) = (Node *)n;
38156 }
38157#line 38158 "gram.c" /* yacc.c:1646 */
38158 break;
38159
38160 case 1417:
38161#line 9803 "gram.y" /* yacc.c:1646 */
38162 {
38163 UnlistenStmt *n = makeNode(UnlistenStmt);
38164 n->conditionname = (yyvsp[0].str);
38165 (yyval.node) = (Node *)n;
38166 }
38167#line 38168 "gram.c" /* yacc.c:1646 */
38168 break;
38169
38170 case 1418:
38171#line 9809 "gram.y" /* yacc.c:1646 */
38172 {
38173 UnlistenStmt *n = makeNode(UnlistenStmt);
38174 n->conditionname = NULL;
38175 (yyval.node) = (Node *)n;
38176 }
38177#line 38178 "gram.c" /* yacc.c:1646 */
38178 break;
38179
38180 case 1419:
38181#line 9828 "gram.y" /* yacc.c:1646 */
38182 {
38183 TransactionStmt *n = makeNode(TransactionStmt);
38184 n->kind = TRANS_STMT_ROLLBACK;
38185 n->options = NIL;
38186 n->chain = (yyvsp[0].boolean);
38187 (yyval.node) = (Node *)n;
38188 }
38189#line 38190 "gram.c" /* yacc.c:1646 */
38190 break;
38191
38192 case 1420:
38193#line 9836 "gram.y" /* yacc.c:1646 */
38194 {
38195 TransactionStmt *n = makeNode(TransactionStmt);
38196 n->kind = TRANS_STMT_BEGIN;
38197 n->options = (yyvsp[0].list);
38198 (yyval.node) = (Node *)n;
38199 }
38200#line 38201 "gram.c" /* yacc.c:1646 */
38201 break;
38202
38203 case 1421:
38204#line 9843 "gram.y" /* yacc.c:1646 */
38205 {
38206 TransactionStmt *n = makeNode(TransactionStmt);
38207 n->kind = TRANS_STMT_START;
38208 n->options = (yyvsp[0].list);
38209 (yyval.node) = (Node *)n;
38210 }
38211#line 38212 "gram.c" /* yacc.c:1646 */
38212 break;
38213
38214 case 1422:
38215#line 9850 "gram.y" /* yacc.c:1646 */
38216 {
38217 TransactionStmt *n = makeNode(TransactionStmt);
38218 n->kind = TRANS_STMT_COMMIT;
38219 n->options = NIL;
38220 n->chain = (yyvsp[0].boolean);
38221 (yyval.node) = (Node *)n;
38222 }
38223#line 38224 "gram.c" /* yacc.c:1646 */
38224 break;
38225
38226 case 1423:
38227#line 9858 "gram.y" /* yacc.c:1646 */
38228 {
38229 TransactionStmt *n = makeNode(TransactionStmt);
38230 n->kind = TRANS_STMT_COMMIT;
38231 n->options = NIL;
38232 n->chain = (yyvsp[0].boolean);
38233 (yyval.node) = (Node *)n;
38234 }
38235#line 38236 "gram.c" /* yacc.c:1646 */
38236 break;
38237
38238 case 1424:
38239#line 9866 "gram.y" /* yacc.c:1646 */
38240 {
38241 TransactionStmt *n = makeNode(TransactionStmt);
38242 n->kind = TRANS_STMT_ROLLBACK;
38243 n->options = NIL;
38244 n->chain = (yyvsp[0].boolean);
38245 (yyval.node) = (Node *)n;
38246 }
38247#line 38248 "gram.c" /* yacc.c:1646 */
38248 break;
38249
38250 case 1425:
38251#line 9874 "gram.y" /* yacc.c:1646 */
38252 {
38253 TransactionStmt *n = makeNode(TransactionStmt);
38254 n->kind = TRANS_STMT_SAVEPOINT;
38255 n->savepoint_name = (yyvsp[0].str);
38256 (yyval.node) = (Node *)n;
38257 }
38258#line 38259 "gram.c" /* yacc.c:1646 */
38259 break;
38260
38261 case 1426:
38262#line 9881 "gram.y" /* yacc.c:1646 */
38263 {
38264 TransactionStmt *n = makeNode(TransactionStmt);
38265 n->kind = TRANS_STMT_RELEASE;
38266 n->savepoint_name = (yyvsp[0].str);
38267 (yyval.node) = (Node *)n;
38268 }
38269#line 38270 "gram.c" /* yacc.c:1646 */
38270 break;
38271
38272 case 1427:
38273#line 9888 "gram.y" /* yacc.c:1646 */
38274 {
38275 TransactionStmt *n = makeNode(TransactionStmt);
38276 n->kind = TRANS_STMT_RELEASE;
38277 n->savepoint_name = (yyvsp[0].str);
38278 (yyval.node) = (Node *)n;
38279 }
38280#line 38281 "gram.c" /* yacc.c:1646 */
38281 break;
38282
38283 case 1428:
38284#line 9895 "gram.y" /* yacc.c:1646 */
38285 {
38286 TransactionStmt *n = makeNode(TransactionStmt);
38287 n->kind = TRANS_STMT_ROLLBACK_TO;
38288 n->savepoint_name = (yyvsp[0].str);
38289 (yyval.node) = (Node *)n;
38290 }
38291#line 38292 "gram.c" /* yacc.c:1646 */
38292 break;
38293
38294 case 1429:
38295#line 9902 "gram.y" /* yacc.c:1646 */
38296 {
38297 TransactionStmt *n = makeNode(TransactionStmt);
38298 n->kind = TRANS_STMT_ROLLBACK_TO;
38299 n->savepoint_name = (yyvsp[0].str);
38300 (yyval.node) = (Node *)n;
38301 }
38302#line 38303 "gram.c" /* yacc.c:1646 */
38303 break;
38304
38305 case 1430:
38306#line 9909 "gram.y" /* yacc.c:1646 */
38307 {
38308 TransactionStmt *n = makeNode(TransactionStmt);
38309 n->kind = TRANS_STMT_PREPARE;
38310 n->gid = (yyvsp[0].str);
38311 (yyval.node) = (Node *)n;
38312 }
38313#line 38314 "gram.c" /* yacc.c:1646 */
38314 break;
38315
38316 case 1431:
38317#line 9916 "gram.y" /* yacc.c:1646 */
38318 {
38319 TransactionStmt *n = makeNode(TransactionStmt);
38320 n->kind = TRANS_STMT_COMMIT_PREPARED;
38321 n->gid = (yyvsp[0].str);
38322 (yyval.node) = (Node *)n;
38323 }
38324#line 38325 "gram.c" /* yacc.c:1646 */
38325 break;
38326
38327 case 1432:
38328#line 9923 "gram.y" /* yacc.c:1646 */
38329 {
38330 TransactionStmt *n = makeNode(TransactionStmt);
38331 n->kind = TRANS_STMT_ROLLBACK_PREPARED;
38332 n->gid = (yyvsp[0].str);
38333 (yyval.node) = (Node *)n;
38334 }
38335#line 38336 "gram.c" /* yacc.c:1646 */
38336 break;
38337
38338 case 1433:
38339#line 9931 "gram.y" /* yacc.c:1646 */
38340 {}
38341#line 38342 "gram.c" /* yacc.c:1646 */
38342 break;
38343
38344 case 1434:
38345#line 9932 "gram.y" /* yacc.c:1646 */
38346 {}
38347#line 38348 "gram.c" /* yacc.c:1646 */
38348 break;
38349
38350 case 1435:
38351#line 9933 "gram.y" /* yacc.c:1646 */
38352 {}
38353#line 38354 "gram.c" /* yacc.c:1646 */
38354 break;
38355
38356 case 1436:
38357#line 9938 "gram.y" /* yacc.c:1646 */
38358 { (yyval.defelt) = makeDefElem("transaction_isolation",
38359 makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
38360#line 38361 "gram.c" /* yacc.c:1646 */
38361 break;
38362
38363 case 1437:
38364#line 9941 "gram.y" /* yacc.c:1646 */
38365 { (yyval.defelt) = makeDefElem("transaction_read_only",
38366 makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
38367#line 38368 "gram.c" /* yacc.c:1646 */
38368 break;
38369
38370 case 1438:
38371#line 9944 "gram.y" /* yacc.c:1646 */
38372 { (yyval.defelt) = makeDefElem("transaction_read_only",
38373 makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
38374#line 38375 "gram.c" /* yacc.c:1646 */
38375 break;
38376
38377 case 1439:
38378#line 9947 "gram.y" /* yacc.c:1646 */
38379 { (yyval.defelt) = makeDefElem("transaction_deferrable",
38380 makeIntConst(true, (yylsp[0])), (yylsp[0])); }
38381#line 38382 "gram.c" /* yacc.c:1646 */
38382 break;
38383
38384 case 1440:
38385#line 9950 "gram.y" /* yacc.c:1646 */
38386 { (yyval.defelt) = makeDefElem("transaction_deferrable",
38387 makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
38388#line 38389 "gram.c" /* yacc.c:1646 */
38389 break;
38390
38391 case 1441:
38392#line 9957 "gram.y" /* yacc.c:1646 */
38393 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
38394#line 38395 "gram.c" /* yacc.c:1646 */
38395 break;
38396
38397 case 1442:
38398#line 9959 "gram.y" /* yacc.c:1646 */
38399 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
38400#line 38401 "gram.c" /* yacc.c:1646 */
38401 break;
38402
38403 case 1443:
38404#line 9961 "gram.y" /* yacc.c:1646 */
38405 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
38406#line 38407 "gram.c" /* yacc.c:1646 */
38407 break;
38408
38409 case 1445:
38410#line 9967 "gram.y" /* yacc.c:1646 */
38411 { (yyval.list) = NIL; }
38412#line 38413 "gram.c" /* yacc.c:1646 */
38413 break;
38414
38415 case 1446:
38416#line 9971 "gram.y" /* yacc.c:1646 */
38417 { (yyval.boolean) = true; }
38418#line 38419 "gram.c" /* yacc.c:1646 */
38419 break;
38420
38421 case 1447:
38422#line 9972 "gram.y" /* yacc.c:1646 */
38423 { (yyval.boolean) = false; }
38424#line 38425 "gram.c" /* yacc.c:1646 */
38425 break;
38426
38427 case 1448:
38428#line 9973 "gram.y" /* yacc.c:1646 */
38429 { (yyval.boolean) = false; }
38430#line 38431 "gram.c" /* yacc.c:1646 */
38431 break;
38432
38433 case 1449:
38434#line 9987 "gram.y" /* yacc.c:1646 */
38435 {
38436 ViewStmt *n = makeNode(ViewStmt);
38437 n->view = (yyvsp[-5].range);
38438 n->view->relpersistence = (yyvsp[-7].ival);
38439 n->aliases = (yyvsp[-4].list);
38440 n->query = (yyvsp[-1].node);
38441 n->replace = false;
38442 n->options = (yyvsp[-3].list);
38443 n->withCheckOption = (yyvsp[0].ival);
38444 (yyval.node) = (Node *) n;
38445 }
38446#line 38447 "gram.c" /* yacc.c:1646 */
38447 break;
38448
38449 case 1450:
38450#line 10000 "gram.y" /* yacc.c:1646 */
38451 {
38452 ViewStmt *n = makeNode(ViewStmt);
38453 n->view = (yyvsp[-5].range);
38454 n->view->relpersistence = (yyvsp[-7].ival);
38455 n->aliases = (yyvsp[-4].list);
38456 n->query = (yyvsp[-1].node);
38457 n->replace = true;
38458 n->options = (yyvsp[-3].list);
38459 n->withCheckOption = (yyvsp[0].ival);
38460 (yyval.node) = (Node *) n;
38461 }
38462#line 38463 "gram.c" /* yacc.c:1646 */
38463 break;
38464
38465 case 1451:
38466#line 10013 "gram.y" /* yacc.c:1646 */
38467 {
38468 ViewStmt *n = makeNode(ViewStmt);
38469 n->view = (yyvsp[-7].range);
38470 n->view->relpersistence = (yyvsp[-10].ival);
38471 n->aliases = (yyvsp[-5].list);
38472 n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
38473 n->replace = false;
38474 n->options = (yyvsp[-3].list);
38475 n->withCheckOption = (yyvsp[0].ival);
38476 if (n->withCheckOption != NO_CHECK_OPTION)
38477 ereport(ERROR,
38478 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
38479 errmsg("WITH CHECK OPTION not supported on recursive views"),
38480 parser_errposition((yylsp[0]))));
38481 (yyval.node) = (Node *) n;
38482 }
38483#line 38484 "gram.c" /* yacc.c:1646 */
38484 break;
38485
38486 case 1452:
38487#line 10031 "gram.y" /* yacc.c:1646 */
38488 {
38489 ViewStmt *n = makeNode(ViewStmt);
38490 n->view = (yyvsp[-7].range);
38491 n->view->relpersistence = (yyvsp[-10].ival);
38492 n->aliases = (yyvsp[-5].list);
38493 n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
38494 n->replace = true;
38495 n->options = (yyvsp[-3].list);
38496 n->withCheckOption = (yyvsp[0].ival);
38497 if (n->withCheckOption != NO_CHECK_OPTION)
38498 ereport(ERROR,
38499 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
38500 errmsg("WITH CHECK OPTION not supported on recursive views"),
38501 parser_errposition((yylsp[0]))));
38502 (yyval.node) = (Node *) n;
38503 }
38504#line 38505 "gram.c" /* yacc.c:1646 */
38505 break;
38506
38507 case 1453:
38508#line 10050 "gram.y" /* yacc.c:1646 */
38509 { (yyval.ival) = CASCADED_CHECK_OPTION; }
38510#line 38511 "gram.c" /* yacc.c:1646 */
38511 break;
38512
38513 case 1454:
38514#line 10051 "gram.y" /* yacc.c:1646 */
38515 { (yyval.ival) = CASCADED_CHECK_OPTION; }
38516#line 38517 "gram.c" /* yacc.c:1646 */
38517 break;
38518
38519 case 1455:
38520#line 10052 "gram.y" /* yacc.c:1646 */
38521 { (yyval.ival) = LOCAL_CHECK_OPTION; }
38522#line 38523 "gram.c" /* yacc.c:1646 */
38523 break;
38524
38525 case 1456:
38526#line 10053 "gram.y" /* yacc.c:1646 */
38527 { (yyval.ival) = NO_CHECK_OPTION; }
38528#line 38529 "gram.c" /* yacc.c:1646 */
38529 break;
38530
38531 case 1457:
38532#line 10064 "gram.y" /* yacc.c:1646 */
38533 {
38534 LoadStmt *n = makeNode(LoadStmt);
38535 n->filename = (yyvsp[0].str);
38536 (yyval.node) = (Node *)n;
38537 }
38538#line 38539 "gram.c" /* yacc.c:1646 */
38539 break;
38540
38541 case 1458:
38542#line 10080 "gram.y" /* yacc.c:1646 */
38543 {
38544 CreatedbStmt *n = makeNode(CreatedbStmt);
38545 n->dbname = (yyvsp[-2].str);
38546 n->options = (yyvsp[0].list);
38547 (yyval.node) = (Node *)n;
38548 }
38549#line 38550 "gram.c" /* yacc.c:1646 */
38550 break;
38551
38552 case 1459:
38553#line 10089 "gram.y" /* yacc.c:1646 */
38554 { (yyval.list) = (yyvsp[0].list); }
38555#line 38556 "gram.c" /* yacc.c:1646 */
38556 break;
38557
38558 case 1460:
38559#line 10090 "gram.y" /* yacc.c:1646 */
38560 { (yyval.list) = NIL; }
38561#line 38562 "gram.c" /* yacc.c:1646 */
38562 break;
38563
38564 case 1461:
38565#line 10094 "gram.y" /* yacc.c:1646 */
38566 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
38567#line 38568 "gram.c" /* yacc.c:1646 */
38568 break;
38569
38570 case 1462:
38571#line 10095 "gram.y" /* yacc.c:1646 */
38572 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
38573#line 38574 "gram.c" /* yacc.c:1646 */
38574 break;
38575
38576 case 1463:
38577#line 10100 "gram.y" /* yacc.c:1646 */
38578 {
38579 (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
38580 }
38581#line 38582 "gram.c" /* yacc.c:1646 */
38582 break;
38583
38584 case 1464:
38585#line 10104 "gram.y" /* yacc.c:1646 */
38586 {
38587 (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
38588 }
38589#line 38590 "gram.c" /* yacc.c:1646 */
38590 break;
38591
38592 case 1465:
38593#line 10108 "gram.y" /* yacc.c:1646 */
38594 {
38595 (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
38596 }
38597#line 38598 "gram.c" /* yacc.c:1646 */
38598 break;
38599
38600 case 1466:
38601#line 10125 "gram.y" /* yacc.c:1646 */
38602 { (yyval.str) = (yyvsp[0].str); }
38603#line 38604 "gram.c" /* yacc.c:1646 */
38604 break;
38605
38606 case 1467:
38607#line 10126 "gram.y" /* yacc.c:1646 */
38608 { (yyval.str) = pstrdup("connection_limit"); }
38609#line 38610 "gram.c" /* yacc.c:1646 */
38610 break;
38611
38612 case 1468:
38613#line 10127 "gram.y" /* yacc.c:1646 */
38614 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38615#line 38616 "gram.c" /* yacc.c:1646 */
38616 break;
38617
38618 case 1469:
38619#line 10128 "gram.y" /* yacc.c:1646 */
38620 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38621#line 38622 "gram.c" /* yacc.c:1646 */
38622 break;
38623
38624 case 1470:
38625#line 10129 "gram.y" /* yacc.c:1646 */
38626 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38627#line 38628 "gram.c" /* yacc.c:1646 */
38628 break;
38629
38630 case 1471:
38631#line 10130 "gram.y" /* yacc.c:1646 */
38632 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38633#line 38634 "gram.c" /* yacc.c:1646 */
38634 break;
38635
38636 case 1472:
38637#line 10131 "gram.y" /* yacc.c:1646 */
38638 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
38639#line 38640 "gram.c" /* yacc.c:1646 */
38640 break;
38641
38642 case 1473:
38643#line 10138 "gram.y" /* yacc.c:1646 */
38644 {}
38645#line 38646 "gram.c" /* yacc.c:1646 */
38646 break;
38647
38648 case 1474:
38649#line 10139 "gram.y" /* yacc.c:1646 */
38650 {}
38651#line 38652 "gram.c" /* yacc.c:1646 */
38652 break;
38653
38654 case 1475:
38655#line 10151 "gram.y" /* yacc.c:1646 */
38656 {
38657 AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
38658 n->dbname = (yyvsp[-2].str);
38659 n->options = (yyvsp[0].list);
38660 (yyval.node) = (Node *)n;
38661 }
38662#line 38663 "gram.c" /* yacc.c:1646 */
38663 break;
38664
38665 case 1476:
38666#line 10158 "gram.y" /* yacc.c:1646 */
38667 {
38668 AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
38669 n->dbname = (yyvsp[-1].str);
38670 n->options = (yyvsp[0].list);
38671 (yyval.node) = (Node *)n;
38672 }
38673#line 38674 "gram.c" /* yacc.c:1646 */
38674 break;
38675
38676 case 1477:
38677#line 10165 "gram.y" /* yacc.c:1646 */
38678 {
38679 AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
38680 n->dbname = (yyvsp[-3].str);
38681 n->options = list_make1(makeDefElem("tablespace",
38682 (Node *)makeString((yyvsp[0].str)), (yylsp[0])));
38683 (yyval.node) = (Node *)n;
38684 }
38685#line 38686 "gram.c" /* yacc.c:1646 */
38686 break;
38687
38688 case 1478:
38689#line 10176 "gram.y" /* yacc.c:1646 */
38690 {
38691 AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
38692 n->dbname = (yyvsp[-1].str);
38693 n->setstmt = (yyvsp[0].vsetstmt);
38694 (yyval.node) = (Node *)n;
38695 }
38696#line 38697 "gram.c" /* yacc.c:1646 */
38697 break;
38698
38699 case 1479:
38700#line 10193 "gram.y" /* yacc.c:1646 */
38701 {
38702 DropdbStmt *n = makeNode(DropdbStmt);
38703 n->dbname = (yyvsp[0].str);
38704 n->missing_ok = false;
38705 (yyval.node) = (Node *)n;
38706 }
38707#line 38708 "gram.c" /* yacc.c:1646 */
38708 break;
38709
38710 case 1480:
38711#line 10200 "gram.y" /* yacc.c:1646 */
38712 {
38713 DropdbStmt *n = makeNode(DropdbStmt);
38714 n->dbname = (yyvsp[0].str);
38715 n->missing_ok = true;
38716 (yyval.node) = (Node *)n;
38717 }
38718#line 38719 "gram.c" /* yacc.c:1646 */
38719 break;
38720
38721 case 1481:
38722#line 10216 "gram.y" /* yacc.c:1646 */
38723 {
38724 AlterCollationStmt *n = makeNode(AlterCollationStmt);
38725 n->collname = (yyvsp[-2].list);
38726 (yyval.node) = (Node *)n;
38727 }
38728#line 38729 "gram.c" /* yacc.c:1646 */
38729 break;
38730
38731 case 1482:
38732#line 10233 "gram.y" /* yacc.c:1646 */
38733 {
38734 AlterSystemStmt *n = makeNode(AlterSystemStmt);
38735 n->setstmt = (yyvsp[0].vsetstmt);
38736 (yyval.node) = (Node *)n;
38737 }
38738#line 38739 "gram.c" /* yacc.c:1646 */
38739 break;
38740
38741 case 1483:
38742#line 10239 "gram.y" /* yacc.c:1646 */
38743 {
38744 AlterSystemStmt *n = makeNode(AlterSystemStmt);
38745 n->setstmt = (yyvsp[0].vsetstmt);
38746 (yyval.node) = (Node *)n;
38747 }
38748#line 38749 "gram.c" /* yacc.c:1646 */
38749 break;
38750
38751 case 1484:
38752#line 10255 "gram.y" /* yacc.c:1646 */
38753 {
38754 CreateDomainStmt *n = makeNode(CreateDomainStmt);
38755 n->domainname = (yyvsp[-3].list);
38756 n->typeName = (yyvsp[-1].typnam);
38757 SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
38758 yyscanner);
38759 (yyval.node) = (Node *)n;
38760 }
38761#line 38762 "gram.c" /* yacc.c:1646 */
38762 break;
38763
38764 case 1485:
38765#line 10268 "gram.y" /* yacc.c:1646 */
38766 {
38767 AlterDomainStmt *n = makeNode(AlterDomainStmt);
38768 n->subtype = 'T';
38769 n->typeName = (yyvsp[-1].list);
38770 n->def = (yyvsp[0].node);
38771 (yyval.node) = (Node *)n;
38772 }
38773#line 38774 "gram.c" /* yacc.c:1646 */
38774 break;
38775
38776 case 1486:
38777#line 10277 "gram.y" /* yacc.c:1646 */
38778 {
38779 AlterDomainStmt *n = makeNode(AlterDomainStmt);
38780 n->subtype = 'N';
38781 n->typeName = (yyvsp[-3].list);
38782 (yyval.node) = (Node *)n;
38783 }
38784#line 38785 "gram.c" /* yacc.c:1646 */
38785 break;
38786
38787 case 1487:
38788#line 10285 "gram.y" /* yacc.c:1646 */
38789 {
38790 AlterDomainStmt *n = makeNode(AlterDomainStmt);
38791 n->subtype = 'O';
38792 n->typeName = (yyvsp[-3].list);
38793 (yyval.node) = (Node *)n;
38794 }
38795#line 38796 "gram.c" /* yacc.c:1646 */
38796 break;
38797
38798 case 1488:
38799#line 10293 "gram.y" /* yacc.c:1646 */
38800 {
38801 AlterDomainStmt *n = makeNode(AlterDomainStmt);
38802 n->subtype = 'C';
38803 n->typeName = (yyvsp[-2].list);
38804 n->def = (yyvsp[0].node);
38805 (yyval.node) = (Node *)n;
38806 }
38807#line 38808 "gram.c" /* yacc.c:1646 */
38808 break;
38809
38810 case 1489:
38811#line 10302 "gram.y" /* yacc.c:1646 */
38812 {
38813 AlterDomainStmt *n = makeNode(AlterDomainStmt);
38814 n->subtype = 'X';
38815 n->typeName = (yyvsp[-4].list);
38816 n->name = (yyvsp[-1].str);
38817 n->behavior = (yyvsp[0].dbehavior);
38818 n->missing_ok = false;
38819 (yyval.node) = (Node *)n;
38820 }
38821#line 38822 "gram.c" /* yacc.c:1646 */
38822 break;
38823
38824 case 1490:
38825#line 10313 "gram.y" /* yacc.c:1646 */
38826 {
38827 AlterDomainStmt *n = makeNode(AlterDomainStmt);
38828 n->subtype = 'X';
38829 n->typeName = (yyvsp[-6].list);
38830 n->name = (yyvsp[-1].str);
38831 n->behavior = (yyvsp[0].dbehavior);
38832 n->missing_ok = true;
38833 (yyval.node) = (Node *)n;
38834 }
38835#line 38836 "gram.c" /* yacc.c:1646 */
38836 break;
38837
38838 case 1491:
38839#line 10324 "gram.y" /* yacc.c:1646 */
38840 {
38841 AlterDomainStmt *n = makeNode(AlterDomainStmt);
38842 n->subtype = 'V';
38843 n->typeName = (yyvsp[-3].list);
38844 n->name = (yyvsp[0].str);
38845 (yyval.node) = (Node *)n;
38846 }
38847#line 38848 "gram.c" /* yacc.c:1646 */
38848 break;
38849
38850 case 1492:
38851#line 10333 "gram.y" /* yacc.c:1646 */
38852 {}
38853#line 38854 "gram.c" /* yacc.c:1646 */
38854 break;
38855
38856 case 1493:
38857#line 10334 "gram.y" /* yacc.c:1646 */
38858 {}
38859#line 38860 "gram.c" /* yacc.c:1646 */
38860 break;
38861
38862 case 1494:
38863#line 10346 "gram.y" /* yacc.c:1646 */
38864 {
38865 AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
38866 n->dictname = (yyvsp[-1].list);
38867 n->options = (yyvsp[0].list);
38868 (yyval.node) = (Node *)n;
38869 }
38870#line 38871 "gram.c" /* yacc.c:1646 */
38871 break;
38872
38873 case 1495:
38874#line 10356 "gram.y" /* yacc.c:1646 */
38875 {
38876 AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38877 n->kind = ALTER_TSCONFIG_ADD_MAPPING;
38878 n->cfgname = (yyvsp[-6].list);
38879 n->tokentype = (yyvsp[-2].list);
38880 n->dicts = (yyvsp[0].list);
38881 n->override = false;
38882 n->replace = false;
38883 (yyval.node) = (Node*)n;
38884 }
38885#line 38886 "gram.c" /* yacc.c:1646 */
38886 break;
38887
38888 case 1496:
38889#line 10367 "gram.y" /* yacc.c:1646 */
38890 {
38891 AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38892 n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
38893 n->cfgname = (yyvsp[-6].list);
38894 n->tokentype = (yyvsp[-2].list);
38895 n->dicts = (yyvsp[0].list);
38896 n->override = true;
38897 n->replace = false;
38898 (yyval.node) = (Node*)n;
38899 }
38900#line 38901 "gram.c" /* yacc.c:1646 */
38901 break;
38902
38903 case 1497:
38904#line 10378 "gram.y" /* yacc.c:1646 */
38905 {
38906 AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38907 n->kind = ALTER_TSCONFIG_REPLACE_DICT;
38908 n->cfgname = (yyvsp[-6].list);
38909 n->tokentype = NIL;
38910 n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
38911 n->override = false;
38912 n->replace = true;
38913 (yyval.node) = (Node*)n;
38914 }
38915#line 38916 "gram.c" /* yacc.c:1646 */
38916 break;
38917
38918 case 1498:
38919#line 10389 "gram.y" /* yacc.c:1646 */
38920 {
38921 AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38922 n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
38923 n->cfgname = (yyvsp[-8].list);
38924 n->tokentype = (yyvsp[-4].list);
38925 n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
38926 n->override = false;
38927 n->replace = true;
38928 (yyval.node) = (Node*)n;
38929 }
38930#line 38931 "gram.c" /* yacc.c:1646 */
38931 break;
38932
38933 case 1499:
38934#line 10400 "gram.y" /* yacc.c:1646 */
38935 {
38936 AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38937 n->kind = ALTER_TSCONFIG_DROP_MAPPING;
38938 n->cfgname = (yyvsp[-4].list);
38939 n->tokentype = (yyvsp[0].list);
38940 n->missing_ok = false;
38941 (yyval.node) = (Node*)n;
38942 }
38943#line 38944 "gram.c" /* yacc.c:1646 */
38944 break;
38945
38946 case 1500:
38947#line 10409 "gram.y" /* yacc.c:1646 */
38948 {
38949 AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
38950 n->kind = ALTER_TSCONFIG_DROP_MAPPING;
38951 n->cfgname = (yyvsp[-6].list);
38952 n->tokentype = (yyvsp[0].list);
38953 n->missing_ok = true;
38954 (yyval.node) = (Node*)n;
38955 }
38956#line 38957 "gram.c" /* yacc.c:1646 */
38957 break;
38958
38959 case 1501:
38960#line 10420 "gram.y" /* yacc.c:1646 */
38961 {}
38962#line 38963 "gram.c" /* yacc.c:1646 */
38963 break;
38964
38965 case 1502:
38966#line 10421 "gram.y" /* yacc.c:1646 */
38967 {}
38968#line 38969 "gram.c" /* yacc.c:1646 */
38969 break;
38970
38971 case 1503:
38972#line 10437 "gram.y" /* yacc.c:1646 */
38973 {
38974 CreateConversionStmt *n = makeNode(CreateConversionStmt);
38975 n->conversion_name = (yyvsp[-6].list);
38976 n->for_encoding_name = (yyvsp[-4].str);
38977 n->to_encoding_name = (yyvsp[-2].str);
38978 n->func_name = (yyvsp[0].list);
38979 n->def = (yyvsp[-8].boolean);
38980 (yyval.node) = (Node *)n;
38981 }
38982#line 38983 "gram.c" /* yacc.c:1646 */
38983 break;
38984
38985 case 1504:
38986#line 10459 "gram.y" /* yacc.c:1646 */
38987 {
38988 ClusterStmt *n = makeNode(ClusterStmt);
38989 n->relation = (yyvsp[-1].range);
38990 n->indexname = (yyvsp[0].str);
38991 n->options = 0;
38992 if ((yyvsp[-2].boolean))
38993 n->options |= CLUOPT_VERBOSE;
38994 (yyval.node) = (Node*)n;
38995 }
38996#line 38997 "gram.c" /* yacc.c:1646 */
38997 break;
38998
38999 case 1505:
39000#line 10469 "gram.y" /* yacc.c:1646 */
39001 {
39002 ClusterStmt *n = makeNode(ClusterStmt);
39003 n->relation = NULL;
39004 n->indexname = NULL;
39005 n->options = 0;
39006 if ((yyvsp[0].boolean))
39007 n->options |= CLUOPT_VERBOSE;
39008 (yyval.node) = (Node*)n;
39009 }
39010#line 39011 "gram.c" /* yacc.c:1646 */
39011 break;
39012
39013 case 1506:
39014#line 10480 "gram.y" /* yacc.c:1646 */
39015 {
39016 ClusterStmt *n = makeNode(ClusterStmt);
39017 n->relation = (yyvsp[0].range);
39018 n->indexname = (yyvsp[-2].str);
39019 n->options = 0;
39020 if ((yyvsp[-3].boolean))
39021 n->options |= CLUOPT_VERBOSE;
39022 (yyval.node) = (Node*)n;
39023 }
39024#line 39025 "gram.c" /* yacc.c:1646 */
39025 break;
39026
39027 case 1507:
39028#line 10492 "gram.y" /* yacc.c:1646 */
39029 { (yyval.str) = (yyvsp[0].str); }
39030#line 39031 "gram.c" /* yacc.c:1646 */
39031 break;
39032
39033 case 1508:
39034#line 10493 "gram.y" /* yacc.c:1646 */
39035 { (yyval.str) = NULL; }
39036#line 39037 "gram.c" /* yacc.c:1646 */
39037 break;
39038
39039 case 1509:
39040#line 10506 "gram.y" /* yacc.c:1646 */
39041 {
39042 VacuumStmt *n = makeNode(VacuumStmt);
39043 n->options = NIL;
39044 if ((yyvsp[-4].boolean))
39045 n->options = lappend(n->options,
39046 makeDefElem("full", NULL, (yylsp[-4])));
39047 if ((yyvsp[-3].boolean))
39048 n->options = lappend(n->options,
39049 makeDefElem("freeze", NULL, (yylsp[-3])));
39050 if ((yyvsp[-2].boolean))
39051 n->options = lappend(n->options,
39052 makeDefElem("verbose", NULL, (yylsp[-2])));
39053 if ((yyvsp[-1].boolean))
39054 n->options = lappend(n->options,
39055 makeDefElem("analyze", NULL, (yylsp[-1])));
39056 n->rels = (yyvsp[0].list);
39057 n->is_vacuumcmd = true;
39058 (yyval.node) = (Node *)n;
39059 }
39060#line 39061 "gram.c" /* yacc.c:1646 */
39061 break;
39062
39063 case 1510:
39064#line 10526 "gram.y" /* yacc.c:1646 */
39065 {
39066 VacuumStmt *n = makeNode(VacuumStmt);
39067 n->options = (yyvsp[-2].list);
39068 n->rels = (yyvsp[0].list);
39069 n->is_vacuumcmd = true;
39070 (yyval.node) = (Node *) n;
39071 }
39072#line 39073 "gram.c" /* yacc.c:1646 */
39073 break;
39074
39075 case 1511:
39076#line 10536 "gram.y" /* yacc.c:1646 */
39077 {
39078 VacuumStmt *n = makeNode(VacuumStmt);
39079 n->options = NIL;
39080 if ((yyvsp[-1].boolean))
39081 n->options = lappend(n->options,
39082 makeDefElem("verbose", NULL, (yylsp[-1])));
39083 n->rels = (yyvsp[0].list);
39084 n->is_vacuumcmd = false;
39085 (yyval.node) = (Node *)n;
39086 }
39087#line 39088 "gram.c" /* yacc.c:1646 */
39088 break;
39089
39090 case 1512:
39091#line 10547 "gram.y" /* yacc.c:1646 */
39092 {
39093 VacuumStmt *n = makeNode(VacuumStmt);
39094 n->options = (yyvsp[-2].list);
39095 n->rels = (yyvsp[0].list);
39096 n->is_vacuumcmd = false;
39097 (yyval.node) = (Node *) n;
39098 }
39099#line 39100 "gram.c" /* yacc.c:1646 */
39100 break;
39101
39102 case 1513:
39103#line 10558 "gram.y" /* yacc.c:1646 */
39104 {
39105 (yyval.list) = list_make1((yyvsp[0].defelt));
39106 }
39107#line 39108 "gram.c" /* yacc.c:1646 */
39108 break;
39109
39110 case 1514:
39111#line 10562 "gram.y" /* yacc.c:1646 */
39112 {
39113 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
39114 }
39115#line 39116 "gram.c" /* yacc.c:1646 */
39116 break;
39117
39118 case 1515:
39119#line 10568 "gram.y" /* yacc.c:1646 */
39120 {}
39121#line 39122 "gram.c" /* yacc.c:1646 */
39122 break;
39123
39124 case 1516:
39125#line 10569 "gram.y" /* yacc.c:1646 */
39126 {}
39127#line 39128 "gram.c" /* yacc.c:1646 */
39128 break;
39129
39130 case 1517:
39131#line 10574 "gram.y" /* yacc.c:1646 */
39132 {
39133 (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
39134 }
39135#line 39136 "gram.c" /* yacc.c:1646 */
39136 break;
39137
39138 case 1518:
39139#line 10580 "gram.y" /* yacc.c:1646 */
39140 { (yyval.str) = (yyvsp[0].str); }
39141#line 39142 "gram.c" /* yacc.c:1646 */
39142 break;
39143
39144 case 1519:
39145#line 10581 "gram.y" /* yacc.c:1646 */
39146 { (yyval.str) = "analyze"; }
39147#line 39148 "gram.c" /* yacc.c:1646 */
39148 break;
39149
39150 case 1520:
39151#line 10585 "gram.y" /* yacc.c:1646 */
39152 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
39153#line 39154 "gram.c" /* yacc.c:1646 */
39154 break;
39155
39156 case 1521:
39157#line 10586 "gram.y" /* yacc.c:1646 */
39158 { (yyval.node) = (Node *) (yyvsp[0].value); }
39159#line 39160 "gram.c" /* yacc.c:1646 */
39160 break;
39161
39162 case 1522:
39163#line 10587 "gram.y" /* yacc.c:1646 */
39164 { (yyval.node) = NULL; }
39165#line 39166 "gram.c" /* yacc.c:1646 */
39166 break;
39167
39168 case 1523:
39169#line 10591 "gram.y" /* yacc.c:1646 */
39170 { (yyval.boolean) = true; }
39171#line 39172 "gram.c" /* yacc.c:1646 */
39172 break;
39173
39174 case 1524:
39175#line 10592 "gram.y" /* yacc.c:1646 */
39176 { (yyval.boolean) = false; }
39177#line 39178 "gram.c" /* yacc.c:1646 */
39178 break;
39179
39180 case 1525:
39181#line 10596 "gram.y" /* yacc.c:1646 */
39182 { (yyval.boolean) = true; }
39183#line 39184 "gram.c" /* yacc.c:1646 */
39184 break;
39185
39186 case 1526:
39187#line 10597 "gram.y" /* yacc.c:1646 */
39188 { (yyval.boolean) = false; }
39189#line 39190 "gram.c" /* yacc.c:1646 */
39190 break;
39191
39192 case 1527:
39193#line 10600 "gram.y" /* yacc.c:1646 */
39194 { (yyval.boolean) = true; }
39195#line 39196 "gram.c" /* yacc.c:1646 */
39196 break;
39197
39198 case 1528:
39199#line 10601 "gram.y" /* yacc.c:1646 */
39200 { (yyval.boolean) = false; }
39201#line 39202 "gram.c" /* yacc.c:1646 */
39202 break;
39203
39204 case 1529:
39205#line 10604 "gram.y" /* yacc.c:1646 */
39206 { (yyval.boolean) = true; }
39207#line 39208 "gram.c" /* yacc.c:1646 */
39208 break;
39209
39210 case 1530:
39211#line 10605 "gram.y" /* yacc.c:1646 */
39212 { (yyval.boolean) = false; }
39213#line 39214 "gram.c" /* yacc.c:1646 */
39214 break;
39215
39216 case 1531:
39217#line 10609 "gram.y" /* yacc.c:1646 */
39218 { (yyval.list) = (yyvsp[-1].list); }
39219#line 39220 "gram.c" /* yacc.c:1646 */
39220 break;
39221
39222 case 1532:
39223#line 10610 "gram.y" /* yacc.c:1646 */
39224 { (yyval.list) = NIL; }
39225#line 39226 "gram.c" /* yacc.c:1646 */
39226 break;
39227
39228 case 1533:
39229#line 10615 "gram.y" /* yacc.c:1646 */
39230 {
39231 (yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
39232 }
39233#line 39234 "gram.c" /* yacc.c:1646 */
39234 break;
39235
39236 case 1534:
39237#line 10622 "gram.y" /* yacc.c:1646 */
39238 { (yyval.list) = list_make1((yyvsp[0].node)); }
39239#line 39240 "gram.c" /* yacc.c:1646 */
39240 break;
39241
39242 case 1535:
39243#line 10624 "gram.y" /* yacc.c:1646 */
39244 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
39245#line 39246 "gram.c" /* yacc.c:1646 */
39246 break;
39247
39248 case 1536:
39249#line 10628 "gram.y" /* yacc.c:1646 */
39250 { (yyval.list) = (yyvsp[0].list); }
39251#line 39252 "gram.c" /* yacc.c:1646 */
39252 break;
39253
39254 case 1537:
39255#line 10629 "gram.y" /* yacc.c:1646 */
39256 { (yyval.list) = NIL; }
39257#line 39258 "gram.c" /* yacc.c:1646 */
39258 break;
39259
39260 case 1538:
39261#line 10643 "gram.y" /* yacc.c:1646 */
39262 {
39263 ExplainStmt *n = makeNode(ExplainStmt);
39264 n->query = (yyvsp[0].node);
39265 n->options = NIL;
39266 (yyval.node) = (Node *) n;
39267 }
39268#line 39269 "gram.c" /* yacc.c:1646 */
39269 break;
39270
39271 case 1539:
39272#line 10650 "gram.y" /* yacc.c:1646 */
39273 {
39274 ExplainStmt *n = makeNode(ExplainStmt);
39275 n->query = (yyvsp[0].node);
39276 n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
39277 if ((yyvsp[-1].boolean))
39278 n->options = lappend(n->options,
39279 makeDefElem("verbose", NULL, (yylsp[-1])));
39280 (yyval.node) = (Node *) n;
39281 }
39282#line 39283 "gram.c" /* yacc.c:1646 */
39283 break;
39284
39285 case 1540:
39286#line 10660 "gram.y" /* yacc.c:1646 */
39287 {
39288 ExplainStmt *n = makeNode(ExplainStmt);
39289 n->query = (yyvsp[0].node);
39290 n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
39291 (yyval.node) = (Node *) n;
39292 }
39293#line 39294 "gram.c" /* yacc.c:1646 */
39294 break;
39295
39296 case 1541:
39297#line 10667 "gram.y" /* yacc.c:1646 */
39298 {
39299 ExplainStmt *n = makeNode(ExplainStmt);
39300 n->query = (yyvsp[0].node);
39301 n->options = (yyvsp[-2].list);
39302 (yyval.node) = (Node *) n;
39303 }
39304#line 39305 "gram.c" /* yacc.c:1646 */
39305 break;
39306
39307 case 1551:
39308#line 10689 "gram.y" /* yacc.c:1646 */
39309 {
39310 (yyval.list) = list_make1((yyvsp[0].defelt));
39311 }
39312#line 39313 "gram.c" /* yacc.c:1646 */
39313 break;
39314
39315 case 1552:
39316#line 10693 "gram.y" /* yacc.c:1646 */
39317 {
39318 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
39319 }
39320#line 39321 "gram.c" /* yacc.c:1646 */
39321 break;
39322
39323 case 1553:
39324#line 10700 "gram.y" /* yacc.c:1646 */
39325 {
39326 (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
39327 }
39328#line 39329 "gram.c" /* yacc.c:1646 */
39329 break;
39330
39331 case 1554:
39332#line 10706 "gram.y" /* yacc.c:1646 */
39333 { (yyval.str) = (yyvsp[0].str); }
39334#line 39335 "gram.c" /* yacc.c:1646 */
39335 break;
39336
39337 case 1555:
39338#line 10707 "gram.y" /* yacc.c:1646 */
39339 { (yyval.str) = "analyze"; }
39340#line 39341 "gram.c" /* yacc.c:1646 */
39341 break;
39342
39343 case 1556:
39344#line 10711 "gram.y" /* yacc.c:1646 */
39345 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
39346#line 39347 "gram.c" /* yacc.c:1646 */
39347 break;
39348
39349 case 1557:
39350#line 10712 "gram.y" /* yacc.c:1646 */
39351 { (yyval.node) = (Node *) (yyvsp[0].value); }
39352#line 39353 "gram.c" /* yacc.c:1646 */
39353 break;
39354
39355 case 1558:
39356#line 10713 "gram.y" /* yacc.c:1646 */
39357 { (yyval.node) = NULL; }
39358#line 39359 "gram.c" /* yacc.c:1646 */
39359 break;
39360
39361 case 1559:
39362#line 10724 "gram.y" /* yacc.c:1646 */
39363 {
39364 PrepareStmt *n = makeNode(PrepareStmt);
39365 n->name = (yyvsp[-3].str);
39366 n->argtypes = (yyvsp[-2].list);
39367 n->query = (yyvsp[0].node);
39368 (yyval.node) = (Node *) n;
39369 }
39370#line 39371 "gram.c" /* yacc.c:1646 */
39371 break;
39372
39373 case 1560:
39374#line 10733 "gram.y" /* yacc.c:1646 */
39375 { (yyval.list) = (yyvsp[-1].list); }
39376#line 39377 "gram.c" /* yacc.c:1646 */
39377 break;
39378
39379 case 1561:
39380#line 10734 "gram.y" /* yacc.c:1646 */
39381 { (yyval.list) = NIL; }
39382#line 39383 "gram.c" /* yacc.c:1646 */
39383 break;
39384
39385 case 1566:
39386#line 10752 "gram.y" /* yacc.c:1646 */
39387 {
39388 ExecuteStmt *n = makeNode(ExecuteStmt);
39389 n->name = (yyvsp[-1].str);
39390 n->params = (yyvsp[0].list);
39391 (yyval.node) = (Node *) n;
39392 }
39393#line 39394 "gram.c" /* yacc.c:1646 */
39394 break;
39395
39396 case 1567:
39397#line 10760 "gram.y" /* yacc.c:1646 */
39398 {
39399 CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
39400 ExecuteStmt *n = makeNode(ExecuteStmt);
39401 n->name = (yyvsp[-2].str);
39402 n->params = (yyvsp[-1].list);
39403 ctas->query = (Node *) n;
39404 ctas->into = (yyvsp[-5].into);
39405 ctas->relkind = OBJECT_TABLE;
39406 ctas->is_select_into = false;
39407 ctas->if_not_exists = false;
39408 /* cram additional flags into the IntoClause */
39409 (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
39410 (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
39411 (yyval.node) = (Node *) ctas;
39412 }
39413#line 39414 "gram.c" /* yacc.c:1646 */
39414 break;
39415
39416 case 1568:
39417#line 10777 "gram.y" /* yacc.c:1646 */
39418 {
39419 CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
39420 ExecuteStmt *n = makeNode(ExecuteStmt);
39421 n->name = (yyvsp[-2].str);
39422 n->params = (yyvsp[-1].list);
39423 ctas->query = (Node *) n;
39424 ctas->into = (yyvsp[-5].into);
39425 ctas->relkind = OBJECT_TABLE;
39426 ctas->is_select_into = false;
39427 ctas->if_not_exists = true;
39428 /* cram additional flags into the IntoClause */
39429 (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-10].ival);
39430 (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
39431 (yyval.node) = (Node *) ctas;
39432 }
39433#line 39434 "gram.c" /* yacc.c:1646 */
39434 break;
39435
39436 case 1569:
39437#line 10794 "gram.y" /* yacc.c:1646 */
39438 { (yyval.list) = (yyvsp[-1].list); }
39439#line 39440 "gram.c" /* yacc.c:1646 */
39440 break;
39441
39442 case 1570:
39443#line 10795 "gram.y" /* yacc.c:1646 */
39444 { (yyval.list) = NIL; }
39445#line 39446 "gram.c" /* yacc.c:1646 */
39446 break;
39447
39448 case 1571:
39449#line 10806 "gram.y" /* yacc.c:1646 */
39450 {
39451 DeallocateStmt *n = makeNode(DeallocateStmt);
39452 n->name = (yyvsp[0].str);
39453 (yyval.node) = (Node *) n;
39454 }
39455#line 39456 "gram.c" /* yacc.c:1646 */
39456 break;
39457
39458 case 1572:
39459#line 10812 "gram.y" /* yacc.c:1646 */
39460 {
39461 DeallocateStmt *n = makeNode(DeallocateStmt);
39462 n->name = (yyvsp[0].str);
39463 (yyval.node) = (Node *) n;
39464 }
39465#line 39466 "gram.c" /* yacc.c:1646 */
39466 break;
39467
39468 case 1573:
39469#line 10818 "gram.y" /* yacc.c:1646 */
39470 {
39471 DeallocateStmt *n = makeNode(DeallocateStmt);
39472 n->name = NULL;
39473 (yyval.node) = (Node *) n;
39474 }
39475#line 39476 "gram.c" /* yacc.c:1646 */
39476 break;
39477
39478 case 1574:
39479#line 10824 "gram.y" /* yacc.c:1646 */
39480 {
39481 DeallocateStmt *n = makeNode(DeallocateStmt);
39482 n->name = NULL;
39483 (yyval.node) = (Node *) n;
39484 }
39485#line 39486 "gram.c" /* yacc.c:1646 */
39486 break;
39487
39488 case 1575:
39489#line 10841 "gram.y" /* yacc.c:1646 */
39490 {
39491 (yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
39492 (yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
39493 (yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
39494 (yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
39495 (yyval.node) = (Node *) (yyvsp[-2].istmt);
39496 }
39497#line 39498 "gram.c" /* yacc.c:1646 */
39498 break;
39499
39500 case 1576:
39501#line 10858 "gram.y" /* yacc.c:1646 */
39502 {
39503 (yyval.range) = (yyvsp[0].range);
39504 }
39505#line 39506 "gram.c" /* yacc.c:1646 */
39506 break;
39507
39508 case 1577:
39509#line 10862 "gram.y" /* yacc.c:1646 */
39510 {
39511 (yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
39512 (yyval.range) = (yyvsp[-2].range);
39513 }
39514#line 39515 "gram.c" /* yacc.c:1646 */
39515 break;
39516
39517 case 1578:
39518#line 10870 "gram.y" /* yacc.c:1646 */
39519 {
39520 (yyval.istmt) = makeNode(InsertStmt);
39521 (yyval.istmt)->cols = NIL;
39522 (yyval.istmt)->selectStmt = (yyvsp[0].node);
39523 }
39524#line 39525 "gram.c" /* yacc.c:1646 */
39525 break;
39526
39527 case 1579:
39528#line 10876 "gram.y" /* yacc.c:1646 */
39529 {
39530 (yyval.istmt) = makeNode(InsertStmt);
39531 (yyval.istmt)->cols = NIL;
39532 (yyval.istmt)->override = (yyvsp[-2].ival);
39533 (yyval.istmt)->selectStmt = (yyvsp[0].node);
39534 }
39535#line 39536 "gram.c" /* yacc.c:1646 */
39536 break;
39537
39538 case 1580:
39539#line 10883 "gram.y" /* yacc.c:1646 */
39540 {
39541 (yyval.istmt) = makeNode(InsertStmt);
39542 (yyval.istmt)->cols = (yyvsp[-2].list);
39543 (yyval.istmt)->selectStmt = (yyvsp[0].node);
39544 }
39545#line 39546 "gram.c" /* yacc.c:1646 */
39546 break;
39547
39548 case 1581:
39549#line 10889 "gram.y" /* yacc.c:1646 */
39550 {
39551 (yyval.istmt) = makeNode(InsertStmt);
39552 (yyval.istmt)->cols = (yyvsp[-5].list);
39553 (yyval.istmt)->override = (yyvsp[-2].ival);
39554 (yyval.istmt)->selectStmt = (yyvsp[0].node);
39555 }
39556#line 39557 "gram.c" /* yacc.c:1646 */
39557 break;
39558
39559 case 1582:
39560#line 10896 "gram.y" /* yacc.c:1646 */
39561 {
39562 (yyval.istmt) = makeNode(InsertStmt);
39563 (yyval.istmt)->cols = NIL;
39564 (yyval.istmt)->selectStmt = NULL;
39565 }
39566#line 39567 "gram.c" /* yacc.c:1646 */
39567 break;
39568
39569 case 1583:
39570#line 10904 "gram.y" /* yacc.c:1646 */
39571 { (yyval.ival) = OVERRIDING_USER_VALUE; }
39572#line 39573 "gram.c" /* yacc.c:1646 */
39573 break;
39574
39575 case 1584:
39576#line 10905 "gram.y" /* yacc.c:1646 */
39577 { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
39578#line 39579 "gram.c" /* yacc.c:1646 */
39579 break;
39580
39581 case 1585:
39582#line 10910 "gram.y" /* yacc.c:1646 */
39583 { (yyval.list) = list_make1((yyvsp[0].target)); }
39584#line 39585 "gram.c" /* yacc.c:1646 */
39585 break;
39586
39587 case 1586:
39588#line 10912 "gram.y" /* yacc.c:1646 */
39589 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
39590#line 39591 "gram.c" /* yacc.c:1646 */
39591 break;
39592
39593 case 1587:
39594#line 10917 "gram.y" /* yacc.c:1646 */
39595 {
39596 (yyval.target) = makeNode(ResTarget);
39597 (yyval.target)->name = (yyvsp[-1].str);
39598 (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
39599 (yyval.target)->val = NULL;
39600 (yyval.target)->location = (yylsp[-1]);
39601 }
39602#line 39603 "gram.c" /* yacc.c:1646 */
39603 break;
39604
39605 case 1588:
39606#line 10928 "gram.y" /* yacc.c:1646 */
39607 {
39608 (yyval.onconflict) = makeNode(OnConflictClause);
39609 (yyval.onconflict)->action = ONCONFLICT_UPDATE;
39610 (yyval.onconflict)->infer = (yyvsp[-5].infer);
39611 (yyval.onconflict)->targetList = (yyvsp[-1].list);
39612 (yyval.onconflict)->whereClause = (yyvsp[0].node);
39613 (yyval.onconflict)->location = (yylsp[-7]);
39614 }
39615#line 39616 "gram.c" /* yacc.c:1646 */
39616 break;
39617
39618 case 1589:
39619#line 10938 "gram.y" /* yacc.c:1646 */
39620 {
39621 (yyval.onconflict) = makeNode(OnConflictClause);
39622 (yyval.onconflict)->action = ONCONFLICT_NOTHING;
39623 (yyval.onconflict)->infer = (yyvsp[-2].infer);
39624 (yyval.onconflict)->targetList = NIL;
39625 (yyval.onconflict)->whereClause = NULL;
39626 (yyval.onconflict)->location = (yylsp[-4]);
39627 }
39628#line 39629 "gram.c" /* yacc.c:1646 */
39629 break;
39630
39631 case 1590:
39632#line 10947 "gram.y" /* yacc.c:1646 */
39633 {
39634 (yyval.onconflict) = NULL;
39635 }
39636#line 39637 "gram.c" /* yacc.c:1646 */
39637 break;
39638
39639 case 1591:
39640#line 10954 "gram.y" /* yacc.c:1646 */
39641 {
39642 (yyval.infer) = makeNode(InferClause);
39643 (yyval.infer)->indexElems = (yyvsp[-2].list);
39644 (yyval.infer)->whereClause = (yyvsp[0].node);
39645 (yyval.infer)->conname = NULL;
39646 (yyval.infer)->location = (yylsp[-3]);
39647 }
39648#line 39649 "gram.c" /* yacc.c:1646 */
39649 break;
39650
39651 case 1592:
39652#line 10963 "gram.y" /* yacc.c:1646 */
39653 {
39654 (yyval.infer) = makeNode(InferClause);
39655 (yyval.infer)->indexElems = NIL;
39656 (yyval.infer)->whereClause = NULL;
39657 (yyval.infer)->conname = (yyvsp[0].str);
39658 (yyval.infer)->location = (yylsp[-2]);
39659 }
39660#line 39661 "gram.c" /* yacc.c:1646 */
39661 break;
39662
39663 case 1593:
39664#line 10971 "gram.y" /* yacc.c:1646 */
39665 {
39666 (yyval.infer) = NULL;
39667 }
39668#line 39669 "gram.c" /* yacc.c:1646 */
39669 break;
39670
39671 case 1594:
39672#line 10977 "gram.y" /* yacc.c:1646 */
39673 { (yyval.list) = (yyvsp[0].list); }
39674#line 39675 "gram.c" /* yacc.c:1646 */
39675 break;
39676
39677 case 1595:
39678#line 10978 "gram.y" /* yacc.c:1646 */
39679 { (yyval.list) = NIL; }
39680#line 39681 "gram.c" /* yacc.c:1646 */
39681 break;
39682
39683 case 1596:
39684#line 10991 "gram.y" /* yacc.c:1646 */
39685 {
39686 DeleteStmt *n = makeNode(DeleteStmt);
39687 n->relation = (yyvsp[-3].range);
39688 n->usingClause = (yyvsp[-2].list);
39689 n->whereClause = (yyvsp[-1].node);
39690 n->returningList = (yyvsp[0].list);
39691 n->withClause = (yyvsp[-6].with);
39692 (yyval.node) = (Node *)n;
39693 }
39694#line 39695 "gram.c" /* yacc.c:1646 */
39695 break;
39696
39697 case 1597:
39698#line 11003 "gram.y" /* yacc.c:1646 */
39699 { (yyval.list) = (yyvsp[0].list); }
39700#line 39701 "gram.c" /* yacc.c:1646 */
39701 break;
39702
39703 case 1598:
39704#line 11004 "gram.y" /* yacc.c:1646 */
39705 { (yyval.list) = NIL; }
39706#line 39707 "gram.c" /* yacc.c:1646 */
39707 break;
39708
39709 case 1599:
39710#line 11016 "gram.y" /* yacc.c:1646 */
39711 {
39712 LockStmt *n = makeNode(LockStmt);
39713
39714 n->relations = (yyvsp[-2].list);
39715 n->mode = (yyvsp[-1].ival);
39716 n->nowait = (yyvsp[0].boolean);
39717 (yyval.node) = (Node *)n;
39718 }
39719#line 39720 "gram.c" /* yacc.c:1646 */
39720 break;
39721
39722 case 1600:
39723#line 11026 "gram.y" /* yacc.c:1646 */
39724 { (yyval.ival) = (yyvsp[-1].ival); }
39725#line 39726 "gram.c" /* yacc.c:1646 */
39726 break;
39727
39728 case 1601:
39729#line 11027 "gram.y" /* yacc.c:1646 */
39730 { (yyval.ival) = AccessExclusiveLock; }
39731#line 39732 "gram.c" /* yacc.c:1646 */
39732 break;
39733
39734 case 1602:
39735#line 11030 "gram.y" /* yacc.c:1646 */
39736 { (yyval.ival) = AccessShareLock; }
39737#line 39738 "gram.c" /* yacc.c:1646 */
39738 break;
39739
39740 case 1603:
39741#line 11031 "gram.y" /* yacc.c:1646 */
39742 { (yyval.ival) = RowShareLock; }
39743#line 39744 "gram.c" /* yacc.c:1646 */
39744 break;
39745
39746 case 1604:
39747#line 11032 "gram.y" /* yacc.c:1646 */
39748 { (yyval.ival) = RowExclusiveLock; }
39749#line 39750 "gram.c" /* yacc.c:1646 */
39750 break;
39751
39752 case 1605:
39753#line 11033 "gram.y" /* yacc.c:1646 */
39754 { (yyval.ival) = ShareUpdateExclusiveLock; }
39755#line 39756 "gram.c" /* yacc.c:1646 */
39756 break;
39757
39758 case 1606:
39759#line 11034 "gram.y" /* yacc.c:1646 */
39760 { (yyval.ival) = ShareLock; }
39761#line 39762 "gram.c" /* yacc.c:1646 */
39762 break;
39763
39764 case 1607:
39765#line 11035 "gram.y" /* yacc.c:1646 */
39766 { (yyval.ival) = ShareRowExclusiveLock; }
39767#line 39768 "gram.c" /* yacc.c:1646 */
39768 break;
39769
39770 case 1608:
39771#line 11036 "gram.y" /* yacc.c:1646 */
39772 { (yyval.ival) = ExclusiveLock; }
39773#line 39774 "gram.c" /* yacc.c:1646 */
39774 break;
39775
39776 case 1609:
39777#line 11037 "gram.y" /* yacc.c:1646 */
39778 { (yyval.ival) = AccessExclusiveLock; }
39779#line 39780 "gram.c" /* yacc.c:1646 */
39780 break;
39781
39782 case 1610:
39783#line 11040 "gram.y" /* yacc.c:1646 */
39784 { (yyval.boolean) = true; }
39785#line 39786 "gram.c" /* yacc.c:1646 */
39786 break;
39787
39788 case 1611:
39789#line 11041 "gram.y" /* yacc.c:1646 */
39790 { (yyval.boolean) = false; }
39791#line 39792 "gram.c" /* yacc.c:1646 */
39792 break;
39793
39794 case 1612:
39795#line 11045 "gram.y" /* yacc.c:1646 */
39796 { (yyval.ival) = LockWaitError; }
39797#line 39798 "gram.c" /* yacc.c:1646 */
39798 break;
39799
39800 case 1613:
39801#line 11046 "gram.y" /* yacc.c:1646 */
39802 { (yyval.ival) = LockWaitSkip; }
39803#line 39804 "gram.c" /* yacc.c:1646 */
39804 break;
39805
39806 case 1614:
39807#line 11047 "gram.y" /* yacc.c:1646 */
39808 { (yyval.ival) = LockWaitBlock; }
39809#line 39810 "gram.c" /* yacc.c:1646 */
39810 break;
39811
39812 case 1615:
39813#line 11063 "gram.y" /* yacc.c:1646 */
39814 {
39815 UpdateStmt *n = makeNode(UpdateStmt);
39816 n->relation = (yyvsp[-5].range);
39817 n->targetList = (yyvsp[-3].list);
39818 n->fromClause = (yyvsp[-2].list);
39819 n->whereClause = (yyvsp[-1].node);
39820 n->returningList = (yyvsp[0].list);
39821 n->withClause = (yyvsp[-7].with);
39822 (yyval.node) = (Node *)n;
39823 }
39824#line 39825 "gram.c" /* yacc.c:1646 */
39825 break;
39826
39827 case 1616:
39828#line 11076 "gram.y" /* yacc.c:1646 */
39829 { (yyval.list) = (yyvsp[0].list); }
39830#line 39831 "gram.c" /* yacc.c:1646 */
39831 break;
39832
39833 case 1617:
39834#line 11077 "gram.y" /* yacc.c:1646 */
39835 { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
39836#line 39837 "gram.c" /* yacc.c:1646 */
39837 break;
39838
39839 case 1618:
39840#line 11082 "gram.y" /* yacc.c:1646 */
39841 {
39842 (yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
39843 (yyval.list) = list_make1((yyvsp[-2].target));
39844 }
39845#line 39846 "gram.c" /* yacc.c:1646 */
39846 break;
39847
39848 case 1619:
39849#line 11087 "gram.y" /* yacc.c:1646 */
39850 {
39851 int ncolumns = list_length((yyvsp[-3].list));
39852 int i = 1;
39853 ListCell *col_cell;
39854
39855 /* Create a MultiAssignRef source for each target */
39856 foreach(col_cell, (yyvsp[-3].list))
39857 {
39858 ResTarget *res_col = (ResTarget *) lfirst(col_cell);
39859 MultiAssignRef *r = makeNode(MultiAssignRef);
39860
39861 r->source = (Node *) (yyvsp[0].node);
39862 r->colno = i;
39863 r->ncolumns = ncolumns;
39864 res_col->val = (Node *) r;
39865 i++;
39866 }
39867
39868 (yyval.list) = (yyvsp[-3].list);
39869 }
39870#line 39871 "gram.c" /* yacc.c:1646 */
39871 break;
39872
39873 case 1620:
39874#line 11111 "gram.y" /* yacc.c:1646 */
39875 {
39876 (yyval.target) = makeNode(ResTarget);
39877 (yyval.target)->name = (yyvsp[-1].str);
39878 (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
39879 (yyval.target)->val = NULL; /* upper production sets this */
39880 (yyval.target)->location = (yylsp[-1]);
39881 }
39882#line 39883 "gram.c" /* yacc.c:1646 */
39883 break;
39884
39885 case 1621:
39886#line 11121 "gram.y" /* yacc.c:1646 */
39887 { (yyval.list) = list_make1((yyvsp[0].target)); }
39888#line 39889 "gram.c" /* yacc.c:1646 */
39889 break;
39890
39891 case 1622:
39892#line 11122 "gram.y" /* yacc.c:1646 */
39893 { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
39894#line 39895 "gram.c" /* yacc.c:1646 */
39895 break;
39896
39897 case 1623:
39898#line 11133 "gram.y" /* yacc.c:1646 */
39899 {
39900 DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
39901 n->portalname = (yyvsp[-5].str);
39902 /* currently we always set FAST_PLAN option */
39903 n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
39904 n->query = (yyvsp[0].node);
39905 (yyval.node) = (Node *)n;
39906 }
39907#line 39908 "gram.c" /* yacc.c:1646 */
39908 break;
39909
39910 case 1624:
39911#line 11143 "gram.y" /* yacc.c:1646 */
39912 { (yyval.str) = (yyvsp[0].str); }
39913#line 39914 "gram.c" /* yacc.c:1646 */
39914 break;
39915
39916 case 1625:
39917#line 11146 "gram.y" /* yacc.c:1646 */
39918 { (yyval.ival) = 0; }
39919#line 39920 "gram.c" /* yacc.c:1646 */
39920 break;
39921
39922 case 1626:
39923#line 11147 "gram.y" /* yacc.c:1646 */
39924 { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
39925#line 39926 "gram.c" /* yacc.c:1646 */
39926 break;
39927
39928 case 1627:
39929#line 11148 "gram.y" /* yacc.c:1646 */
39930 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
39931#line 39932 "gram.c" /* yacc.c:1646 */
39932 break;
39933
39934 case 1628:
39935#line 11149 "gram.y" /* yacc.c:1646 */
39936 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
39937#line 39938 "gram.c" /* yacc.c:1646 */
39938 break;
39939
39940 case 1629:
39941#line 11150 "gram.y" /* yacc.c:1646 */
39942 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
39943#line 39944 "gram.c" /* yacc.c:1646 */
39944 break;
39945
39946 case 1630:
39947#line 11153 "gram.y" /* yacc.c:1646 */
39948 { (yyval.ival) = 0; }
39949#line 39950 "gram.c" /* yacc.c:1646 */
39950 break;
39951
39952 case 1631:
39953#line 11154 "gram.y" /* yacc.c:1646 */
39954 { (yyval.ival) = CURSOR_OPT_HOLD; }
39955#line 39956 "gram.c" /* yacc.c:1646 */
39956 break;
39957
39958 case 1632:
39959#line 11155 "gram.y" /* yacc.c:1646 */
39960 { (yyval.ival) = 0; }
39961#line 39962 "gram.c" /* yacc.c:1646 */
39962 break;
39963
39964 case 1635:
39965#line 11208 "gram.y" /* yacc.c:1646 */
39966 { (yyval.node) = (yyvsp[-1].node); }
39967#line 39968 "gram.c" /* yacc.c:1646 */
39968 break;
39969
39970 case 1636:
39971#line 11209 "gram.y" /* yacc.c:1646 */
39972 { (yyval.node) = (yyvsp[-1].node); }
39973#line 39974 "gram.c" /* yacc.c:1646 */
39974 break;
39975
39976 case 1637:
39977#line 11224 "gram.y" /* yacc.c:1646 */
39978 { (yyval.node) = (yyvsp[0].node); }
39979#line 39980 "gram.c" /* yacc.c:1646 */
39980 break;
39981
39982 case 1638:
39983#line 11226 "gram.y" /* yacc.c:1646 */
39984 {
39985 insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
39986 NULL, NULL, NULL,
39987 yyscanner);
39988 (yyval.node) = (yyvsp[-1].node);
39989 }
39990#line 39991 "gram.c" /* yacc.c:1646 */
39991 break;
39992
39993 case 1639:
39994#line 11233 "gram.y" /* yacc.c:1646 */
39995 {
39996 insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
39997 list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
39998 NULL,
39999 yyscanner);
40000 (yyval.node) = (yyvsp[-3].node);
40001 }
40002#line 40003 "gram.c" /* yacc.c:1646 */
40003 break;
40004
40005 case 1640:
40006#line 11241 "gram.y" /* yacc.c:1646 */
40007 {
40008 insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
40009 list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
40010 NULL,
40011 yyscanner);
40012 (yyval.node) = (yyvsp[-3].node);
40013 }
40014#line 40015 "gram.c" /* yacc.c:1646 */
40015 break;
40016
40017 case 1641:
40018#line 11249 "gram.y" /* yacc.c:1646 */
40019 {
40020 insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
40021 NULL, NULL,
40022 (yyvsp[-1].with),
40023 yyscanner);
40024 (yyval.node) = (yyvsp[0].node);
40025 }
40026#line 40027 "gram.c" /* yacc.c:1646 */
40027 break;
40028
40029 case 1642:
40030#line 11257 "gram.y" /* yacc.c:1646 */
40031 {
40032 insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
40033 NULL, NULL,
40034 (yyvsp[-2].with),
40035 yyscanner);
40036 (yyval.node) = (yyvsp[-1].node);
40037 }
40038#line 40039 "gram.c" /* yacc.c:1646 */
40039 break;
40040
40041 case 1643:
40042#line 11265 "gram.y" /* yacc.c:1646 */
40043 {
40044 insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
40045 list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
40046 (yyvsp[-4].with),
40047 yyscanner);
40048 (yyval.node) = (yyvsp[-3].node);
40049 }
40050#line 40051 "gram.c" /* yacc.c:1646 */
40051 break;
40052
40053 case 1644:
40054#line 11273 "gram.y" /* yacc.c:1646 */
40055 {
40056 insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
40057 list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
40058 (yyvsp[-4].with),
40059 yyscanner);
40060 (yyval.node) = (yyvsp[-3].node);
40061 }
40062#line 40063 "gram.c" /* yacc.c:1646 */
40063 break;
40064
40065 case 1645:
40066#line 11283 "gram.y" /* yacc.c:1646 */
40067 { (yyval.node) = (yyvsp[0].node); }
40068#line 40069 "gram.c" /* yacc.c:1646 */
40069 break;
40070
40071 case 1646:
40072#line 11284 "gram.y" /* yacc.c:1646 */
40073 { (yyval.node) = (yyvsp[0].node); }
40074#line 40075 "gram.c" /* yacc.c:1646 */
40075 break;
40076
40077 case 1647:
40078#line 11314 "gram.y" /* yacc.c:1646 */
40079 {
40080 SelectStmt *n = makeNode(SelectStmt);
40081 n->targetList = (yyvsp[-6].list);
40082 n->intoClause = (yyvsp[-5].into);
40083 n->fromClause = (yyvsp[-4].list);
40084 n->whereClause = (yyvsp[-3].node);
40085 n->groupClause = (yyvsp[-2].list);
40086 n->havingClause = (yyvsp[-1].node);
40087 n->windowClause = (yyvsp[0].list);
40088 (yyval.node) = (Node *)n;
40089 }
40090#line 40091 "gram.c" /* yacc.c:1646 */
40091 break;
40092
40093 case 1648:
40094#line 11328 "gram.y" /* yacc.c:1646 */
40095 {
40096 SelectStmt *n = makeNode(SelectStmt);
40097 n->distinctClause = (yyvsp[-7].list);
40098 n->targetList = (yyvsp[-6].list);
40099 n->intoClause = (yyvsp[-5].into);
40100 n->fromClause = (yyvsp[-4].list);
40101 n->whereClause = (yyvsp[-3].node);
40102 n->groupClause = (yyvsp[-2].list);
40103 n->havingClause = (yyvsp[-1].node);
40104 n->windowClause = (yyvsp[0].list);
40105 (yyval.node) = (Node *)n;
40106 }
40107#line 40108 "gram.c" /* yacc.c:1646 */
40108 break;
40109
40110 case 1649:
40111#line 11340 "gram.y" /* yacc.c:1646 */
40112 { (yyval.node) = (yyvsp[0].node); }
40113#line 40114 "gram.c" /* yacc.c:1646 */
40114 break;
40115
40116 case 1650:
40117#line 11342 "gram.y" /* yacc.c:1646 */
40118 {
40119 /* same as SELECT * FROM relation_expr */
40120 ColumnRef *cr = makeNode(ColumnRef);
40121 ResTarget *rt = makeNode(ResTarget);
40122 SelectStmt *n = makeNode(SelectStmt);
40123
40124 cr->fields = list_make1(makeNode(A_Star));
40125 cr->location = -1;
40126
40127 rt->name = NULL;
40128 rt->indirection = NIL;
40129 rt->val = (Node *)cr;
40130 rt->location = -1;
40131
40132 n->targetList = list_make1(rt);
40133 n->fromClause = list_make1((yyvsp[0].range));
40134 (yyval.node) = (Node *)n;
40135 }
40136#line 40137 "gram.c" /* yacc.c:1646 */
40137 break;
40138
40139 case 1651:
40140#line 11361 "gram.y" /* yacc.c:1646 */
40141 {
40142 (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
40143 }
40144#line 40145 "gram.c" /* yacc.c:1646 */
40145 break;
40146
40147 case 1652:
40148#line 11365 "gram.y" /* yacc.c:1646 */
40149 {
40150 (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
40151 }
40152#line 40153 "gram.c" /* yacc.c:1646 */
40153 break;
40154
40155 case 1653:
40156#line 11369 "gram.y" /* yacc.c:1646 */
40157 {
40158 (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
40159 }
40160#line 40161 "gram.c" /* yacc.c:1646 */
40161 break;
40162
40163 case 1654:
40164#line 11386 "gram.y" /* yacc.c:1646 */
40165 {
40166 (yyval.with) = makeNode(WithClause);
40167 (yyval.with)->ctes = (yyvsp[0].list);
40168 (yyval.with)->recursive = false;
40169 (yyval.with)->location = (yylsp[-1]);
40170 }
40171#line 40172 "gram.c" /* yacc.c:1646 */
40172 break;
40173
40174 case 1655:
40175#line 11393 "gram.y" /* yacc.c:1646 */
40176 {
40177 (yyval.with) = makeNode(WithClause);
40178 (yyval.with)->ctes = (yyvsp[0].list);
40179 (yyval.with)->recursive = false;
40180 (yyval.with)->location = (yylsp[-1]);
40181 }
40182#line 40183 "gram.c" /* yacc.c:1646 */
40183 break;
40184
40185 case 1656:
40186#line 11400 "gram.y" /* yacc.c:1646 */
40187 {
40188 (yyval.with) = makeNode(WithClause);
40189 (yyval.with)->ctes = (yyvsp[0].list);
40190 (yyval.with)->recursive = true;
40191 (yyval.with)->location = (yylsp[-2]);
40192 }
40193#line 40194 "gram.c" /* yacc.c:1646 */
40194 break;
40195
40196 case 1657:
40197#line 11409 "gram.y" /* yacc.c:1646 */
40198 { (yyval.list) = list_make1((yyvsp[0].node)); }
40199#line 40200 "gram.c" /* yacc.c:1646 */
40200 break;
40201
40202 case 1658:
40203#line 11410 "gram.y" /* yacc.c:1646 */
40204 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
40205#line 40206 "gram.c" /* yacc.c:1646 */
40206 break;
40207
40208 case 1659:
40209#line 11414 "gram.y" /* yacc.c:1646 */
40210 {
40211 CommonTableExpr *n = makeNode(CommonTableExpr);
40212 n->ctename = (yyvsp[-6].str);
40213 n->aliascolnames = (yyvsp[-5].list);
40214 n->ctematerialized = (yyvsp[-3].ival);
40215 n->ctequery = (yyvsp[-1].node);
40216 n->location = (yylsp[-6]);
40217 (yyval.node) = (Node *) n;
40218 }
40219#line 40220 "gram.c" /* yacc.c:1646 */
40220 break;
40221
40222 case 1660:
40223#line 11426 "gram.y" /* yacc.c:1646 */
40224 { (yyval.ival) = CTEMaterializeAlways; }
40225#line 40226 "gram.c" /* yacc.c:1646 */
40226 break;
40227
40228 case 1661:
40229#line 11427 "gram.y" /* yacc.c:1646 */
40230 { (yyval.ival) = CTEMaterializeNever; }
40231#line 40232 "gram.c" /* yacc.c:1646 */
40232 break;
40233
40234 case 1662:
40235#line 11428 "gram.y" /* yacc.c:1646 */
40236 { (yyval.ival) = CTEMaterializeDefault; }
40237#line 40238 "gram.c" /* yacc.c:1646 */
40238 break;
40239
40240 case 1663:
40241#line 11432 "gram.y" /* yacc.c:1646 */
40242 { (yyval.with) = (yyvsp[0].with); }
40243#line 40244 "gram.c" /* yacc.c:1646 */
40244 break;
40245
40246 case 1664:
40247#line 11433 "gram.y" /* yacc.c:1646 */
40248 { (yyval.with) = NULL; }
40249#line 40250 "gram.c" /* yacc.c:1646 */
40250 break;
40251
40252 case 1665:
40253#line 11438 "gram.y" /* yacc.c:1646 */
40254 {
40255 (yyval.into) = makeNode(IntoClause);
40256 (yyval.into)->rel = (yyvsp[0].range);
40257 (yyval.into)->colNames = NIL;
40258 (yyval.into)->options = NIL;
40259 (yyval.into)->onCommit = ONCOMMIT_NOOP;
40260 (yyval.into)->tableSpaceName = NULL;
40261 (yyval.into)->viewQuery = NULL;
40262 (yyval.into)->skipData = false;
40263 }
40264#line 40265 "gram.c" /* yacc.c:1646 */
40265 break;
40266
40267 case 1666:
40268#line 11449 "gram.y" /* yacc.c:1646 */
40269 { (yyval.into) = NULL; }
40270#line 40271 "gram.c" /* yacc.c:1646 */
40271 break;
40272
40273 case 1667:
40274#line 11458 "gram.y" /* yacc.c:1646 */
40275 {
40276 (yyval.range) = (yyvsp[0].range);
40277 (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40278 }
40279#line 40280 "gram.c" /* yacc.c:1646 */
40280 break;
40281
40282 case 1668:
40283#line 11463 "gram.y" /* yacc.c:1646 */
40284 {
40285 (yyval.range) = (yyvsp[0].range);
40286 (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40287 }
40288#line 40289 "gram.c" /* yacc.c:1646 */
40289 break;
40290
40291 case 1669:
40292#line 11468 "gram.y" /* yacc.c:1646 */
40293 {
40294 (yyval.range) = (yyvsp[0].range);
40295 (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40296 }
40297#line 40298 "gram.c" /* yacc.c:1646 */
40298 break;
40299
40300 case 1670:
40301#line 11473 "gram.y" /* yacc.c:1646 */
40302 {
40303 (yyval.range) = (yyvsp[0].range);
40304 (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40305 }
40306#line 40307 "gram.c" /* yacc.c:1646 */
40307 break;
40308
40309 case 1671:
40310#line 11478 "gram.y" /* yacc.c:1646 */
40311 {
40312 ereport(WARNING,
40313 (errmsg("GLOBAL is deprecated in temporary table creation"),
40314 parser_errposition((yylsp[-3]))));
40315 (yyval.range) = (yyvsp[0].range);
40316 (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40317 }
40318#line 40319 "gram.c" /* yacc.c:1646 */
40319 break;
40320
40321 case 1672:
40322#line 11486 "gram.y" /* yacc.c:1646 */
40323 {
40324 ereport(WARNING,
40325 (errmsg("GLOBAL is deprecated in temporary table creation"),
40326 parser_errposition((yylsp[-3]))));
40327 (yyval.range) = (yyvsp[0].range);
40328 (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
40329 }
40330#line 40331 "gram.c" /* yacc.c:1646 */
40331 break;
40332
40333 case 1673:
40334#line 11494 "gram.y" /* yacc.c:1646 */
40335 {
40336 (yyval.range) = (yyvsp[0].range);
40337 (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
40338 }
40339#line 40340 "gram.c" /* yacc.c:1646 */
40340 break;
40341
40342 case 1674:
40343#line 11499 "gram.y" /* yacc.c:1646 */
40344 {
40345 (yyval.range) = (yyvsp[0].range);
40346 (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
40347 }
40348#line 40349 "gram.c" /* yacc.c:1646 */
40349 break;
40350
40351 case 1675:
40352#line 11504 "gram.y" /* yacc.c:1646 */
40353 {
40354 (yyval.range) = (yyvsp[0].range);
40355 (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
40356 }
40357#line 40358 "gram.c" /* yacc.c:1646 */
40358 break;
40359
40360 case 1676:
40361#line 11510 "gram.y" /* yacc.c:1646 */
40362 {}
40363#line 40364 "gram.c" /* yacc.c:1646 */
40364 break;
40365
40366 case 1677:
40367#line 11511 "gram.y" /* yacc.c:1646 */
40368 {}
40369#line 40370 "gram.c" /* yacc.c:1646 */
40370 break;
40371
40372 case 1678:
40373#line 11515 "gram.y" /* yacc.c:1646 */
40374 { (yyval.boolean) = true; }
40375#line 40376 "gram.c" /* yacc.c:1646 */
40376 break;
40377
40378 case 1679:
40379#line 11516 "gram.y" /* yacc.c:1646 */
40380 { (yyval.boolean) = false; }
40381#line 40382 "gram.c" /* yacc.c:1646 */
40382 break;
40383
40384 case 1680:
40385#line 11517 "gram.y" /* yacc.c:1646 */
40386 { (yyval.boolean) = false; }
40387#line 40388 "gram.c" /* yacc.c:1646 */
40388 break;
40389
40390 case 1681:
40391#line 11524 "gram.y" /* yacc.c:1646 */
40392 { (yyval.list) = list_make1(NIL); }
40393#line 40394 "gram.c" /* yacc.c:1646 */
40394 break;
40395
40396 case 1682:
40397#line 11525 "gram.y" /* yacc.c:1646 */
40398 { (yyval.list) = (yyvsp[-1].list); }
40399#line 40400 "gram.c" /* yacc.c:1646 */
40400 break;
40401
40402 case 1683:
40403#line 11529 "gram.y" /* yacc.c:1646 */
40404 { (yyval.list) = NIL;}
40405#line 40406 "gram.c" /* yacc.c:1646 */
40406 break;
40407
40408 case 1684:
40409#line 11530 "gram.y" /* yacc.c:1646 */
40410 { (yyval.list) = NIL; }
40411#line 40412 "gram.c" /* yacc.c:1646 */
40412 break;
40413
40414 case 1685:
40415#line 11534 "gram.y" /* yacc.c:1646 */
40416 { (yyval.list) = (yyvsp[0].list);}
40417#line 40418 "gram.c" /* yacc.c:1646 */
40418 break;
40419
40420 case 1686:
40421#line 11535 "gram.y" /* yacc.c:1646 */
40422 { (yyval.list) = NIL; }
40423#line 40424 "gram.c" /* yacc.c:1646 */
40424 break;
40425
40426 case 1687:
40427#line 11539 "gram.y" /* yacc.c:1646 */
40428 { (yyval.list) = (yyvsp[0].list); }
40429#line 40430 "gram.c" /* yacc.c:1646 */
40430 break;
40431
40432 case 1688:
40433#line 11543 "gram.y" /* yacc.c:1646 */
40434 { (yyval.list) = list_make1((yyvsp[0].sortby)); }
40435#line 40436 "gram.c" /* yacc.c:1646 */
40436 break;
40437
40438 case 1689:
40439#line 11544 "gram.y" /* yacc.c:1646 */
40440 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
40441#line 40442 "gram.c" /* yacc.c:1646 */
40442 break;
40443
40444 case 1690:
40445#line 11548 "gram.y" /* yacc.c:1646 */
40446 {
40447 (yyval.sortby) = makeNode(SortBy);
40448 (yyval.sortby)->node = (yyvsp[-3].node);
40449 (yyval.sortby)->sortby_dir = SORTBY_USING;
40450 (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
40451 (yyval.sortby)->useOp = (yyvsp[-1].list);
40452 (yyval.sortby)->location = (yylsp[-1]);
40453 }
40454#line 40455 "gram.c" /* yacc.c:1646 */
40455 break;
40456
40457 case 1691:
40458#line 11557 "gram.y" /* yacc.c:1646 */
40459 {
40460 (yyval.sortby) = makeNode(SortBy);
40461 (yyval.sortby)->node = (yyvsp[-2].node);
40462 (yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
40463 (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
40464 (yyval.sortby)->useOp = NIL;
40465 (yyval.sortby)->location = -1; /* no operator */
40466 }
40467#line 40468 "gram.c" /* yacc.c:1646 */
40468 break;
40469
40470 case 1692:
40471#line 11569 "gram.y" /* yacc.c:1646 */
40472 { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); }
40473#line 40474 "gram.c" /* yacc.c:1646 */
40474 break;
40475
40476 case 1693:
40477#line 11570 "gram.y" /* yacc.c:1646 */
40478 { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); }
40479#line 40480 "gram.c" /* yacc.c:1646 */
40480 break;
40481
40482 case 1694:
40483#line 11571 "gram.y" /* yacc.c:1646 */
40484 { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
40485#line 40486 "gram.c" /* yacc.c:1646 */
40486 break;
40487
40488 case 1695:
40489#line 11572 "gram.y" /* yacc.c:1646 */
40490 { (yyval.list) = list_make2((yyvsp[0].node), NULL); }
40491#line 40492 "gram.c" /* yacc.c:1646 */
40492 break;
40493
40494 case 1696:
40495#line 11576 "gram.y" /* yacc.c:1646 */
40496 { (yyval.list) = (yyvsp[0].list); }
40497#line 40498 "gram.c" /* yacc.c:1646 */
40498 break;
40499
40500 case 1697:
40501#line 11577 "gram.y" /* yacc.c:1646 */
40502 { (yyval.list) = list_make2(NULL,NULL); }
40503#line 40504 "gram.c" /* yacc.c:1646 */
40504 break;
40505
40506 case 1698:
40507#line 11582 "gram.y" /* yacc.c:1646 */
40508 { (yyval.node) = (yyvsp[0].node); }
40509#line 40510 "gram.c" /* yacc.c:1646 */
40510 break;
40511
40512 case 1699:
40513#line 11584 "gram.y" /* yacc.c:1646 */
40514 {
40515 /* Disabled because it was too confusing, bjm 2002-02-18 */
40516 ereport(ERROR,
40517 (errcode(ERRCODE_SYNTAX_ERROR),
40518 errmsg("LIMIT #,# syntax is not supported"),
40519 errhint("Use separate LIMIT and OFFSET clauses."),
40520 parser_errposition((yylsp[-3]))));
40521 }
40522#line 40523 "gram.c" /* yacc.c:1646 */
40523 break;
40524
40525 case 1700:
40526#line 11600 "gram.y" /* yacc.c:1646 */
40527 { (yyval.node) = (yyvsp[-2].node); }
40528#line 40529 "gram.c" /* yacc.c:1646 */
40529 break;
40530
40531 case 1701:
40532#line 11602 "gram.y" /* yacc.c:1646 */
40533 { (yyval.node) = makeIntConst(1, -1); }
40534#line 40535 "gram.c" /* yacc.c:1646 */
40535 break;
40536
40537 case 1702:
40538#line 11607 "gram.y" /* yacc.c:1646 */
40539 { (yyval.node) = (yyvsp[0].node); }
40540#line 40541 "gram.c" /* yacc.c:1646 */
40541 break;
40542
40543 case 1703:
40544#line 11610 "gram.y" /* yacc.c:1646 */
40545 { (yyval.node) = (yyvsp[-1].node); }
40546#line 40547 "gram.c" /* yacc.c:1646 */
40547 break;
40548
40549 case 1704:
40550#line 11614 "gram.y" /* yacc.c:1646 */
40551 { (yyval.node) = (yyvsp[0].node); }
40552#line 40553 "gram.c" /* yacc.c:1646 */
40553 break;
40554
40555 case 1705:
40556#line 11616 "gram.y" /* yacc.c:1646 */
40557 {
40558 /* LIMIT ALL is represented as a NULL constant */
40559 (yyval.node) = makeNullAConst((yylsp[0]));
40560 }
40561#line 40562 "gram.c" /* yacc.c:1646 */
40562 break;
40563
40564 case 1706:
40565#line 11623 "gram.y" /* yacc.c:1646 */
40566 { (yyval.node) = (yyvsp[0].node); }
40567#line 40568 "gram.c" /* yacc.c:1646 */
40568 break;
40569
40570 case 1707:
40571#line 11643 "gram.y" /* yacc.c:1646 */
40572 { (yyval.node) = (yyvsp[0].node); }
40573#line 40574 "gram.c" /* yacc.c:1646 */
40574 break;
40575
40576 case 1708:
40577#line 11645 "gram.y" /* yacc.c:1646 */
40578 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
40579#line 40580 "gram.c" /* yacc.c:1646 */
40580 break;
40581
40582 case 1709:
40583#line 11647 "gram.y" /* yacc.c:1646 */
40584 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
40585#line 40586 "gram.c" /* yacc.c:1646 */
40586 break;
40587
40588 case 1710:
40589#line 11651 "gram.y" /* yacc.c:1646 */
40590 { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
40591#line 40592 "gram.c" /* yacc.c:1646 */
40592 break;
40593
40594 case 1711:
40595#line 11652 "gram.y" /* yacc.c:1646 */
40596 { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
40597#line 40598 "gram.c" /* yacc.c:1646 */
40598 break;
40599
40600 case 1712:
40601#line 11656 "gram.y" /* yacc.c:1646 */
40602 { (yyval.ival) = 0; }
40603#line 40604 "gram.c" /* yacc.c:1646 */
40604 break;
40605
40606 case 1713:
40607#line 11657 "gram.y" /* yacc.c:1646 */
40608 { (yyval.ival) = 0; }
40609#line 40610 "gram.c" /* yacc.c:1646 */
40610 break;
40611
40612 case 1714:
40613#line 11660 "gram.y" /* yacc.c:1646 */
40614 { (yyval.ival) = 0; }
40615#line 40616 "gram.c" /* yacc.c:1646 */
40616 break;
40617
40618 case 1715:
40619#line 11661 "gram.y" /* yacc.c:1646 */
40620 { (yyval.ival) = 0; }
40621#line 40622 "gram.c" /* yacc.c:1646 */
40622 break;
40623
40624 case 1716:
40625#line 11686 "gram.y" /* yacc.c:1646 */
40626 { (yyval.list) = (yyvsp[0].list); }
40627#line 40628 "gram.c" /* yacc.c:1646 */
40628 break;
40629
40630 case 1717:
40631#line 11687 "gram.y" /* yacc.c:1646 */
40632 { (yyval.list) = NIL; }
40633#line 40634 "gram.c" /* yacc.c:1646 */
40634 break;
40635
40636 case 1718:
40637#line 11691 "gram.y" /* yacc.c:1646 */
40638 { (yyval.list) = list_make1((yyvsp[0].node)); }
40639#line 40640 "gram.c" /* yacc.c:1646 */
40640 break;
40641
40642 case 1719:
40643#line 11692 "gram.y" /* yacc.c:1646 */
40644 { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
40645#line 40646 "gram.c" /* yacc.c:1646 */
40646 break;
40647
40648 case 1720:
40649#line 11696 "gram.y" /* yacc.c:1646 */
40650 { (yyval.node) = (yyvsp[0].node); }
40651#line 40652 "gram.c" /* yacc.c:1646 */
40652 break;
40653
40654 case 1721:
40655#line 11697 "gram.y" /* yacc.c:1646 */
40656 { (yyval.node) = (yyvsp[0].node); }
40657#line 40658 "gram.c" /* yacc.c:1646 */
40658 break;
40659
40660 case 1722:
40661#line 11698 "gram.y" /* yacc.c:1646 */
40662 { (yyval.node) = (yyvsp[0].node); }
40663#line 40664 "gram.c" /* yacc.c:1646 */
40664 break;
40665
40666 case 1723:
40667#line 11699 "gram.y" /* yacc.c:1646 */
40668 { (yyval.node) = (yyvsp[0].node); }
40669#line 40670 "gram.c" /* yacc.c:1646 */
40670 break;
40671
40672 case 1724:
40673#line 11700 "gram.y" /* yacc.c:1646 */
40674 { (yyval.node) = (yyvsp[0].node); }
40675#line 40676 "gram.c" /* yacc.c:1646 */
40676 break;
40677
40678 case 1725:
40679#line 11705 "gram.y" /* yacc.c:1646 */
40680 {
40681 (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
40682 }
40683#line 40684 "gram.c" /* yacc.c:1646 */
40684 break;
40685
40686 case 1726:
40687#line 11718 "gram.y" /* yacc.c:1646 */
40688 {
40689 (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
40690 }
40691#line 40692 "gram.c" /* yacc.c:1646 */
40692 break;
40693
40694 case 1727:
40695#line 11725 "gram.y" /* yacc.c:1646 */
40696 {
40697 (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
40698 }
40699#line 40700 "gram.c" /* yacc.c:1646 */
40700 break;
40701
40702 case 1728:
40703#line 11732 "gram.y" /* yacc.c:1646 */
40704 {
40705 (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
40706 }
40707#line 40708 "gram.c" /* yacc.c:1646 */
40708 break;
40709
40710 case 1729:
40711#line 11738 "gram.y" /* yacc.c:1646 */
40712 { (yyval.node) = (yyvsp[0].node); }
40713#line 40714 "gram.c" /* yacc.c:1646 */
40714 break;
40715
40716 case 1730:
40717#line 11739 "gram.y" /* yacc.c:1646 */
40718 { (yyval.node) = NULL; }
40719#line 40720 "gram.c" /* yacc.c:1646 */
40720 break;
40721
40722 case 1731:
40723#line 11743 "gram.y" /* yacc.c:1646 */
40724 { (yyval.list) = (yyvsp[0].list); }
40725#line 40726 "gram.c" /* yacc.c:1646 */
40726 break;
40727
40728 case 1732:
40729#line 11744 "gram.y" /* yacc.c:1646 */
40730 { (yyval.list) = NIL; }
40731#line 40732 "gram.c" /* yacc.c:1646 */
40732 break;
40733
40734 case 1733:
40735#line 11748 "gram.y" /* yacc.c:1646 */
40736 { (yyval.list) = (yyvsp[0].list); }
40737#line 40738 "gram.c" /* yacc.c:1646 */
40738 break;
40739
40740 case 1734:
40741#line 11749 "gram.y" /* yacc.c:1646 */
40742 { (yyval.list) = NIL; }
40743#line 40744 "gram.c" /* yacc.c:1646 */
40744 break;
40745
40746 case 1735:
40747#line 11753 "gram.y" /* yacc.c:1646 */
40748 { (yyval.list) = list_make1((yyvsp[0].node)); }
40749#line 40750 "gram.c" /* yacc.c:1646 */
40750 break;
40751
40752 case 1736:
40753#line 11754 "gram.y" /* yacc.c:1646 */
40754 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
40755#line 40756 "gram.c" /* yacc.c:1646 */
40756 break;
40757
40758 case 1737:
40759#line 11759 "gram.y" /* yacc.c:1646 */
40760 {
40761 LockingClause *n = makeNode(LockingClause);
40762 n->lockedRels = (yyvsp[-1].list);
40763 n->strength = (yyvsp[-2].ival);
40764 n->waitPolicy = (yyvsp[0].ival);
40765 (yyval.node) = (Node *) n;
40766 }
40767#line 40768 "gram.c" /* yacc.c:1646 */
40768 break;
40769
40770 case 1738:
40771#line 11769 "gram.y" /* yacc.c:1646 */
40772 { (yyval.ival) = LCS_FORUPDATE; }
40773#line 40774 "gram.c" /* yacc.c:1646 */
40774 break;
40775
40776 case 1739:
40777#line 11770 "gram.y" /* yacc.c:1646 */
40778 { (yyval.ival) = LCS_FORNOKEYUPDATE; }
40779#line 40780 "gram.c" /* yacc.c:1646 */
40780 break;
40781
40782 case 1740:
40783#line 11771 "gram.y" /* yacc.c:1646 */
40784 { (yyval.ival) = LCS_FORSHARE; }
40785#line 40786 "gram.c" /* yacc.c:1646 */
40786 break;
40787
40788 case 1741:
40789#line 11772 "gram.y" /* yacc.c:1646 */
40790 { (yyval.ival) = LCS_FORKEYSHARE; }
40791#line 40792 "gram.c" /* yacc.c:1646 */
40792 break;
40793
40794 case 1742:
40795#line 11776 "gram.y" /* yacc.c:1646 */
40796 { (yyval.list) = (yyvsp[0].list); }
40797#line 40798 "gram.c" /* yacc.c:1646 */
40798 break;
40799
40800 case 1743:
40801#line 11777 "gram.y" /* yacc.c:1646 */
40802 { (yyval.list) = NIL; }
40803#line 40804 "gram.c" /* yacc.c:1646 */
40804 break;
40805
40806 case 1744:
40807#line 11788 "gram.y" /* yacc.c:1646 */
40808 {
40809 SelectStmt *n = makeNode(SelectStmt);
40810 n->valuesLists = list_make1((yyvsp[-1].list));
40811 (yyval.node) = (Node *) n;
40812 }
40813#line 40814 "gram.c" /* yacc.c:1646 */
40814 break;
40815
40816 case 1745:
40817#line 11794 "gram.y" /* yacc.c:1646 */
40818 {
40819 SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
40820 n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
40821 (yyval.node) = (Node *) n;
40822 }
40823#line 40824 "gram.c" /* yacc.c:1646 */
40824 break;
40825
40826 case 1746:
40827#line 11811 "gram.y" /* yacc.c:1646 */
40828 { (yyval.list) = (yyvsp[0].list); }
40829#line 40830 "gram.c" /* yacc.c:1646 */
40830 break;
40831
40832 case 1747:
40833#line 11812 "gram.y" /* yacc.c:1646 */
40834 { (yyval.list) = NIL; }
40835#line 40836 "gram.c" /* yacc.c:1646 */
40836 break;
40837
40838 case 1748:
40839#line 11816 "gram.y" /* yacc.c:1646 */
40840 { (yyval.list) = list_make1((yyvsp[0].node)); }
40841#line 40842 "gram.c" /* yacc.c:1646 */
40842 break;
40843
40844 case 1749:
40845#line 11817 "gram.y" /* yacc.c:1646 */
40846 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
40847#line 40848 "gram.c" /* yacc.c:1646 */
40848 break;
40849
40850 case 1750:
40851#line 11824 "gram.y" /* yacc.c:1646 */
40852 {
40853 (yyvsp[-1].range)->alias = (yyvsp[0].alias);
40854 (yyval.node) = (Node *) (yyvsp[-1].range);
40855 }
40856#line 40857 "gram.c" /* yacc.c:1646 */
40857 break;
40858
40859 case 1751:
40860#line 11829 "gram.y" /* yacc.c:1646 */
40861 {
40862 RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
40863 (yyvsp[-2].range)->alias = (yyvsp[-1].alias);
40864 /* relation_expr goes inside the RangeTableSample node */
40865 n->relation = (Node *) (yyvsp[-2].range);
40866 (yyval.node) = (Node *) n;
40867 }
40868#line 40869 "gram.c" /* yacc.c:1646 */
40869 break;
40870
40871 case 1752:
40872#line 11837 "gram.y" /* yacc.c:1646 */
40873 {
40874 RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
40875 n->alias = linitial((yyvsp[0].list));
40876 n->coldeflist = lsecond((yyvsp[0].list));
40877 (yyval.node) = (Node *) n;
40878 }
40879#line 40880 "gram.c" /* yacc.c:1646 */
40880 break;
40881
40882 case 1753:
40883#line 11844 "gram.y" /* yacc.c:1646 */
40884 {
40885 RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
40886 n->lateral = true;
40887 n->alias = linitial((yyvsp[0].list));
40888 n->coldeflist = lsecond((yyvsp[0].list));
40889 (yyval.node) = (Node *) n;
40890 }
40891#line 40892 "gram.c" /* yacc.c:1646 */
40892 break;
40893
40894 case 1754:
40895#line 11852 "gram.y" /* yacc.c:1646 */
40896 {
40897 RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
40898 n->alias = (yyvsp[0].alias);
40899 (yyval.node) = (Node *) n;
40900 }
40901#line 40902 "gram.c" /* yacc.c:1646 */
40902 break;
40903
40904 case 1755:
40905#line 11858 "gram.y" /* yacc.c:1646 */
40906 {
40907 RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
40908 n->lateral = true;
40909 n->alias = (yyvsp[0].alias);
40910 (yyval.node) = (Node *) n;
40911 }
40912#line 40913 "gram.c" /* yacc.c:1646 */
40913 break;
40914
40915 case 1756:
40916#line 11865 "gram.y" /* yacc.c:1646 */
40917 {
40918 RangeSubselect *n = makeNode(RangeSubselect);
40919 n->lateral = false;
40920 n->subquery = (yyvsp[-1].node);
40921 n->alias = (yyvsp[0].alias);
40922 /*
40923 * The SQL spec does not permit a subselect
40924 * (<derived_table>) without an alias clause,
40925 * so we don't either. This avoids the problem
40926 * of needing to invent a unique refname for it.
40927 * That could be surmounted if there's sufficient
40928 * popular demand, but for now let's just implement
40929 * the spec and see if anyone complains.
40930 * However, it does seem like a good idea to emit
40931 * an error message that's better than "syntax error".
40932 */
40933 if ((yyvsp[0].alias) == NULL)
40934 {
40935 if (IsA((yyvsp[-1].node), SelectStmt) &&
40936 ((SelectStmt *) (yyvsp[-1].node))->valuesLists)
40937 ereport(ERROR,
40938 (errcode(ERRCODE_SYNTAX_ERROR),
40939 errmsg("VALUES in FROM must have an alias"),
40940 errhint("For example, FROM (VALUES ...) [AS] foo."),
40941 parser_errposition((yylsp[-1]))));
40942 else
40943 ereport(ERROR,
40944 (errcode(ERRCODE_SYNTAX_ERROR),
40945 errmsg("subquery in FROM must have an alias"),
40946 errhint("For example, FROM (SELECT ...) [AS] foo."),
40947 parser_errposition((yylsp[-1]))));
40948 }
40949 (yyval.node) = (Node *) n;
40950 }
40951#line 40952 "gram.c" /* yacc.c:1646 */
40952 break;
40953
40954 case 1757:
40955#line 11900 "gram.y" /* yacc.c:1646 */
40956 {
40957 RangeSubselect *n = makeNode(RangeSubselect);
40958 n->lateral = true;
40959 n->subquery = (yyvsp[-1].node);
40960 n->alias = (yyvsp[0].alias);
40961 /* same comment as above */
40962 if ((yyvsp[0].alias) == NULL)
40963 {
40964 if (IsA((yyvsp[-1].node), SelectStmt) &&
40965 ((SelectStmt *) (yyvsp[-1].node))->valuesLists)
40966 ereport(ERROR,
40967 (errcode(ERRCODE_SYNTAX_ERROR),
40968 errmsg("VALUES in FROM must have an alias"),
40969 errhint("For example, FROM (VALUES ...) [AS] foo."),
40970 parser_errposition((yylsp[-1]))));
40971 else
40972 ereport(ERROR,
40973 (errcode(ERRCODE_SYNTAX_ERROR),
40974 errmsg("subquery in FROM must have an alias"),
40975 errhint("For example, FROM (SELECT ...) [AS] foo."),
40976 parser_errposition((yylsp[-1]))));
40977 }
40978 (yyval.node) = (Node *) n;
40979 }
40980#line 40981 "gram.c" /* yacc.c:1646 */
40981 break;
40982
40983 case 1758:
40984#line 11925 "gram.y" /* yacc.c:1646 */
40985 {
40986 (yyval.node) = (Node *) (yyvsp[0].jexpr);
40987 }
40988#line 40989 "gram.c" /* yacc.c:1646 */
40989 break;
40990
40991 case 1759:
40992#line 11929 "gram.y" /* yacc.c:1646 */
40993 {
40994 (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
40995 (yyval.node) = (Node *) (yyvsp[-2].jexpr);
40996 }
40997#line 40998 "gram.c" /* yacc.c:1646 */
40998 break;
40999
41000 case 1760:
41001#line 11955 "gram.y" /* yacc.c:1646 */
41002 {
41003 (yyval.jexpr) = (yyvsp[-1].jexpr);
41004 }
41005#line 41006 "gram.c" /* yacc.c:1646 */
41006 break;
41007
41008 case 1761:
41009#line 11959 "gram.y" /* yacc.c:1646 */
41010 {
41011 /* CROSS JOIN is same as unqualified inner join */
41012 JoinExpr *n = makeNode(JoinExpr);
41013 n->jointype = JOIN_INNER;
41014 n->isNatural = false;
41015 n->larg = (yyvsp[-3].node);
41016 n->rarg = (yyvsp[0].node);
41017 n->usingClause = NIL;
41018 n->quals = NULL;
41019 (yyval.jexpr) = n;
41020 }
41021#line 41022 "gram.c" /* yacc.c:1646 */
41022 break;
41023
41024 case 1762:
41025#line 11971 "gram.y" /* yacc.c:1646 */
41026 {
41027 JoinExpr *n = makeNode(JoinExpr);
41028 n->jointype = (yyvsp[-3].jtype);
41029 n->isNatural = false;
41030 n->larg = (yyvsp[-4].node);
41031 n->rarg = (yyvsp[-1].node);
41032 if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
41033 n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
41034 else
41035 n->quals = (yyvsp[0].node); /* ON clause */
41036 (yyval.jexpr) = n;
41037 }
41038#line 41039 "gram.c" /* yacc.c:1646 */
41039 break;
41040
41041 case 1763:
41042#line 11984 "gram.y" /* yacc.c:1646 */
41043 {
41044 /* letting join_type reduce to empty doesn't work */
41045 JoinExpr *n = makeNode(JoinExpr);
41046 n->jointype = JOIN_INNER;
41047 n->isNatural = false;
41048 n->larg = (yyvsp[-3].node);
41049 n->rarg = (yyvsp[-1].node);
41050 if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
41051 n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
41052 else
41053 n->quals = (yyvsp[0].node); /* ON clause */
41054 (yyval.jexpr) = n;
41055 }
41056#line 41057 "gram.c" /* yacc.c:1646 */
41057 break;
41058
41059 case 1764:
41060#line 11998 "gram.y" /* yacc.c:1646 */
41061 {
41062 JoinExpr *n = makeNode(JoinExpr);
41063 n->jointype = (yyvsp[-2].jtype);
41064 n->isNatural = true;
41065 n->larg = (yyvsp[-4].node);
41066 n->rarg = (yyvsp[0].node);
41067 n->usingClause = NIL; /* figure out which columns later... */
41068 n->quals = NULL; /* fill later */
41069 (yyval.jexpr) = n;
41070 }
41071#line 41072 "gram.c" /* yacc.c:1646 */
41072 break;
41073
41074 case 1765:
41075#line 12009 "gram.y" /* yacc.c:1646 */
41076 {
41077 /* letting join_type reduce to empty doesn't work */
41078 JoinExpr *n = makeNode(JoinExpr);
41079 n->jointype = JOIN_INNER;
41080 n->isNatural = true;
41081 n->larg = (yyvsp[-3].node);
41082 n->rarg = (yyvsp[0].node);
41083 n->usingClause = NIL; /* figure out which columns later... */
41084 n->quals = NULL; /* fill later */
41085 (yyval.jexpr) = n;
41086 }
41087#line 41088 "gram.c" /* yacc.c:1646 */
41088 break;
41089
41090 case 1766:
41091#line 12024 "gram.y" /* yacc.c:1646 */
41092 {
41093 (yyval.alias) = makeNode(Alias);
41094 (yyval.alias)->aliasname = (yyvsp[-3].str);
41095 (yyval.alias)->colnames = (yyvsp[-1].list);
41096 }
41097#line 41098 "gram.c" /* yacc.c:1646 */
41098 break;
41099
41100 case 1767:
41101#line 12030 "gram.y" /* yacc.c:1646 */
41102 {
41103 (yyval.alias) = makeNode(Alias);
41104 (yyval.alias)->aliasname = (yyvsp[0].str);
41105 }
41106#line 41107 "gram.c" /* yacc.c:1646 */
41107 break;
41108
41109 case 1768:
41110#line 12035 "gram.y" /* yacc.c:1646 */
41111 {
41112 (yyval.alias) = makeNode(Alias);
41113 (yyval.alias)->aliasname = (yyvsp[-3].str);
41114 (yyval.alias)->colnames = (yyvsp[-1].list);
41115 }
41116#line 41117 "gram.c" /* yacc.c:1646 */
41117 break;
41118
41119 case 1769:
41120#line 12041 "gram.y" /* yacc.c:1646 */
41121 {
41122 (yyval.alias) = makeNode(Alias);
41123 (yyval.alias)->aliasname = (yyvsp[0].str);
41124 }
41125#line 41126 "gram.c" /* yacc.c:1646 */
41126 break;
41127
41128 case 1770:
41129#line 12047 "gram.y" /* yacc.c:1646 */
41130 { (yyval.alias) = (yyvsp[0].alias); }
41131#line 41132 "gram.c" /* yacc.c:1646 */
41132 break;
41133
41134 case 1771:
41135#line 12048 "gram.y" /* yacc.c:1646 */
41136 { (yyval.alias) = NULL; }
41137#line 41138 "gram.c" /* yacc.c:1646 */
41138 break;
41139
41140 case 1772:
41141#line 12057 "gram.y" /* yacc.c:1646 */
41142 {
41143 (yyval.list) = list_make2((yyvsp[0].alias), NIL);
41144 }
41145#line 41146 "gram.c" /* yacc.c:1646 */
41146 break;
41147
41148 case 1773:
41149#line 12061 "gram.y" /* yacc.c:1646 */
41150 {
41151 (yyval.list) = list_make2(NULL, (yyvsp[-1].list));
41152 }
41153#line 41154 "gram.c" /* yacc.c:1646 */
41154 break;
41155
41156 case 1774:
41157#line 12065 "gram.y" /* yacc.c:1646 */
41158 {
41159 Alias *a = makeNode(Alias);
41160 a->aliasname = (yyvsp[-3].str);
41161 (yyval.list) = list_make2(a, (yyvsp[-1].list));
41162 }
41163#line 41164 "gram.c" /* yacc.c:1646 */
41164 break;
41165
41166 case 1775:
41167#line 12071 "gram.y" /* yacc.c:1646 */
41168 {
41169 Alias *a = makeNode(Alias);
41170 a->aliasname = (yyvsp[-3].str);
41171 (yyval.list) = list_make2(a, (yyvsp[-1].list));
41172 }
41173#line 41174 "gram.c" /* yacc.c:1646 */
41174 break;
41175
41176 case 1776:
41177#line 12077 "gram.y" /* yacc.c:1646 */
41178 {
41179 (yyval.list) = list_make2(NULL, NIL);
41180 }
41181#line 41182 "gram.c" /* yacc.c:1646 */
41182 break;
41183
41184 case 1777:
41185#line 12082 "gram.y" /* yacc.c:1646 */
41186 { (yyval.jtype) = JOIN_FULL; }
41187#line 41188 "gram.c" /* yacc.c:1646 */
41188 break;
41189
41190 case 1778:
41191#line 12083 "gram.y" /* yacc.c:1646 */
41192 { (yyval.jtype) = JOIN_LEFT; }
41193#line 41194 "gram.c" /* yacc.c:1646 */
41194 break;
41195
41196 case 1779:
41197#line 12084 "gram.y" /* yacc.c:1646 */
41198 { (yyval.jtype) = JOIN_RIGHT; }
41199#line 41200 "gram.c" /* yacc.c:1646 */
41200 break;
41201
41202 case 1780:
41203#line 12085 "gram.y" /* yacc.c:1646 */
41204 { (yyval.jtype) = JOIN_INNER; }
41205#line 41206 "gram.c" /* yacc.c:1646 */
41206 break;
41207
41208 case 1781:
41209#line 12089 "gram.y" /* yacc.c:1646 */
41210 { (yyval.node) = NULL; }
41211#line 41212 "gram.c" /* yacc.c:1646 */
41212 break;
41213
41214 case 1782:
41215#line 12090 "gram.y" /* yacc.c:1646 */
41216 { (yyval.node) = NULL; }
41217#line 41218 "gram.c" /* yacc.c:1646 */
41218 break;
41219
41220 case 1783:
41221#line 12102 "gram.y" /* yacc.c:1646 */
41222 { (yyval.node) = (Node *) (yyvsp[-1].list); }
41223#line 41224 "gram.c" /* yacc.c:1646 */
41224 break;
41225
41226 case 1784:
41227#line 12103 "gram.y" /* yacc.c:1646 */
41228 { (yyval.node) = (yyvsp[0].node); }
41229#line 41230 "gram.c" /* yacc.c:1646 */
41230 break;
41231
41232 case 1785:
41233#line 12109 "gram.y" /* yacc.c:1646 */
41234 {
41235 /* inheritance query, implicitly */
41236 (yyval.range) = (yyvsp[0].range);
41237 (yyval.range)->inh = true;
41238 (yyval.range)->alias = NULL;
41239 }
41240#line 41241 "gram.c" /* yacc.c:1646 */
41241 break;
41242
41243 case 1786:
41244#line 12116 "gram.y" /* yacc.c:1646 */
41245 {
41246 /* inheritance query, explicitly */
41247 (yyval.range) = (yyvsp[-1].range);
41248 (yyval.range)->inh = true;
41249 (yyval.range)->alias = NULL;
41250 }
41251#line 41252 "gram.c" /* yacc.c:1646 */
41252 break;
41253
41254 case 1787:
41255#line 12123 "gram.y" /* yacc.c:1646 */
41256 {
41257 /* no inheritance */
41258 (yyval.range) = (yyvsp[0].range);
41259 (yyval.range)->inh = false;
41260 (yyval.range)->alias = NULL;
41261 }
41262#line 41263 "gram.c" /* yacc.c:1646 */
41263 break;
41264
41265 case 1788:
41266#line 12130 "gram.y" /* yacc.c:1646 */
41267 {
41268 /* no inheritance, SQL99-style syntax */
41269 (yyval.range) = (yyvsp[-1].range);
41270 (yyval.range)->inh = false;
41271 (yyval.range)->alias = NULL;
41272 }
41273#line 41274 "gram.c" /* yacc.c:1646 */
41274 break;
41275
41276 case 1789:
41277#line 12140 "gram.y" /* yacc.c:1646 */
41278 { (yyval.list) = list_make1((yyvsp[0].range)); }
41279#line 41280 "gram.c" /* yacc.c:1646 */
41280 break;
41281
41282 case 1790:
41283#line 12141 "gram.y" /* yacc.c:1646 */
41284 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
41285#line 41286 "gram.c" /* yacc.c:1646 */
41286 break;
41287
41288 case 1791:
41289#line 12155 "gram.y" /* yacc.c:1646 */
41290 {
41291 (yyval.range) = (yyvsp[0].range);
41292 }
41293#line 41294 "gram.c" /* yacc.c:1646 */
41294 break;
41295
41296 case 1792:
41297#line 12159 "gram.y" /* yacc.c:1646 */
41298 {
41299 Alias *alias = makeNode(Alias);
41300 alias->aliasname = (yyvsp[0].str);
41301 (yyvsp[-1].range)->alias = alias;
41302 (yyval.range) = (yyvsp[-1].range);
41303 }
41304#line 41305 "gram.c" /* yacc.c:1646 */
41305 break;
41306
41307 case 1793:
41308#line 12166 "gram.y" /* yacc.c:1646 */
41309 {
41310 Alias *alias = makeNode(Alias);
41311 alias->aliasname = (yyvsp[0].str);
41312 (yyvsp[-2].range)->alias = alias;
41313 (yyval.range) = (yyvsp[-2].range);
41314 }
41315#line 41316 "gram.c" /* yacc.c:1646 */
41316 break;
41317
41318 case 1794:
41319#line 12179 "gram.y" /* yacc.c:1646 */
41320 {
41321 RangeTableSample *n = makeNode(RangeTableSample);
41322 /* n->relation will be filled in later */
41323 n->method = (yyvsp[-4].list);
41324 n->args = (yyvsp[-2].list);
41325 n->repeatable = (yyvsp[0].node);
41326 n->location = (yylsp[-4]);
41327 (yyval.node) = (Node *) n;
41328 }
41329#line 41330 "gram.c" /* yacc.c:1646 */
41330 break;
41331
41332 case 1795:
41333#line 12191 "gram.y" /* yacc.c:1646 */
41334 { (yyval.node) = (Node *) (yyvsp[-1].node); }
41335#line 41336 "gram.c" /* yacc.c:1646 */
41336 break;
41337
41338 case 1796:
41339#line 12192 "gram.y" /* yacc.c:1646 */
41340 { (yyval.node) = NULL; }
41341#line 41342 "gram.c" /* yacc.c:1646 */
41342 break;
41343
41344 case 1797:
41345#line 12208 "gram.y" /* yacc.c:1646 */
41346 {
41347 RangeFunction *n = makeNode(RangeFunction);
41348 n->lateral = false;
41349 n->ordinality = (yyvsp[0].boolean);
41350 n->is_rowsfrom = false;
41351 n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
41352 /* alias and coldeflist are set by table_ref production */
41353 (yyval.node) = (Node *) n;
41354 }
41355#line 41356 "gram.c" /* yacc.c:1646 */
41356 break;
41357
41358 case 1798:
41359#line 12218 "gram.y" /* yacc.c:1646 */
41360 {
41361 RangeFunction *n = makeNode(RangeFunction);
41362 n->lateral = false;
41363 n->ordinality = (yyvsp[0].boolean);
41364 n->is_rowsfrom = true;
41365 n->functions = (yyvsp[-2].list);
41366 /* alias and coldeflist are set by table_ref production */
41367 (yyval.node) = (Node *) n;
41368 }
41369#line 41370 "gram.c" /* yacc.c:1646 */
41370 break;
41371
41372 case 1799:
41373#line 12230 "gram.y" /* yacc.c:1646 */
41374 { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
41375#line 41376 "gram.c" /* yacc.c:1646 */
41376 break;
41377
41378 case 1800:
41379#line 12234 "gram.y" /* yacc.c:1646 */
41380 { (yyval.list) = list_make1((yyvsp[0].list)); }
41381#line 41382 "gram.c" /* yacc.c:1646 */
41382 break;
41383
41384 case 1801:
41385#line 12235 "gram.y" /* yacc.c:1646 */
41386 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
41387#line 41388 "gram.c" /* yacc.c:1646 */
41388 break;
41389
41390 case 1802:
41391#line 12238 "gram.y" /* yacc.c:1646 */
41392 { (yyval.list) = (yyvsp[-1].list); }
41393#line 41394 "gram.c" /* yacc.c:1646 */
41394 break;
41395
41396 case 1803:
41397#line 12239 "gram.y" /* yacc.c:1646 */
41398 { (yyval.list) = NIL; }
41399#line 41400 "gram.c" /* yacc.c:1646 */
41400 break;
41401
41402 case 1804:
41403#line 12242 "gram.y" /* yacc.c:1646 */
41404 { (yyval.boolean) = true; }
41405#line 41406 "gram.c" /* yacc.c:1646 */
41406 break;
41407
41408 case 1805:
41409#line 12243 "gram.y" /* yacc.c:1646 */
41410 { (yyval.boolean) = false; }
41411#line 41412 "gram.c" /* yacc.c:1646 */
41412 break;
41413
41414 case 1806:
41415#line 12248 "gram.y" /* yacc.c:1646 */
41416 { (yyval.node) = (yyvsp[0].node); }
41417#line 41418 "gram.c" /* yacc.c:1646 */
41418 break;
41419
41420 case 1807:
41421#line 12249 "gram.y" /* yacc.c:1646 */
41422 { (yyval.node) = NULL; }
41423#line 41424 "gram.c" /* yacc.c:1646 */
41424 break;
41425
41426 case 1808:
41427#line 12254 "gram.y" /* yacc.c:1646 */
41428 { (yyval.node) = (yyvsp[0].node); }
41429#line 41430 "gram.c" /* yacc.c:1646 */
41430 break;
41431
41432 case 1809:
41433#line 12256 "gram.y" /* yacc.c:1646 */
41434 {
41435 CurrentOfExpr *n = makeNode(CurrentOfExpr);
41436 /* cvarno is filled in by parse analysis */
41437 n->cursor_name = (yyvsp[0].str);
41438 n->cursor_param = 0;
41439 (yyval.node) = (Node *) n;
41440 }
41441#line 41442 "gram.c" /* yacc.c:1646 */
41442 break;
41443
41444 case 1810:
41445#line 12263 "gram.y" /* yacc.c:1646 */
41446 { (yyval.node) = NULL; }
41447#line 41448 "gram.c" /* yacc.c:1646 */
41448 break;
41449
41450 case 1811:
41451#line 12268 "gram.y" /* yacc.c:1646 */
41452 { (yyval.list) = (yyvsp[0].list); }
41453#line 41454 "gram.c" /* yacc.c:1646 */
41454 break;
41455
41456 case 1812:
41457#line 12269 "gram.y" /* yacc.c:1646 */
41458 { (yyval.list) = NIL; }
41459#line 41460 "gram.c" /* yacc.c:1646 */
41460 break;
41461
41462 case 1813:
41463#line 12274 "gram.y" /* yacc.c:1646 */
41464 {
41465 (yyval.list) = list_make1((yyvsp[0].node));
41466 }
41467#line 41468 "gram.c" /* yacc.c:1646 */
41468 break;
41469
41470 case 1814:
41471#line 12278 "gram.y" /* yacc.c:1646 */
41472 {
41473 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
41474 }
41475#line 41476 "gram.c" /* yacc.c:1646 */
41476 break;
41477
41478 case 1815:
41479#line 12284 "gram.y" /* yacc.c:1646 */
41480 {
41481 ColumnDef *n = makeNode(ColumnDef);
41482 n->colname = (yyvsp[-2].str);
41483 n->typeName = (yyvsp[-1].typnam);
41484 n->inhcount = 0;
41485 n->is_local = true;
41486 n->is_not_null = false;
41487 n->is_from_type = false;
41488 n->storage = 0;
41489 n->raw_default = NULL;
41490 n->cooked_default = NULL;
41491 n->collClause = (CollateClause *) (yyvsp[0].node);
41492 n->collOid = InvalidOid;
41493 n->constraints = NIL;
41494 n->location = (yylsp[-2]);
41495 (yyval.node) = (Node *)n;
41496 }
41497#line 41498 "gram.c" /* yacc.c:1646 */
41498 break;
41499
41500 case 1816:
41501#line 12308 "gram.y" /* yacc.c:1646 */
41502 {
41503 RangeTableFunc *n = makeNode(RangeTableFunc);
41504 n->rowexpr = (yyvsp[-4].node);
41505 n->docexpr = (yyvsp[-3].node);
41506 n->columns = (yyvsp[-1].list);
41507 n->namespaces = NIL;
41508 n->location = (yylsp[-6]);
41509 (yyval.node) = (Node *)n;
41510 }
41511#line 41512 "gram.c" /* yacc.c:1646 */
41512 break;
41513
41514 case 1817:
41515#line 12319 "gram.y" /* yacc.c:1646 */
41516 {
41517 RangeTableFunc *n = makeNode(RangeTableFunc);
41518 n->rowexpr = (yyvsp[-4].node);
41519 n->docexpr = (yyvsp[-3].node);
41520 n->columns = (yyvsp[-1].list);
41521 n->namespaces = (yyvsp[-7].list);
41522 n->location = (yylsp[-11]);
41523 (yyval.node) = (Node *)n;
41524 }
41525#line 41526 "gram.c" /* yacc.c:1646 */
41526 break;
41527
41528 case 1818:
41529#line 12330 "gram.y" /* yacc.c:1646 */
41530 { (yyval.list) = list_make1((yyvsp[0].node)); }
41531#line 41532 "gram.c" /* yacc.c:1646 */
41532 break;
41533
41534 case 1819:
41535#line 12331 "gram.y" /* yacc.c:1646 */
41536 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41537#line 41538 "gram.c" /* yacc.c:1646 */
41538 break;
41539
41540 case 1820:
41541#line 12336 "gram.y" /* yacc.c:1646 */
41542 {
41543 RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
41544
41545 fc->colname = (yyvsp[-1].str);
41546 fc->for_ordinality = false;
41547 fc->typeName = (yyvsp[0].typnam);
41548 fc->is_not_null = false;
41549 fc->colexpr = NULL;
41550 fc->coldefexpr = NULL;
41551 fc->location = (yylsp[-1]);
41552
41553 (yyval.node) = (Node *) fc;
41554 }
41555#line 41556 "gram.c" /* yacc.c:1646 */
41556 break;
41557
41558 case 1821:
41559#line 12350 "gram.y" /* yacc.c:1646 */
41560 {
41561 RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
41562 ListCell *option;
41563 bool nullability_seen = false;
41564
41565 fc->colname = (yyvsp[-2].str);
41566 fc->typeName = (yyvsp[-1].typnam);
41567 fc->for_ordinality = false;
41568 fc->is_not_null = false;
41569 fc->colexpr = NULL;
41570 fc->coldefexpr = NULL;
41571 fc->location = (yylsp[-2]);
41572
41573 foreach(option, (yyvsp[0].list))
41574 {
41575 DefElem *defel = (DefElem *) lfirst(option);
41576
41577 if (strcmp(defel->defname, "default") == 0)
41578 {
41579 if (fc->coldefexpr != NULL)
41580 ereport(ERROR,
41581 (errcode(ERRCODE_SYNTAX_ERROR),
41582 errmsg("only one DEFAULT value is allowed"),
41583 parser_errposition(defel->location)));
41584 fc->coldefexpr = defel->arg;
41585 }
41586 else if (strcmp(defel->defname, "path") == 0)
41587 {
41588 if (fc->colexpr != NULL)
41589 ereport(ERROR,
41590 (errcode(ERRCODE_SYNTAX_ERROR),
41591 errmsg("only one PATH value per column is allowed"),
41592 parser_errposition(defel->location)));
41593 fc->colexpr = defel->arg;
41594 }
41595 else if (strcmp(defel->defname, "is_not_null") == 0)
41596 {
41597 if (nullability_seen)
41598 ereport(ERROR,
41599 (errcode(ERRCODE_SYNTAX_ERROR),
41600 errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
41601 parser_errposition(defel->location)));
41602 fc->is_not_null = intVal(defel->arg);
41603 nullability_seen = true;
41604 }
41605 else
41606 {
41607 ereport(ERROR,
41608 (errcode(ERRCODE_SYNTAX_ERROR),
41609 errmsg("unrecognized column option \"%s\"",
41610 defel->defname),
41611 parser_errposition(defel->location)));
41612 }
41613 }
41614 (yyval.node) = (Node *) fc;
41615 }
41616#line 41617 "gram.c" /* yacc.c:1646 */
41617 break;
41618
41619 case 1822:
41620#line 12407 "gram.y" /* yacc.c:1646 */
41621 {
41622 RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
41623
41624 fc->colname = (yyvsp[-2].str);
41625 fc->for_ordinality = true;
41626 /* other fields are ignored, initialized by makeNode */
41627 fc->location = (yylsp[-2]);
41628
41629 (yyval.node) = (Node *) fc;
41630 }
41631#line 41632 "gram.c" /* yacc.c:1646 */
41632 break;
41633
41634 case 1823:
41635#line 12421 "gram.y" /* yacc.c:1646 */
41636 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
41637#line 41638 "gram.c" /* yacc.c:1646 */
41638 break;
41639
41640 case 1824:
41641#line 12423 "gram.y" /* yacc.c:1646 */
41642 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
41643#line 41644 "gram.c" /* yacc.c:1646 */
41644 break;
41645
41646 case 1825:
41647#line 12428 "gram.y" /* yacc.c:1646 */
41648 { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
41649#line 41650 "gram.c" /* yacc.c:1646 */
41650 break;
41651
41652 case 1826:
41653#line 12430 "gram.y" /* yacc.c:1646 */
41654 { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
41655#line 41656 "gram.c" /* yacc.c:1646 */
41656 break;
41657
41658 case 1827:
41659#line 12432 "gram.y" /* yacc.c:1646 */
41660 { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
41661#line 41662 "gram.c" /* yacc.c:1646 */
41662 break;
41663
41664 case 1828:
41665#line 12434 "gram.y" /* yacc.c:1646 */
41666 { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
41667#line 41668 "gram.c" /* yacc.c:1646 */
41668 break;
41669
41670 case 1829:
41671#line 12439 "gram.y" /* yacc.c:1646 */
41672 { (yyval.list) = list_make1((yyvsp[0].target)); }
41673#line 41674 "gram.c" /* yacc.c:1646 */
41674 break;
41675
41676 case 1830:
41677#line 12441 "gram.y" /* yacc.c:1646 */
41678 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
41679#line 41680 "gram.c" /* yacc.c:1646 */
41680 break;
41681
41682 case 1831:
41683#line 12446 "gram.y" /* yacc.c:1646 */
41684 {
41685 (yyval.target) = makeNode(ResTarget);
41686 (yyval.target)->name = (yyvsp[0].str);
41687 (yyval.target)->indirection = NIL;
41688 (yyval.target)->val = (yyvsp[-2].node);
41689 (yyval.target)->location = (yylsp[-2]);
41690 }
41691#line 41692 "gram.c" /* yacc.c:1646 */
41692 break;
41693
41694 case 1832:
41695#line 12454 "gram.y" /* yacc.c:1646 */
41696 {
41697 (yyval.target) = makeNode(ResTarget);
41698 (yyval.target)->name = NULL;
41699 (yyval.target)->indirection = NIL;
41700 (yyval.target)->val = (yyvsp[0].node);
41701 (yyval.target)->location = (yylsp[-1]);
41702 }
41703#line 41704 "gram.c" /* yacc.c:1646 */
41704 break;
41705
41706 case 1833:
41707#line 12474 "gram.y" /* yacc.c:1646 */
41708 {
41709 (yyval.typnam) = (yyvsp[-1].typnam);
41710 (yyval.typnam)->arrayBounds = (yyvsp[0].list);
41711 }
41712#line 41713 "gram.c" /* yacc.c:1646 */
41713 break;
41714
41715 case 1834:
41716#line 12479 "gram.y" /* yacc.c:1646 */
41717 {
41718 (yyval.typnam) = (yyvsp[-1].typnam);
41719 (yyval.typnam)->arrayBounds = (yyvsp[0].list);
41720 (yyval.typnam)->setof = true;
41721 }
41722#line 41723 "gram.c" /* yacc.c:1646 */
41723 break;
41724
41725 case 1835:
41726#line 12486 "gram.y" /* yacc.c:1646 */
41727 {
41728 (yyval.typnam) = (yyvsp[-4].typnam);
41729 (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
41730 }
41731#line 41732 "gram.c" /* yacc.c:1646 */
41732 break;
41733
41734 case 1836:
41735#line 12491 "gram.y" /* yacc.c:1646 */
41736 {
41737 (yyval.typnam) = (yyvsp[-4].typnam);
41738 (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
41739 (yyval.typnam)->setof = true;
41740 }
41741#line 41742 "gram.c" /* yacc.c:1646 */
41742 break;
41743
41744 case 1837:
41745#line 12497 "gram.y" /* yacc.c:1646 */
41746 {
41747 (yyval.typnam) = (yyvsp[-1].typnam);
41748 (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
41749 }
41750#line 41751 "gram.c" /* yacc.c:1646 */
41751 break;
41752
41753 case 1838:
41754#line 12502 "gram.y" /* yacc.c:1646 */
41755 {
41756 (yyval.typnam) = (yyvsp[-1].typnam);
41757 (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
41758 (yyval.typnam)->setof = true;
41759 }
41760#line 41761 "gram.c" /* yacc.c:1646 */
41761 break;
41762
41763 case 1839:
41764#line 12511 "gram.y" /* yacc.c:1646 */
41765 { (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
41766#line 41767 "gram.c" /* yacc.c:1646 */
41767 break;
41768
41769 case 1840:
41770#line 12513 "gram.y" /* yacc.c:1646 */
41771 { (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
41772#line 41773 "gram.c" /* yacc.c:1646 */
41773 break;
41774
41775 case 1841:
41776#line 12515 "gram.y" /* yacc.c:1646 */
41777 { (yyval.list) = NIL; }
41778#line 41779 "gram.c" /* yacc.c:1646 */
41779 break;
41780
41781 case 1842:
41782#line 12519 "gram.y" /* yacc.c:1646 */
41783 { (yyval.typnam) = (yyvsp[0].typnam); }
41784#line 41785 "gram.c" /* yacc.c:1646 */
41785 break;
41786
41787 case 1843:
41788#line 12520 "gram.y" /* yacc.c:1646 */
41789 { (yyval.typnam) = (yyvsp[0].typnam); }
41790#line 41791 "gram.c" /* yacc.c:1646 */
41791 break;
41792
41793 case 1844:
41794#line 12521 "gram.y" /* yacc.c:1646 */
41795 { (yyval.typnam) = (yyvsp[0].typnam); }
41796#line 41797 "gram.c" /* yacc.c:1646 */
41797 break;
41798
41799 case 1845:
41800#line 12522 "gram.y" /* yacc.c:1646 */
41801 { (yyval.typnam) = (yyvsp[0].typnam); }
41802#line 41803 "gram.c" /* yacc.c:1646 */
41803 break;
41804
41805 case 1846:
41806#line 12523 "gram.y" /* yacc.c:1646 */
41807 { (yyval.typnam) = (yyvsp[0].typnam); }
41808#line 41809 "gram.c" /* yacc.c:1646 */
41809 break;
41810
41811 case 1847:
41812#line 12525 "gram.y" /* yacc.c:1646 */
41813 {
41814 (yyval.typnam) = (yyvsp[-1].typnam);
41815 (yyval.typnam)->typmods = (yyvsp[0].list);
41816 }
41817#line 41818 "gram.c" /* yacc.c:1646 */
41818 break;
41819
41820 case 1848:
41821#line 12530 "gram.y" /* yacc.c:1646 */
41822 {
41823 (yyval.typnam) = (yyvsp[-3].typnam);
41824 (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
41825 makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
41826 }
41827#line 41828 "gram.c" /* yacc.c:1646 */
41828 break;
41829
41830 case 1849:
41831#line 12549 "gram.y" /* yacc.c:1646 */
41832 { (yyval.typnam) = (yyvsp[0].typnam); }
41833#line 41834 "gram.c" /* yacc.c:1646 */
41834 break;
41835
41836 case 1850:
41837#line 12550 "gram.y" /* yacc.c:1646 */
41838 { (yyval.typnam) = (yyvsp[0].typnam); }
41839#line 41840 "gram.c" /* yacc.c:1646 */
41840 break;
41841
41842 case 1851:
41843#line 12551 "gram.y" /* yacc.c:1646 */
41844 { (yyval.typnam) = (yyvsp[0].typnam); }
41845#line 41846 "gram.c" /* yacc.c:1646 */
41846 break;
41847
41848 case 1852:
41849#line 12552 "gram.y" /* yacc.c:1646 */
41850 { (yyval.typnam) = (yyvsp[0].typnam); }
41851#line 41852 "gram.c" /* yacc.c:1646 */
41852 break;
41853
41854 case 1853:
41855#line 12564 "gram.y" /* yacc.c:1646 */
41856 {
41857 (yyval.typnam) = makeTypeName((yyvsp[-1].str));
41858 (yyval.typnam)->typmods = (yyvsp[0].list);
41859 (yyval.typnam)->location = (yylsp[-1]);
41860 }
41861#line 41862 "gram.c" /* yacc.c:1646 */
41862 break;
41863
41864 case 1854:
41865#line 12570 "gram.y" /* yacc.c:1646 */
41866 {
41867 (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
41868 (yyval.typnam)->typmods = (yyvsp[0].list);
41869 (yyval.typnam)->location = (yylsp[-2]);
41870 }
41871#line 41872 "gram.c" /* yacc.c:1646 */
41872 break;
41873
41874 case 1855:
41875#line 12577 "gram.y" /* yacc.c:1646 */
41876 { (yyval.list) = (yyvsp[-1].list); }
41877#line 41878 "gram.c" /* yacc.c:1646 */
41878 break;
41879
41880 case 1856:
41881#line 12578 "gram.y" /* yacc.c:1646 */
41882 { (yyval.list) = NIL; }
41883#line 41884 "gram.c" /* yacc.c:1646 */
41884 break;
41885
41886 case 1857:
41887#line 12585 "gram.y" /* yacc.c:1646 */
41888 {
41889 (yyval.typnam) = SystemTypeName("int4");
41890 (yyval.typnam)->location = (yylsp[0]);
41891 }
41892#line 41893 "gram.c" /* yacc.c:1646 */
41893 break;
41894
41895 case 1858:
41896#line 12590 "gram.y" /* yacc.c:1646 */
41897 {
41898 (yyval.typnam) = SystemTypeName("int4");
41899 (yyval.typnam)->location = (yylsp[0]);
41900 }
41901#line 41902 "gram.c" /* yacc.c:1646 */
41902 break;
41903
41904 case 1859:
41905#line 12595 "gram.y" /* yacc.c:1646 */
41906 {
41907 (yyval.typnam) = SystemTypeName("int2");
41908 (yyval.typnam)->location = (yylsp[0]);
41909 }
41910#line 41911 "gram.c" /* yacc.c:1646 */
41911 break;
41912
41913 case 1860:
41914#line 12600 "gram.y" /* yacc.c:1646 */
41915 {
41916 (yyval.typnam) = SystemTypeName("int8");
41917 (yyval.typnam)->location = (yylsp[0]);
41918 }
41919#line 41920 "gram.c" /* yacc.c:1646 */
41920 break;
41921
41922 case 1861:
41923#line 12605 "gram.y" /* yacc.c:1646 */
41924 {
41925 (yyval.typnam) = SystemTypeName("float4");
41926 (yyval.typnam)->location = (yylsp[0]);
41927 }
41928#line 41929 "gram.c" /* yacc.c:1646 */
41929 break;
41930
41931 case 1862:
41932#line 12610 "gram.y" /* yacc.c:1646 */
41933 {
41934 (yyval.typnam) = (yyvsp[0].typnam);
41935 (yyval.typnam)->location = (yylsp[-1]);
41936 }
41937#line 41938 "gram.c" /* yacc.c:1646 */
41938 break;
41939
41940 case 1863:
41941#line 12615 "gram.y" /* yacc.c:1646 */
41942 {
41943 (yyval.typnam) = SystemTypeName("float8");
41944 (yyval.typnam)->location = (yylsp[-1]);
41945 }
41946#line 41947 "gram.c" /* yacc.c:1646 */
41947 break;
41948
41949 case 1864:
41950#line 12620 "gram.y" /* yacc.c:1646 */
41951 {
41952 (yyval.typnam) = SystemTypeName("numeric");
41953 (yyval.typnam)->typmods = (yyvsp[0].list);
41954 (yyval.typnam)->location = (yylsp[-1]);
41955 }
41956#line 41957 "gram.c" /* yacc.c:1646 */
41957 break;
41958
41959 case 1865:
41960#line 12626 "gram.y" /* yacc.c:1646 */
41961 {
41962 (yyval.typnam) = SystemTypeName("numeric");
41963 (yyval.typnam)->typmods = (yyvsp[0].list);
41964 (yyval.typnam)->location = (yylsp[-1]);
41965 }
41966#line 41967 "gram.c" /* yacc.c:1646 */
41967 break;
41968
41969 case 1866:
41970#line 12632 "gram.y" /* yacc.c:1646 */
41971 {
41972 (yyval.typnam) = SystemTypeName("numeric");
41973 (yyval.typnam)->typmods = (yyvsp[0].list);
41974 (yyval.typnam)->location = (yylsp[-1]);
41975 }
41976#line 41977 "gram.c" /* yacc.c:1646 */
41977 break;
41978
41979 case 1867:
41980#line 12638 "gram.y" /* yacc.c:1646 */
41981 {
41982 (yyval.typnam) = SystemTypeName("bool");
41983 (yyval.typnam)->location = (yylsp[0]);
41984 }
41985#line 41986 "gram.c" /* yacc.c:1646 */
41986 break;
41987
41988 case 1868:
41989#line 12645 "gram.y" /* yacc.c:1646 */
41990 {
41991 /*
41992 * Check FLOAT() precision limits assuming IEEE floating
41993 * types - thomas 1997-09-18
41994 */
41995 if ((yyvsp[-1].ival) < 1)
41996 ereport(ERROR,
41997 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
41998 errmsg("precision for type float must be at least 1 bit"),
41999 parser_errposition((yylsp[-1]))));
42000 else if ((yyvsp[-1].ival) <= 24)
42001 (yyval.typnam) = SystemTypeName("float4");
42002 else if ((yyvsp[-1].ival) <= 53)
42003 (yyval.typnam) = SystemTypeName("float8");
42004 else
42005 ereport(ERROR,
42006 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
42007 errmsg("precision for type float must be less than 54 bits"),
42008 parser_errposition((yylsp[-1]))));
42009 }
42010#line 42011 "gram.c" /* yacc.c:1646 */
42011 break;
42012
42013 case 1869:
42014#line 12666 "gram.y" /* yacc.c:1646 */
42015 {
42016 (yyval.typnam) = SystemTypeName("float8");
42017 }
42018#line 42019 "gram.c" /* yacc.c:1646 */
42019 break;
42020
42021 case 1870:
42022#line 12676 "gram.y" /* yacc.c:1646 */
42023 {
42024 (yyval.typnam) = (yyvsp[0].typnam);
42025 }
42026#line 42027 "gram.c" /* yacc.c:1646 */
42027 break;
42028
42029 case 1871:
42030#line 12680 "gram.y" /* yacc.c:1646 */
42031 {
42032 (yyval.typnam) = (yyvsp[0].typnam);
42033 }
42034#line 42035 "gram.c" /* yacc.c:1646 */
42035 break;
42036
42037 case 1872:
42038#line 12688 "gram.y" /* yacc.c:1646 */
42039 {
42040 (yyval.typnam) = (yyvsp[0].typnam);
42041 }
42042#line 42043 "gram.c" /* yacc.c:1646 */
42043 break;
42044
42045 case 1873:
42046#line 12692 "gram.y" /* yacc.c:1646 */
42047 {
42048 (yyval.typnam) = (yyvsp[0].typnam);
42049 (yyval.typnam)->typmods = NIL;
42050 }
42051#line 42052 "gram.c" /* yacc.c:1646 */
42052 break;
42053
42054 case 1874:
42055#line 12700 "gram.y" /* yacc.c:1646 */
42056 {
42057 char *typname;
42058
42059 typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
42060 (yyval.typnam) = SystemTypeName(typname);
42061 (yyval.typnam)->typmods = (yyvsp[-1].list);
42062 (yyval.typnam)->location = (yylsp[-4]);
42063 }
42064#line 42065 "gram.c" /* yacc.c:1646 */
42065 break;
42066
42067 case 1875:
42068#line 12712 "gram.y" /* yacc.c:1646 */
42069 {
42070 /* bit defaults to bit(1), varbit to no limit */
42071 if ((yyvsp[0].boolean))
42072 {
42073 (yyval.typnam) = SystemTypeName("varbit");
42074 }
42075 else
42076 {
42077 (yyval.typnam) = SystemTypeName("bit");
42078 (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
42079 }
42080 (yyval.typnam)->location = (yylsp[-1]);
42081 }
42082#line 42083 "gram.c" /* yacc.c:1646 */
42083 break;
42084
42085 case 1876:
42086#line 12733 "gram.y" /* yacc.c:1646 */
42087 {
42088 (yyval.typnam) = (yyvsp[0].typnam);
42089 }
42090#line 42091 "gram.c" /* yacc.c:1646 */
42091 break;
42092
42093 case 1877:
42094#line 12737 "gram.y" /* yacc.c:1646 */
42095 {
42096 (yyval.typnam) = (yyvsp[0].typnam);
42097 }
42098#line 42099 "gram.c" /* yacc.c:1646 */
42099 break;
42100
42101 case 1878:
42102#line 12743 "gram.y" /* yacc.c:1646 */
42103 {
42104 (yyval.typnam) = (yyvsp[0].typnam);
42105 }
42106#line 42107 "gram.c" /* yacc.c:1646 */
42107 break;
42108
42109 case 1879:
42110#line 12747 "gram.y" /* yacc.c:1646 */
42111 {
42112 /* Length was not specified so allow to be unrestricted.
42113 * This handles problems with fixed-length (bpchar) strings
42114 * which in column definitions must default to a length
42115 * of one, but should not be constrained if the length
42116 * was not specified.
42117 */
42118 (yyval.typnam) = (yyvsp[0].typnam);
42119 (yyval.typnam)->typmods = NIL;
42120 }
42121#line 42122 "gram.c" /* yacc.c:1646 */
42122 break;
42123
42124 case 1880:
42125#line 12760 "gram.y" /* yacc.c:1646 */
42126 {
42127 (yyval.typnam) = SystemTypeName((yyvsp[-3].str));
42128 (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
42129 (yyval.typnam)->location = (yylsp[-3]);
42130 }
42131#line 42132 "gram.c" /* yacc.c:1646 */
42132 break;
42133
42134 case 1881:
42135#line 12768 "gram.y" /* yacc.c:1646 */
42136 {
42137 (yyval.typnam) = SystemTypeName((yyvsp[0].str));
42138 /* char defaults to char(1), varchar to no limit */
42139 if (strcmp((yyvsp[0].str), "bpchar") == 0)
42140 (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
42141 (yyval.typnam)->location = (yylsp[0]);
42142 }
42143#line 42144 "gram.c" /* yacc.c:1646 */
42144 break;
42145
42146 case 1882:
42147#line 12778 "gram.y" /* yacc.c:1646 */
42148 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
42149#line 42150 "gram.c" /* yacc.c:1646 */
42150 break;
42151
42152 case 1883:
42153#line 12780 "gram.y" /* yacc.c:1646 */
42154 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
42155#line 42156 "gram.c" /* yacc.c:1646 */
42156 break;
42157
42158 case 1884:
42159#line 12782 "gram.y" /* yacc.c:1646 */
42160 { (yyval.str) = "varchar"; }
42161#line 42162 "gram.c" /* yacc.c:1646 */
42162 break;
42163
42164 case 1885:
42165#line 12784 "gram.y" /* yacc.c:1646 */
42166 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
42167#line 42168 "gram.c" /* yacc.c:1646 */
42168 break;
42169
42170 case 1886:
42171#line 12786 "gram.y" /* yacc.c:1646 */
42172 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
42173#line 42174 "gram.c" /* yacc.c:1646 */
42174 break;
42175
42176 case 1887:
42177#line 12788 "gram.y" /* yacc.c:1646 */
42178 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
42179#line 42180 "gram.c" /* yacc.c:1646 */
42180 break;
42181
42182 case 1888:
42183#line 12792 "gram.y" /* yacc.c:1646 */
42184 { (yyval.boolean) = true; }
42185#line 42186 "gram.c" /* yacc.c:1646 */
42186 break;
42187
42188 case 1889:
42189#line 12793 "gram.y" /* yacc.c:1646 */
42190 { (yyval.boolean) = false; }
42191#line 42192 "gram.c" /* yacc.c:1646 */
42192 break;
42193
42194 case 1890:
42195#line 12801 "gram.y" /* yacc.c:1646 */
42196 {
42197 if ((yyvsp[0].boolean))
42198 (yyval.typnam) = SystemTypeName("timestamptz");
42199 else
42200 (yyval.typnam) = SystemTypeName("timestamp");
42201 (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
42202 (yyval.typnam)->location = (yylsp[-4]);
42203 }
42204#line 42205 "gram.c" /* yacc.c:1646 */
42205 break;
42206
42207 case 1891:
42208#line 12810 "gram.y" /* yacc.c:1646 */
42209 {
42210 if ((yyvsp[0].boolean))
42211 (yyval.typnam) = SystemTypeName("timestamptz");
42212 else
42213 (yyval.typnam) = SystemTypeName("timestamp");
42214 (yyval.typnam)->location = (yylsp[-1]);
42215 }
42216#line 42217 "gram.c" /* yacc.c:1646 */
42217 break;
42218
42219 case 1892:
42220#line 12818 "gram.y" /* yacc.c:1646 */
42221 {
42222 if ((yyvsp[0].boolean))
42223 (yyval.typnam) = SystemTypeName("timetz");
42224 else
42225 (yyval.typnam) = SystemTypeName("time");
42226 (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
42227 (yyval.typnam)->location = (yylsp[-4]);
42228 }
42229#line 42230 "gram.c" /* yacc.c:1646 */
42230 break;
42231
42232 case 1893:
42233#line 12827 "gram.y" /* yacc.c:1646 */
42234 {
42235 if ((yyvsp[0].boolean))
42236 (yyval.typnam) = SystemTypeName("timetz");
42237 else
42238 (yyval.typnam) = SystemTypeName("time");
42239 (yyval.typnam)->location = (yylsp[-1]);
42240 }
42241#line 42242 "gram.c" /* yacc.c:1646 */
42242 break;
42243
42244 case 1894:
42245#line 12838 "gram.y" /* yacc.c:1646 */
42246 {
42247 (yyval.typnam) = SystemTypeName("interval");
42248 (yyval.typnam)->location = (yylsp[0]);
42249 }
42250#line 42251 "gram.c" /* yacc.c:1646 */
42251 break;
42252
42253 case 1895:
42254#line 12845 "gram.y" /* yacc.c:1646 */
42255 { (yyval.boolean) = true; }
42256#line 42257 "gram.c" /* yacc.c:1646 */
42257 break;
42258
42259 case 1896:
42260#line 12846 "gram.y" /* yacc.c:1646 */
42261 { (yyval.boolean) = false; }
42262#line 42263 "gram.c" /* yacc.c:1646 */
42263 break;
42264
42265 case 1897:
42266#line 12847 "gram.y" /* yacc.c:1646 */
42267 { (yyval.boolean) = false; }
42268#line 42269 "gram.c" /* yacc.c:1646 */
42269 break;
42270
42271 case 1898:
42272#line 12852 "gram.y" /* yacc.c:1646 */
42273 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
42274#line 42275 "gram.c" /* yacc.c:1646 */
42275 break;
42276
42277 case 1899:
42278#line 12854 "gram.y" /* yacc.c:1646 */
42279 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
42280#line 42281 "gram.c" /* yacc.c:1646 */
42281 break;
42282
42283 case 1900:
42284#line 12856 "gram.y" /* yacc.c:1646 */
42285 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
42286#line 42287 "gram.c" /* yacc.c:1646 */
42287 break;
42288
42289 case 1901:
42290#line 12858 "gram.y" /* yacc.c:1646 */
42291 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
42292#line 42293 "gram.c" /* yacc.c:1646 */
42293 break;
42294
42295 case 1902:
42296#line 12860 "gram.y" /* yacc.c:1646 */
42297 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
42298#line 42299 "gram.c" /* yacc.c:1646 */
42299 break;
42300
42301 case 1903:
42302#line 12862 "gram.y" /* yacc.c:1646 */
42303 { (yyval.list) = (yyvsp[0].list); }
42304#line 42305 "gram.c" /* yacc.c:1646 */
42305 break;
42306
42307 case 1904:
42308#line 12864 "gram.y" /* yacc.c:1646 */
42309 {
42310 (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
42311 INTERVAL_MASK(MONTH), (yylsp[-2])));
42312 }
42313#line 42314 "gram.c" /* yacc.c:1646 */
42314 break;
42315
42316 case 1905:
42317#line 12869 "gram.y" /* yacc.c:1646 */
42318 {
42319 (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
42320 INTERVAL_MASK(HOUR), (yylsp[-2])));
42321 }
42322#line 42323 "gram.c" /* yacc.c:1646 */
42323 break;
42324
42325 case 1906:
42326#line 12874 "gram.y" /* yacc.c:1646 */
42327 {
42328 (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
42329 INTERVAL_MASK(HOUR) |
42330 INTERVAL_MASK(MINUTE), (yylsp[-2])));
42331 }
42332#line 42333 "gram.c" /* yacc.c:1646 */
42333 break;
42334
42335 case 1907:
42336#line 12880 "gram.y" /* yacc.c:1646 */
42337 {
42338 (yyval.list) = (yyvsp[0].list);
42339 linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
42340 INTERVAL_MASK(HOUR) |
42341 INTERVAL_MASK(MINUTE) |
42342 INTERVAL_MASK(SECOND), (yylsp[-2]));
42343 }
42344#line 42345 "gram.c" /* yacc.c:1646 */
42345 break;
42346
42347 case 1908:
42348#line 12888 "gram.y" /* yacc.c:1646 */
42349 {
42350 (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
42351 INTERVAL_MASK(MINUTE), (yylsp[-2])));
42352 }
42353#line 42354 "gram.c" /* yacc.c:1646 */
42354 break;
42355
42356 case 1909:
42357#line 12893 "gram.y" /* yacc.c:1646 */
42358 {
42359 (yyval.list) = (yyvsp[0].list);
42360 linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
42361 INTERVAL_MASK(MINUTE) |
42362 INTERVAL_MASK(SECOND), (yylsp[-2]));
42363 }
42364#line 42365 "gram.c" /* yacc.c:1646 */
42365 break;
42366
42367 case 1910:
42368#line 12900 "gram.y" /* yacc.c:1646 */
42369 {
42370 (yyval.list) = (yyvsp[0].list);
42371 linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
42372 INTERVAL_MASK(SECOND), (yylsp[-2]));
42373 }
42374#line 42375 "gram.c" /* yacc.c:1646 */
42375 break;
42376
42377 case 1911:
42378#line 12906 "gram.y" /* yacc.c:1646 */
42379 { (yyval.list) = NIL; }
42380#line 42381 "gram.c" /* yacc.c:1646 */
42381 break;
42382
42383 case 1912:
42384#line 12911 "gram.y" /* yacc.c:1646 */
42385 {
42386 (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
42387 }
42388#line 42389 "gram.c" /* yacc.c:1646 */
42389 break;
42390
42391 case 1913:
42392#line 12915 "gram.y" /* yacc.c:1646 */
42393 {
42394 (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
42395 makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
42396 }
42397#line 42398 "gram.c" /* yacc.c:1646 */
42398 break;
42399
42400 case 1914:
42401#line 12950 "gram.y" /* yacc.c:1646 */
42402 { (yyval.node) = (yyvsp[0].node); }
42403#line 42404 "gram.c" /* yacc.c:1646 */
42404 break;
42405
42406 case 1915:
42407#line 12952 "gram.y" /* yacc.c:1646 */
42408 { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
42409#line 42410 "gram.c" /* yacc.c:1646 */
42410 break;
42411
42412 case 1916:
42413#line 12954 "gram.y" /* yacc.c:1646 */
42414 {
42415 CollateClause *n = makeNode(CollateClause);
42416 n->arg = (yyvsp[-2].node);
42417 n->collname = (yyvsp[0].list);
42418 n->location = (yylsp[-1]);
42419 (yyval.node) = (Node *) n;
42420 }
42421#line 42422 "gram.c" /* yacc.c:1646 */
42422 break;
42423
42424 case 1917:
42425#line 12962 "gram.y" /* yacc.c:1646 */
42426 {
42427 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
42428 list_make2((yyvsp[0].node), (yyvsp[-4].node)),
42429 (yylsp[-3]));
42430 }
42431#line 42432 "gram.c" /* yacc.c:1646 */
42432 break;
42433
42434 case 1918:
42435#line 12977 "gram.y" /* yacc.c:1646 */
42436 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
42437#line 42438 "gram.c" /* yacc.c:1646 */
42438 break;
42439
42440 case 1919:
42441#line 12979 "gram.y" /* yacc.c:1646 */
42442 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
42443#line 42444 "gram.c" /* yacc.c:1646 */
42444 break;
42445
42446 case 1920:
42447#line 12981 "gram.y" /* yacc.c:1646 */
42448 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42449#line 42450 "gram.c" /* yacc.c:1646 */
42450 break;
42451
42452 case 1921:
42453#line 12983 "gram.y" /* yacc.c:1646 */
42454 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42455#line 42456 "gram.c" /* yacc.c:1646 */
42456 break;
42457
42458 case 1922:
42459#line 12985 "gram.y" /* yacc.c:1646 */
42460 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42461#line 42462 "gram.c" /* yacc.c:1646 */
42462 break;
42463
42464 case 1923:
42465#line 12987 "gram.y" /* yacc.c:1646 */
42466 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42467#line 42468 "gram.c" /* yacc.c:1646 */
42468 break;
42469
42470 case 1924:
42471#line 12989 "gram.y" /* yacc.c:1646 */
42472 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42473#line 42474 "gram.c" /* yacc.c:1646 */
42474 break;
42475
42476 case 1925:
42477#line 12991 "gram.y" /* yacc.c:1646 */
42478 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42479#line 42480 "gram.c" /* yacc.c:1646 */
42480 break;
42481
42482 case 1926:
42483#line 12993 "gram.y" /* yacc.c:1646 */
42484 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42485#line 42486 "gram.c" /* yacc.c:1646 */
42486 break;
42487
42488 case 1927:
42489#line 12995 "gram.y" /* yacc.c:1646 */
42490 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42491#line 42492 "gram.c" /* yacc.c:1646 */
42492 break;
42493
42494 case 1928:
42495#line 12997 "gram.y" /* yacc.c:1646 */
42496 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42497#line 42498 "gram.c" /* yacc.c:1646 */
42498 break;
42499
42500 case 1929:
42501#line 12999 "gram.y" /* yacc.c:1646 */
42502 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42503#line 42504 "gram.c" /* yacc.c:1646 */
42504 break;
42505
42506 case 1930:
42507#line 13001 "gram.y" /* yacc.c:1646 */
42508 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42509#line 42510 "gram.c" /* yacc.c:1646 */
42510 break;
42511
42512 case 1931:
42513#line 13003 "gram.y" /* yacc.c:1646 */
42514 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42515#line 42516 "gram.c" /* yacc.c:1646 */
42516 break;
42517
42518 case 1932:
42519#line 13006 "gram.y" /* yacc.c:1646 */
42520 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42521#line 42522 "gram.c" /* yacc.c:1646 */
42522 break;
42523
42524 case 1933:
42525#line 13008 "gram.y" /* yacc.c:1646 */
42526 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
42527#line 42528 "gram.c" /* yacc.c:1646 */
42528 break;
42529
42530 case 1934:
42531#line 13010 "gram.y" /* yacc.c:1646 */
42532 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
42533#line 42534 "gram.c" /* yacc.c:1646 */
42534 break;
42535
42536 case 1935:
42537#line 13013 "gram.y" /* yacc.c:1646 */
42538 { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42539#line 42540 "gram.c" /* yacc.c:1646 */
42540 break;
42541
42542 case 1936:
42543#line 13015 "gram.y" /* yacc.c:1646 */
42544 { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
42545#line 42546 "gram.c" /* yacc.c:1646 */
42546 break;
42547
42548 case 1937:
42549#line 13017 "gram.y" /* yacc.c:1646 */
42550 { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
42551#line 42552 "gram.c" /* yacc.c:1646 */
42552 break;
42553
42554 case 1938:
42555#line 13019 "gram.y" /* yacc.c:1646 */
42556 { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
42557#line 42558 "gram.c" /* yacc.c:1646 */
42558 break;
42559
42560 case 1939:
42561#line 13022 "gram.y" /* yacc.c:1646 */
42562 {
42563 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
42564 (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
42565 }
42566#line 42567 "gram.c" /* yacc.c:1646 */
42567 break;
42568
42569 case 1940:
42570#line 13027 "gram.y" /* yacc.c:1646 */
42571 {
42572 FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42573 list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42574 (yylsp[-3]));
42575 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
42576 (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
42577 }
42578#line 42579 "gram.c" /* yacc.c:1646 */
42579 break;
42580
42581 case 1941:
42582#line 13035 "gram.y" /* yacc.c:1646 */
42583 {
42584 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
42585 (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
42586 }
42587#line 42588 "gram.c" /* yacc.c:1646 */
42588 break;
42589
42590 case 1942:
42591#line 13040 "gram.y" /* yacc.c:1646 */
42592 {
42593 FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42594 list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42595 (yylsp[-4]));
42596 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
42597 (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
42598 }
42599#line 42600 "gram.c" /* yacc.c:1646 */
42600 break;
42601
42602 case 1943:
42603#line 13048 "gram.y" /* yacc.c:1646 */
42604 {
42605 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
42606 (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
42607 }
42608#line 42609 "gram.c" /* yacc.c:1646 */
42609 break;
42610
42611 case 1944:
42612#line 13053 "gram.y" /* yacc.c:1646 */
42613 {
42614 FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42615 list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42616 (yylsp[-3]));
42617 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
42618 (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
42619 }
42620#line 42621 "gram.c" /* yacc.c:1646 */
42621 break;
42622
42623 case 1945:
42624#line 13061 "gram.y" /* yacc.c:1646 */
42625 {
42626 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
42627 (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
42628 }
42629#line 42630 "gram.c" /* yacc.c:1646 */
42630 break;
42631
42632 case 1946:
42633#line 13066 "gram.y" /* yacc.c:1646 */
42634 {
42635 FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
42636 list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42637 (yylsp[-4]));
42638 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
42639 (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
42640 }
42641#line 42642 "gram.c" /* yacc.c:1646 */
42642 break;
42643
42644 case 1947:
42645#line 13075 "gram.y" /* yacc.c:1646 */
42646 {
42647 FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
42648 list_make2((yyvsp[0].node), makeNullAConst(-1)),
42649 (yylsp[-2]));
42650 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
42651 (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
42652 }
42653#line 42654 "gram.c" /* yacc.c:1646 */
42654 break;
42655
42656 case 1948:
42657#line 13083 "gram.y" /* yacc.c:1646 */
42658 {
42659 FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
42660 list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42661 (yylsp[-4]));
42662 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
42663 (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
42664 }
42665#line 42666 "gram.c" /* yacc.c:1646 */
42666 break;
42667
42668 case 1949:
42669#line 13091 "gram.y" /* yacc.c:1646 */
42670 {
42671 FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
42672 list_make2((yyvsp[0].node), makeNullAConst(-1)),
42673 (yylsp[-3]));
42674 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
42675 (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
42676 }
42677#line 42678 "gram.c" /* yacc.c:1646 */
42678 break;
42679
42680 case 1950:
42681#line 13099 "gram.y" /* yacc.c:1646 */
42682 {
42683 FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
42684 list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42685 (yylsp[-5]));
42686 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
42687 (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
42688 }
42689#line 42690 "gram.c" /* yacc.c:1646 */
42690 break;
42691
42692 case 1951:
42693#line 13117 "gram.y" /* yacc.c:1646 */
42694 {
42695 NullTest *n = makeNode(NullTest);
42696 n->arg = (Expr *) (yyvsp[-2].node);
42697 n->nulltesttype = IS_NULL;
42698 n->location = (yylsp[-1]);
42699 (yyval.node) = (Node *)n;
42700 }
42701#line 42702 "gram.c" /* yacc.c:1646 */
42702 break;
42703
42704 case 1952:
42705#line 13125 "gram.y" /* yacc.c:1646 */
42706 {
42707 NullTest *n = makeNode(NullTest);
42708 n->arg = (Expr *) (yyvsp[-1].node);
42709 n->nulltesttype = IS_NULL;
42710 n->location = (yylsp[0]);
42711 (yyval.node) = (Node *)n;
42712 }
42713#line 42714 "gram.c" /* yacc.c:1646 */
42714 break;
42715
42716 case 1953:
42717#line 13133 "gram.y" /* yacc.c:1646 */
42718 {
42719 NullTest *n = makeNode(NullTest);
42720 n->arg = (Expr *) (yyvsp[-3].node);
42721 n->nulltesttype = IS_NOT_NULL;
42722 n->location = (yylsp[-2]);
42723 (yyval.node) = (Node *)n;
42724 }
42725#line 42726 "gram.c" /* yacc.c:1646 */
42726 break;
42727
42728 case 1954:
42729#line 13141 "gram.y" /* yacc.c:1646 */
42730 {
42731 NullTest *n = makeNode(NullTest);
42732 n->arg = (Expr *) (yyvsp[-1].node);
42733 n->nulltesttype = IS_NOT_NULL;
42734 n->location = (yylsp[0]);
42735 (yyval.node) = (Node *)n;
42736 }
42737#line 42738 "gram.c" /* yacc.c:1646 */
42738 break;
42739
42740 case 1955:
42741#line 13149 "gram.y" /* yacc.c:1646 */
42742 {
42743 if (list_length((yyvsp[-2].list)) != 2)
42744 ereport(ERROR,
42745 (errcode(ERRCODE_SYNTAX_ERROR),
42746 errmsg("wrong number of parameters on left side of OVERLAPS expression"),
42747 parser_errposition((yylsp[-2]))));
42748 if (list_length((yyvsp[0].list)) != 2)
42749 ereport(ERROR,
42750 (errcode(ERRCODE_SYNTAX_ERROR),
42751 errmsg("wrong number of parameters on right side of OVERLAPS expression"),
42752 parser_errposition((yylsp[0]))));
42753 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
42754 list_concat((yyvsp[-2].list), (yyvsp[0].list)),
42755 (yylsp[-1]));
42756 }
42757#line 42758 "gram.c" /* yacc.c:1646 */
42758 break;
42759
42760 case 1956:
42761#line 13165 "gram.y" /* yacc.c:1646 */
42762 {
42763 BooleanTest *b = makeNode(BooleanTest);
42764 b->arg = (Expr *) (yyvsp[-2].node);
42765 b->booltesttype = IS_TRUE;
42766 b->location = (yylsp[-1]);
42767 (yyval.node) = (Node *)b;
42768 }
42769#line 42770 "gram.c" /* yacc.c:1646 */
42770 break;
42771
42772 case 1957:
42773#line 13173 "gram.y" /* yacc.c:1646 */
42774 {
42775 BooleanTest *b = makeNode(BooleanTest);
42776 b->arg = (Expr *) (yyvsp[-3].node);
42777 b->booltesttype = IS_NOT_TRUE;
42778 b->location = (yylsp[-2]);
42779 (yyval.node) = (Node *)b;
42780 }
42781#line 42782 "gram.c" /* yacc.c:1646 */
42782 break;
42783
42784 case 1958:
42785#line 13181 "gram.y" /* yacc.c:1646 */
42786 {
42787 BooleanTest *b = makeNode(BooleanTest);
42788 b->arg = (Expr *) (yyvsp[-2].node);
42789 b->booltesttype = IS_FALSE;
42790 b->location = (yylsp[-1]);
42791 (yyval.node) = (Node *)b;
42792 }
42793#line 42794 "gram.c" /* yacc.c:1646 */
42794 break;
42795
42796 case 1959:
42797#line 13189 "gram.y" /* yacc.c:1646 */
42798 {
42799 BooleanTest *b = makeNode(BooleanTest);
42800 b->arg = (Expr *) (yyvsp[-3].node);
42801 b->booltesttype = IS_NOT_FALSE;
42802 b->location = (yylsp[-2]);
42803 (yyval.node) = (Node *)b;
42804 }
42805#line 42806 "gram.c" /* yacc.c:1646 */
42806 break;
42807
42808 case 1960:
42809#line 13197 "gram.y" /* yacc.c:1646 */
42810 {
42811 BooleanTest *b = makeNode(BooleanTest);
42812 b->arg = (Expr *) (yyvsp[-2].node);
42813 b->booltesttype = IS_UNKNOWN;
42814 b->location = (yylsp[-1]);
42815 (yyval.node) = (Node *)b;
42816 }
42817#line 42818 "gram.c" /* yacc.c:1646 */
42818 break;
42819
42820 case 1961:
42821#line 13205 "gram.y" /* yacc.c:1646 */
42822 {
42823 BooleanTest *b = makeNode(BooleanTest);
42824 b->arg = (Expr *) (yyvsp[-3].node);
42825 b->booltesttype = IS_NOT_UNKNOWN;
42826 b->location = (yylsp[-2]);
42827 (yyval.node) = (Node *)b;
42828 }
42829#line 42830 "gram.c" /* yacc.c:1646 */
42830 break;
42831
42832 case 1962:
42833#line 13213 "gram.y" /* yacc.c:1646 */
42834 {
42835 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
42836 }
42837#line 42838 "gram.c" /* yacc.c:1646 */
42838 break;
42839
42840 case 1963:
42841#line 13217 "gram.y" /* yacc.c:1646 */
42842 {
42843 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
42844 }
42845#line 42846 "gram.c" /* yacc.c:1646 */
42846 break;
42847
42848 case 1964:
42849#line 13221 "gram.y" /* yacc.c:1646 */
42850 {
42851 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
42852 }
42853#line 42854 "gram.c" /* yacc.c:1646 */
42854 break;
42855
42856 case 1965:
42857#line 13225 "gram.y" /* yacc.c:1646 */
42858 {
42859 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
42860 }
42861#line 42862 "gram.c" /* yacc.c:1646 */
42862 break;
42863
42864 case 1966:
42865#line 13229 "gram.y" /* yacc.c:1646 */
42866 {
42867 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
42868 "BETWEEN",
42869 (yyvsp[-5].node),
42870 (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42871 (yylsp[-4]));
42872 }
42873#line 42874 "gram.c" /* yacc.c:1646 */
42874 break;
42875
42876 case 1967:
42877#line 13237 "gram.y" /* yacc.c:1646 */
42878 {
42879 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
42880 "NOT BETWEEN",
42881 (yyvsp[-6].node),
42882 (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42883 (yylsp[-5]));
42884 }
42885#line 42886 "gram.c" /* yacc.c:1646 */
42886 break;
42887
42888 case 1968:
42889#line 13245 "gram.y" /* yacc.c:1646 */
42890 {
42891 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
42892 "BETWEEN SYMMETRIC",
42893 (yyvsp[-5].node),
42894 (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42895 (yylsp[-4]));
42896 }
42897#line 42898 "gram.c" /* yacc.c:1646 */
42898 break;
42899
42900 case 1969:
42901#line 13253 "gram.y" /* yacc.c:1646 */
42902 {
42903 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
42904 "NOT BETWEEN SYMMETRIC",
42905 (yyvsp[-6].node),
42906 (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
42907 (yylsp[-5]));
42908 }
42909#line 42910 "gram.c" /* yacc.c:1646 */
42910 break;
42911
42912 case 1970:
42913#line 13261 "gram.y" /* yacc.c:1646 */
42914 {
42915 /* in_expr returns a SubLink or a list of a_exprs */
42916 if (IsA((yyvsp[0].node), SubLink))
42917 {
42918 /* generate foo = ANY (subquery) */
42919 SubLink *n = (SubLink *) (yyvsp[0].node);
42920 n->subLinkType = ANY_SUBLINK;
42921 n->subLinkId = 0;
42922 n->testexpr = (yyvsp[-2].node);
42923 n->operName = NIL; /* show it's IN not = ANY */
42924 n->location = (yylsp[-1]);
42925 (yyval.node) = (Node *)n;
42926 }
42927 else
42928 {
42929 /* generate scalar IN expression */
42930 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
42931 }
42932 }
42933#line 42934 "gram.c" /* yacc.c:1646 */
42934 break;
42935
42936 case 1971:
42937#line 13281 "gram.y" /* yacc.c:1646 */
42938 {
42939 /* in_expr returns a SubLink or a list of a_exprs */
42940 if (IsA((yyvsp[0].node), SubLink))
42941 {
42942 /* generate NOT (foo = ANY (subquery)) */
42943 /* Make an = ANY node */
42944 SubLink *n = (SubLink *) (yyvsp[0].node);
42945 n->subLinkType = ANY_SUBLINK;
42946 n->subLinkId = 0;
42947 n->testexpr = (yyvsp[-3].node);
42948 n->operName = NIL; /* show it's IN not = ANY */
42949 n->location = (yylsp[-2]);
42950 /* Stick a NOT on top; must have same parse location */
42951 (yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
42952 }
42953 else
42954 {
42955 /* generate scalar NOT IN expression */
42956 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
42957 }
42958 }
42959#line 42960 "gram.c" /* yacc.c:1646 */
42960 break;
42961
42962 case 1972:
42963#line 13303 "gram.y" /* yacc.c:1646 */
42964 {
42965 SubLink *n = makeNode(SubLink);
42966 n->subLinkType = (yyvsp[-1].ival);
42967 n->subLinkId = 0;
42968 n->testexpr = (yyvsp[-3].node);
42969 n->operName = (yyvsp[-2].list);
42970 n->subselect = (yyvsp[0].node);
42971 n->location = (yylsp[-2]);
42972 (yyval.node) = (Node *)n;
42973 }
42974#line 42975 "gram.c" /* yacc.c:1646 */
42975 break;
42976
42977 case 1973:
42978#line 13314 "gram.y" /* yacc.c:1646 */
42979 {
42980 if ((yyvsp[-3].ival) == ANY_SUBLINK)
42981 (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
42982 else
42983 (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
42984 }
42985#line 42986 "gram.c" /* yacc.c:1646 */
42986 break;
42987
42988 case 1974:
42989#line 13321 "gram.y" /* yacc.c:1646 */
42990 {
42991 /* Not sure how to get rid of the parentheses
42992 * but there are lots of shift/reduce errors without them.
42993 *
42994 * Should be able to implement this by plopping the entire
42995 * select into a node, then transforming the target expressions
42996 * from whatever they are into count(*), and testing the
42997 * entire result equal to one.
42998 * But, will probably implement a separate node in the executor.
42999 */
43000 ereport(ERROR,
43001 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
43002 errmsg("UNIQUE predicate is not yet implemented"),
43003 parser_errposition((yylsp[-1]))));
43004 }
43005#line 43006 "gram.c" /* yacc.c:1646 */
43006 break;
43007
43008 case 1975:
43009#line 13337 "gram.y" /* yacc.c:1646 */
43010 {
43011 (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
43012 list_make1((yyvsp[-2].node)), (yylsp[-1]));
43013 }
43014#line 43015 "gram.c" /* yacc.c:1646 */
43015 break;
43016
43017 case 1976:
43018#line 13342 "gram.y" /* yacc.c:1646 */
43019 {
43020 (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
43021 list_make1((yyvsp[-3].node)), (yylsp[-2])),
43022 (yylsp[-2]));
43023 }
43024#line 43025 "gram.c" /* yacc.c:1646 */
43025 break;
43026
43027 case 1977:
43028#line 13348 "gram.y" /* yacc.c:1646 */
43029 {
43030 /*
43031 * The SQL spec only allows DEFAULT in "contextually typed
43032 * expressions", but for us, it's easier to allow it in
43033 * any a_expr and then throw error during parse analysis
43034 * if it's in an inappropriate context. This way also
43035 * lets us say something smarter than "syntax error".
43036 */
43037 SetToDefault *n = makeNode(SetToDefault);
43038 /* parse analysis will fill in the rest */
43039 n->location = (yylsp[0]);
43040 (yyval.node) = (Node *)n;
43041 }
43042#line 43043 "gram.c" /* yacc.c:1646 */
43043 break;
43044
43045 case 1978:
43046#line 13373 "gram.y" /* yacc.c:1646 */
43047 { (yyval.node) = (yyvsp[0].node); }
43048#line 43049 "gram.c" /* yacc.c:1646 */
43049 break;
43050
43051 case 1979:
43052#line 13375 "gram.y" /* yacc.c:1646 */
43053 { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
43054#line 43055 "gram.c" /* yacc.c:1646 */
43055 break;
43056
43057 case 1980:
43058#line 13377 "gram.y" /* yacc.c:1646 */
43059 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
43060#line 43061 "gram.c" /* yacc.c:1646 */
43061 break;
43062
43063 case 1981:
43064#line 13379 "gram.y" /* yacc.c:1646 */
43065 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
43066#line 43067 "gram.c" /* yacc.c:1646 */
43067 break;
43068
43069 case 1982:
43070#line 13381 "gram.y" /* yacc.c:1646 */
43071 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43072#line 43073 "gram.c" /* yacc.c:1646 */
43073 break;
43074
43075 case 1983:
43076#line 13383 "gram.y" /* yacc.c:1646 */
43077 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43078#line 43079 "gram.c" /* yacc.c:1646 */
43079 break;
43080
43081 case 1984:
43082#line 13385 "gram.y" /* yacc.c:1646 */
43083 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43084#line 43085 "gram.c" /* yacc.c:1646 */
43085 break;
43086
43087 case 1985:
43088#line 13387 "gram.y" /* yacc.c:1646 */
43089 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43090#line 43091 "gram.c" /* yacc.c:1646 */
43091 break;
43092
43093 case 1986:
43094#line 13389 "gram.y" /* yacc.c:1646 */
43095 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43096#line 43097 "gram.c" /* yacc.c:1646 */
43097 break;
43098
43099 case 1987:
43100#line 13391 "gram.y" /* yacc.c:1646 */
43101 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43102#line 43103 "gram.c" /* yacc.c:1646 */
43103 break;
43104
43105 case 1988:
43106#line 13393 "gram.y" /* yacc.c:1646 */
43107 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43108#line 43109 "gram.c" /* yacc.c:1646 */
43109 break;
43110
43111 case 1989:
43112#line 13395 "gram.y" /* yacc.c:1646 */
43113 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43114#line 43115 "gram.c" /* yacc.c:1646 */
43115 break;
43116
43117 case 1990:
43118#line 13397 "gram.y" /* yacc.c:1646 */
43119 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43120#line 43121 "gram.c" /* yacc.c:1646 */
43121 break;
43122
43123 case 1991:
43124#line 13399 "gram.y" /* yacc.c:1646 */
43125 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43126#line 43127 "gram.c" /* yacc.c:1646 */
43127 break;
43128
43129 case 1992:
43130#line 13401 "gram.y" /* yacc.c:1646 */
43131 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43132#line 43133 "gram.c" /* yacc.c:1646 */
43133 break;
43134
43135 case 1993:
43136#line 13403 "gram.y" /* yacc.c:1646 */
43137 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43138#line 43139 "gram.c" /* yacc.c:1646 */
43139 break;
43140
43141 case 1994:
43142#line 13405 "gram.y" /* yacc.c:1646 */
43143 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43144#line 43145 "gram.c" /* yacc.c:1646 */
43145 break;
43146
43147 case 1995:
43148#line 13407 "gram.y" /* yacc.c:1646 */
43149 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
43150#line 43151 "gram.c" /* yacc.c:1646 */
43151 break;
43152
43153 case 1996:
43154#line 13409 "gram.y" /* yacc.c:1646 */
43155 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
43156#line 43157 "gram.c" /* yacc.c:1646 */
43157 break;
43158
43159 case 1997:
43160#line 13411 "gram.y" /* yacc.c:1646 */
43161 {
43162 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
43163 }
43164#line 43165 "gram.c" /* yacc.c:1646 */
43165 break;
43166
43167 case 1998:
43168#line 13415 "gram.y" /* yacc.c:1646 */
43169 {
43170 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
43171 }
43172#line 43173 "gram.c" /* yacc.c:1646 */
43173 break;
43174
43175 case 1999:
43176#line 13419 "gram.y" /* yacc.c:1646 */
43177 {
43178 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
43179 }
43180#line 43181 "gram.c" /* yacc.c:1646 */
43181 break;
43182
43183 case 2000:
43184#line 13423 "gram.y" /* yacc.c:1646 */
43185 {
43186 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
43187 }
43188#line 43189 "gram.c" /* yacc.c:1646 */
43189 break;
43190
43191 case 2001:
43192#line 13427 "gram.y" /* yacc.c:1646 */
43193 {
43194 (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
43195 list_make1((yyvsp[-2].node)), (yylsp[-1]));
43196 }
43197#line 43198 "gram.c" /* yacc.c:1646 */
43198 break;
43199
43200 case 2002:
43201#line 13432 "gram.y" /* yacc.c:1646 */
43202 {
43203 (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
43204 list_make1((yyvsp[-3].node)), (yylsp[-2])),
43205 (yylsp[-2]));
43206 }
43207#line 43208 "gram.c" /* yacc.c:1646 */
43208 break;
43209
43210 case 2003:
43211#line 13447 "gram.y" /* yacc.c:1646 */
43212 { (yyval.node) = (yyvsp[0].node); }
43213#line 43214 "gram.c" /* yacc.c:1646 */
43214 break;
43215
43216 case 2004:
43217#line 13448 "gram.y" /* yacc.c:1646 */
43218 { (yyval.node) = (yyvsp[0].node); }
43219#line 43220 "gram.c" /* yacc.c:1646 */
43220 break;
43221
43222 case 2005:
43223#line 13450 "gram.y" /* yacc.c:1646 */
43224 {
43225 ParamRef *p = makeNode(ParamRef);
43226 p->number = (yyvsp[-1].ival);
43227 p->location = (yylsp[-1]);
43228 if ((yyvsp[0].list))
43229 {
43230 A_Indirection *n = makeNode(A_Indirection);
43231 n->arg = (Node *) p;
43232 n->indirection = check_indirection((yyvsp[0].list), yyscanner);
43233 (yyval.node) = (Node *) n;
43234 }
43235 else
43236 (yyval.node) = (Node *) p;
43237 }
43238#line 43239 "gram.c" /* yacc.c:1646 */
43239 break;
43240
43241 case 2006:
43242#line 13465 "gram.y" /* yacc.c:1646 */
43243 {
43244 if ((yyvsp[0].list))
43245 {
43246 A_Indirection *n = makeNode(A_Indirection);
43247 n->arg = (yyvsp[-2].node);
43248 n->indirection = check_indirection((yyvsp[0].list), yyscanner);
43249 (yyval.node) = (Node *)n;
43250 }
43251 else if (operator_precedence_warning)
43252 {
43253 /*
43254 * If precedence warnings are enabled, insert
43255 * AEXPR_PAREN nodes wrapping all explicitly
43256 * parenthesized subexpressions; this prevents bogus
43257 * warnings from being issued when the ordering has
43258 * been forced by parentheses. Take care that an
43259 * AEXPR_PAREN node has the same exprLocation as its
43260 * child, so as not to cause surprising changes in
43261 * error cursor positioning.
43262 *
43263 * In principle we should not be relying on a GUC to
43264 * decide whether to insert AEXPR_PAREN nodes.
43265 * However, since they have no effect except to
43266 * suppress warnings, it's probably safe enough; and
43267 * we'd just as soon not waste cycles on dummy parse
43268 * nodes if we don't have to.
43269 */
43270 (yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[-2].node), NULL,
43271 exprLocation((yyvsp[-2].node)));
43272 }
43273 else
43274 (yyval.node) = (yyvsp[-2].node);
43275 }
43276#line 43277 "gram.c" /* yacc.c:1646 */
43277 break;
43278
43279 case 2007:
43280#line 13499 "gram.y" /* yacc.c:1646 */
43281 { (yyval.node) = (yyvsp[0].node); }
43282#line 43283 "gram.c" /* yacc.c:1646 */
43283 break;
43284
43285 case 2008:
43286#line 13501 "gram.y" /* yacc.c:1646 */
43287 { (yyval.node) = (yyvsp[0].node); }
43288#line 43289 "gram.c" /* yacc.c:1646 */
43289 break;
43290
43291 case 2009:
43292#line 13503 "gram.y" /* yacc.c:1646 */
43293 {
43294 SubLink *n = makeNode(SubLink);
43295 n->subLinkType = EXPR_SUBLINK;
43296 n->subLinkId = 0;
43297 n->testexpr = NULL;
43298 n->operName = NIL;
43299 n->subselect = (yyvsp[0].node);
43300 n->location = (yylsp[0]);
43301 (yyval.node) = (Node *)n;
43302 }
43303#line 43304 "gram.c" /* yacc.c:1646 */
43304 break;
43305
43306 case 2010:
43307#line 13514 "gram.y" /* yacc.c:1646 */
43308 {
43309 /*
43310 * Because the select_with_parens nonterminal is designed
43311 * to "eat" as many levels of parens as possible, the
43312 * '(' a_expr ')' opt_indirection production above will
43313 * fail to match a sub-SELECT with indirection decoration;
43314 * the sub-SELECT won't be regarded as an a_expr as long
43315 * as there are parens around it. To support applying
43316 * subscripting or field selection to a sub-SELECT result,
43317 * we need this redundant-looking production.
43318 */
43319 SubLink *n = makeNode(SubLink);
43320 A_Indirection *a = makeNode(A_Indirection);
43321 n->subLinkType = EXPR_SUBLINK;
43322 n->subLinkId = 0;
43323 n->testexpr = NULL;
43324 n->operName = NIL;
43325 n->subselect = (yyvsp[-1].node);
43326 n->location = (yylsp[-1]);
43327 a->arg = (Node *)n;
43328 a->indirection = check_indirection((yyvsp[0].list), yyscanner);
43329 (yyval.node) = (Node *)a;
43330 }
43331#line 43332 "gram.c" /* yacc.c:1646 */
43332 break;
43333
43334 case 2011:
43335#line 13538 "gram.y" /* yacc.c:1646 */
43336 {
43337 SubLink *n = makeNode(SubLink);
43338 n->subLinkType = EXISTS_SUBLINK;
43339 n->subLinkId = 0;
43340 n->testexpr = NULL;
43341 n->operName = NIL;
43342 n->subselect = (yyvsp[0].node);
43343 n->location = (yylsp[-1]);
43344 (yyval.node) = (Node *)n;
43345 }
43346#line 43347 "gram.c" /* yacc.c:1646 */
43347 break;
43348
43349 case 2012:
43350#line 13549 "gram.y" /* yacc.c:1646 */
43351 {
43352 SubLink *n = makeNode(SubLink);
43353 n->subLinkType = ARRAY_SUBLINK;
43354 n->subLinkId = 0;
43355 n->testexpr = NULL;
43356 n->operName = NIL;
43357 n->subselect = (yyvsp[0].node);
43358 n->location = (yylsp[-1]);
43359 (yyval.node) = (Node *)n;
43360 }
43361#line 43362 "gram.c" /* yacc.c:1646 */
43362 break;
43363
43364 case 2013:
43365#line 13560 "gram.y" /* yacc.c:1646 */
43366 {
43367 A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
43368 /* point outermost A_ArrayExpr to the ARRAY keyword */
43369 n->location = (yylsp[-1]);
43370 (yyval.node) = (Node *)n;
43371 }
43372#line 43373 "gram.c" /* yacc.c:1646 */
43373 break;
43374
43375 case 2014:
43376#line 13567 "gram.y" /* yacc.c:1646 */
43377 {
43378 RowExpr *r = makeNode(RowExpr);
43379 r->args = (yyvsp[0].list);
43380 r->row_typeid = InvalidOid; /* not analyzed yet */
43381 r->colnames = NIL; /* to be filled in during analysis */
43382 r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
43383 r->location = (yylsp[0]);
43384 (yyval.node) = (Node *)r;
43385 }
43386#line 43387 "gram.c" /* yacc.c:1646 */
43387 break;
43388
43389 case 2015:
43390#line 13577 "gram.y" /* yacc.c:1646 */
43391 {
43392 RowExpr *r = makeNode(RowExpr);
43393 r->args = (yyvsp[0].list);
43394 r->row_typeid = InvalidOid; /* not analyzed yet */
43395 r->colnames = NIL; /* to be filled in during analysis */
43396 r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
43397 r->location = (yylsp[0]);
43398 (yyval.node) = (Node *)r;
43399 }
43400#line 43401 "gram.c" /* yacc.c:1646 */
43401 break;
43402
43403 case 2016:
43404#line 13587 "gram.y" /* yacc.c:1646 */
43405 {
43406 GroupingFunc *g = makeNode(GroupingFunc);
43407 g->args = (yyvsp[-1].list);
43408 g->location = (yylsp[-3]);
43409 (yyval.node) = (Node *)g;
43410 }
43411#line 43412 "gram.c" /* yacc.c:1646 */
43412 break;
43413
43414 case 2017:
43415#line 13596 "gram.y" /* yacc.c:1646 */
43416 {
43417 (yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
43418 }
43419#line 43420 "gram.c" /* yacc.c:1646 */
43420 break;
43421
43422 case 2018:
43423#line 13600 "gram.y" /* yacc.c:1646 */
43424 {
43425 FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
43426 n->agg_order = (yyvsp[-1].list);
43427 (yyval.node) = (Node *)n;
43428 }
43429#line 43430 "gram.c" /* yacc.c:1646 */
43430 break;
43431
43432 case 2019:
43433#line 13606 "gram.y" /* yacc.c:1646 */
43434 {
43435 FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)), (yylsp[-5]));
43436 n->func_variadic = true;
43437 n->agg_order = (yyvsp[-1].list);
43438 (yyval.node) = (Node *)n;
43439 }
43440#line 43441 "gram.c" /* yacc.c:1646 */
43441 break;
43442
43443 case 2020:
43444#line 13613 "gram.y" /* yacc.c:1646 */
43445 {
43446 FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)), (yylsp[-7]));
43447 n->func_variadic = true;
43448 n->agg_order = (yyvsp[-1].list);
43449 (yyval.node) = (Node *)n;
43450 }
43451#line 43452 "gram.c" /* yacc.c:1646 */
43452 break;
43453
43454 case 2021:
43455#line 13620 "gram.y" /* yacc.c:1646 */
43456 {
43457 FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
43458 n->agg_order = (yyvsp[-1].list);
43459 /* Ideally we'd mark the FuncCall node to indicate
43460 * "must be an aggregate", but there's no provision
43461 * for that in FuncCall at the moment.
43462 */
43463 (yyval.node) = (Node *)n;
43464 }
43465#line 43466 "gram.c" /* yacc.c:1646 */
43466 break;
43467
43468 case 2022:
43469#line 13630 "gram.y" /* yacc.c:1646 */
43470 {
43471 FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
43472 n->agg_order = (yyvsp[-1].list);
43473 n->agg_distinct = true;
43474 (yyval.node) = (Node *)n;
43475 }
43476#line 43477 "gram.c" /* yacc.c:1646 */
43477 break;
43478
43479 case 2023:
43480#line 13637 "gram.y" /* yacc.c:1646 */
43481 {
43482 /*
43483 * We consider AGGREGATE(*) to invoke a parameterless
43484 * aggregate. This does the right thing for COUNT(*),
43485 * and there are no other aggregates in SQL that accept
43486 * '*' as parameter.
43487 *
43488 * The FuncCall node is also marked agg_star = true,
43489 * so that later processing can detect what the argument
43490 * really was.
43491 */
43492 FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL, (yylsp[-3]));
43493 n->agg_star = true;
43494 (yyval.node) = (Node *)n;
43495 }
43496#line 43497 "gram.c" /* yacc.c:1646 */
43497 break;
43498
43499 case 2024:
43500#line 13665 "gram.y" /* yacc.c:1646 */
43501 {
43502 FuncCall *n = (FuncCall *) (yyvsp[-3].node);
43503 /*
43504 * The order clause for WITHIN GROUP and the one for
43505 * plain-aggregate ORDER BY share a field, so we have to
43506 * check here that at most one is present. We also check
43507 * for DISTINCT and VARIADIC here to give a better error
43508 * location. Other consistency checks are deferred to
43509 * parse analysis.
43510 */
43511 if ((yyvsp[-2].list) != NIL)
43512 {
43513 if (n->agg_order != NIL)
43514 ereport(ERROR,
43515 (errcode(ERRCODE_SYNTAX_ERROR),
43516 errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
43517 parser_errposition((yylsp[-2]))));
43518 if (n->agg_distinct)
43519 ereport(ERROR,
43520 (errcode(ERRCODE_SYNTAX_ERROR),
43521 errmsg("cannot use DISTINCT with WITHIN GROUP"),
43522 parser_errposition((yylsp[-2]))));
43523 if (n->func_variadic)
43524 ereport(ERROR,
43525 (errcode(ERRCODE_SYNTAX_ERROR),
43526 errmsg("cannot use VARIADIC with WITHIN GROUP"),
43527 parser_errposition((yylsp[-2]))));
43528 n->agg_order = (yyvsp[-2].list);
43529 n->agg_within_group = true;
43530 }
43531 n->agg_filter = (yyvsp[-1].node);
43532 n->over = (yyvsp[0].windef);
43533 (yyval.node) = (Node *) n;
43534 }
43535#line 43536 "gram.c" /* yacc.c:1646 */
43536 break;
43537
43538 case 2025:
43539#line 13700 "gram.y" /* yacc.c:1646 */
43540 { (yyval.node) = (yyvsp[0].node); }
43541#line 43542 "gram.c" /* yacc.c:1646 */
43542 break;
43543
43544 case 2026:
43545#line 13710 "gram.y" /* yacc.c:1646 */
43546 { (yyval.node) = (yyvsp[0].node); }
43547#line 43548 "gram.c" /* yacc.c:1646 */
43548 break;
43549
43550 case 2027:
43551#line 13711 "gram.y" /* yacc.c:1646 */
43552 { (yyval.node) = (yyvsp[0].node); }
43553#line 43554 "gram.c" /* yacc.c:1646 */
43554 break;
43555
43556 case 2028:
43557#line 13719 "gram.y" /* yacc.c:1646 */
43558 {
43559 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
43560 list_make1((yyvsp[-1].node)),
43561 (yylsp[-4]));
43562 }
43563#line 43564 "gram.c" /* yacc.c:1646 */
43564 break;
43565
43566 case 2029:
43567#line 13725 "gram.y" /* yacc.c:1646 */
43568 {
43569 (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
43570 }
43571#line 43572 "gram.c" /* yacc.c:1646 */
43572 break;
43573
43574 case 2030:
43575#line 13729 "gram.y" /* yacc.c:1646 */
43576 {
43577 (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
43578 }
43579#line 43580 "gram.c" /* yacc.c:1646 */
43580 break;
43581
43582 case 2031:
43583#line 13733 "gram.y" /* yacc.c:1646 */
43584 {
43585 (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
43586 }
43587#line 43588 "gram.c" /* yacc.c:1646 */
43588 break;
43589
43590 case 2032:
43591#line 13737 "gram.y" /* yacc.c:1646 */
43592 {
43593 (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
43594 }
43595#line 43596 "gram.c" /* yacc.c:1646 */
43596 break;
43597
43598 case 2033:
43599#line 13741 "gram.y" /* yacc.c:1646 */
43600 {
43601 (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
43602 }
43603#line 43604 "gram.c" /* yacc.c:1646 */
43604 break;
43605
43606 case 2034:
43607#line 13745 "gram.y" /* yacc.c:1646 */
43608 {
43609 (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
43610 }
43611#line 43612 "gram.c" /* yacc.c:1646 */
43612 break;
43613
43614 case 2035:
43615#line 13749 "gram.y" /* yacc.c:1646 */
43616 {
43617 (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
43618 }
43619#line 43620 "gram.c" /* yacc.c:1646 */
43620 break;
43621
43622 case 2036:
43623#line 13753 "gram.y" /* yacc.c:1646 */
43624 {
43625 (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
43626 }
43627#line 43628 "gram.c" /* yacc.c:1646 */
43628 break;
43629
43630 case 2037:
43631#line 13757 "gram.y" /* yacc.c:1646 */
43632 {
43633 (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
43634 }
43635#line 43636 "gram.c" /* yacc.c:1646 */
43636 break;
43637
43638 case 2038:
43639#line 13761 "gram.y" /* yacc.c:1646 */
43640 {
43641 (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
43642 }
43643#line 43644 "gram.c" /* yacc.c:1646 */
43644 break;
43645
43646 case 2039:
43647#line 13765 "gram.y" /* yacc.c:1646 */
43648 {
43649 (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
43650 }
43651#line 43652 "gram.c" /* yacc.c:1646 */
43652 break;
43653
43654 case 2040:
43655#line 13769 "gram.y" /* yacc.c:1646 */
43656 {
43657 (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
43658 }
43659#line 43660 "gram.c" /* yacc.c:1646 */
43660 break;
43661
43662 case 2041:
43663#line 13773 "gram.y" /* yacc.c:1646 */
43664 {
43665 (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
43666 }
43667#line 43668 "gram.c" /* yacc.c:1646 */
43668 break;
43669
43670 case 2042:
43671#line 13777 "gram.y" /* yacc.c:1646 */
43672 {
43673 (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
43674 }
43675#line 43676 "gram.c" /* yacc.c:1646 */
43676 break;
43677
43678 case 2043:
43679#line 13781 "gram.y" /* yacc.c:1646 */
43680 {
43681 (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
43682 }
43683#line 43684 "gram.c" /* yacc.c:1646 */
43684 break;
43685
43686 case 2044:
43687#line 13785 "gram.y" /* yacc.c:1646 */
43688 { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
43689#line 43690 "gram.c" /* yacc.c:1646 */
43690 break;
43691
43692 case 2045:
43693#line 13787 "gram.y" /* yacc.c:1646 */
43694 {
43695 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
43696 }
43697#line 43698 "gram.c" /* yacc.c:1646 */
43698 break;
43699
43700 case 2046:
43701#line 13791 "gram.y" /* yacc.c:1646 */
43702 {
43703 /* overlay(A PLACING B FROM C FOR D) is converted to
43704 * overlay(A, B, C, D)
43705 * overlay(A PLACING B FROM C) is converted to
43706 * overlay(A, B, C)
43707 */
43708 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3]));
43709 }
43710#line 43711 "gram.c" /* yacc.c:1646 */
43711 break;
43712
43713 case 2047:
43714#line 13800 "gram.y" /* yacc.c:1646 */
43715 {
43716 /* position(A in B) is converted to position(B, A) */
43717 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
43718 }
43719#line 43720 "gram.c" /* yacc.c:1646 */
43720 break;
43721
43722 case 2048:
43723#line 13805 "gram.y" /* yacc.c:1646 */
43724 {
43725 /* substring(A from B for C) is converted to
43726 * substring(A, B, C) - thomas 2000-11-28
43727 */
43728 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3]));
43729 }
43730#line 43731 "gram.c" /* yacc.c:1646 */
43731 break;
43732
43733 case 2049:
43734#line 13812 "gram.y" /* yacc.c:1646 */
43735 {
43736 /* TREAT(expr AS target) converts expr of a particular type to target,
43737 * which is defined to be a subtype of the original expression.
43738 * In SQL99, this is intended for use with structured UDTs,
43739 * but let's make this a generally useful form allowing stronger
43740 * coercions than are handled by implicit casting.
43741 *
43742 * Convert SystemTypeName() to SystemFuncName() even though
43743 * at the moment they result in the same thing.
43744 */
43745 (yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str),
43746 list_make1((yyvsp[-3].node)),
43747 (yylsp[-5]));
43748 }
43749#line 43750 "gram.c" /* yacc.c:1646 */
43750 break;
43751
43752 case 2050:
43753#line 13827 "gram.y" /* yacc.c:1646 */
43754 {
43755 /* various trim expressions are defined in SQL
43756 * - thomas 1997-07-19
43757 */
43758 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
43759 }
43760#line 43761 "gram.c" /* yacc.c:1646 */
43761 break;
43762
43763 case 2051:
43764#line 13834 "gram.y" /* yacc.c:1646 */
43765 {
43766 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
43767 }
43768#line 43769 "gram.c" /* yacc.c:1646 */
43769 break;
43770
43771 case 2052:
43772#line 13838 "gram.y" /* yacc.c:1646 */
43773 {
43774 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
43775 }
43776#line 43777 "gram.c" /* yacc.c:1646 */
43777 break;
43778
43779 case 2053:
43780#line 13842 "gram.y" /* yacc.c:1646 */
43781 {
43782 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
43783 }
43784#line 43785 "gram.c" /* yacc.c:1646 */
43785 break;
43786
43787 case 2054:
43788#line 13846 "gram.y" /* yacc.c:1646 */
43789 {
43790 (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
43791 }
43792#line 43793 "gram.c" /* yacc.c:1646 */
43793 break;
43794
43795 case 2055:
43796#line 13850 "gram.y" /* yacc.c:1646 */
43797 {
43798 CoalesceExpr *c = makeNode(CoalesceExpr);
43799 c->args = (yyvsp[-1].list);
43800 c->location = (yylsp[-3]);
43801 (yyval.node) = (Node *)c;
43802 }
43803#line 43804 "gram.c" /* yacc.c:1646 */
43804 break;
43805
43806 case 2056:
43807#line 13857 "gram.y" /* yacc.c:1646 */
43808 {
43809 MinMaxExpr *v = makeNode(MinMaxExpr);
43810 v->args = (yyvsp[-1].list);
43811 v->op = IS_GREATEST;
43812 v->location = (yylsp[-3]);
43813 (yyval.node) = (Node *)v;
43814 }
43815#line 43816 "gram.c" /* yacc.c:1646 */
43816 break;
43817
43818 case 2057:
43819#line 13865 "gram.y" /* yacc.c:1646 */
43820 {
43821 MinMaxExpr *v = makeNode(MinMaxExpr);
43822 v->args = (yyvsp[-1].list);
43823 v->op = IS_LEAST;
43824 v->location = (yylsp[-3]);
43825 (yyval.node) = (Node *)v;
43826 }
43827#line 43828 "gram.c" /* yacc.c:1646 */
43828 break;
43829
43830 case 2058:
43831#line 13873 "gram.y" /* yacc.c:1646 */
43832 {
43833 (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
43834 }
43835#line 43836 "gram.c" /* yacc.c:1646 */
43836 break;
43837
43838 case 2059:
43839#line 13877 "gram.y" /* yacc.c:1646 */
43840 {
43841 (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
43842 }
43843#line 43844 "gram.c" /* yacc.c:1646 */
43844 break;
43845
43846 case 2060:
43847#line 13881 "gram.y" /* yacc.c:1646 */
43848 {
43849 (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
43850 }
43851#line 43852 "gram.c" /* yacc.c:1646 */
43852 break;
43853
43854 case 2061:
43855#line 13885 "gram.y" /* yacc.c:1646 */
43856 {
43857 (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
43858 }
43859#line 43860 "gram.c" /* yacc.c:1646 */
43860 break;
43861
43862 case 2062:
43863#line 13889 "gram.y" /* yacc.c:1646 */
43864 {
43865 (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
43866 }
43867#line 43868 "gram.c" /* yacc.c:1646 */
43868 break;
43869
43870 case 2063:
43871#line 13893 "gram.y" /* yacc.c:1646 */
43872 {
43873 /* xmlexists(A PASSING [BY REF] B [BY REF]) is
43874 * converted to xmlexists(A, B)*/
43875 (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-4]));
43876 }
43877#line 43878 "gram.c" /* yacc.c:1646 */
43878 break;
43879
43880 case 2064:
43881#line 13899 "gram.y" /* yacc.c:1646 */
43882 {
43883 (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
43884 }
43885#line 43886 "gram.c" /* yacc.c:1646 */
43886 break;
43887
43888 case 2065:
43889#line 13903 "gram.y" /* yacc.c:1646 */
43890 {
43891 XmlExpr *x = (XmlExpr *)
43892 makeXmlExpr(IS_XMLPARSE, NULL, NIL,
43893 list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
43894 (yylsp[-5]));
43895 x->xmloption = (yyvsp[-3].ival);
43896 (yyval.node) = (Node *)x;
43897 }
43898#line 43899 "gram.c" /* yacc.c:1646 */
43899 break;
43900
43901 case 2066:
43902#line 13912 "gram.y" /* yacc.c:1646 */
43903 {
43904 (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
43905 }
43906#line 43907 "gram.c" /* yacc.c:1646 */
43907 break;
43908
43909 case 2067:
43910#line 13916 "gram.y" /* yacc.c:1646 */
43911 {
43912 (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
43913 }
43914#line 43915 "gram.c" /* yacc.c:1646 */
43915 break;
43916
43917 case 2068:
43918#line 13920 "gram.y" /* yacc.c:1646 */
43919 {
43920 (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
43921 list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
43922 }
43923#line 43924 "gram.c" /* yacc.c:1646 */
43924 break;
43925
43926 case 2069:
43927#line 13925 "gram.y" /* yacc.c:1646 */
43928 {
43929 XmlSerialize *n = makeNode(XmlSerialize);
43930 n->xmloption = (yyvsp[-4].ival);
43931 n->expr = (yyvsp[-3].node);
43932 n->typeName = (yyvsp[-1].typnam);
43933 n->location = (yylsp[-6]);
43934 (yyval.node) = (Node *)n;
43935 }
43936#line 43937 "gram.c" /* yacc.c:1646 */
43937 break;
43938
43939 case 2070:
43940#line 13939 "gram.y" /* yacc.c:1646 */
43941 { (yyval.node) = (yyvsp[0].node); }
43942#line 43943 "gram.c" /* yacc.c:1646 */
43943 break;
43944
43945 case 2071:
43946#line 13941 "gram.y" /* yacc.c:1646 */
43947 { (yyval.node) = makeNullAConst(-1); }
43948#line 43949 "gram.c" /* yacc.c:1646 */
43949 break;
43950
43951 case 2072:
43952#line 13945 "gram.y" /* yacc.c:1646 */
43953 { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
43954#line 43955 "gram.c" /* yacc.c:1646 */
43955 break;
43956
43957 case 2073:
43958#line 13947 "gram.y" /* yacc.c:1646 */
43959 { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
43960#line 43961 "gram.c" /* yacc.c:1646 */
43961 break;
43962
43963 case 2074:
43964#line 13949 "gram.y" /* yacc.c:1646 */
43965 { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
43966#line 43967 "gram.c" /* yacc.c:1646 */
43967 break;
43968
43969 case 2075:
43970#line 13951 "gram.y" /* yacc.c:1646 */
43971 { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
43972#line 43973 "gram.c" /* yacc.c:1646 */
43973 break;
43974
43975 case 2076:
43976#line 13954 "gram.y" /* yacc.c:1646 */
43977 { (yyval.list) = (yyvsp[-1].list); }
43978#line 43979 "gram.c" /* yacc.c:1646 */
43979 break;
43980
43981 case 2077:
43982#line 13957 "gram.y" /* yacc.c:1646 */
43983 { (yyval.list) = list_make1((yyvsp[0].target)); }
43984#line 43985 "gram.c" /* yacc.c:1646 */
43985 break;
43986
43987 case 2078:
43988#line 13958 "gram.y" /* yacc.c:1646 */
43989 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
43990#line 43991 "gram.c" /* yacc.c:1646 */
43991 break;
43992
43993 case 2079:
43994#line 13962 "gram.y" /* yacc.c:1646 */
43995 {
43996 (yyval.target) = makeNode(ResTarget);
43997 (yyval.target)->name = (yyvsp[0].str);
43998 (yyval.target)->indirection = NIL;
43999 (yyval.target)->val = (Node *) (yyvsp[-2].node);
44000 (yyval.target)->location = (yylsp[-2]);
44001 }
44002#line 44003 "gram.c" /* yacc.c:1646 */
44003 break;
44004
44005 case 2080:
44006#line 13970 "gram.y" /* yacc.c:1646 */
44007 {
44008 (yyval.target) = makeNode(ResTarget);
44009 (yyval.target)->name = NULL;
44010 (yyval.target)->indirection = NIL;
44011 (yyval.target)->val = (Node *) (yyvsp[0].node);
44012 (yyval.target)->location = (yylsp[0]);
44013 }
44014#line 44015 "gram.c" /* yacc.c:1646 */
44015 break;
44016
44017 case 2081:
44018#line 13979 "gram.y" /* yacc.c:1646 */
44019 { (yyval.ival) = XMLOPTION_DOCUMENT; }
44020#line 44021 "gram.c" /* yacc.c:1646 */
44021 break;
44022
44023 case 2082:
44024#line 13980 "gram.y" /* yacc.c:1646 */
44025 { (yyval.ival) = XMLOPTION_CONTENT; }
44026#line 44027 "gram.c" /* yacc.c:1646 */
44027 break;
44028
44029 case 2083:
44030#line 13983 "gram.y" /* yacc.c:1646 */
44031 { (yyval.boolean) = true; }
44032#line 44033 "gram.c" /* yacc.c:1646 */
44033 break;
44034
44035 case 2084:
44036#line 13984 "gram.y" /* yacc.c:1646 */
44037 { (yyval.boolean) = false; }
44038#line 44039 "gram.c" /* yacc.c:1646 */
44039 break;
44040
44041 case 2085:
44042#line 13985 "gram.y" /* yacc.c:1646 */
44043 { (yyval.boolean) = false; }
44044#line 44045 "gram.c" /* yacc.c:1646 */
44045 break;
44046
44047 case 2086:
44048#line 13991 "gram.y" /* yacc.c:1646 */
44049 {
44050 (yyval.node) = (yyvsp[0].node);
44051 }
44052#line 44053 "gram.c" /* yacc.c:1646 */
44053 break;
44054
44055 case 2087:
44056#line 13995 "gram.y" /* yacc.c:1646 */
44057 {
44058 (yyval.node) = (yyvsp[-1].node);
44059 }
44060#line 44061 "gram.c" /* yacc.c:1646 */
44061 break;
44062
44063 case 2088:
44064#line 13999 "gram.y" /* yacc.c:1646 */
44065 {
44066 (yyval.node) = (yyvsp[0].node);
44067 }
44068#line 44069 "gram.c" /* yacc.c:1646 */
44069 break;
44070
44071 case 2089:
44072#line 14003 "gram.y" /* yacc.c:1646 */
44073 {
44074 (yyval.node) = (yyvsp[-1].node);
44075 }
44076#line 44077 "gram.c" /* yacc.c:1646 */
44077 break;
44078
44079 case 2092:
44080#line 14018 "gram.y" /* yacc.c:1646 */
44081 { (yyval.list) = (yyvsp[-1].list); }
44082#line 44083 "gram.c" /* yacc.c:1646 */
44083 break;
44084
44085 case 2093:
44086#line 14019 "gram.y" /* yacc.c:1646 */
44087 { (yyval.list) = NIL; }
44088#line 44089 "gram.c" /* yacc.c:1646 */
44089 break;
44090
44091 case 2094:
44092#line 14023 "gram.y" /* yacc.c:1646 */
44093 { (yyval.node) = (yyvsp[-1].node); }
44094#line 44095 "gram.c" /* yacc.c:1646 */
44095 break;
44096
44097 case 2095:
44098#line 14024 "gram.y" /* yacc.c:1646 */
44099 { (yyval.node) = NULL; }
44100#line 44101 "gram.c" /* yacc.c:1646 */
44101 break;
44102
44103 case 2096:
44104#line 14032 "gram.y" /* yacc.c:1646 */
44105 { (yyval.list) = (yyvsp[0].list); }
44106#line 44107 "gram.c" /* yacc.c:1646 */
44107 break;
44108
44109 case 2097:
44110#line 14033 "gram.y" /* yacc.c:1646 */
44111 { (yyval.list) = NIL; }
44112#line 44113 "gram.c" /* yacc.c:1646 */
44113 break;
44114
44115 case 2098:
44116#line 14037 "gram.y" /* yacc.c:1646 */
44117 { (yyval.list) = list_make1((yyvsp[0].windef)); }
44118#line 44119 "gram.c" /* yacc.c:1646 */
44119 break;
44120
44121 case 2099:
44122#line 14039 "gram.y" /* yacc.c:1646 */
44123 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
44124#line 44125 "gram.c" /* yacc.c:1646 */
44125 break;
44126
44127 case 2100:
44128#line 14044 "gram.y" /* yacc.c:1646 */
44129 {
44130 WindowDef *n = (yyvsp[0].windef);
44131 n->name = (yyvsp[-2].str);
44132 (yyval.windef) = n;
44133 }
44134#line 44135 "gram.c" /* yacc.c:1646 */
44135 break;
44136
44137 case 2101:
44138#line 14052 "gram.y" /* yacc.c:1646 */
44139 { (yyval.windef) = (yyvsp[0].windef); }
44140#line 44141 "gram.c" /* yacc.c:1646 */
44141 break;
44142
44143 case 2102:
44144#line 14054 "gram.y" /* yacc.c:1646 */
44145 {
44146 WindowDef *n = makeNode(WindowDef);
44147 n->name = (yyvsp[0].str);
44148 n->refname = NULL;
44149 n->partitionClause = NIL;
44150 n->orderClause = NIL;
44151 n->frameOptions = FRAMEOPTION_DEFAULTS;
44152 n->startOffset = NULL;
44153 n->endOffset = NULL;
44154 n->location = (yylsp[0]);
44155 (yyval.windef) = n;
44156 }
44157#line 44158 "gram.c" /* yacc.c:1646 */
44158 break;
44159
44160 case 2103:
44161#line 14067 "gram.y" /* yacc.c:1646 */
44162 { (yyval.windef) = NULL; }
44163#line 44164 "gram.c" /* yacc.c:1646 */
44164 break;
44165
44166 case 2104:
44167#line 14072 "gram.y" /* yacc.c:1646 */
44168 {
44169 WindowDef *n = makeNode(WindowDef);
44170 n->name = NULL;
44171 n->refname = (yyvsp[-4].str);
44172 n->partitionClause = (yyvsp[-3].list);
44173 n->orderClause = (yyvsp[-2].list);
44174 /* copy relevant fields of opt_frame_clause */
44175 n->frameOptions = (yyvsp[-1].windef)->frameOptions;
44176 n->startOffset = (yyvsp[-1].windef)->startOffset;
44177 n->endOffset = (yyvsp[-1].windef)->endOffset;
44178 n->location = (yylsp[-5]);
44179 (yyval.windef) = n;
44180 }
44181#line 44182 "gram.c" /* yacc.c:1646 */
44182 break;
44183
44184 case 2105:
44185#line 14097 "gram.y" /* yacc.c:1646 */
44186 { (yyval.str) = (yyvsp[0].str); }
44187#line 44188 "gram.c" /* yacc.c:1646 */
44188 break;
44189
44190 case 2106:
44191#line 14098 "gram.y" /* yacc.c:1646 */
44192 { (yyval.str) = NULL; }
44193#line 44194 "gram.c" /* yacc.c:1646 */
44194 break;
44195
44196 case 2107:
44197#line 14101 "gram.y" /* yacc.c:1646 */
44198 { (yyval.list) = (yyvsp[0].list); }
44199#line 44200 "gram.c" /* yacc.c:1646 */
44200 break;
44201
44202 case 2108:
44203#line 14102 "gram.y" /* yacc.c:1646 */
44204 { (yyval.list) = NIL; }
44205#line 44206 "gram.c" /* yacc.c:1646 */
44206 break;
44207
44208 case 2109:
44209#line 14111 "gram.y" /* yacc.c:1646 */
44210 {
44211 WindowDef *n = (yyvsp[-1].windef);
44212 n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
44213 n->frameOptions |= (yyvsp[0].ival);
44214 (yyval.windef) = n;
44215 }
44216#line 44217 "gram.c" /* yacc.c:1646 */
44217 break;
44218
44219 case 2110:
44220#line 14118 "gram.y" /* yacc.c:1646 */
44221 {
44222 WindowDef *n = (yyvsp[-1].windef);
44223 n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
44224 n->frameOptions |= (yyvsp[0].ival);
44225 (yyval.windef) = n;
44226 }
44227#line 44228 "gram.c" /* yacc.c:1646 */
44228 break;
44229
44230 case 2111:
44231#line 14125 "gram.y" /* yacc.c:1646 */
44232 {
44233 WindowDef *n = (yyvsp[-1].windef);
44234 n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
44235 n->frameOptions |= (yyvsp[0].ival);
44236 (yyval.windef) = n;
44237 }
44238#line 44239 "gram.c" /* yacc.c:1646 */
44239 break;
44240
44241 case 2112:
44242#line 14132 "gram.y" /* yacc.c:1646 */
44243 {
44244 WindowDef *n = makeNode(WindowDef);
44245 n->frameOptions = FRAMEOPTION_DEFAULTS;
44246 n->startOffset = NULL;
44247 n->endOffset = NULL;
44248 (yyval.windef) = n;
44249 }
44250#line 44251 "gram.c" /* yacc.c:1646 */
44251 break;
44252
44253 case 2113:
44254#line 14142 "gram.y" /* yacc.c:1646 */
44255 {
44256 WindowDef *n = (yyvsp[0].windef);
44257 /* reject invalid cases */
44258 if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
44259 ereport(ERROR,
44260 (errcode(ERRCODE_WINDOWING_ERROR),
44261 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
44262 parser_errposition((yylsp[0]))));
44263 if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
44264 ereport(ERROR,
44265 (errcode(ERRCODE_WINDOWING_ERROR),
44266 errmsg("frame starting from following row cannot end with current row"),
44267 parser_errposition((yylsp[0]))));
44268 n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
44269 (yyval.windef) = n;
44270 }
44271#line 44272 "gram.c" /* yacc.c:1646 */
44272 break;
44273
44274 case 2114:
44275#line 14159 "gram.y" /* yacc.c:1646 */
44276 {
44277 WindowDef *n1 = (yyvsp[-2].windef);
44278 WindowDef *n2 = (yyvsp[0].windef);
44279 /* form merged options */
44280 int frameOptions = n1->frameOptions;
44281 /* shift converts START_ options to END_ options */
44282 frameOptions |= n2->frameOptions << 1;
44283 frameOptions |= FRAMEOPTION_BETWEEN;
44284 /* reject invalid cases */
44285 if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
44286 ereport(ERROR,
44287 (errcode(ERRCODE_WINDOWING_ERROR),
44288 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
44289 parser_errposition((yylsp[-2]))));
44290 if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
44291 ereport(ERROR,
44292 (errcode(ERRCODE_WINDOWING_ERROR),
44293 errmsg("frame end cannot be UNBOUNDED PRECEDING"),
44294 parser_errposition((yylsp[0]))));
44295 if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
44296 (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING))
44297 ereport(ERROR,
44298 (errcode(ERRCODE_WINDOWING_ERROR),
44299 errmsg("frame starting from current row cannot have preceding rows"),
44300 parser_errposition((yylsp[0]))));
44301 if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
44302 (frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING |
44303 FRAMEOPTION_END_CURRENT_ROW)))
44304 ereport(ERROR,
44305 (errcode(ERRCODE_WINDOWING_ERROR),
44306 errmsg("frame starting from following row cannot have preceding rows"),
44307 parser_errposition((yylsp[0]))));
44308 n1->frameOptions = frameOptions;
44309 n1->endOffset = n2->startOffset;
44310 (yyval.windef) = n1;
44311 }
44312#line 44313 "gram.c" /* yacc.c:1646 */
44313 break;
44314
44315 case 2115:
44316#line 14204 "gram.y" /* yacc.c:1646 */
44317 {
44318 WindowDef *n = makeNode(WindowDef);
44319 n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
44320 n->startOffset = NULL;
44321 n->endOffset = NULL;
44322 (yyval.windef) = n;
44323 }
44324#line 44325 "gram.c" /* yacc.c:1646 */
44325 break;
44326
44327 case 2116:
44328#line 14212 "gram.y" /* yacc.c:1646 */
44329 {
44330 WindowDef *n = makeNode(WindowDef);
44331 n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
44332 n->startOffset = NULL;
44333 n->endOffset = NULL;
44334 (yyval.windef) = n;
44335 }
44336#line 44337 "gram.c" /* yacc.c:1646 */
44337 break;
44338
44339 case 2117:
44340#line 14220 "gram.y" /* yacc.c:1646 */
44341 {
44342 WindowDef *n = makeNode(WindowDef);
44343 n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
44344 n->startOffset = NULL;
44345 n->endOffset = NULL;
44346 (yyval.windef) = n;
44347 }
44348#line 44349 "gram.c" /* yacc.c:1646 */
44349 break;
44350
44351 case 2118:
44352#line 14228 "gram.y" /* yacc.c:1646 */
44353 {
44354 WindowDef *n = makeNode(WindowDef);
44355 n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
44356 n->startOffset = (yyvsp[-1].node);
44357 n->endOffset = NULL;
44358 (yyval.windef) = n;
44359 }
44360#line 44361 "gram.c" /* yacc.c:1646 */
44361 break;
44362
44363 case 2119:
44364#line 14236 "gram.y" /* yacc.c:1646 */
44365 {
44366 WindowDef *n = makeNode(WindowDef);
44367 n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
44368 n->startOffset = (yyvsp[-1].node);
44369 n->endOffset = NULL;
44370 (yyval.windef) = n;
44371 }
44372#line 44373 "gram.c" /* yacc.c:1646 */
44373 break;
44374
44375 case 2120:
44376#line 14246 "gram.y" /* yacc.c:1646 */
44377 { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
44378#line 44379 "gram.c" /* yacc.c:1646 */
44379 break;
44380
44381 case 2121:
44382#line 14247 "gram.y" /* yacc.c:1646 */
44383 { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
44384#line 44385 "gram.c" /* yacc.c:1646 */
44385 break;
44386
44387 case 2122:
44388#line 14248 "gram.y" /* yacc.c:1646 */
44389 { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
44390#line 44391 "gram.c" /* yacc.c:1646 */
44391 break;
44392
44393 case 2123:
44394#line 14249 "gram.y" /* yacc.c:1646 */
44395 { (yyval.ival) = 0; }
44396#line 44397 "gram.c" /* yacc.c:1646 */
44397 break;
44398
44399 case 2124:
44400#line 14250 "gram.y" /* yacc.c:1646 */
44401 { (yyval.ival) = 0; }
44402#line 44403 "gram.c" /* yacc.c:1646 */
44403 break;
44404
44405 case 2125:
44406#line 14264 "gram.y" /* yacc.c:1646 */
44407 { (yyval.list) = (yyvsp[-1].list); }
44408#line 44409 "gram.c" /* yacc.c:1646 */
44409 break;
44410
44411 case 2126:
44412#line 14265 "gram.y" /* yacc.c:1646 */
44413 { (yyval.list) = NIL; }
44414#line 44415 "gram.c" /* yacc.c:1646 */
44415 break;
44416
44417 case 2127:
44418#line 14266 "gram.y" /* yacc.c:1646 */
44419 { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
44420#line 44421 "gram.c" /* yacc.c:1646 */
44421 break;
44422
44423 case 2128:
44424#line 14269 "gram.y" /* yacc.c:1646 */
44425 { (yyval.list) = (yyvsp[-1].list); }
44426#line 44427 "gram.c" /* yacc.c:1646 */
44427 break;
44428
44429 case 2129:
44430#line 14270 "gram.y" /* yacc.c:1646 */
44431 { (yyval.list) = NIL; }
44432#line 44433 "gram.c" /* yacc.c:1646 */
44433 break;
44434
44435 case 2130:
44436#line 14273 "gram.y" /* yacc.c:1646 */
44437 { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
44438#line 44439 "gram.c" /* yacc.c:1646 */
44439 break;
44440
44441 case 2131:
44442#line 14276 "gram.y" /* yacc.c:1646 */
44443 { (yyval.ival) = ANY_SUBLINK; }
44444#line 44445 "gram.c" /* yacc.c:1646 */
44445 break;
44446
44447 case 2132:
44448#line 14277 "gram.y" /* yacc.c:1646 */
44449 { (yyval.ival) = ANY_SUBLINK; }
44450#line 44451 "gram.c" /* yacc.c:1646 */
44451 break;
44452
44453 case 2133:
44454#line 14278 "gram.y" /* yacc.c:1646 */
44455 { (yyval.ival) = ALL_SUBLINK; }
44456#line 44457 "gram.c" /* yacc.c:1646 */
44457 break;
44458
44459 case 2134:
44460#line 14281 "gram.y" /* yacc.c:1646 */
44461 { (yyval.str) = (yyvsp[0].str); }
44462#line 44463 "gram.c" /* yacc.c:1646 */
44463 break;
44464
44465 case 2135:
44466#line 14282 "gram.y" /* yacc.c:1646 */
44467 { (yyval.str) = (yyvsp[0].str); }
44468#line 44469 "gram.c" /* yacc.c:1646 */
44469 break;
44470
44471 case 2136:
44472#line 14285 "gram.y" /* yacc.c:1646 */
44473 { (yyval.str) = "+"; }
44474#line 44475 "gram.c" /* yacc.c:1646 */
44475 break;
44476
44477 case 2137:
44478#line 14286 "gram.y" /* yacc.c:1646 */
44479 { (yyval.str) = "-"; }
44480#line 44481 "gram.c" /* yacc.c:1646 */
44481 break;
44482
44483 case 2138:
44484#line 14287 "gram.y" /* yacc.c:1646 */
44485 { (yyval.str) = "*"; }
44486#line 44487 "gram.c" /* yacc.c:1646 */
44487 break;
44488
44489 case 2139:
44490#line 14288 "gram.y" /* yacc.c:1646 */
44491 { (yyval.str) = "/"; }
44492#line 44493 "gram.c" /* yacc.c:1646 */
44493 break;
44494
44495 case 2140:
44496#line 14289 "gram.y" /* yacc.c:1646 */
44497 { (yyval.str) = "%"; }
44498#line 44499 "gram.c" /* yacc.c:1646 */
44499 break;
44500
44501 case 2141:
44502#line 14290 "gram.y" /* yacc.c:1646 */
44503 { (yyval.str) = "^"; }
44504#line 44505 "gram.c" /* yacc.c:1646 */
44505 break;
44506
44507 case 2142:
44508#line 14291 "gram.y" /* yacc.c:1646 */
44509 { (yyval.str) = "<"; }
44510#line 44511 "gram.c" /* yacc.c:1646 */
44511 break;
44512
44513 case 2143:
44514#line 14292 "gram.y" /* yacc.c:1646 */
44515 { (yyval.str) = ">"; }
44516#line 44517 "gram.c" /* yacc.c:1646 */
44517 break;
44518
44519 case 2144:
44520#line 14293 "gram.y" /* yacc.c:1646 */
44521 { (yyval.str) = "="; }
44522#line 44523 "gram.c" /* yacc.c:1646 */
44523 break;
44524
44525 case 2145:
44526#line 14294 "gram.y" /* yacc.c:1646 */
44527 { (yyval.str) = "<="; }
44528#line 44529 "gram.c" /* yacc.c:1646 */
44529 break;
44530
44531 case 2146:
44532#line 14295 "gram.y" /* yacc.c:1646 */
44533 { (yyval.str) = ">="; }
44534#line 44535 "gram.c" /* yacc.c:1646 */
44535 break;
44536
44537 case 2147:
44538#line 14296 "gram.y" /* yacc.c:1646 */
44539 { (yyval.str) = "<>"; }
44540#line 44541 "gram.c" /* yacc.c:1646 */
44541 break;
44542
44543 case 2148:
44544#line 14300 "gram.y" /* yacc.c:1646 */
44545 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44546#line 44547 "gram.c" /* yacc.c:1646 */
44547 break;
44548
44549 case 2149:
44550#line 14302 "gram.y" /* yacc.c:1646 */
44551 { (yyval.list) = (yyvsp[-1].list); }
44552#line 44553 "gram.c" /* yacc.c:1646 */
44553 break;
44554
44555 case 2150:
44556#line 14307 "gram.y" /* yacc.c:1646 */
44557 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44558#line 44559 "gram.c" /* yacc.c:1646 */
44559 break;
44560
44561 case 2151:
44562#line 14309 "gram.y" /* yacc.c:1646 */
44563 { (yyval.list) = (yyvsp[-1].list); }
44564#line 44565 "gram.c" /* yacc.c:1646 */
44565 break;
44566
44567 case 2152:
44568#line 14314 "gram.y" /* yacc.c:1646 */
44569 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
44570#line 44571 "gram.c" /* yacc.c:1646 */
44571 break;
44572
44573 case 2153:
44574#line 14316 "gram.y" /* yacc.c:1646 */
44575 { (yyval.list) = (yyvsp[-1].list); }
44576#line 44577 "gram.c" /* yacc.c:1646 */
44577 break;
44578
44579 case 2154:
44580#line 14318 "gram.y" /* yacc.c:1646 */
44581 { (yyval.list) = list_make1(makeString("~~")); }
44582#line 44583 "gram.c" /* yacc.c:1646 */
44583 break;
44584
44585 case 2155:
44586#line 14320 "gram.y" /* yacc.c:1646 */
44587 { (yyval.list) = list_make1(makeString("!~~")); }
44588#line 44589 "gram.c" /* yacc.c:1646 */
44589 break;
44590
44591 case 2156:
44592#line 14322 "gram.y" /* yacc.c:1646 */
44593 { (yyval.list) = list_make1(makeString("~~*")); }
44594#line 44595 "gram.c" /* yacc.c:1646 */
44595 break;
44596
44597 case 2157:
44598#line 14324 "gram.y" /* yacc.c:1646 */
44599 { (yyval.list) = list_make1(makeString("!~~*")); }
44600#line 44601 "gram.c" /* yacc.c:1646 */
44601 break;
44602
44603 case 2158:
44604#line 14336 "gram.y" /* yacc.c:1646 */
44605 {
44606 (yyval.list) = list_make1((yyvsp[0].node));
44607 }
44608#line 44609 "gram.c" /* yacc.c:1646 */
44609 break;
44610
44611 case 2159:
44612#line 14340 "gram.y" /* yacc.c:1646 */
44613 {
44614 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
44615 }
44616#line 44617 "gram.c" /* yacc.c:1646 */
44617 break;
44618
44619 case 2160:
44620#line 14347 "gram.y" /* yacc.c:1646 */
44621 {
44622 (yyval.list) = list_make1((yyvsp[0].node));
44623 }
44624#line 44625 "gram.c" /* yacc.c:1646 */
44625 break;
44626
44627 case 2161:
44628#line 14351 "gram.y" /* yacc.c:1646 */
44629 {
44630 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
44631 }
44632#line 44633 "gram.c" /* yacc.c:1646 */
44633 break;
44634
44635 case 2162:
44636#line 14357 "gram.y" /* yacc.c:1646 */
44637 {
44638 (yyval.node) = (yyvsp[0].node);
44639 }
44640#line 44641 "gram.c" /* yacc.c:1646 */
44641 break;
44642
44643 case 2163:
44644#line 14361 "gram.y" /* yacc.c:1646 */
44645 {
44646 NamedArgExpr *na = makeNode(NamedArgExpr);
44647 na->name = (yyvsp[-2].str);
44648 na->arg = (Expr *) (yyvsp[0].node);
44649 na->argnumber = -1; /* until determined */
44650 na->location = (yylsp[-2]);
44651 (yyval.node) = (Node *) na;
44652 }
44653#line 44654 "gram.c" /* yacc.c:1646 */
44654 break;
44655
44656 case 2164:
44657#line 14370 "gram.y" /* yacc.c:1646 */
44658 {
44659 NamedArgExpr *na = makeNode(NamedArgExpr);
44660 na->name = (yyvsp[-2].str);
44661 na->arg = (Expr *) (yyvsp[0].node);
44662 na->argnumber = -1; /* until determined */
44663 na->location = (yylsp[-2]);
44664 (yyval.node) = (Node *) na;
44665 }
44666#line 44667 "gram.c" /* yacc.c:1646 */
44667 break;
44668
44669 case 2165:
44670#line 14380 "gram.y" /* yacc.c:1646 */
44671 { (yyval.list) = list_make1((yyvsp[0].typnam)); }
44672#line 44673 "gram.c" /* yacc.c:1646 */
44673 break;
44674
44675 case 2166:
44676#line 14381 "gram.y" /* yacc.c:1646 */
44677 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
44678#line 44679 "gram.c" /* yacc.c:1646 */
44679 break;
44680
44681 case 2167:
44682#line 14385 "gram.y" /* yacc.c:1646 */
44683 {
44684 (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
44685 }
44686#line 44687 "gram.c" /* yacc.c:1646 */
44687 break;
44688
44689 case 2168:
44690#line 14389 "gram.y" /* yacc.c:1646 */
44691 {
44692 (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
44693 }
44694#line 44695 "gram.c" /* yacc.c:1646 */
44695 break;
44696
44697 case 2169:
44698#line 14393 "gram.y" /* yacc.c:1646 */
44699 {
44700 (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
44701 }
44702#line 44703 "gram.c" /* yacc.c:1646 */
44703 break;
44704
44705 case 2170:
44706#line 14398 "gram.y" /* yacc.c:1646 */
44707 { (yyval.list) = list_make1((yyvsp[0].node)); }
44708#line 44709 "gram.c" /* yacc.c:1646 */
44709 break;
44710
44711 case 2171:
44712#line 14399 "gram.y" /* yacc.c:1646 */
44713 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
44714#line 44715 "gram.c" /* yacc.c:1646 */
44715 break;
44716
44717 case 2172:
44718#line 14405 "gram.y" /* yacc.c:1646 */
44719 {
44720 (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
44721 }
44722#line 44723 "gram.c" /* yacc.c:1646 */
44723 break;
44724
44725 case 2173:
44726#line 14408 "gram.y" /* yacc.c:1646 */
44727 { (yyval.list) = NIL; }
44728#line 44729 "gram.c" /* yacc.c:1646 */
44729 break;
44730
44731 case 2174:
44732#line 14415 "gram.y" /* yacc.c:1646 */
44733 { (yyval.str) = (yyvsp[0].str); }
44734#line 44735 "gram.c" /* yacc.c:1646 */
44735 break;
44736
44737 case 2175:
44738#line 14416 "gram.y" /* yacc.c:1646 */
44739 { (yyval.str) = "year"; }
44740#line 44741 "gram.c" /* yacc.c:1646 */
44741 break;
44742
44743 case 2176:
44744#line 14417 "gram.y" /* yacc.c:1646 */
44745 { (yyval.str) = "month"; }
44746#line 44747 "gram.c" /* yacc.c:1646 */
44747 break;
44748
44749 case 2177:
44750#line 14418 "gram.y" /* yacc.c:1646 */
44751 { (yyval.str) = "day"; }
44752#line 44753 "gram.c" /* yacc.c:1646 */
44753 break;
44754
44755 case 2178:
44756#line 14419 "gram.y" /* yacc.c:1646 */
44757 { (yyval.str) = "hour"; }
44758#line 44759 "gram.c" /* yacc.c:1646 */
44759 break;
44760
44761 case 2179:
44762#line 14420 "gram.y" /* yacc.c:1646 */
44763 { (yyval.str) = "minute"; }
44764#line 44765 "gram.c" /* yacc.c:1646 */
44765 break;
44766
44767 case 2180:
44768#line 14421 "gram.y" /* yacc.c:1646 */
44769 { (yyval.str) = "second"; }
44770#line 44771 "gram.c" /* yacc.c:1646 */
44771 break;
44772
44773 case 2181:
44774#line 14422 "gram.y" /* yacc.c:1646 */
44775 { (yyval.str) = (yyvsp[0].str); }
44776#line 44777 "gram.c" /* yacc.c:1646 */
44777 break;
44778
44779 case 2182:
44780#line 14433 "gram.y" /* yacc.c:1646 */
44781 {
44782 (yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
44783 }
44784#line 44785 "gram.c" /* yacc.c:1646 */
44785 break;
44786
44787 case 2183:
44788#line 14437 "gram.y" /* yacc.c:1646 */
44789 {
44790 (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
44791 }
44792#line 44793 "gram.c" /* yacc.c:1646 */
44793 break;
44794
44795 case 2184:
44796#line 14444 "gram.y" /* yacc.c:1646 */
44797 { (yyval.node) = (yyvsp[0].node); }
44798#line 44799 "gram.c" /* yacc.c:1646 */
44799 break;
44800
44801 case 2185:
44802#line 14450 "gram.y" /* yacc.c:1646 */
44803 { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
44804#line 44805 "gram.c" /* yacc.c:1646 */
44805 break;
44806
44807 case 2186:
44808#line 14451 "gram.y" /* yacc.c:1646 */
44809 { (yyval.list) = NIL; }
44810#line 44811 "gram.c" /* yacc.c:1646 */
44811 break;
44812
44813 case 2187:
44814#line 14468 "gram.y" /* yacc.c:1646 */
44815 {
44816 (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
44817 }
44818#line 44819 "gram.c" /* yacc.c:1646 */
44819 break;
44820
44821 case 2188:
44822#line 14472 "gram.y" /* yacc.c:1646 */
44823 {
44824 /* not legal per SQL99, but might as well allow it */
44825 (yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
44826 }
44827#line 44828 "gram.c" /* yacc.c:1646 */
44828 break;
44829
44830 case 2189:
44831#line 14477 "gram.y" /* yacc.c:1646 */
44832 {
44833 (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
44834 }
44835#line 44836 "gram.c" /* yacc.c:1646 */
44836 break;
44837
44838 case 2190:
44839#line 14481 "gram.y" /* yacc.c:1646 */
44840 {
44841 /*
44842 * Since there are no cases where this syntax allows
44843 * a textual FOR value, we forcibly cast the argument
44844 * to int4. The possible matches in pg_proc are
44845 * substring(text,int4) and substring(text,text),
44846 * and we don't want the parser to choose the latter,
44847 * which it is likely to do if the second argument
44848 * is unknown or doesn't have an implicit cast to int4.
44849 */
44850 (yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
44851 makeTypeCast((yyvsp[0].node),
44852 SystemTypeName("int4"), -1));
44853 }
44854#line 44855 "gram.c" /* yacc.c:1646 */
44855 break;
44856
44857 case 2191:
44858#line 14496 "gram.y" /* yacc.c:1646 */
44859 {
44860 (yyval.list) = (yyvsp[0].list);
44861 }
44862#line 44863 "gram.c" /* yacc.c:1646 */
44863 break;
44864
44865 case 2192:
44866#line 14500 "gram.y" /* yacc.c:1646 */
44867 { (yyval.list) = NIL; }
44868#line 44869 "gram.c" /* yacc.c:1646 */
44869 break;
44870
44871 case 2193:
44872#line 14504 "gram.y" /* yacc.c:1646 */
44873 { (yyval.node) = (yyvsp[0].node); }
44874#line 44875 "gram.c" /* yacc.c:1646 */
44875 break;
44876
44877 case 2194:
44878#line 14507 "gram.y" /* yacc.c:1646 */
44879 { (yyval.node) = (yyvsp[0].node); }
44880#line 44881 "gram.c" /* yacc.c:1646 */
44881 break;
44882
44883 case 2195:
44884#line 14510 "gram.y" /* yacc.c:1646 */
44885 { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
44886#line 44887 "gram.c" /* yacc.c:1646 */
44887 break;
44888
44889 case 2196:
44890#line 14511 "gram.y" /* yacc.c:1646 */
44891 { (yyval.list) = (yyvsp[0].list); }
44892#line 44893 "gram.c" /* yacc.c:1646 */
44893 break;
44894
44895 case 2197:
44896#line 14512 "gram.y" /* yacc.c:1646 */
44897 { (yyval.list) = (yyvsp[0].list); }
44898#line 44899 "gram.c" /* yacc.c:1646 */
44899 break;
44900
44901 case 2198:
44902#line 14516 "gram.y" /* yacc.c:1646 */
44903 {
44904 SubLink *n = makeNode(SubLink);
44905 n->subselect = (yyvsp[0].node);
44906 /* other fields will be filled later */
44907 (yyval.node) = (Node *)n;
44908 }
44909#line 44910 "gram.c" /* yacc.c:1646 */
44910 break;
44911
44912 case 2199:
44913#line 14522 "gram.y" /* yacc.c:1646 */
44914 { (yyval.node) = (Node *)(yyvsp[-1].list); }
44915#line 44916 "gram.c" /* yacc.c:1646 */
44916 break;
44917
44918 case 2200:
44919#line 14533 "gram.y" /* yacc.c:1646 */
44920 {
44921 CaseExpr *c = makeNode(CaseExpr);
44922 c->casetype = InvalidOid; /* not analyzed yet */
44923 c->arg = (Expr *) (yyvsp[-3].node);
44924 c->args = (yyvsp[-2].list);
44925 c->defresult = (Expr *) (yyvsp[-1].node);
44926 c->location = (yylsp[-4]);
44927 (yyval.node) = (Node *)c;
44928 }
44929#line 44930 "gram.c" /* yacc.c:1646 */
44930 break;
44931
44932 case 2201:
44933#line 14546 "gram.y" /* yacc.c:1646 */
44934 { (yyval.list) = list_make1((yyvsp[0].node)); }
44935#line 44936 "gram.c" /* yacc.c:1646 */
44936 break;
44937
44938 case 2202:
44939#line 14547 "gram.y" /* yacc.c:1646 */
44940 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
44941#line 44942 "gram.c" /* yacc.c:1646 */
44942 break;
44943
44944 case 2203:
44945#line 14552 "gram.y" /* yacc.c:1646 */
44946 {
44947 CaseWhen *w = makeNode(CaseWhen);
44948 w->expr = (Expr *) (yyvsp[-2].node);
44949 w->result = (Expr *) (yyvsp[0].node);
44950 w->location = (yylsp[-3]);
44951 (yyval.node) = (Node *)w;
44952 }
44953#line 44954 "gram.c" /* yacc.c:1646 */
44954 break;
44955
44956 case 2204:
44957#line 14562 "gram.y" /* yacc.c:1646 */
44958 { (yyval.node) = (yyvsp[0].node); }
44959#line 44960 "gram.c" /* yacc.c:1646 */
44960 break;
44961
44962 case 2205:
44963#line 14563 "gram.y" /* yacc.c:1646 */
44964 { (yyval.node) = NULL; }
44965#line 44966 "gram.c" /* yacc.c:1646 */
44966 break;
44967
44968 case 2206:
44969#line 14566 "gram.y" /* yacc.c:1646 */
44970 { (yyval.node) = (yyvsp[0].node); }
44971#line 44972 "gram.c" /* yacc.c:1646 */
44972 break;
44973
44974 case 2207:
44975#line 14567 "gram.y" /* yacc.c:1646 */
44976 { (yyval.node) = NULL; }
44977#line 44978 "gram.c" /* yacc.c:1646 */
44978 break;
44979
44980 case 2208:
44981#line 14571 "gram.y" /* yacc.c:1646 */
44982 {
44983 (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
44984 }
44985#line 44986 "gram.c" /* yacc.c:1646 */
44986 break;
44987
44988 case 2209:
44989#line 14575 "gram.y" /* yacc.c:1646 */
44990 {
44991 (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
44992 }
44993#line 44994 "gram.c" /* yacc.c:1646 */
44994 break;
44995
44996 case 2210:
44997#line 14582 "gram.y" /* yacc.c:1646 */
44998 {
44999 (yyval.node) = (Node *) makeString((yyvsp[0].str));
45000 }
45001#line 45002 "gram.c" /* yacc.c:1646 */
45002 break;
45003
45004 case 2211:
45005#line 14586 "gram.y" /* yacc.c:1646 */
45006 {
45007 (yyval.node) = (Node *) makeNode(A_Star);
45008 }
45009#line 45010 "gram.c" /* yacc.c:1646 */
45010 break;
45011
45012 case 2212:
45013#line 14590 "gram.y" /* yacc.c:1646 */
45014 {
45015 A_Indices *ai = makeNode(A_Indices);
45016 ai->is_slice = false;
45017 ai->lidx = NULL;
45018 ai->uidx = (yyvsp[-1].node);
45019 (yyval.node) = (Node *) ai;
45020 }
45021#line 45022 "gram.c" /* yacc.c:1646 */
45022 break;
45023
45024 case 2213:
45025#line 14598 "gram.y" /* yacc.c:1646 */
45026 {
45027 A_Indices *ai = makeNode(A_Indices);
45028 ai->is_slice = true;
45029 ai->lidx = (yyvsp[-3].node);
45030 ai->uidx = (yyvsp[-1].node);
45031 (yyval.node) = (Node *) ai;
45032 }
45033#line 45034 "gram.c" /* yacc.c:1646 */
45034 break;
45035
45036 case 2214:
45037#line 14608 "gram.y" /* yacc.c:1646 */
45038 { (yyval.node) = (yyvsp[0].node); }
45039#line 45040 "gram.c" /* yacc.c:1646 */
45040 break;
45041
45042 case 2215:
45043#line 14609 "gram.y" /* yacc.c:1646 */
45044 { (yyval.node) = NULL; }
45045#line 45046 "gram.c" /* yacc.c:1646 */
45046 break;
45047
45048 case 2216:
45049#line 14613 "gram.y" /* yacc.c:1646 */
45050 { (yyval.list) = list_make1((yyvsp[0].node)); }
45051#line 45052 "gram.c" /* yacc.c:1646 */
45052 break;
45053
45054 case 2217:
45055#line 14614 "gram.y" /* yacc.c:1646 */
45056 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
45057#line 45058 "gram.c" /* yacc.c:1646 */
45058 break;
45059
45060 case 2218:
45061#line 14618 "gram.y" /* yacc.c:1646 */
45062 { (yyval.list) = NIL; }
45063#line 45064 "gram.c" /* yacc.c:1646 */
45064 break;
45065
45066 case 2219:
45067#line 14619 "gram.y" /* yacc.c:1646 */
45068 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
45069#line 45070 "gram.c" /* yacc.c:1646 */
45070 break;
45071
45072 case 2222:
45073#line 14633 "gram.y" /* yacc.c:1646 */
45074 { (yyval.list) = (yyvsp[0].list); }
45075#line 45076 "gram.c" /* yacc.c:1646 */
45076 break;
45077
45078 case 2223:
45079#line 14634 "gram.y" /* yacc.c:1646 */
45080 { (yyval.list) = NIL; }
45081#line 45082 "gram.c" /* yacc.c:1646 */
45082 break;
45083
45084 case 2224:
45085#line 14638 "gram.y" /* yacc.c:1646 */
45086 { (yyval.list) = list_make1((yyvsp[0].target)); }
45087#line 45088 "gram.c" /* yacc.c:1646 */
45088 break;
45089
45090 case 2225:
45091#line 14639 "gram.y" /* yacc.c:1646 */
45092 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
45093#line 45094 "gram.c" /* yacc.c:1646 */
45094 break;
45095
45096 case 2226:
45097#line 14643 "gram.y" /* yacc.c:1646 */
45098 {
45099 (yyval.target) = makeNode(ResTarget);
45100 (yyval.target)->name = (yyvsp[0].str);
45101 (yyval.target)->indirection = NIL;
45102 (yyval.target)->val = (Node *)(yyvsp[-2].node);
45103 (yyval.target)->location = (yylsp[-2]);
45104 }
45105#line 45106 "gram.c" /* yacc.c:1646 */
45106 break;
45107
45108 case 2227:
45109#line 14659 "gram.y" /* yacc.c:1646 */
45110 {
45111 (yyval.target) = makeNode(ResTarget);
45112 (yyval.target)->name = (yyvsp[0].str);
45113 (yyval.target)->indirection = NIL;
45114 (yyval.target)->val = (Node *)(yyvsp[-1].node);
45115 (yyval.target)->location = (yylsp[-1]);
45116 }
45117#line 45118 "gram.c" /* yacc.c:1646 */
45118 break;
45119
45120 case 2228:
45121#line 14667 "gram.y" /* yacc.c:1646 */
45122 {
45123 (yyval.target) = makeNode(ResTarget);
45124 (yyval.target)->name = NULL;
45125 (yyval.target)->indirection = NIL;
45126 (yyval.target)->val = (Node *)(yyvsp[0].node);
45127 (yyval.target)->location = (yylsp[0]);
45128 }
45129#line 45130 "gram.c" /* yacc.c:1646 */
45130 break;
45131
45132 case 2229:
45133#line 14675 "gram.y" /* yacc.c:1646 */
45134 {
45135 ColumnRef *n = makeNode(ColumnRef);
45136 n->fields = list_make1(makeNode(A_Star));
45137 n->location = (yylsp[0]);
45138
45139 (yyval.target) = makeNode(ResTarget);
45140 (yyval.target)->name = NULL;
45141 (yyval.target)->indirection = NIL;
45142 (yyval.target)->val = (Node *)n;
45143 (yyval.target)->location = (yylsp[0]);
45144 }
45145#line 45146 "gram.c" /* yacc.c:1646 */
45146 break;
45147
45148 case 2230:
45149#line 14696 "gram.y" /* yacc.c:1646 */
45150 { (yyval.list) = list_make1((yyvsp[0].range)); }
45151#line 45152 "gram.c" /* yacc.c:1646 */
45152 break;
45153
45154 case 2231:
45155#line 14697 "gram.y" /* yacc.c:1646 */
45156 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
45157#line 45158 "gram.c" /* yacc.c:1646 */
45158 break;
45159
45160 case 2232:
45161#line 14709 "gram.y" /* yacc.c:1646 */
45162 {
45163 (yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
45164 }
45165#line 45166 "gram.c" /* yacc.c:1646 */
45166 break;
45167
45168 case 2233:
45169#line 14713 "gram.y" /* yacc.c:1646 */
45170 {
45171 check_qualified_name((yyvsp[0].list), yyscanner);
45172 (yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
45173 switch (list_length((yyvsp[0].list)))
45174 {
45175 case 1:
45176 (yyval.range)->catalogname = NULL;
45177 (yyval.range)->schemaname = (yyvsp[-1].str);
45178 (yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
45179 break;
45180 case 2:
45181 (yyval.range)->catalogname = (yyvsp[-1].str);
45182 (yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
45183 (yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
45184 break;
45185 default:
45186 ereport(ERROR,
45187 (errcode(ERRCODE_SYNTAX_ERROR),
45188 errmsg("improper qualified name (too many dotted names): %s",
45189 NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
45190 parser_errposition((yylsp[-1]))));
45191 break;
45192 }
45193 }
45194#line 45195 "gram.c" /* yacc.c:1646 */
45195 break;
45196
45197 case 2234:
45198#line 14740 "gram.y" /* yacc.c:1646 */
45199 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45200#line 45201 "gram.c" /* yacc.c:1646 */
45201 break;
45202
45203 case 2235:
45204#line 14742 "gram.y" /* yacc.c:1646 */
45205 { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
45206#line 45207 "gram.c" /* yacc.c:1646 */
45207 break;
45208
45209 case 2236:
45210#line 14746 "gram.y" /* yacc.c:1646 */
45211 { (yyval.str) = (yyvsp[0].str); }
45212#line 45213 "gram.c" /* yacc.c:1646 */
45213 break;
45214
45215 case 2237:
45216#line 14749 "gram.y" /* yacc.c:1646 */
45217 { (yyval.str) = (yyvsp[0].str); }
45218#line 45219 "gram.c" /* yacc.c:1646 */
45219 break;
45220
45221 case 2238:
45222#line 14752 "gram.y" /* yacc.c:1646 */
45223 { (yyval.str) = (yyvsp[0].str); }
45224#line 45225 "gram.c" /* yacc.c:1646 */
45225 break;
45226
45227 case 2239:
45228#line 14754 "gram.y" /* yacc.c:1646 */
45229 { (yyval.str) = (yyvsp[0].str); }
45230#line 45231 "gram.c" /* yacc.c:1646 */
45231 break;
45232
45233 case 2240:
45234#line 14756 "gram.y" /* yacc.c:1646 */
45235 { (yyval.str) = (yyvsp[0].str); }
45236#line 45237 "gram.c" /* yacc.c:1646 */
45237 break;
45238
45239 case 2241:
45240#line 14758 "gram.y" /* yacc.c:1646 */
45241 { (yyval.str) = (yyvsp[0].str); }
45242#line 45243 "gram.c" /* yacc.c:1646 */
45243 break;
45244
45245 case 2242:
45246#line 14769 "gram.y" /* yacc.c:1646 */
45247 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45248#line 45249 "gram.c" /* yacc.c:1646 */
45249 break;
45250
45251 case 2243:
45252#line 14771 "gram.y" /* yacc.c:1646 */
45253 {
45254 (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
45255 yyscanner);
45256 }
45257#line 45258 "gram.c" /* yacc.c:1646 */
45258 break;
45259
45260 case 2244:
45261#line 14782 "gram.y" /* yacc.c:1646 */
45262 {
45263 (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
45264 }
45265#line 45266 "gram.c" /* yacc.c:1646 */
45266 break;
45267
45268 case 2245:
45269#line 14786 "gram.y" /* yacc.c:1646 */
45270 {
45271 (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
45272 }
45273#line 45274 "gram.c" /* yacc.c:1646 */
45274 break;
45275
45276 case 2246:
45277#line 14790 "gram.y" /* yacc.c:1646 */
45278 {
45279 (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
45280 }
45281#line 45282 "gram.c" /* yacc.c:1646 */
45282 break;
45283
45284 case 2247:
45285#line 14794 "gram.y" /* yacc.c:1646 */
45286 {
45287 (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
45288 }
45289#line 45290 "gram.c" /* yacc.c:1646 */
45290 break;
45291
45292 case 2248:
45293#line 14798 "gram.y" /* yacc.c:1646 */
45294 {
45295 /* This is a bit constant per SQL99:
45296 * Without Feature F511, "BIT data type",
45297 * a <general literal> shall not be a
45298 * <bit string literal> or a <hex string literal>.
45299 */
45300 (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
45301 }
45302#line 45303 "gram.c" /* yacc.c:1646 */
45303 break;
45304
45305 case 2249:
45306#line 14807 "gram.y" /* yacc.c:1646 */
45307 {
45308 /* generic type 'literal' syntax */
45309 TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
45310 t->location = (yylsp[-1]);
45311 (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
45312 }
45313#line 45314 "gram.c" /* yacc.c:1646 */
45314 break;
45315
45316 case 2250:
45317#line 14814 "gram.y" /* yacc.c:1646 */
45318 {
45319 /* generic syntax with a type modifier */
45320 TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
45321 ListCell *lc;
45322
45323 /*
45324 * We must use func_arg_list and opt_sort_clause in the
45325 * production to avoid reduce/reduce conflicts, but we
45326 * don't actually wish to allow NamedArgExpr in this
45327 * context, nor ORDER BY.
45328 */
45329 foreach(lc, (yyvsp[-3].list))
45330 {
45331 NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
45332
45333 if (IsA(arg, NamedArgExpr))
45334 ereport(ERROR,
45335 (errcode(ERRCODE_SYNTAX_ERROR),
45336 errmsg("type modifier cannot have parameter name"),
45337 parser_errposition(arg->location)));
45338 }
45339 if ((yyvsp[-2].list) != NIL)
45340 ereport(ERROR,
45341 (errcode(ERRCODE_SYNTAX_ERROR),
45342 errmsg("type modifier cannot have ORDER BY"),
45343 parser_errposition((yylsp[-2]))));
45344
45345 t->typmods = (yyvsp[-3].list);
45346 t->location = (yylsp[-5]);
45347 (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
45348 }
45349#line 45350 "gram.c" /* yacc.c:1646 */
45350 break;
45351
45352 case 2251:
45353#line 14846 "gram.y" /* yacc.c:1646 */
45354 {
45355 (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
45356 }
45357#line 45358 "gram.c" /* yacc.c:1646 */
45358 break;
45359
45360 case 2252:
45361#line 14850 "gram.y" /* yacc.c:1646 */
45362 {
45363 TypeName *t = (yyvsp[-2].typnam);
45364 t->typmods = (yyvsp[0].list);
45365 (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
45366 }
45367#line 45368 "gram.c" /* yacc.c:1646 */
45368 break;
45369
45370 case 2253:
45371#line 14856 "gram.y" /* yacc.c:1646 */
45372 {
45373 TypeName *t = (yyvsp[-4].typnam);
45374 t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
45375 makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
45376 (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
45377 }
45378#line 45379 "gram.c" /* yacc.c:1646 */
45379 break;
45380
45381 case 2254:
45382#line 14863 "gram.y" /* yacc.c:1646 */
45383 {
45384 (yyval.node) = makeBoolAConst(true, (yylsp[0]));
45385 }
45386#line 45387 "gram.c" /* yacc.c:1646 */
45387 break;
45388
45389 case 2255:
45390#line 14867 "gram.y" /* yacc.c:1646 */
45391 {
45392 (yyval.node) = makeBoolAConst(false, (yylsp[0]));
45393 }
45394#line 45395 "gram.c" /* yacc.c:1646 */
45395 break;
45396
45397 case 2256:
45398#line 14871 "gram.y" /* yacc.c:1646 */
45399 {
45400 (yyval.node) = makeNullAConst((yylsp[0]));
45401 }
45402#line 45403 "gram.c" /* yacc.c:1646 */
45403 break;
45404
45405 case 2257:
45406#line 14876 "gram.y" /* yacc.c:1646 */
45407 { (yyval.ival) = (yyvsp[0].ival); }
45408#line 45409 "gram.c" /* yacc.c:1646 */
45409 break;
45410
45411 case 2258:
45412#line 14877 "gram.y" /* yacc.c:1646 */
45413 { (yyval.str) = (yyvsp[0].str); }
45414#line 45415 "gram.c" /* yacc.c:1646 */
45415 break;
45416
45417 case 2259:
45418#line 14879 "gram.y" /* yacc.c:1646 */
45419 { (yyval.ival) = (yyvsp[0].ival); }
45420#line 45421 "gram.c" /* yacc.c:1646 */
45421 break;
45422
45423 case 2260:
45424#line 14880 "gram.y" /* yacc.c:1646 */
45425 { (yyval.ival) = + (yyvsp[0].ival); }
45426#line 45427 "gram.c" /* yacc.c:1646 */
45427 break;
45428
45429 case 2261:
45430#line 14881 "gram.y" /* yacc.c:1646 */
45431 { (yyval.ival) = - (yyvsp[0].ival); }
45432#line 45433 "gram.c" /* yacc.c:1646 */
45433 break;
45434
45435 case 2262:
45436#line 14886 "gram.y" /* yacc.c:1646 */
45437 {
45438 RoleSpec *spc = (RoleSpec *) (yyvsp[0].rolespec);
45439 switch (spc->roletype)
45440 {
45441 case ROLESPEC_CSTRING:
45442 (yyval.str) = spc->rolename;
45443 break;
45444 case ROLESPEC_PUBLIC:
45445 ereport(ERROR,
45446 (errcode(ERRCODE_RESERVED_NAME),
45447 errmsg("role name \"%s\" is reserved",
45448 "public"),
45449 parser_errposition((yylsp[0]))));
45450 break;
45451 case ROLESPEC_SESSION_USER:
45452 ereport(ERROR,
45453 (errcode(ERRCODE_RESERVED_NAME),
45454 errmsg("%s cannot be used as a role name here",
45455 "SESSION_USER"),
45456 parser_errposition((yylsp[0]))));
45457 break;
45458 case ROLESPEC_CURRENT_USER:
45459 ereport(ERROR,
45460 (errcode(ERRCODE_RESERVED_NAME),
45461 errmsg("%s cannot be used as a role name here",
45462 "CURRENT_USER"),
45463 parser_errposition((yylsp[0]))));
45464 break;
45465 }
45466 }
45467#line 45468 "gram.c" /* yacc.c:1646 */
45468 break;
45469
45470 case 2263:
45471#line 14919 "gram.y" /* yacc.c:1646 */
45472 {
45473 /*
45474 * "public" and "none" are not keywords, but they must
45475 * be treated specially here.
45476 */
45477 RoleSpec *n;
45478 if (strcmp((yyvsp[0].str), "public") == 0)
45479 {
45480 n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
45481 n->roletype = ROLESPEC_PUBLIC;
45482 }
45483 else if (strcmp((yyvsp[0].str), "none") == 0)
45484 {
45485 ereport(ERROR,
45486 (errcode(ERRCODE_RESERVED_NAME),
45487 errmsg("role name \"%s\" is reserved",
45488 "none"),
45489 parser_errposition((yylsp[0]))));
45490 }
45491 else
45492 {
45493 n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
45494 n->rolename = pstrdup((yyvsp[0].str));
45495 }
45496 (yyval.rolespec) = n;
45497 }
45498#line 45499 "gram.c" /* yacc.c:1646 */
45499 break;
45500
45501 case 2264:
45502#line 14946 "gram.y" /* yacc.c:1646 */
45503 {
45504 (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
45505 }
45506#line 45507 "gram.c" /* yacc.c:1646 */
45507 break;
45508
45509 case 2265:
45510#line 14950 "gram.y" /* yacc.c:1646 */
45511 {
45512 (yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
45513 }
45514#line 45515 "gram.c" /* yacc.c:1646 */
45515 break;
45516
45517 case 2266:
45518#line 14956 "gram.y" /* yacc.c:1646 */
45519 { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
45520#line 45521 "gram.c" /* yacc.c:1646 */
45521 break;
45522
45523 case 2267:
45524#line 14958 "gram.y" /* yacc.c:1646 */
45525 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
45526#line 45527 "gram.c" /* yacc.c:1646 */
45527 break;
45528
45529 case 2268:
45530#line 14974 "gram.y" /* yacc.c:1646 */
45531 { (yyval.str) = (yyvsp[0].str); }
45532#line 45533 "gram.c" /* yacc.c:1646 */
45533 break;
45534
45535 case 2269:
45536#line 14975 "gram.y" /* yacc.c:1646 */
45537 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45538#line 45539 "gram.c" /* yacc.c:1646 */
45539 break;
45540
45541 case 2270:
45542#line 14976 "gram.y" /* yacc.c:1646 */
45543 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45544#line 45545 "gram.c" /* yacc.c:1646 */
45545 break;
45546
45547 case 2271:
45548#line 14981 "gram.y" /* yacc.c:1646 */
45549 { (yyval.str) = (yyvsp[0].str); }
45550#line 45551 "gram.c" /* yacc.c:1646 */
45551 break;
45552
45553 case 2272:
45554#line 14982 "gram.y" /* yacc.c:1646 */
45555 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45556#line 45557 "gram.c" /* yacc.c:1646 */
45557 break;
45558
45559 case 2273:
45560#line 14983 "gram.y" /* yacc.c:1646 */
45561 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45562#line 45563 "gram.c" /* yacc.c:1646 */
45563 break;
45564
45565 case 2274:
45566#line 14988 "gram.y" /* yacc.c:1646 */
45567 { (yyval.str) = (yyvsp[0].str); }
45568#line 45569 "gram.c" /* yacc.c:1646 */
45569 break;
45570
45571 case 2275:
45572#line 14989 "gram.y" /* yacc.c:1646 */
45573 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45574#line 45575 "gram.c" /* yacc.c:1646 */
45575 break;
45576
45577 case 2276:
45578#line 14990 "gram.y" /* yacc.c:1646 */
45579 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45580#line 45581 "gram.c" /* yacc.c:1646 */
45581 break;
45582
45583 case 2277:
45584#line 14991 "gram.y" /* yacc.c:1646 */
45585 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45586#line 45587 "gram.c" /* yacc.c:1646 */
45587 break;
45588
45589 case 2278:
45590#line 14997 "gram.y" /* yacc.c:1646 */
45591 { (yyval.str) = (yyvsp[0].str); }
45592#line 45593 "gram.c" /* yacc.c:1646 */
45593 break;
45594
45595 case 2279:
45596#line 14998 "gram.y" /* yacc.c:1646 */
45597 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45598#line 45599 "gram.c" /* yacc.c:1646 */
45599 break;
45600
45601 case 2280:
45602#line 14999 "gram.y" /* yacc.c:1646 */
45603 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45604#line 45605 "gram.c" /* yacc.c:1646 */
45605 break;
45606
45607 case 2281:
45608#line 15000 "gram.y" /* yacc.c:1646 */
45609 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45610#line 45611 "gram.c" /* yacc.c:1646 */
45611 break;
45612
45613 case 2282:
45614#line 15001 "gram.y" /* yacc.c:1646 */
45615 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
45616#line 45617 "gram.c" /* yacc.c:1646 */
45617 break;
45618
45619
45620#line 45621 "gram.c" /* yacc.c:1646 */
45621 default: break;
45622 }
45623 /* User semantic actions sometimes alter yychar, and that requires
45624 that yytoken be updated with the new translation. We take the
45625 approach of translating immediately before every use of yytoken.
45626 One alternative is translating here after every semantic action,
45627 but that translation would be missed if the semantic action invokes
45628 YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
45629 if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
45630 incorrect destructor might then be invoked immediately. In the
45631 case of YYERROR or YYBACKUP, subsequent parser actions might lead
45632 to an incorrect destructor call or verbose syntax error message
45633 before the lookahead is translated. */
45634 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
45635
45636 YYPOPSTACK (yylen);
45637 yylen = 0;
45638 YY_STACK_PRINT (yyss, yyssp);
45639
45640 *++yyvsp = yyval;
45641 *++yylsp = yyloc;
45642
45643 /* Now 'shift' the result of the reduction. Determine what state
45644 that goes to, based on the state we popped back to and the rule
45645 number reduced by. */
45646
45647 yyn = yyr1[yyn];
45648
45649 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
45650 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
45651 yystate = yytable[yystate];
45652 else
45653 yystate = yydefgoto[yyn - YYNTOKENS];
45654
45655 goto yynewstate;
45656
45657
45658/*--------------------------------------.
45659| yyerrlab -- here on detecting error. |
45660`--------------------------------------*/
45661yyerrlab:
45662 /* Make sure we have latest lookahead translation. See comments at
45663 user semantic actions for why this is necessary. */
45664 yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
45665
45666 /* If not already recovering from an error, report this error. */
45667 if (!yyerrstatus)
45668 {
45669 ++yynerrs;
45670#if ! YYERROR_VERBOSE
45671 yyerror (&yylloc, yyscanner, YY_("syntax error"));
45672#else
45673# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
45674 yyssp, yytoken)
45675 {
45676 char const *yymsgp = YY_("syntax error");
45677 int yysyntax_error_status;
45678 yysyntax_error_status = YYSYNTAX_ERROR;
45679 if (yysyntax_error_status == 0)
45680 yymsgp = yymsg;
45681 else if (yysyntax_error_status == 1)
45682 {
45683 if (yymsg != yymsgbuf)
45684 YYSTACK_FREE (yymsg);
45685 yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
45686 if (!yymsg)
45687 {
45688 yymsg = yymsgbuf;
45689 yymsg_alloc = sizeof yymsgbuf;
45690 yysyntax_error_status = 2;
45691 }
45692 else
45693 {
45694 yysyntax_error_status = YYSYNTAX_ERROR;
45695 yymsgp = yymsg;
45696 }
45697 }
45698 yyerror (&yylloc, yyscanner, yymsgp);
45699 if (yysyntax_error_status == 2)
45700 goto yyexhaustedlab;
45701 }
45702# undef YYSYNTAX_ERROR
45703#endif
45704 }
45705
45706 yyerror_range[1] = yylloc;
45707
45708 if (yyerrstatus == 3)
45709 {
45710 /* If just tried and failed to reuse lookahead token after an
45711 error, discard it. */
45712
45713 if (yychar <= YYEOF)
45714 {
45715 /* Return failure if at end of input. */
45716 if (yychar == YYEOF)
45717 YYABORT;
45718 }
45719 else
45720 {
45721 yydestruct ("Error: discarding",
45722 yytoken, &yylval, &yylloc, yyscanner);
45723 yychar = YYEMPTY;
45724 }
45725 }
45726
45727 /* Else will try to reuse lookahead token after shifting the error
45728 token. */
45729 goto yyerrlab1;
45730
45731
45732/*---------------------------------------------------.
45733| yyerrorlab -- error raised explicitly by YYERROR. |
45734`---------------------------------------------------*/
45735yyerrorlab:
45736
45737 /* Pacify compilers like GCC when the user code never invokes
45738 YYERROR and the label yyerrorlab therefore never appears in user
45739 code. */
45740 if (/*CONSTCOND*/ 0)
45741 goto yyerrorlab;
45742
45743 yyerror_range[1] = yylsp[1-yylen];
45744 /* Do not reclaim the symbols of the rule whose action triggered
45745 this YYERROR. */
45746 YYPOPSTACK (yylen);
45747 yylen = 0;
45748 YY_STACK_PRINT (yyss, yyssp);
45749 yystate = *yyssp;
45750 goto yyerrlab1;
45751
45752
45753/*-------------------------------------------------------------.
45754| yyerrlab1 -- common code for both syntax error and YYERROR. |
45755`-------------------------------------------------------------*/
45756yyerrlab1:
45757 yyerrstatus = 3; /* Each real token shifted decrements this. */
45758
45759 for (;;)
45760 {
45761 yyn = yypact[yystate];
45762 if (!yypact_value_is_default (yyn))
45763 {
45764 yyn += YYTERROR;
45765 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
45766 {
45767 yyn = yytable[yyn];
45768 if (0 < yyn)
45769 break;
45770 }
45771 }
45772
45773 /* Pop the current state because it cannot handle the error token. */
45774 if (yyssp == yyss)
45775 YYABORT;
45776
45777 yyerror_range[1] = *yylsp;
45778 yydestruct ("Error: popping",
45779 yystos[yystate], yyvsp, yylsp, yyscanner);
45780 YYPOPSTACK (1);
45781 yystate = *yyssp;
45782 YY_STACK_PRINT (yyss, yyssp);
45783 }
45784
45785 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
45786 *++yyvsp = yylval;
45787 YY_IGNORE_MAYBE_UNINITIALIZED_END
45788
45789 yyerror_range[2] = yylloc;
45790 /* Using YYLLOC is tempting, but would change the location of
45791 the lookahead. YYLOC is available though. */
45792 YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
45793 *++yylsp = yyloc;
45794
45795 /* Shift the error token. */
45796 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
45797
45798 yystate = yyn;
45799 goto yynewstate;
45800
45801
45802/*-------------------------------------.
45803| yyacceptlab -- YYACCEPT comes here. |
45804`-------------------------------------*/
45805yyacceptlab:
45806 yyresult = 0;
45807 goto yyreturn;
45808
45809/*-----------------------------------.
45810| yyabortlab -- YYABORT comes here. |
45811`-----------------------------------*/
45812yyabortlab:
45813 yyresult = 1;
45814 goto yyreturn;
45815
45816#if !defined yyoverflow || YYERROR_VERBOSE
45817/*-------------------------------------------------.
45818| yyexhaustedlab -- memory exhaustion comes here. |
45819`-------------------------------------------------*/
45820yyexhaustedlab:
45821 yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
45822 yyresult = 2;
45823 /* Fall through. */
45824#endif
45825
45826yyreturn:
45827 if (yychar != YYEMPTY)
45828 {
45829 /* Make sure we have latest lookahead translation. See comments at
45830 user semantic actions for why this is necessary. */
45831 yytoken = YYTRANSLATE (yychar);
45832 yydestruct ("Cleanup: discarding lookahead",
45833 yytoken, &yylval, &yylloc, yyscanner);
45834 }
45835 /* Do not reclaim the symbols of the rule whose action triggered
45836 this YYABORT or YYACCEPT. */
45837 YYPOPSTACK (yylen);
45838 YY_STACK_PRINT (yyss, yyssp);
45839 while (yyssp != yyss)
45840 {
45841 yydestruct ("Cleanup: popping",
45842 yystos[*yyssp], yyvsp, yylsp, yyscanner);
45843 YYPOPSTACK (1);
45844 }
45845#ifndef yyoverflow
45846 if (yyss != yyssa)
45847 YYSTACK_FREE (yyss);
45848#endif
45849#if YYERROR_VERBOSE
45850 if (yymsg != yymsgbuf)
45851 YYSTACK_FREE (yymsg);
45852#endif
45853 return yyresult;
45854}
45855#line 15500 "gram.y" /* yacc.c:1906 */
45856
45857
45858/*
45859 * The signature of this function is required by bison. However, we
45860 * ignore the passed yylloc and instead use the last token position
45861 * available from the scanner.
45862 */
45863static void
45864base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
45865{
45866 parser_yyerror(msg);
45867}
45868
45869static RawStmt *
45870makeRawStmt(Node *stmt, int stmt_location)
45871{
45872 RawStmt *rs = makeNode(RawStmt);
45873
45874 rs->stmt = stmt;
45875 rs->stmt_location = stmt_location;
45876 rs->stmt_len = 0; /* might get changed later */
45877 return rs;
45878}
45879
45880/* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
45881static void
45882updateRawStmtEnd(RawStmt *rs, int end_location)
45883{
45884 /*
45885 * If we already set the length, don't change it. This is for situations
45886 * like "select foo ;; select bar" where the same statement will be last
45887 * in the string for more than one semicolon.
45888 */
45889 if (rs->stmt_len > 0)
45890 return;
45891
45892 /* OK, update length of RawStmt */
45893 rs->stmt_len = end_location - rs->stmt_location;
45894}
45895
45896static Node *
45897makeColumnRef(char *colname, List *indirection,
45898 int location, core_yyscan_t yyscanner)
45899{
45900 /*
45901 * Generate a ColumnRef node, with an A_Indirection node added if there
45902 * is any subscripting in the specified indirection list. However,
45903 * any field selection at the start of the indirection list must be
45904 * transposed into the "fields" part of the ColumnRef node.
45905 */
45906 ColumnRef *c = makeNode(ColumnRef);
45907 int nfields = 0;
45908 ListCell *l;
45909
45910 c->location = location;
45911 foreach(l, indirection)
45912 {
45913 if (IsA(lfirst(l), A_Indices))
45914 {
45915 A_Indirection *i = makeNode(A_Indirection);
45916
45917 if (nfields == 0)
45918 {
45919 /* easy case - all indirection goes to A_Indirection */
45920 c->fields = list_make1(makeString(colname));
45921 i->indirection = check_indirection(indirection, yyscanner);
45922 }
45923 else
45924 {
45925 /* got to split the list in two */
45926 i->indirection = check_indirection(list_copy_tail(indirection,
45927 nfields),
45928 yyscanner);
45929 indirection = list_truncate(indirection, nfields);
45930 c->fields = lcons(makeString(colname), indirection);
45931 }
45932 i->arg = (Node *) c;
45933 return (Node *) i;
45934 }
45935 else if (IsA(lfirst(l), A_Star))
45936 {
45937 /* We only allow '*' at the end of a ColumnRef */
45938 if (lnext(l) != NULL)
45939 parser_yyerror("improper use of \"*\"");
45940 }
45941 nfields++;
45942 }
45943 /* No subscripting, so all indirection gets added to field list */
45944 c->fields = lcons(makeString(colname), indirection);
45945 return (Node *) c;
45946}
45947
45948static Node *
45949makeTypeCast(Node *arg, TypeName *typename, int location)
45950{
45951 TypeCast *n = makeNode(TypeCast);
45952 n->arg = arg;
45953 n->typeName = typename;
45954 n->location = location;
45955 return (Node *) n;
45956}
45957
45958static Node *
45959makeStringConst(char *str, int location)
45960{
45961 A_Const *n = makeNode(A_Const);
45962
45963 n->val.type = T_String;
45964 n->val.val.str = str;
45965 n->location = location;
45966
45967 return (Node *)n;
45968}
45969
45970static Node *
45971makeStringConstCast(char *str, int location, TypeName *typename)
45972{
45973 Node *s = makeStringConst(str, location);
45974
45975 return makeTypeCast(s, typename, -1);
45976}
45977
45978static Node *
45979makeIntConst(int val, int location)
45980{
45981 A_Const *n = makeNode(A_Const);
45982
45983 n->val.type = T_Integer;
45984 n->val.val.ival = val;
45985 n->location = location;
45986
45987 return (Node *)n;
45988}
45989
45990static Node *
45991makeFloatConst(char *str, int location)
45992{
45993 A_Const *n = makeNode(A_Const);
45994
45995 n->val.type = T_Float;
45996 n->val.val.str = str;
45997 n->location = location;
45998
45999 return (Node *)n;
46000}
46001
46002static Node *
46003makeBitStringConst(char *str, int location)
46004{
46005 A_Const *n = makeNode(A_Const);
46006
46007 n->val.type = T_BitString;
46008 n->val.val.str = str;
46009 n->location = location;
46010
46011 return (Node *)n;
46012}
46013
46014static Node *
46015makeNullAConst(int location)
46016{
46017 A_Const *n = makeNode(A_Const);
46018
46019 n->val.type = T_Null;
46020 n->location = location;
46021
46022 return (Node *)n;
46023}
46024
46025static Node *
46026makeAConst(Value *v, int location)
46027{
46028 Node *n;
46029
46030 switch (v->type)
46031 {
46032 case T_Float:
46033 n = makeFloatConst(v->val.str, location);
46034 break;
46035
46036 case T_Integer:
46037 n = makeIntConst(v->val.ival, location);
46038 break;
46039
46040 case T_String:
46041 default:
46042 n = makeStringConst(v->val.str, location);
46043 break;
46044 }
46045
46046 return n;
46047}
46048
46049/* makeBoolAConst()
46050 * Create an A_Const string node and put it inside a boolean cast.
46051 */
46052static Node *
46053makeBoolAConst(bool state, int location)
46054{
46055 A_Const *n = makeNode(A_Const);
46056
46057 n->val.type = T_String;
46058 n->val.val.str = (state ? "t" : "f");
46059 n->location = location;
46060
46061 return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
46062}
46063
46064/* makeRoleSpec
46065 * Create a RoleSpec with the given type
46066 */
46067static RoleSpec *
46068makeRoleSpec(RoleSpecType type, int location)
46069{
46070 RoleSpec *spec = makeNode(RoleSpec);
46071
46072 spec->roletype = type;
46073 spec->location = location;
46074
46075 return spec;
46076}
46077
46078/* check_qualified_name --- check the result of qualified_name production
46079 *
46080 * It's easiest to let the grammar production for qualified_name allow
46081 * subscripts and '*', which we then must reject here.
46082 */
46083static void
46084check_qualified_name(List *names, core_yyscan_t yyscanner)
46085{
46086 ListCell *i;
46087
46088 foreach(i, names)
46089 {
46090 if (!IsA(lfirst(i), String))
46091 parser_yyerror("syntax error");
46092 }
46093}
46094
46095/* check_func_name --- check the result of func_name production
46096 *
46097 * It's easiest to let the grammar production for func_name allow subscripts
46098 * and '*', which we then must reject here.
46099 */
46100static List *
46101check_func_name(List *names, core_yyscan_t yyscanner)
46102{
46103 ListCell *i;
46104
46105 foreach(i, names)
46106 {
46107 if (!IsA(lfirst(i), String))
46108 parser_yyerror("syntax error");
46109 }
46110 return names;
46111}
46112
46113/* check_indirection --- check the result of indirection production
46114 *
46115 * We only allow '*' at the end of the list, but it's hard to enforce that
46116 * in the grammar, so do it here.
46117 */
46118static List *
46119check_indirection(List *indirection, core_yyscan_t yyscanner)
46120{
46121 ListCell *l;
46122
46123 foreach(l, indirection)
46124 {
46125 if (IsA(lfirst(l), A_Star))
46126 {
46127 if (lnext(l) != NULL)
46128 parser_yyerror("improper use of \"*\"");
46129 }
46130 }
46131 return indirection;
46132}
46133
46134/* extractArgTypes()
46135 * Given a list of FunctionParameter nodes, extract a list of just the
46136 * argument types (TypeNames) for input parameters only. This is what
46137 * is needed to look up an existing function, which is what is wanted by
46138 * the productions that use this call.
46139 */
46140static List *
46141extractArgTypes(List *parameters)
46142{
46143 List *result = NIL;
46144 ListCell *i;
46145
46146 foreach(i, parameters)
46147 {
46148 FunctionParameter *p = (FunctionParameter *) lfirst(i);
46149
46150 if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
46151 result = lappend(result, p->argType);
46152 }
46153 return result;
46154}
46155
46156/* extractAggrArgTypes()
46157 * As above, but work from the output of the aggr_args production.
46158 */
46159static List *
46160extractAggrArgTypes(List *aggrargs)
46161{
46162 Assert(list_length(aggrargs) == 2);
46163 return extractArgTypes((List *) linitial(aggrargs));
46164}
46165
46166/* makeOrderedSetArgs()
46167 * Build the result of the aggr_args production (which see the comments for).
46168 * This handles only the case where both given lists are nonempty, so that
46169 * we have to deal with multiple VARIADIC arguments.
46170 */
46171static List *
46172makeOrderedSetArgs(List *directargs, List *orderedargs,
46173 core_yyscan_t yyscanner)
46174{
46175 FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
46176 int ndirectargs;
46177
46178 /* No restriction unless last direct arg is VARIADIC */
46179 if (lastd->mode == FUNC_PARAM_VARIADIC)
46180 {
46181 FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
46182
46183 /*
46184 * We ignore the names, though the aggr_arg production allows them;
46185 * it doesn't allow default values, so those need not be checked.
46186 */
46187 if (list_length(orderedargs) != 1 ||
46188 firsto->mode != FUNC_PARAM_VARIADIC ||
46189 !equal(lastd->argType, firsto->argType))
46190 ereport(ERROR,
46191 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
46192 errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
46193 parser_errposition(exprLocation((Node *) firsto))));
46194
46195 /* OK, drop the duplicate VARIADIC argument from the internal form */
46196 orderedargs = NIL;
46197 }
46198
46199 /* don't merge into the next line, as list_concat changes directargs */
46200 ndirectargs = list_length(directargs);
46201
46202 return list_make2(list_concat(directargs, orderedargs),
46203 makeInteger(ndirectargs));
46204}
46205
46206/* insertSelectOptions()
46207 * Insert ORDER BY, etc into an already-constructed SelectStmt.
46208 *
46209 * This routine is just to avoid duplicating code in SelectStmt productions.
46210 */
46211static void
46212insertSelectOptions(SelectStmt *stmt,
46213 List *sortClause, List *lockingClause,
46214 Node *limitOffset, Node *limitCount,
46215 WithClause *withClause,
46216 core_yyscan_t yyscanner)
46217{
46218 Assert(IsA(stmt, SelectStmt));
46219
46220 /*
46221 * Tests here are to reject constructs like
46222 * (SELECT foo ORDER BY bar) ORDER BY baz
46223 */
46224 if (sortClause)
46225 {
46226 if (stmt->sortClause)
46227 ereport(ERROR,
46228 (errcode(ERRCODE_SYNTAX_ERROR),
46229 errmsg("multiple ORDER BY clauses not allowed"),
46230 parser_errposition(exprLocation((Node *) sortClause))));
46231 stmt->sortClause = sortClause;
46232 }
46233 /* We can handle multiple locking clauses, though */
46234 stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
46235 if (limitOffset)
46236 {
46237 if (stmt->limitOffset)
46238 ereport(ERROR,
46239 (errcode(ERRCODE_SYNTAX_ERROR),
46240 errmsg("multiple OFFSET clauses not allowed"),
46241 parser_errposition(exprLocation(limitOffset))));
46242 stmt->limitOffset = limitOffset;
46243 }
46244 if (limitCount)
46245 {
46246 if (stmt->limitCount)
46247 ereport(ERROR,
46248 (errcode(ERRCODE_SYNTAX_ERROR),
46249 errmsg("multiple LIMIT clauses not allowed"),
46250 parser_errposition(exprLocation(limitCount))));
46251 stmt->limitCount = limitCount;
46252 }
46253 if (withClause)
46254 {
46255 if (stmt->withClause)
46256 ereport(ERROR,
46257 (errcode(ERRCODE_SYNTAX_ERROR),
46258 errmsg("multiple WITH clauses not allowed"),
46259 parser_errposition(exprLocation((Node *) withClause))));
46260 stmt->withClause = withClause;
46261 }
46262}
46263
46264static Node *
46265makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
46266{
46267 SelectStmt *n = makeNode(SelectStmt);
46268
46269 n->op = op;
46270 n->all = all;
46271 n->larg = (SelectStmt *) larg;
46272 n->rarg = (SelectStmt *) rarg;
46273 return (Node *) n;
46274}
46275
46276/* SystemFuncName()
46277 * Build a properly-qualified reference to a built-in function.
46278 */
46279List *
46280SystemFuncName(char *name)
46281{
46282 return list_make2(makeString("pg_catalog"), makeString(name));
46283}
46284
46285/* SystemTypeName()
46286 * Build a properly-qualified reference to a built-in type.
46287 *
46288 * typmod is defaulted, but may be changed afterwards by caller.
46289 * Likewise for the location.
46290 */
46291TypeName *
46292SystemTypeName(char *name)
46293{
46294 return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
46295 makeString(name)));
46296}
46297
46298/* doNegate()
46299 * Handle negation of a numeric constant.
46300 *
46301 * Formerly, we did this here because the optimizer couldn't cope with
46302 * indexquals that looked like "var = -4" --- it wants "var = const"
46303 * and a unary minus operator applied to a constant didn't qualify.
46304 * As of Postgres 7.0, that problem doesn't exist anymore because there
46305 * is a constant-subexpression simplifier in the optimizer. However,
46306 * there's still a good reason for doing this here, which is that we can
46307 * postpone committing to a particular internal representation for simple
46308 * negative constants. It's better to leave "-123.456" in string form
46309 * until we know what the desired type is.
46310 */
46311static Node *
46312doNegate(Node *n, int location)
46313{
46314 if (IsA(n, A_Const))
46315 {
46316 A_Const *con = (A_Const *)n;
46317
46318 /* report the constant's location as that of the '-' sign */
46319 con->location = location;
46320
46321 if (con->val.type == T_Integer)
46322 {
46323 con->val.val.ival = -con->val.val.ival;
46324 return n;
46325 }
46326 if (con->val.type == T_Float)
46327 {
46328 doNegateFloat(&con->val);
46329 return n;
46330 }
46331 }
46332
46333 return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
46334}
46335
46336static void
46337doNegateFloat(Value *v)
46338{
46339 char *oldval = v->val.str;
46340
46341 Assert(IsA(v, Float));
46342 if (*oldval == '+')
46343 oldval++;
46344 if (*oldval == '-')
46345 v->val.str = oldval+1; /* just strip the '-' */
46346 else
46347 v->val.str = psprintf("-%s", oldval);
46348}
46349
46350static Node *
46351makeAndExpr(Node *lexpr, Node *rexpr, int location)
46352{
46353 Node *lexp = lexpr;
46354
46355 /* Look through AEXPR_PAREN nodes so they don't affect flattening */
46356 while (IsA(lexp, A_Expr) &&
46357 ((A_Expr *) lexp)->kind == AEXPR_PAREN)
46358 lexp = ((A_Expr *) lexp)->lexpr;
46359 /* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
46360 if (IsA(lexp, BoolExpr))
46361 {
46362 BoolExpr *blexpr = (BoolExpr *) lexp;
46363
46364 if (blexpr->boolop == AND_EXPR)
46365 {
46366 blexpr->args = lappend(blexpr->args, rexpr);
46367 return (Node *) blexpr;
46368 }
46369 }
46370 return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
46371}
46372
46373static Node *
46374makeOrExpr(Node *lexpr, Node *rexpr, int location)
46375{
46376 Node *lexp = lexpr;
46377
46378 /* Look through AEXPR_PAREN nodes so they don't affect flattening */
46379 while (IsA(lexp, A_Expr) &&
46380 ((A_Expr *) lexp)->kind == AEXPR_PAREN)
46381 lexp = ((A_Expr *) lexp)->lexpr;
46382 /* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
46383 if (IsA(lexp, BoolExpr))
46384 {
46385 BoolExpr *blexpr = (BoolExpr *) lexp;
46386
46387 if (blexpr->boolop == OR_EXPR)
46388 {
46389 blexpr->args = lappend(blexpr->args, rexpr);
46390 return (Node *) blexpr;
46391 }
46392 }
46393 return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
46394}
46395
46396static Node *
46397makeNotExpr(Node *expr, int location)
46398{
46399 return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
46400}
46401
46402static Node *
46403makeAArrayExpr(List *elements, int location)
46404{
46405 A_ArrayExpr *n = makeNode(A_ArrayExpr);
46406
46407 n->elements = elements;
46408 n->location = location;
46409 return (Node *) n;
46410}
46411
46412static Node *
46413makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
46414{
46415 SQLValueFunction *svf = makeNode(SQLValueFunction);
46416
46417 svf->op = op;
46418 /* svf->type will be filled during parse analysis */
46419 svf->typmod = typmod;
46420 svf->location = location;
46421 return (Node *) svf;
46422}
46423
46424static Node *
46425makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
46426 int location)
46427{
46428 XmlExpr *x = makeNode(XmlExpr);
46429
46430 x->op = op;
46431 x->name = name;
46432 /*
46433 * named_args is a list of ResTarget; it'll be split apart into separate
46434 * expression and name lists in transformXmlExpr().
46435 */
46436 x->named_args = named_args;
46437 x->arg_names = NIL;
46438 x->args = args;
46439 /* xmloption, if relevant, must be filled in by caller */
46440 /* type and typmod will be filled in during parse analysis */
46441 x->type = InvalidOid; /* marks the node as not analyzed */
46442 x->location = location;
46443 return (Node *) x;
46444}
46445
46446/*
46447 * Merge the input and output parameters of a table function.
46448 */
46449static List *
46450mergeTableFuncParameters(List *func_args, List *columns)
46451{
46452 ListCell *lc;
46453
46454 /* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
46455 foreach(lc, func_args)
46456 {
46457 FunctionParameter *p = (FunctionParameter *) lfirst(lc);
46458
46459 if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
46460 ereport(ERROR,
46461 (errcode(ERRCODE_SYNTAX_ERROR),
46462 errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
46463 }
46464
46465 return list_concat(func_args, columns);
46466}
46467
46468/*
46469 * Determine return type of a TABLE function. A single result column
46470 * returns setof that column's type; otherwise return setof record.
46471 */
46472static TypeName *
46473TableFuncTypeName(List *columns)
46474{
46475 TypeName *result;
46476
46477 if (list_length(columns) == 1)
46478 {
46479 FunctionParameter *p = (FunctionParameter *) linitial(columns);
46480
46481 result = copyObject(p->argType);
46482 }
46483 else
46484 result = SystemTypeName("record");
46485
46486 result->setof = true;
46487
46488 return result;
46489}
46490
46491/*
46492 * Convert a list of (dotted) names to a RangeVar (like
46493 * makeRangeVarFromNameList, but with position support). The
46494 * "AnyName" refers to the any_name production in the grammar.
46495 */
46496static RangeVar *
46497makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
46498{
46499 RangeVar *r = makeNode(RangeVar);
46500
46501 switch (list_length(names))
46502 {
46503 case 1:
46504 r->catalogname = NULL;
46505 r->schemaname = NULL;
46506 r->relname = strVal(linitial(names));
46507 break;
46508 case 2:
46509 r->catalogname = NULL;
46510 r->schemaname = strVal(linitial(names));
46511 r->relname = strVal(lsecond(names));
46512 break;
46513 case 3:
46514 r->catalogname = strVal(linitial(names));
46515 r->schemaname = strVal(lsecond(names));
46516 r->relname = strVal(lthird(names));
46517 break;
46518 default:
46519 ereport(ERROR,
46520 (errcode(ERRCODE_SYNTAX_ERROR),
46521 errmsg("improper qualified name (too many dotted names): %s",
46522 NameListToString(names)),
46523 parser_errposition(position)));
46524 break;
46525 }
46526
46527 r->relpersistence = RELPERSISTENCE_PERMANENT;
46528 r->location = position;
46529
46530 return r;
46531}
46532
46533/* Separate Constraint nodes from COLLATE clauses in a ColQualList */
46534static void
46535SplitColQualList(List *qualList,
46536 List **constraintList, CollateClause **collClause,
46537 core_yyscan_t yyscanner)
46538{
46539 ListCell *cell;
46540 ListCell *prev;
46541 ListCell *next;
46542
46543 *collClause = NULL;
46544 prev = NULL;
46545 for (cell = list_head(qualList); cell; cell = next)
46546 {
46547 Node *n = (Node *) lfirst(cell);
46548
46549 next = lnext(cell);
46550 if (IsA(n, Constraint))
46551 {
46552 /* keep it in list */
46553 prev = cell;
46554 continue;
46555 }
46556 if (IsA(n, CollateClause))
46557 {
46558 CollateClause *c = (CollateClause *) n;
46559
46560 if (*collClause)
46561 ereport(ERROR,
46562 (errcode(ERRCODE_SYNTAX_ERROR),
46563 errmsg("multiple COLLATE clauses not allowed"),
46564 parser_errposition(c->location)));
46565 *collClause = c;
46566 }
46567 else
46568 elog(ERROR, "unexpected node type %d", (int) n->type);
46569 /* remove non-Constraint nodes from qualList */
46570 qualList = list_delete_cell(qualList, cell, prev);
46571 }
46572 *constraintList = qualList;
46573}
46574
46575/*
46576 * Process result of ConstraintAttributeSpec, and set appropriate bool flags
46577 * in the output command node. Pass NULL for any flags the particular
46578 * command doesn't support.
46579 */
46580static void
46581processCASbits(int cas_bits, int location, const char *constrType,
46582 bool *deferrable, bool *initdeferred, bool *not_valid,
46583 bool *no_inherit, core_yyscan_t yyscanner)
46584{
46585 /* defaults */
46586 if (deferrable)
46587 *deferrable = false;
46588 if (initdeferred)
46589 *initdeferred = false;
46590 if (not_valid)
46591 *not_valid = false;
46592
46593 if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
46594 {
46595 if (deferrable)
46596 *deferrable = true;
46597 else
46598 ereport(ERROR,
46599 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
46600 /* translator: %s is CHECK, UNIQUE, or similar */
46601 errmsg("%s constraints cannot be marked DEFERRABLE",
46602 constrType),
46603 parser_errposition(location)));
46604 }
46605
46606 if (cas_bits & CAS_INITIALLY_DEFERRED)
46607 {
46608 if (initdeferred)
46609 *initdeferred = true;
46610 else
46611 ereport(ERROR,
46612 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
46613 /* translator: %s is CHECK, UNIQUE, or similar */
46614 errmsg("%s constraints cannot be marked DEFERRABLE",
46615 constrType),
46616 parser_errposition(location)));
46617 }
46618
46619 if (cas_bits & CAS_NOT_VALID)
46620 {
46621 if (not_valid)
46622 *not_valid = true;
46623 else
46624 ereport(ERROR,
46625 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
46626 /* translator: %s is CHECK, UNIQUE, or similar */
46627 errmsg("%s constraints cannot be marked NOT VALID",
46628 constrType),
46629 parser_errposition(location)));
46630 }
46631
46632 if (cas_bits & CAS_NO_INHERIT)
46633 {
46634 if (no_inherit)
46635 *no_inherit = true;
46636 else
46637 ereport(ERROR,
46638 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
46639 /* translator: %s is CHECK, UNIQUE, or similar */
46640 errmsg("%s constraints cannot be marked NO INHERIT",
46641 constrType),
46642 parser_errposition(location)));
46643 }
46644}
46645
46646/*----------
46647 * Recursive view transformation
46648 *
46649 * Convert
46650 *
46651 * CREATE RECURSIVE VIEW relname (aliases) AS query
46652 *
46653 * to
46654 *
46655 * CREATE VIEW relname (aliases) AS
46656 * WITH RECURSIVE relname (aliases) AS (query)
46657 * SELECT aliases FROM relname
46658 *
46659 * Actually, just the WITH ... part, which is then inserted into the original
46660 * view definition as the query.
46661 * ----------
46662 */
46663static Node *
46664makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
46665{
46666 SelectStmt *s = makeNode(SelectStmt);
46667 WithClause *w = makeNode(WithClause);
46668 CommonTableExpr *cte = makeNode(CommonTableExpr);
46669 List *tl = NIL;
46670 ListCell *lc;
46671
46672 /* create common table expression */
46673 cte->ctename = relname;
46674 cte->aliascolnames = aliases;
46675 cte->ctematerialized = CTEMaterializeDefault;
46676 cte->ctequery = query;
46677 cte->location = -1;
46678
46679 /* create WITH clause and attach CTE */
46680 w->recursive = true;
46681 w->ctes = list_make1(cte);
46682 w->location = -1;
46683
46684 /* create target list for the new SELECT from the alias list of the
46685 * recursive view specification */
46686 foreach (lc, aliases)
46687 {
46688 ResTarget *rt = makeNode(ResTarget);
46689
46690 rt->name = NULL;
46691 rt->indirection = NIL;
46692 rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
46693 rt->location = -1;
46694
46695 tl = lappend(tl, rt);
46696 }
46697
46698 /* create new SELECT combining WITH clause, target list, and fake FROM
46699 * clause */
46700 s->withClause = w;
46701 s->targetList = tl;
46702 s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
46703
46704 return (Node *) s;
46705}
46706
46707/* parser_init()
46708 * Initialize to parse one query string
46709 */
46710void
46711parser_init(base_yy_extra_type *yyext)
46712{
46713 yyext->parsetree = NIL; /* in case grammar forgets to set it */
46714}
46715